Skip to content
Case study 03

Atlas PPC Auditor

The Google Ads audit a planner ran by hand, encoded as a pass that scores what it checks.

Innovation & Strategy Analyst · inventor of Atlas · Jan 2026 → present · in beta

Google Ads audits used to take a media planner an afternoon, by checklist. The tool I built runs the checklist as a pass. Every audit, every account, every prospect.

PPC Auditor · in sixty secondsbeta

The Google Ads audit a planner ran by hand, encoded as a pass that runs on the accounts we keep and the ones we pitch.

was
A planner spent part of a day on each Google Ads audit, by checklist.
now
The checklist runs as a pass with a score. One mode for the accounts we keep, one for pitches. In beta.
the decision
Report what you checked, score it, and let the planner decide; the auditor never invents a conversion delta.
where it sits
the map →

A planner, an account that may never sign, and a checklist that takes the afternoon.

It is Friday afternoon at Mile Marker Agency and I have a prospect's Google Ads account open in one tab and the audit checklist in another. Search terms, negatives, bid adjustments, learning periods, portfolio strategies. The pitch is Monday. I have run this audit before and I will run it again next week for a different prospect, and many of them will not sign.

The audit was table stakes. The afternoon was the price.

Skilled attention, every audit, on the accounts we kept and the ones we chased.

Every audit took a planner's attention: skilled time spent on a document that decides nothing by itself. Left alone it stays that way, because no single audit is painful enough to fix.

How long an audit took by hand, and how many a month across how many planners, are numbers I will publish with their receipts, not before.

So the fix had to come from someone who had run the checklist.

Encode the checklist the tired planner runs at 4 p.m. on Friday. Nothing cleverer.

In January 2026, as part of Atlas, I decided to automate the audit exactly as a planner runs it, not to invent a smarter one. The constraint: built solo, alongside the day job, with Claude Code and Cursor, shipped through pull requests. The rule: never invent a conversion delta the account cannot show. The audit reports what it checks and scores it; the planner decides what to do.

What I did not do

A projected conversion lift in every report
The first version wrote one into every report, and nobody could defend the number in a room.The rule became: report what you checked, score it, and let the planner decide.
One mode for every account
A prospect we have not signed cannot be audited the way an account we keep can.Quality mode runs every check on the accounts we keep; stealth runs the hard checks on the ones we chase, and a pitch audit never became a second workflow.
A time or volume claim
How long the audit took by hand, and how many a month, are numbers I will publish with their receipts, not before.The page carries the shape of the change, and no figure.

The first version ran on a real account.

0 of 92 checks, 0 findings.

PPC Auditor · quality mode
simulation · 92 checks
Try it →
Account structure0/92

checks

  1. Waiting for the audit.

findings0

  1. Waiting for the audit.
0 pass0 warn0 fail
score····

Scripted simulation on invented account fixtures. Its check count and timing belong to the fixture.

Every check on the list, each a pass, a warning or a fail, rolled into one score. Two modes.

The run beside this is a simulation of the real pass: account structure, keywords and negatives, bids, budgets, conversions, each check a pass, a warning or a fail, rolled into one score.

One decisionTwo modes. Quality mode is the default on the accounts we keep and runs everything. Stealth mode runs on prospects we have not signed, so a pitch audit never became a second workflow. The trade: stealth is lighter and can miss what a full pass catches.

When it breaks

A check fails on the account
the system It lands in the findings with the fix the planner should make, and the score counts it.
seen by The planner on the account
The account is a prospect we have not signed
the system Stealth mode runs the hard checks only; it is lighter and can miss what a full pass catches, and it says so.
seen by Whoever runs the pitch
A number the account cannot show
the system The auditor does not invent a conversion delta. It reports what it checked.
seen by Nobody has to defend it in a room

Then the afternoon it replaced had to be measured, not remembered.

An afternoon by checklist, then. A pass with a score, now. Same audit, same account.

The auditor is in beta. The audit runs as a pass, and the planner reads a score and the findings behind it instead of working down the list by hand.

How much faster is a number this page does not carry: the timing it would rest on has not been measured, and I will publish it with its receipt or not at all.

A week nowThe audit runs before the kickoff call, and the planner spends the afternoon on the plan.

The time went back to the planners.

Do again

Build the boring version first: the human checklist, encoded, before any model gets an opinion.

Two more parts of Atlas started the same way, the proofing pass and the ticket gate. I am looking for an applied-AI engineering role at a company with operations like these to automate.

Atlas platform →Ops Revamp →Proofing Pipeline · the story →

What does the auditor do with a check it cannot evaluate on an account?
On an account we cannot fully read it runs the hard checks only and says the pass is lighter. It reports what it checked; it does not invent a figure the account cannot show.
Why a score at all, if the planner decides?
The first version wrote a projected conversion lift into every report and nobody could defend it. The score is of the checks that ran, with the findings beside it, and the planner decides what to do.
Google Ads APIsThe Atlas audit engineQuality and stealth modes

Hire me

I'd build this for your team.

I am looking for an applied-AI engineering role at a company with real operations to automate. The résumé is one page.