Built in-house by Uppercut Digital
Signed deal in.
Campaign build out.
The Campaign Build Console turns a signed HubSpot deal into a Google Ads build, researched through Google's own APIs and written by a language model. A person approves every step.
What the console reads, through each platform's own API
Stylised illustration. Not the real interface or a real client.
The category question
What technology is powering the cutting edge for agencies and clients this year?
For us: Google's APIs, a language model, and a person.
Google's APIs aren't new. What changed in 2026 is what can sit on the other end. A model can now read a client's sales notes and website, call those same APIs for real data, and write a build a person would happily sign off.
What the client told us
HubSpot deal, brief, call notes, pitch deck, questionnaire, live website.
The console
A language model drafts the build against our written standards, with real data from Google's APIs and the ABR. An AI reviewer checks it.
Google Ads
A person approves. The build goes in through the Google Ads API, every campaign paused, then a 19-point launch check reads it back.
How it works
Seven steps. A person signs off.
Ad copy was never the slow part of taking on a new client. The slow part was everything around it. So that is what we wrote software for.
A deal is marked closed-won in HubSpot
That is the trigger. The console picks up the new client from the CRM.
It gathers everything we know
The sales rep's brief, the call notes, the pitch deck, the client's questionnaire and their live website. If they already run Google Ads, it audits the last 90 days of the account, search terms report included.
It does the research
Keyword research goes through the Google Ads API, so volumes and costs are real. It looks at competitors and their ads, maps keywords to landing pages, and pulls demographic, location and Australian Business Register data for the client's market.
It drafts the build against our written standards
When inputs conflict, the sales rep's brief beats the questionnaire, and the questionnaire beats the website. A $1,500 a month client gets one focused campaign, not five thin ones.
An AI reviewer checks it
Every Google Ads and Meta build is checked against our build standards before a person sees it for approval.
A person edits in plain English and approves
The team reads the build, asks for changes in plain words ("Edit with Claude") and approves it. Nothing moves forward without that approval.
It is versioned into Drive. Never launched automatically.
Client feedback becomes V2, then V3, in their Drive. A build already in Drive is never drafted over without permission.
Audience research
Who the client is, and who they serve.
Before a keyword is chosen, the console checks the business on the Australian Business Register and pulls demographic and location data for the client's service area. It matters for targeting, and for what an ad is allowed to promise.
- Entity
- Demo Dental Co Pty Ltd
- ABN status
- Active
- Entity type
- Australian private company
- GST
- Registered
- Main location
- NSW 2154
- Trading names
- Demo Dental, Demo Smiles
Why it matters: trading names become brand keywords and negatives, and the registered location anchors the geo targets.
What the build does with it: radius targeting around the practice, family and implant ad groups split, mobile-first ads with a call extension.
Demo client and sample figures, for illustration
Keyword analysis
Real volumes, real costs, a verdict on each.
Keyword research goes through the Google Ads API, so volumes and bids are Google's own. Each keyword is mapped to an ad group and a landing page, and keywords that already converted in the 90-day audit come across first.
| Keyword | Match | Avg monthly searches | Top of page bid | Ad group | Landing page | Verdict |
|---|---|---|---|---|---|---|
| dental implants near me | Phrase | 1,900 | $9.40 to $24.10 | Implants | /dental-implants | Converted before |
| emergency dentist | Exact | 2,400 | $6.80 to $17.30 | Emergency | /emergency | Keep |
| kids dentist | Phrase | 880 | $3.10 to $8.60 | Family | /childrens-dentistry | Keep |
| teeth whitening | Phrase | 1,300 | $2.90 to $7.80 | Cosmetic | /teeth-whitening | Keep |
| dental implants cost | Phrase | 720 | $7.20 to $19.50 | Implants | /dental-implants | Keep |
| dental assistant jobs | Phrase | 590 | $1.10 to $3.40 | None | None | Negative |
Health clients: keywords Google's health ad policy will flag are either sent for policy review with the deploy, or held back and listed for a person.
Demo client and sample figures, for illustration
The ads
Written from the client's words, checked before a person sees them.
Local implant dentist with payment plans. Book a free consult online or call today. Same week appointments for new patients.
In pain? Same day emergency appointments when available. Call our team now or book online in a minute.
Demo client and sample ads, for illustration
What comes out
The work we used to make by hand.
Search build
Ready to import. Campaigns, ad groups, exact and phrase keywords, ads, sitelinks, callouts, snippets and negative keywords.
Paid social build
A Meta build across the funnel.
Plan, deck and audit
A campaign plan, strategy deck and account audit we can hand straight to the client.
Domain map
For SEO clients, an SEO domain map and a deliverables sheet.
Features
What it does that a template can't.
Deploys in one pass
An approved build goes straight into the client's account through the API, hundreds of items, every campaign paused.
Geo check before anything is created
Every location resolves to a Google geo target or the deploy stops. On our first live deploy it caught a suburb that didn't match.
19-point launch checklist
After a deploy it reads the live account back through the API, marks what passed, and leaves judgement calls to a person.
Client's words beat templates
The sales brief beats the questionnaire, and the questionnaire beats the website. Budget decides the structure.
90-day account audit
For clients already on Google Ads, search terms and converting keywords from the last 90 days feed the new build.
Health policy handling
Spots what Google's health ad policy will flag, and submits it for review or holds it for a person.
An AI reviewer with a scorecard
Fixed checks first, then a judgement against our standards. A rule graduates after 10 agreed builds in a row.
Plain-English edits
"Split the implants ad group by suburb." The team asks for changes in words, and every revision is versioned in Drive.
Runs from Claude too
The same engine runs as an MCP server, so the team can drive it from Claude as well as the console.
Guardrails
Nothing goes live without a yes.
Preview, then a confirm code
Any change to a live account is previewed first and needs a confirm code a person approved.
Always created paused
Any Performance Max campaign in a build is created paused. Switching it on is a separate decision.
Trust is earned rule by rule
The AI reviewer keeps score of whether the team agreed with it. A rule only graduates after 10 agreed builds in a row. One disagreement resets it.
Every URL is crawled
Every sitelink and landing page URL is crawled before it is allowed into a build.
Key numbers
Days of work, now an hour or two.
Figures from Uppercut Digital's own records. It is an internal tool. We don't sell it. What it gives us is time for strategy and for looking after clients.