Before you start
- Your Aha Studio accountBuilding campaigns is part of your plan. Without a plan the free demo builds one campaign of 3 ad groups for Google only, with no export; the review grid shows it all.
- The page the ads send people toA sales page, a sign-up page or a free demo page, starting with https://. The worker reads it for the product type, the audience and the facts, and checks that each ad group fits it. No page yet? FunnelBuildr, Site Sniper or SaaS Magnets build one, and the review links to them.
- A Google Ads or Microsoft Advertising accountThe export is a file for Google Ads Editor or Microsoft Advertising Editor (a Google campaign imports into Microsoft with one file). You import it, read what the Editor reports, and press Post yourself. Nothing is ever posted for you.
- A Google Ads account, for Demand Gen campaignsAt ads.google.com with a payment method on it. Aha writes the ads and a setup sheet; you type it into Google Ads and publish it yourself. For "Grow my YouTube channel", your channel linked to that account.
- An X Ads account, for X campaignsAt ads.x.com with a payment method on it. Aha writes the posts and a setup sheet; you type it into X Ads Manager and press Launch yourself.
- Search dataKeyword volumes, CPC and the ads on the page come from Keyword Planner data and live Google results through DataForSEO. With your own DataForSEO key under Keys and connections the lookups cost your plan nothing.
Build a campaign
0 of 6 done- Open Ad CampaignsAt adcampaigns.ahastudio.net, or press Start something new on your account page and choose Search campaign.
- Say what you are advertisingIn the first card, What are you advertising?, pick a tile under How the funnel works: it sets the stages, the group kind and the copy skeleton (Free lite tool to webinar, Free demo to a plan, Lead magnet to a sequence, Local service quote page, SaaS trial). An AHA STUDIO PROMO tile builds a ready campaign for a worker's free demo page with your affiliate ref in the final URL (Keyword Research so far). Paste The page (a tick shows when the address looks right), or pick a site, funnel or page you built here under Or a run from Your work. The offer is optional with a page: say what people get in your own words. Campaign name is optional.
- Say where it runsIn Where it runs, pick the Platform: Google Ads, Microsoft Advertising or both, X Ads or Google Demand Gen. Set the Daily budget in your ad account's currency. Under Countries, press a saved set (English-speaking, English-speaking plus fluent-English Europe, United States only) or tick countries, and type into + Add a country for any other. Keyword volumes come from the first country (it shows a Volumes tag). Your set is remembered for next time.
- Optional: keywords and guardrailsThe third card, Keywords and guardrails, starts closed with good defaults. Press Change to open it. Tick the Funnel stages to build: Ready to buy, Comparing options and Just learning. Add Competitors (names or domains): with Bid on competitor names on, the names become keywords with buyer words (pricing, alternative, vs, review), never ad copy; switched off, they become negatives. Pick the Ad group kind: STAG (one tight theme per group) is the default, SKAG is one keyword per group, SIAG one intent across wordings. Switch on Needs a desktop when the offer does not work on a phone, and tick trades under Also exclude.
- Press Build the campaignThe line beside it says what is still needed, or Ready to build. If you work for clients, pick who it is For and the Persona first. The step bar at the top shows Describe, Check the estimate, Build, and Review and export.
- Check the estimateIt reads the page first and stops before any search spend. The card Check it before any search spend shows what it understood (the product type, the audience, the promise, the facts and the seed searches) and what it will spend: Keyword Planner lookups, live Google results checks, AI calls and the cost ceiling. Press Looks right, continue to go on, or Change the offer to go back with your fields kept. From there it runs by itself, even with the page closed.
Review and export
0 of 4 done- Read the overviewThe bar at the top jumps to Overview, Ad groups, Negatives, Settings and Export. The campaign at a glance shows the keywords, ad groups, landing pages that fit and ads, the keywords by funnel stage with a starting bid each, and whether competitors advertise on your main keywords today.
- Open an ad groupFilter the groups by stage or type in Find a group or keyword, then press a row. Its tabs show Keywords, Headlines, Descriptions and Negatives. Beside them, How it shows previews the ad: press Rotate to see the slots combine. Under LANDING PAGE, press Change to send the group to another page, then Save.
- Fix the keywordsOn a keyword, press the arrows (Move to another group) to move it, or the bin (Drop) to drop it. Press Undo on a change you regret. Every change is saved at once and goes into the export.
- Export for the EditorPress Export for the Editor (or Download all) and import the file: the Google Ads Editor file, the Microsoft Advertising Editor file, the Search terms script and The brief. HOW TO IMPORT under them has the steps. Every campaign arrives Paused.
What it builds, step by step
The search terms feed
0 of 3 doneTony's method is two-step mining: start with the modifier combinations, read the real search terms, then build tighter groups from the queries with volume. The script brings the search terms back here every week.
- Download the scriptUnder Export, press Download on the Search terms script card. The file carries this campaign's own feed key and the campaign name.
- Paste it into Google AdsTools and settings, Bulk actions, Scripts, the plus button. Paste the whole file, press Authorize, then Preview once, then Run.
- Schedule it weeklySave it and set the frequency to Weekly. Each run posts last week's search terms (term, ad group, impressions, clicks, cost, conversions) to your campaign here; the review shows them under Search terms received.
Optimise a campaign from its reports
0 of 7 doneTony's method: run single keyword ad groups on Microsoft Advertising and X Ads, see what converts after a few days, drop what does not, then build a Google campaign from the winners. The Ads Optimiser does the reading. Run it after a few days, once your keywords have about 20 clicks each and have spent about your target cost per conversion. Before that most keywords show as "Not enough data yet", which is the honest answer. It never connects to your ad accounts, never changes them and never spends. It reads the files you download, and everything it makes is a file or a checklist you apply yourself.
- Open the Ads OptimiserOn the Ad Campaigns page press Optimise at the top, or Optimise this campaign under What to do next on a finished campaign.
- Add the report filesCSV or Excel (.xlsx), several at once: the keywords, search terms and ads reports, the X ad groups and ads exports, and a GA4 exploration if the ad platform does not track conversions. Each file is read by its column headers; the page shows which column fed which number, and a file missing a column says which one and how to add it.
- Pick the campaign and the goalThe campaign they belong to: one you built in Ad Campaigns, or A campaign made elsewhere. The goal: Conversions, or Clicks (a traffic test). Set a Target cost per conversion; left empty, the files' own average is the target and the report says so.
- Press Analyse the reportsFree, no AI. The report is saved to Your work. Change the Thresholds and press Judge again to see the same files another way.
- Apply the changes yourselfDownload the Microsoft Advertising changes file (a bulk upload file: pauses, negatives, new exact keywords) or the Changes checklist, and apply them in your ad account.
- Build the Google campaignPress Build the Google campaign: one winning keyword per ad group, the winning ads cut to Google's limits, the negatives carried over and UTMs on every final URL, with a suggested budget and bid labelled as suggestions. Download the Google Ads Editor CSV; it arrives Paused.
- Run it again in a few daysAdd newer files under Re-run with newer files. The new version shows what changed: new winners, new pauses, the keywords judged for the first time.
How the Ads Optimiser decides
Fixed rules in code, the numbers behind every call shown beside it. No significance claims: these are simple thresholds you can change.
Which files, and where to find them
- 1Keywords Open Reports, pick the Keywords report (under Dimensions or the standard reports), set the date range, keep Campaign, Ad group, Keyword, Match type, Impressions, Clicks, Spend and Conversions, add Keyword ID and Ad group ID for a changes file you can upload, and download it as CSV. The column names are Microsoft's own.
- 2Search terms The Search terms report, the same way (Microsoft's help): Search term, Keyword, Ad group, Campaign, Clicks, Spend, Conversions. Add Campaign ID and Ad group ID too.
- 3Ads The Ads report: Ad ID, Ad group, the headlines (Title part 1 to 3 or Ad title) and Ad description, Impressions, Clicks, Conversions. From the campaigns grid, the Download button on the Ads tab works as well.
Set up conversion tracking
Without it the Ads Optimiser can only judge clicks. With it, every report judges on sign-ups and sales.
- 1Step 1 Create one UET tag (Conversions, UET tag in the left menu; Tools, UET tag in the older menu) and copy its code.
- 2Step 2 Add it to every page of the site, in the head section of the site-wide layout (or through Google Tag Manager).
- 3Step 3 Create a conversion goal: Conversions, Conversion goals, Create. Pick Website, then the action: a destination URL goal for a thank-you page (for example the page after sign-up), or an event goal for a button. Associate it with the UET tag.
- 4Step 4 Wait for the goal to show as recording, then run your ads: from then on the reports carry a Conversions column.
- 5The platform's help Open it
X Ads, in plain words
X Ads is the second ad type: promoted posts on X aimed at the same buyer intent as your search campaign. Aha never spends money, never logs in to X and never posts ads for you.
Run X ads alongside a Bing STAG campaign
0 of 4 doneTony's plan: run X ads with Microsoft Advertising STAG campaigns to drive traffic, on the same intent, and keep what converts.
- Build the search campaignPick Microsoft Advertising (or both) as the platform, STAG as the group kind, and finish it as usual.
- Press Add an X campaign to matchOn the finished campaign, the Run X ads alongside panel adds an X campaign from the same themes, keywords, countries, language and landing pages. Paste the @handles you know by category first, and any proof or real deadline for retargeting. It reuses the search research, so it does not count as one of your campaigns this month.
- Set it up in X Ads ManagerInstall the X Pixel, make or copy the images, and type the setup sheet in. Nothing spends until you press Launch there.
- Check after a few daysGive both a few days on the same daily budget, then compare visits, sign-ups and cost per sign-up by utm_source in your analytics. Keep what converts and move the budget toward it.
Google Demand Gen, in plain words
Google Demand Gen is the third ad type: image, carousel and video ads, the campaign that took over from Discovery ads, aimed at the same buyer intent as your search campaign. Aha never spends money and never publishes anything in Google Ads for you.
Grow my YouTube channel
0 of 4 doneGrow my YouTube channel: your videos play as ads on YouTube to people interested in your topic, and Google aims them at people likely to subscribe or watch more of your videos. It grows the channel. It does not send anyone to a website.
- Pick it on the formPlatform Google Demand Gen, then Grow my YouTube channel. Describe your channel in the offer box, add the channel address, and choose Subscribers or More views.
- Paste your videosYour YouTube video links: vertical ones for Shorts, landscape ones for in-stream. Unlisted is fine. Make short vertical, landscape or square clips with ClipBuildr in Video Editr.
- Link your channel to Google AdsYouTube Studio, Settings, Channel, Advanced settings, Link Account (or Google Ads, Tools, Data manager, YouTube). Allow up to 24 hours before you create the campaign. The review has every step.
- Type the sheet into Google AdsCreate a campaign without a goal's guidance, Demand Gen, campaign goal YouTube engagements, Maximize Conversions for the first 14 days. Audiences come from your niche: the people who searched for your topic on Google and YouTube, and people like your viewers. The final URL is your channel.
How your ads are tracked
Every ad is tagged the way Google Analytics expects, in lower case: Google ads by auto-tagging with a small fallback tag, Microsoft ads by Microsoft's own UTM tagging, and X ads as paid social. Each campaign, ad group and ad shows up by name in your analytics, apart from the others.
Hand-offs: let your AI assistant do the setup
Hand-offs (BETA): setup jobs like the Microsoft UET tag, Microsoft UTM tagging, a Google Ads conversion action, the X Pixel and Google Analytics 4 key events can be handed to your own AI assistant. Press Hand this to my AI assistant, then Copy the Hand-off: it is a task already filled in with your own website, thank-you page and IDs from your Aha account. Paste it into Claude Cowork (choose Cowork) or ChatGPT Work (choose Work). Your AI assistant does the clicking in your browser. You sign in, and it asks you before it saves anything; it never sees your passwords or keys, never touches billing, and at the end it tells you exactly what it changed. On X it only tells you each click, because X does not allow automated access. Afterwards press Check it: Aha looks for the tag on your pages and shows Done with what it found, or what is missing. Needs a paid Claude plan with the Claude Desktop app open, or a paid ChatGPT plan (not Free or Go). Aha never connects to your ad accounts.