Most Google Ads automation is either a rules engine that can't reason or a black-box 'AI budget' toggle you can't trust. The middle path is an agent: a language model with real API access, a tight role prompt, and guardrails that keep it inside a budget envelope.
The three-part architecture
n8n owns time: a cron workflow fires every morning at 07:00 GST. MCP owns access: the Google Ads and GA4 APIs are exposed to the agent as typed tools, so the model never touches raw credentials. Claude owns judgment: a media-buyer role prompt decides what changed, what drifted, and where budget should move.
The guardrails that make it safe
ONE TACTIC A WEEK
The agent may reallocate up to 20% of daily budget between campaigns, pause ads with CTR under half the account median, and add negatives from search-term waste. Anything structural — new campaigns, bid strategy changes — lands in a proposals file for human approval. Every action is logged with its reasoning.
What it actually produced
On a live AED 42K account this loop cut weekly optimisation from 9 hours to about 2, and ROAS improved 18% quarter over quarter — mostly because daily drift-correction catches what a weekly review misses. The full prompt behind this system is free on the prompt page linked below.