Google Ads Account Audit

A free tool for founders reviewing a Google Ads or Microsoft Ads search account: their own, one inherited from an agency, or one whose CPA went the wrong way. Paste the campaign report and the search terms report, set your target cost per conversion and check nine setup items. The audit finds the spend that produced nothing, the winners starved of budget and your brand and non-brand CPA, and ranks the fixes blocking-first, then by the spend each touches. It reads the account against its own target, never against a published CTR, CPC or CPA benchmark. It runs the engine of the paid-search-account-audit agent skill in your browser; nothing you paste is sent anywhere.

How the audit works

  • Setup: nine checks. Conversion tracking verified, brand in its own campaign and display expansion off are blocking. If tracking is not verified, the verdict is foundations whatever else is found.
  • Campaigns: CPA against your target, with brand and non-brand split. Ten or more clicks and no conversions is blocking. Under target while losing 20% or more of impressions to budget is a starved winner. More than twice target on three or more conversions is flagged. Automated bidding on fewer than 30 conversions in the period is AAJ's rule for when the algorithm is still guessing.
  • Search terms: terms that match your own never-convert words and are not negated, then terms with ten or more clicks and no conversions. Terms with two or more conversions that are not keywords are winners to add as exact match.
  • Landing pages: ten or more clicks and no conversions is blocking, and so is a page that does not repeat the ad's promise. A page converting under half the account's median page rate is checked.

Every threshold is an engine rule and says so. The verdict is foundations, waste (15% or more of spend produced nothing), scale (a starved winner and an account clean enough to read), fix, or healthy.

Limits

  • It sees the rows you paste, not the account. Check the setup items in the account yourself.
  • Google's report does not say which campaigns are brand, so you mark them. Everything not marked brand counts as non-brand, Performance Max included.
  • A cheap brand CPA does not show those clicks would not have come anyway. Test incrementality separately.

Why I built it

Every paid search audit I have been handed compares the account's CTR and CPC with an industry benchmark and calls the gap the problem. It never is. The benchmark is someone else's customers, prices and tracking. The only numbers that can judge an account are its own.

To set the target CPA, use the Unit Economics Calculator. Once the account is clean, split spend across channels with the Paid Media Budget Allocator.

Run this in your agent

The free AAJ agent skill Paid Search Account Audit does this job inside a coding agent, on your own data. Install it with npx skills add sarojkjha/aaj-marketing-skills --skill paid-search-account-audit.

Using Claude or ChatGPT instead? Add the AAJ engines as a custom connector, with no install: https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Frequently asked questions

Why doesn't the audit compare my CTR or CPC with industry benchmarks?

Because a benchmark is someone else's customers, prices and tracking. The only numbers that can judge an account are its own: your target cost per conversion, and how each campaign, term and page does against it and against each other.

What counts as wasted spend?

In the search terms, spend on terms that match your never-convert words and are not negated, plus terms with ten or more clicks and no conversions. In the campaigns, spend in campaigns with ten or more clicks and no conversions. A term with fewer than ten clicks is not judged; that is an engine rule.

What is a starved winner?

A campaign converting under your target CPA that loses 20% or more of its impressions to budget. It is the cheapest growth in the account: move budget there before adding anything new.

Is my data stored or shared?

Nothing is sent anywhere. The audit runs in your browser. Your last entries, pasted reports included, are kept in this browser only, so a refresh does not lose them; Start over clears them.

More in Paid Media

Part of the Paid Media hub - see all 17 resources on this topic.

Also useful in Website & Conversion, Analytics, Experiments & Budget.