
Agents & automation
Google Ads Agent System
One command plans a Search campaign; a human always clicks Publish.
I built a Claude skill with a team of agents that plans a Google Search campaign from a brand's URL: it interviews the owner, researches keywords, writes ads and packages a bulk upload. It was a teaching build, no live campaign results are recorded, and the agents never publish.
The problem
Google Ads rewards strategy, not button-pushing, yet many accounts are run the other way round. A typical pattern: generic ad copy for 50 keywords, bids set too high, and a verdict three months later that Google Ads does not work for the client. A good campaign needs keyword research, tightly matched ad groups, copy within strict character limits, a landing page that matches the ad, and a sensible budget. For one campaign, that is days of skilled work.
What I built
The system is a Claude skill, /gads, with gads-* agents. In the version I keep now there are ten of them. The class build that preceded it had about twenty roles.
In class we built a first version in an afternoon and a fuller version in one class day. The second started with research. Seven research agents studied campaign strategy, structure, keywords, ad copy, landing pages, measurement and the Google Ads screens, and wrote about 58,000 words into the project folder. I asked Claude for the architecture before anything was built, and reviewed it.
A run starts with an interview about the brand, objective, geography, budget stance and landing pages. A keyword agent then pulls real search volumes and bid estimates from Google Keyword Planner through my logged-in browser, and a strategist asks for more data until it has enough. Review agents check strategy, finance, compliance, message match and pre-launch quality. The output is one Excel file with campaigns, ad groups, keywords, negative keywords, responsive search ad copy, a forecast and a budget, ready for bulk upload.
Two design rules matter. The agent never clicks Publish, and “everything is a file”, so research, debates and outputs can be inspected. It runs on Claude and uses no small models.
How it performed
In the class demonstration, on a jewellery brief, the system analysed more than 10,000 keywords and built 22 ad groups. In version one, Claude’s first proposal had 17 separate skills, and we simplified it to one skill and four helper agents. When the budget the model produced alone looked too high, the system ran a forecast before recommending a figure.
Those are measures of output, not of results. No live campaign results are recorded, so I have no click-through, conversion or cost-per-lead data. No outcome is recorded.
What I learned
Simplify the agent team. Claude proposed 17 skills for a job that needed one skill and a few helpers. More parts meant more places to be wrong, and the class review caught that.
Make the stopping point a rule of the design. Handing a model a logged-in ad account is risky, so the system prepares everything and a human crosses the one irreversible line. That design choice is worth more than any extra agent.
Check the numbers the model gives you. A budget that looks too high should lead to a forecast, not an argument.
Platform knowledge ages quickly, while strategy ages slowly. The part worth teaching, and building, is the reasoning about which keywords deserve a bid.

More in Agents & automation
- CastLink AutoQuoteReads a drawing from email, checks 49 rules, and drafts a quote for CEO approval.
- The Forge Family: An Agent Operating System on Claude CodeMarketing and research command systems, desktop apps, and a study of AI brand governance.
- Helm: A Marketing and E-Commerce Team in Software73 Claude-based roles with hard spending limits, and an honest review of what failed.