Audit Google Ads against your sales
Most Google Ads audits check the account against itself. This one checks it against the sales. Five steps, a checklist you can lift, and what turned up when I ran it on a real account.
A Google Ads audit has one job: show which spend produces sales. Google's conversion column can't do that alone. It counts enquiries, misses most phone sales and knows nothing about what happened after the form. So reconcile the data, join clicks to real sales, score every campaign on cost per sale, check every cut against sales before you make it, and only then fix what the account is optimising towards.
Required inputs.
- Six months of campaign data
- The search terms report
- Sales or CRM export with click IDs
- Lead report by status
Operator sequence.
Reconcile
Check the numbers add up and the sales data is current before reading anything.
Connect
Join each click to the sale it produced, and measure how many sales you can't trace.
Score
Rank campaigns on cost per sale and return on ad spend over a mature window.
Verify
Check every pause and every negative keyword against sales before you make it.
Retarget
Point bidding at the sale, then tune structure, keywords and budget in small steps.
The account in this guide: an Australian education provider I audit monthly, inside someone else's business. Leads come from a form or a phone call, and the sale is an enrolment weeks later. I can't name it, but the numbers are real.
01 Reconcile the numbers before you read them
Start by checking that the spend in your export matches the account total for the same dates. If it doesn't, stop. A missing campaign or a time zone mismatch will change every conclusion after it.
Use complete days only. Today's half-finished row makes yesterday look like a cliff.
Then check how fresh the sales data is. On this account the CRM export was 13 days behind the end of the audit window. Most recent campaigns showed no sales at all, because the sales hadn't been loaded yet. The audit went out marked provisional, with budget changes on hold until the export was refreshed. The rule I use now: if the sales data is more than a week behind, the audit can describe, but it can't decide.
02 Connect clicks to sales, and measure the gap
The join is the click ID. With auto-tagging on, Google adds one to every ad click (the GCLID). A hidden field on your form captures it, your CRM stores it against the lead, and when the lead becomes a sale you can trace the sale back to the campaign, keyword and search that started it.
Then measure coverage: what share of sales you can trace to a click. On this account it was about three in four. Most of the rest were phone enrolments and clicks too old to match. Write that number at the top of the audit. It tells you how far to trust everything below it, and which campaigns are under-credited. Campaigns that drive calls always look worse than they are.
If the CRM has no click ID at all, that's your first finding. Fix it before anything else, because nothing else in the audit can be checked against sales until you do.
03 Score every campaign on cost per sale
For each campaign: spend, sales, revenue, cost per sale and return on ad spend. Rank by spend, because that's where a wrong call costs most.
Use a mature window. Leads take weeks to become sales, so a recent window understates everything. I use six months for verdicts and the last month for direction. Then give each campaign one of three flags: below target, protect, or too new to judge. "Too new" is a verdict in its own right, and it means you look again next month.
On this account one course took two thirds of the spend. Its search campaigns returned about 3.3 times their cost. Its Performance Max campaign (Google's automated campaign type that runs across search, YouTube and display) returned nearly 10 times. Some of that was probably brand searches it would have won anyway, which is why the checklist asks for brand exclusions before you scale one. Even discounted, it was the best thing that course had, and the search campaigns were where the money leaked.
Two search campaigns with click-through rates of 11 to 15% sat near the bottom. People clicked the ads and then didn't buy, which points to the landing page or lead quality. More budget would only make that problem bigger.
04 Verify every cut against sales
Most audits skip this step.
Search terms containing "free" looked like tyre kickers. In fact they cost less per enquiry than the account average, and searches for free or government funded courses produced about 15% of the traceable enrolments in 90 days. A blanket negative keyword would have cut about one traceable sale in seven. I recommended routing those searches instead of excluding them, with their own ad group and a landing page that answers the funding question.
Disability searches were the other near miss. The first draft of the negative keyword list, which AI wrote, marked them as waste because the provider doesn't sell a disability course. They weren't waste. In Australia, disability support work sits under community services qualifications, and some of those searchers were enrolling in the neighbouring courses. I caught it because I know the sector, and the model doesn't.
The rule: never pause a keyword or add a negative without checking it against sales. A keyword with sales gets judged on its cost per sale.
05 Retarget bidding, then tune
A conversion action is anything you tell Google to count: a form, a call, a sale. The one set as primary is what Smart Bidding (Google's automated bidding) chases. If it's the form fill, the account is buying cheap enquiries. On this account about one enquiry in nine could be traced to a sale, so most of what bidding chased never became one.
Then look at conversion values. At the time of the audit, every conversion Google had ever recorded on the account was valued, in total, at less than 0.04% of the revenue from the previous 60 days alone, so Smart Bidding had almost no sale value to aim at.
The fix, in order:
- Send each sale back to Google with its value, its click ID and the lead's email or phone, which Google hashes and matches. Google calls this enhanced conversions for leads, and it replaces the older import that used the click ID alone.
- Make the sale the primary conversion once each campaign gets enough sales to learn from, roughly 15 or more a month. Until then, bid on the closest stage that has the volume, such as a qualified lead, and carry the sale value with it. Run a new conversion alongside the old one for at least four weeks before you switch.
- Track phone calls as conversions, and send back which calls became sales, so call-driven campaigns stop looking worse than they are.
- Move to value-based bidding once there's enough volume for it.
Only then tune structure, keywords and budget, with the smallest reversible change first. Move budget in steps of about 20%, so you can still tell what caused what.
Look past the account
The biggest leak on this account wasn't in Google Ads. About one lead in seven had sat uncontacted for more than two weeks, and "uncontactable" was the most common reason for a lost sale. An audit that stopped at the ad account would have recommended more spend into a funnel that wasn't calling people back. Ask for the lead report by status before you write a single recommendation.
Where AI fits
AI is good at the grunt work: grouping thousands of search terms into themes, rolling up repeated words across them, drafting the audit from the numbers, and spotting the campaign whose spend had doubled since the last review. It is bad at knowing that a disability search can become a community services enrolment.
On the monthly audit I run, a script pulls and reconciles the numbers, a model reads them and drafts, and I make every call that removes traffic. The disability near miss is why that last part isn't negotiable.
The checklist.
28 points, in the order I check them. Anything you can't tick is a finding.
Data and tracking
- Spend in the export matches the account total for the window
- The window uses complete days only
- Sales data is no more than 7 days behind the window end
- The click ID is captured with every lead and stored in the CRM
- The share of sales you can trace to a click is measured and written down
- Phone calls are tracked as conversions
- The conversion window covers your real time from click to sale, up to Google's 90-day maximum
Bidding target
- The primary conversion is the sale, or the closest stage with enough volume to bid on
- Enquiries and other small actions are secondary
- Conversions carry real values
- Each campaign's bid strategy suits the conversions it actually gets
Structure
- Brand and non-brand searches run in separate campaigns
- Performance Max has brand exclusions on and is fed the sale, not the lead
- Ad groups are tight themes, each with a matching ad and landing page
- Each campaign has one job and one target
Keywords and search terms
- Search terms are reviewed by theme, not only row by row
- Every proposed negative is checked against sales first
- No keyword is paused without its sales being checked
- Job seeker and wrong product searches are excluded, after that check
- Search terms that produce sales are added as keywords
Budget and location
- Each campaign's share of spend is compared with its share of sales
- Locations are judged on sales, and weak ones reduced rather than switched off
- Proven campaigns aren't limited by budget
- Budget changes are made in steps of about 20%
Landing page and lead handling
- Every ad group lands on a page that matches the search
- Campaigns with high click-through and few sales are flagged for page and lead quality
- Leads are reviewed by status: never contacted, uncontactable and lost reasons
- Time to first contact is measured
Guardrails.
- Never cut on Google's conversion column alone
- No customer details in an AI prompt
- Stale sales data means a provisional audit
- Log every change with its reason
Common questions.
How often should you audit a Google Ads account?
Run a full audit when you take an account over, or when results move and nobody can say why. After that, review it against sales every month and look at search terms every week.
Should I pause keywords with no conversions?
Not until you've checked them against your sales. Google's conversion column misses phone sales and sales that close weeks later. On one account, 7 of 486 "zero conversion" keywords had produced real sales worth several times what all 486 cost.
What do I need before I start?
Read access to the account, six months of campaign and search term data, a sales or CRM export with the click ID on each lead, and a lead report by status. Without the click ID you can still audit the account, but not against sales.
Can AI audit a Google Ads account?
It can do most of the reading: grouping search terms, summarising campaigns and drafting the report. It shouldn't make the cuts. It doesn't know which odd-looking searches turn into sales in your market, so check every exclusion against sales yourself.
What problem does a Google Ads audit find most often?
The one that costs the most is an account bidding towards enquiries instead of sales. Smart Bidding gets very good at whatever you tell it to count. If you count form fills, it finds cheap form fills.
An audit note: every campaign with its cost per sale, return and flag; the verified cut list; the tracking fixes; and a ranked list of changes, smallest and most reversible first.
Prefer to hand it over? I run this as a fixed-price paid media audit, $1,500 plus GST.