Google Ads - Fully Automated
What Runs, When, Without You
Every Monday at 07:00 UTC, a pipeline wakes up, connects to your Google Ads account, pulls 16 reports, runs 11 diagnostic engines across the data, and emails you a plain-English summary of what it found. You read one email. The system did the rest.
This is not a dashboard you log into. It is a system that watches your account and contacts you when something needs your attention.
The 16 Reports - Pulled Every Week
| Report | What We're Hunting |
|---|---|
| Campaign Performance | CPAs above EUR 35 with no seasonal explanation |
| Ad Performance | Ads with <0.5% CTR still spending budget |
| Keyword Performance | Broad match triggering irrelevant queries |
| Search Terms | Actual queries people typed - always full of surprises |
| Quality Score | Keywords below QS 5 on any spending term |
| Geographic | US vs EU ROAS - are campaigns cross-spending? |
| Audience Overlays | Which interest layers actually convert |
| Conversion Actions | Is purchase tracking firing on every checkout? |
| Auction Insights | Who's outbidding you and on which terms |
| Budget Performance | Impression share lost to budget cap |
| Change History | When did things break? Usually one campaign change |
| Bidding Strategy | Are you on Target ROAS without enough conversions? |
| Device Performance | Mobile vs desktop CVR - drives bid adjustments |
| Ad Extensions | Missing sitelinks = lower CTR, easy fix |
| Landing Page | Bounce rate by destination - PDPs vs recipe pages |
| Account Performance | Full health baseline |
The 5 Scripts That Run Inside Google Ads Daily
These live in your Google Ads account and run on their own schedule - no external server needed.
| Script | Runs | What It Does |
|---|---|---|
| Zero-Impression Pause | Daily | Pauses keywords with 0 impressions in 30 days |
| Search Term Harvester | Weekly | Promotes converting queries to exact match keywords. Adds wasted queries to negative list |
| Quality Score Monitor | Weekly | Flags any keyword below QS 5 with >EUR 10 spend |
| Budget Pacing | Daily | Alerts if daily budget exhausts before 18:00 |
| ROAS Bid Adjustment | Weekly | If ROAS exceeds target by 20%, raises bid ceiling |
The 11 Diagnostic Engines - Run on Your Data Every Monday
| Engine | The Question It Answers |
|---|---|
| Market Share | "Are we losing impressions due to budget or ad quality?" |
| Real Money | "Which conversions are actual purchases vs. form fills?" |
| Context | "Are we better on mobile or desktop? In which cities?" |
| Creative Lab | "Which individual headlines and descriptions are winning?" |
| Waste Hunter | "What search terms are burning budget with zero conversions?" |
| Enemy Radar | "Who's outbidding us and where are we losing share?" |
| Interaction Anatomy | "Are clicks coming from headlines or sitelinks?" |
| Google Brain | "What does Google's AI recommend - filtered for ones worth doing" |
| Demographic Filter | "Which age/gender cohorts click but never buy?" |
| Time Lord | "When does your account make money? When does it waste it?" |
| Page Performance | "Which landing pages turn clicks into sales?" |
What Jon Gets Every Monday Morning
One email. Structured like this:
Week of 17 March - Google Ads Digest
Spend: EUR 2,847 | ROAS: 3.1x | vs last week: +0.4x
Top performer: Thick-Cut Filet - Exact Match | ROAS 4.8x | EUR 340 spend
Action required (1): Baby Ribs campaign - 48 hours, EUR 190 spend, 0 purchases. Recommend pausing.
Waste Hunter found: 23 new negative keywords added automatically. EUR 180 projected weekly saving.
Search Term Harvest: 4 new converting queries promoted to exact match.
No login. No dashboard. No spreadsheet to interpret. One email, one action item if any.
How It Gets Set Up
Google Ads Customer ID + OAuth access (15 minutes).
Tells Claude Code - "Connect the Google Ads export to customer ID 123-456-7890, output to /reports/google-ads/, set EU customer ID to 987-654-3210" - and it's running.
24 hours after credentials received.
End of Week 1.