How to Run a Weekly Google Ads Audit That Actually Moves the Numbers

By Daniel Goodrich — BlitzMetrics / Local Service Spotlight

Most Google Ads accounts get reviewed once a month, if that. The agency sends a PDF with a bar chart and three bullet points. CPA is still $200. Next month, same PDF, same bullets.

That’s not analysis. It’s documentation of a problem no one is fixing.

The discipline that actually moves an account — catching the competitor brand that crept into your search terms, noticing when a Quality Score dropped three points, recognizing the pattern of a keyword stuck at zero conversions — has to happen every week, on every account, without skipping. That’s hard to do manually. The math falls apart fast once you’re managing more than a handful of clients.

I built a system that does the disciplined part automatically. Here’s how it works, what it’s done on a real account, and how to set it up.


What MAA is, and why the structure matters

MAA stands for Metrics, Analysis, Action. It’s the framework Dennis Yu built inside BlitzMetrics for every weekly Google Ads report:

  • Metrics: what the numbers did this week
  • Analysis: why they did that
  • Action: what we’re doing next week

The discipline is the point. No recommendation gets made unless there’s a specific number it’s moving and a specific reason it’ll move that number. “Add some negatives” is not an action. “Add exact match negatives for [competitor name] in the branded search terms, estimated to reduce wasted spend by $X based on 30-day impression data” is an action.

MAA is an acquired skill. Knowing what to look at, what to ignore, when to act versus when to wait — none of that is obvious from the raw export. It takes years of running accounts to build the instincts.

The MAA skill’s job is to compress that learning curve and make sure the checklist runs on every account, every week, whether you’re managing one client or thirty.


The proof: American AF Dumpsters

The clearest way to show what consistent MAA discipline does is to look at a real account.

American AF Dumpsters is a Dallas-based dumpster rental business. Single Search campaign. Maximize Conversions bid strategy with an $85 target CPA. When I started running structured MAAs on this account, the 30-day CPA was $216.50. Five cycles later:

Cycle ending30-day CPA
2026-04-24$216.50
2026-05-01$167.83
2026-05-08$179.17
2026-05-15$142.52
2026-05-22$130.57

CPA improved in four of five cycles. $130.57 is the best 30-day average the account has posted all year. Two specific moves drove most of it.

Dynamic Keyword Insertion on the geo keywords. Quality Scores on the city-specific keywords were stuck in the 2–6 range, with Ad Relevance flagged as the limiter. The skill recognized the DKI Geo Quality Score Recovery pattern and flagged the recommendation. Six weeks later, “Lancaster TX” was at QS 10 (up from QS 2), and most of the suburb keywords were sitting at 9 or 10. Impression Share Lost (Rank) dropped from 30.68% to 11.00% over the same window. The auction got cheaper because the account stopped competing from behind.

Roll Off Dumpster restructure. “Roll off dumpster” was the single highest-spend keyword in the account, stuck at QS 3 with zero conversions over 30 days. The skill flagged the shape of the problem — a high-volume generic keyword drowning inside a broader ad group — and recommended breaking the roll-off variants into their own tightly matched ad group. Four weeks later, the keyword posted 3 conversions at $78.84 CPA, under the $85 target. When the new RSA underperformed in week one, the skill held the pause recommendation for an additional cycle instead of reacting to a single bad week.

None of this is sophisticated. It’s a disciplined checklist of plays, run every week without skipping.


What the MAA skill does

The skill takes campaign, keyword, search term, and conversion exports — last 7 and 30 days — and writes a draft MAA against the BlitzMetrics rules.

A few things it enforces that manual review tends to skip:

Balanced metrics. It won’t celebrate a CPA drop without checking whether lead volume held. A lower CPA with half the conversions is not a win.

Noise filter. Single-week patterns don’t earn a recommendation. Something has to hold for two to three cycles before the skill flags it as actionable. This keeps the analysis from chasing randomness.

Narrative continuity. The skill reads a running narrative document for each account. If last week flagged a Quality Score issue, this week’s MAA explicitly reports on whether it moved. Open threads stay surfaced until they’re resolved or deliberately dropped.

Named patterns. When an account drifts into one of the patterns we’ve seen repeatedly across hundreds of campaigns. The skill flags the matching play instead of waiting for a human to notice. The Negatives Round Process runs every cycle and drafts the negative keyword list with the right match types, grouped by ad group or shared list.

The output is the same shape every week. Same format means you can scan it fast and notice when something is different. Different is the signal.


The three-piece setup (about 20 minutes)

The system has three components. Set them up in this order.

1. The Google Ads Script

This is the data pipeline. It runs inside your Google Ads account, pulls campaign, keyword, search term, and conversion data for the last 7 and 30 days, and emails it to you weekly.

  • In your Google Ads account: Tools → Bulk actions → Scripts
  • Create a new script, paste the code, authorize it
  • Set your email address at the top of the script
  • Schedule it for Friday morning

The script auto-detects the account name and writes data into marker-tagged blocks the skill knows how to parse. Script file: Google Ads MAA Reporting Script

2. The Gmail connector and label

Set up the Gmail connector in Claude Cowork (one-click in connector settings). Then:

  • Create a Gmail label called maa-data-automation
  • Set up a filter that auto-applies that label to emails with subject starting [MAA Data]

The skill reads only labeled emails. This keeps your inbox from getting scraped wholesale.

3. The MAA skill

Install the skill into Claude Cowork. Once installed, type “do an MAA for [account name]” in a Cowork session. The skill finds the most recent labeled email for that account, parses the data, writes the draft MAA, and saves it to your outputs folder. Skill file: Google Ads Analyzer

First run on a new account, the skill asks a few setup questions: target CPA, primary conversion goal, service area, anything you’re already tracking. Future runs use the same narrative document and skip the setup.


What’s coming next

Three things are in active development:

Landing Page Audit skill. Right now the MAA flags landing pages when Google reports below-average LP Experience, but the diagnosis stops there. The LP Audit skill crawls the actual page the ad points to — checks ad-to-page alignment, conversion friction, and the specific signals Google uses to grade LP Experience — and drops structured findings directly into the MAA. Next post in this series walks through it on a real account.

Ad Copy skill. Instead of “your ad strength is Poor,” the output is a draft RSA with 15 headlines and 4 descriptions ready to test, each tied to a specific intent signal from the search term report. Currently usable as a standalone. Pairing it more tightly with the MAA is the next integration.

Tighter narrative continuity. The skill can be better at following the thread across weeks rather than treating each cycle as a fresh look. That work is happening cycle by cycle on live accounts.


The bigger framework

This whole pattern fits the Content → Checklist → Software triangle, which is one of the 9 Triangles Dennis Yu put inside the BlitzMetrics framework.

The Software is the skill. The Checklist is the framework documents the skill reads from. The Content is this post, the next post, and whatever you write back when you run it on your own accounts.

All three improve together. A tool that never gets released never gets better. BlitzMetrics has run live audits with no curated screenshots for years for exactly that reason.


What to do next

Pick one.

  1. Run it on your own account this week. Install the script and the skill. Setup takes about 20 minutes. The first MAA will

The next post in this series covers the Landing Page Audit skill — what it catches, how it pairs with the MAA, and a real account walkthrough.