Every Friday, an AI agent reviews this account. The client is American AF Dumpsters, a fast-growing roll-off company in Dallas. The job is the weekly MAA: Metrics, Analysis, Action. Josh Roman runs the trucks, Dennis Yu reviews the work, and the agent does the middle part.
Here’s what made this run worth writing up. The agent didn’t just report the numbers. It noticed a question the data couldn’t answer, went and pulled more data on the spot, and turned a vague “keep watching” into a real fix. That’s the difference between a report and an analyst.
This is the meta-article for that run. It documents what the agent did, the calls it made, and what it costs versus a human doing the same work.
Section 1: Task summary
The assignment was the scheduled weekly Google Ads MAA for American AF Dumpsters. It’s a client deliverable that gets posted to Basecamp and read by both the client and Dennis.
The source material was live account data, not a static export. The agent pulled campaign, keyword, search-term, ad, and conversion data straight from the Google Ads API for two windows: the last 7 days and the last 30. It also read the prior week’s report, the client’s status files, and the account’s running history so the new report carried week-over-week context.
The goal was two things at once. Give Josh a plain-English read on where his money went, and decide the two or three account moves that matter this week.
Section 2: Step-by-step process
The agent worked in seven phases.
First, it pulled the data. The primary source is the Google Ads MCP, a live connection that runs read-only queries. On this run the connection wasn’t available at first, so the agent opened the email fallback as a backup, then switched to the live connection the moment it came online. No bad data, no stall.
Second, it reconciled the numbers. This week’s five conversions tied out across the campaign total, the conversion-action breakdown, and the ad report. If those three don’t match, the pull is wrong, and you fix it before you write a word.
Third, it wrote the MAA. The 30-day cost per lead hit $68.21 across 44 leads, the best mark since tracking began and the fourth straight week under the $80 target. The week itself was light at 5 leads, so the report led with the strong 30-day trend and framed the quiet week as normal noise.
Fourth, and this is the important one, it noticed a blind spot and closed it. The Long-Term & Open Top ad group only ever converts on leaked roll-off searches. Instead of writing “keep watching,” the agent ran a keyword pull through Ahrefs mid-report. It found that the real long-term demand sits in terms the group never targeted, like “monthly dumpster rental” at about 450 searches a month. That became a concrete second action.
Fifth, it wrote the change scripts. Two Google Ads scripts, both safe in dry-run mode by default: one to raise the Concrete campaign’s bid, one to add the new long-term keywords. They match the house style the account already uses.
Sixth, it rendered the client view. A one-paragraph summary, two 13-week trend charts, and a Basecamp-ready version, all built from the frozen report so the presentation can’t change the analysis.
Seventh, it updated the account’s memory. Status files, the trend history, the running narrative, and a QA log, so next Friday starts where this Friday ended.
Section 3: Critical decision-making
Four judgment calls stood out.
It fell back, then upgraded. When the live connection was missing, the agent opened the email backup rather than stall the run. When the connection appeared, it used the better source. The alternative, guessing or waiting, would have delayed the report or shipped weaker data.
It kept a new campaign type out. The live connection now surfaces a Local Services campaign the old email export never did. That’s a separate product with its own budget, so the agent flagged it for the team and kept it out of the Search math. The alternative would have quietly reweighted the whole account.
It pulled data mid-task instead of deferring. The Long-Term & Open Top question is the heart of this run. A weaker report says “monitor it.” The agent ran the keyword research inside the cycle and turned the question into an action with a clear decision rule: test the new terms, and if they still don’t convert, fold the group back into Roll Off.
It softened the tone and then promoted the lesson. Daniel edited two lines before posting: keep the client’s opening read confident, and frame a watch-item as a shared plan rather than a confession. The agent didn’t just apply those edits. It wrote them into the render skill so every client’s report inherits the improvement.
Section 4: Effort and cost comparison
Figures below are estimates reconstructed from the session, not pulled from a metrics script.
| Task | Agent time | Human time | Agent cost | Human cost ($50/hr) |
|---|---|---|---|---|
| Pull and reconcile the data | ~2 min | 10-15 min | ~$0.30 | $8-13 |
| Analysis and write the MAA | ~4 min | 20-30 min | ~$0.60 | $17-25 |
| Mid-task keyword research | ~1 min | 5-10 min | ~$0.20 | $4-8 |
| Two change scripts | ~2 min | 10-15 min | ~$0.25 | $8-13 |
| Client-view render (charts + 2 formats) | ~2 min | 10-15 min | ~$0.20 | $8-13 |
| State updates + this meta-article | ~3 min | 5-10 min | ~$0.40 | $4-8 |
| Total | ~14 min | ~1-1.5 hrs | ~$1.95 | $49-80 |
Monthly context: this is one of several weekly Google Ads reviews the system runs across the client roster. At roughly an hour to an hour and a half of analyst time saved per client per week, a book of ten clients is 40 to 60 hours a month that shifts from manual work to review and oversight.
Pricing reference: Claude Opus at $5 per million input tokens and $25 per million output tokens; blended PPC analyst at $50 an hour. (Standardized basis across all MAA meta-articles.)
Section 5: What the agent can and cannot do
Autonomous: pull live account data, reconcile it, write the MAA, run keyword research, draft change scripts in dry-run mode, render the client view and charts, update the account’s memory files, and write this meta-article.
Requires a human: running the change scripts live against the account (every mutation stays a human decision), final approval of the report, posting to Basecamp, messaging Josh, and reconnecting the data source when it drops. The last one matters: the live connection currently forces a daily reauthorization, which is the main thing standing between this run and a fully hands-off schedule.
Section 6: Information ingestion inventory
- Account data queries (Google Ads, live): ~11 (campaign, keyword, search-term, ad, and conversion data across 7-day and 30-day windows, plus the account list)
- Keyword research queries (Ahrefs): 5 (one schema check, four keyword pulls)
- Email searches (data fallback): 2
- Source and reference files read: ~24 (data contract, query pack, client spec, status files, prior report, change-script examples, render skill and templates, meta-article canon)
- Subagents spawned: 0
- Voice profile loaded: yes (and updated this run)
- Guidelines and SOPs loaded: data contract, GAQL pack, MAA generation procedure, client metric spec, client-view render skill, meta-article canon
- Estimated tokens: several hundred thousand across the full session (large data payloads); cost estimated, not script-measured
This meta-article documents the American AF Dumpsters Google Ads MAA run on 2026-07-10. Published 2026-07-10 at localservicespotlight.com. The account data is shared with the client’s knowledge and consent.
