TL;DR
- A PPC audit across Google Ads and Meta reviews tracking, campaign structure, bid strategy, search terms, audiences and creative to find wasted ad spend, with both platforms judged against one conversion source, usually GA4.
- Google Ads and Meta each count a purchase when their own ad touched the buyer, so a sale both ads touched is counted twice and platform-reported conversions add up to more sales than happened.
- To compare CPA across Google Ads and Meta, divide each platform’s spend by the purchases GA4 credits to it. Platform-reported CPA can make the more expensive channel look cheaper and reverse the budget decision.
- The audit runs in four steps: fix tracking, audit Google Ads, audit Meta, then rank every finding by dollars and mark each amount as firm or estimated.
- Run by hand, the audit takes days. 32.43% of go-to-market teams spend 16 to 30 hours a month cleaning or reconciling attribution data (Beyond Attribution: What Go-To-Market Teams Track When Clicks Disappear, N=259).
- Databox AI Analyst Genie runs the same audit from one question, “Where did we waste spend in Google Ads and Meta last month?” A query engine computes every number against GA4 purchases, and the answer becomes a shareable report.
To run a PPC audit across Google Ads and Meta, judge both platforms against one conversion source, usually GA4. Every audit covers the same four steps:
- Fix tracking. Deduplicate Meta’s Conversions API, confirm Google’s Enhanced Conversions and tag every ad with UTMs that match your campaign names.
- Audit Google Ads. Check for campaigns competing with each other, bid strategy goals, search terms with spend and no purchases, and Quality Score.
- Audit Meta. Check for ad sets stuck in learning, creative fatigue measured in CPA, and how much Advantage+ delivery goes to existing customers.
- Rank every finding by dollars in one list, with each amount marked firm or estimated.
The GA4 step is what makes the rest trustworthy. Each platform counts its own conversions, so together they report more sales than you made, and an audit built on their numbers can recommend the wrong budget move.
This guide walks through that work twice. First by hand, the way most paid media teams run it each quarter. Then as one question in Databox AI Analyst Genie, which runs the same checks against the same deduplicated numbers and returns a ranked list of wasted spend in a few minutes.
Both versions use one worked example. Take a direct-to-consumer brand spending $85,000 a month: $52,000 on Google Ads and $33,000 on Meta. The numbers are invented, the pattern is common.
Your platform numbers are wrong before the audit starts
Google Ads and Meta each count a conversion whenever their ad touched the buyer inside their attribution window. Google’s default window is 30 days after a click. Meta’s is 7 days after a click or 1 day after a view. A buyer who clicks a Google ad on Monday, scrolls past a Meta ad on Wednesday and buys on Thursday gets counted by both. You made one sale. The platforms report two.
Each platform follows its own rules correctly. The rules were never designed to add up across platforms. Here is September in the example account.
| September 2026 | Google Ads | Meta | Total |
|---|---|---|---|
| Spend | $52,000 | $33,000 | $85,000 |
| Purchases, platform-reported | 1,240 | 980 | 2,220 |
| Purchases, GA4 | 1,080 | 595 | 1,675 |
| ROAS, platform-reported | 4.10x | 3.61x | 3.91x |
| ROAS, GA4 | 3.42x | 2.73x | 3.15x |
| CPA, platform-reported | $41.94 | $33.67 | $38.29 |
| CPA, GA4 | $48.15 | $55.46 | $50.75 |
The platforms claim 2,220 purchases. GA4 recorded 1,675. Most of the 545-purchase gap sits on Meta, which reports 65% more purchases than GA4 credits to it. Google overclaims by 15%. View-through conversions and a Conversions API setup without deduplication account for most of Meta’s excess.
The inflated total is the smaller problem. The bigger one is that the gap flips the comparison. On platform data, Meta buys a sale for $33.67 and Google for $41.94, so moving budget to Meta looks obvious. On GA4 data, Meta costs $55.46 per sale and Google costs $48.15. The same audit on the same account recommends opposite moves depending on which row it reads.
Every step that follows uses GA4 purchases as the denominator. Platform numbers still help you diagnose problems inside each platform. They never decide where the budget goes.
How to run the PPC audit by hand
The manual audit runs in four steps. The order matters, because every finding in steps two and three depends on the tracking checks in step one.
Step 1: Fix tracking before you audit anything
Start with Meta’s Conversions API. Meta’s recommended setup sends each purchase twice, once from the browser pixel and once from your server. Meta only merges the two when both events carry the same event_id. Check Events Manager for that parameter on every purchase event, and check the Event Match Quality score. Below 6 out of 10, Meta struggles to match server events to people, and its optimization works with less signal than it reports.
On Google, confirm Enhanced Conversions is active and passing hashed customer data. Without it, a larger share of Google’s conversions are modeled estimates.
Then write down the attribution window each platform uses. You will not make them match, and you don’t need to. GA4 becomes the referee. Make sure every ad URL carries UTM parameters whose campaign names match the campaign names in each platform. That match is what lets you join spend from Google and Meta to purchases in GA4 later.
Step 2: Audit Google Ads
Export campaign spend and pair it with GA4 purchases for the same campaigns. Four checks find most of the waste.
Campaigns competing with each other. Performance Max is the usual suspect, because it will happily buy your own brand name. In the example, $1,900 of the PMax campaign’s $5,200 went to branded queries. Those queries produced GA4 purchases, so you can’t call the spend wasted. The data can’t tell you whether those buyers would have found you through Brand Search anyway, at a $9 CPA. Add brand exclusions to PMax for a few weeks and watch whether Brand Search purchases rise to cover the difference. Until that test runs, PMax brand spend is an open question and stays off the waste list.
Bid strategy targets. Open each campaign’s conversion goals. Target ROAS and Target CPA should optimize toward purchases alone. A goal that also counts page views or add-to-carts teaches Google to buy cheap micro-conversions.
Search terms with spend and no sales. Pull the search terms report for the last 90 days and match it against GA4 purchases. In the example, 24 search terms spent $3,840 over 90 days without a single GA4 purchase. That is $1,280 a month to move into negative keywords.
Quality Score. Flag keywords scoring below 5 that still get meaningful spend. When landing page experience is the weak component, check the UTMs on that landing page too, since broken tags also break the GA4 join from step one.
Step 3: Audit Meta
Export ad set and ad-level spend, frequency and delivery status, then pair them with GA4 purchases by campaign.
Ad sets stuck in learning. Meta needs about 50 conversions a week per ad set to finish its learning phase. Ad sets marked “Learning limited” for weeks are spending without the algorithm ever settling. In the example, two prospecting ad sets sat in that state for over three weeks, running the Static Offer 20% and Carousel Bestsellers ads. They spent $4,600 in September and returned $6,800 in GA4 revenue, a 1.48x return against 2.60x for the other prospecting ads. Earning that $6,800 at the peer rate would have cost about $2,617, so roughly $1,983 of the spend was waste. Treat that figure as an estimate, because it assumes these ads could have matched their peers. Folding both ad sets into one larger ad set gives Meta enough conversions to finish learning.
Creative fatigue measured in CPA. Frequency above 3 on a 7-day window is the usual warning sign, but clicks can stay cheap while the people seeing the ad stop buying. Compare each creative’s GA4 CPA week by week against its launch week. In the example, frequency on the “UGC Testimonial v2” creative climbed from 1.6 to 4.3 while its cost per click held at about $1.05. Its CPA rose every week, from $44 in launch week to $70.50 in the last days of September. That final figure covers only three days and six purchases, so the size of the jump is rough, but the direction holds across every week. Flat traffic cost with a falling purchase rate means the audience has seen the ad too often. The ad still sells, so it belongs on the fix list rather than the waste list. Refresh it or cap frequency.
Advantage+ incrementality. Check how much of Advantage+ delivery goes to existing customers. A high ROAS earned mostly from people who were going to buy again anyway overstates what the campaign adds.
Step 4: Rank every finding by dollars in one list
The last step is what most audits skip. Two separate platform reports can’t tell you what to fix first. One list ranked by dollars can. Mark each line as firm or estimated, because whoever approves the budget change will ask.
| Finding | Platform | Wasted in September | Basis |
|---|---|---|---|
| Two prospecting ads returning 1.48x against 2.60x for peers | Meta | $1,983 | Estimate |
| 16 zero-purchase search terms in Non-Brand Generic | Google Ads | $850 | Firm |
| 8 zero-purchase search terms in Non-Brand Core | Google Ads | $430 | Firm |
| Total | $3,263 (3.8% of spend) |
Two findings stay off the list because they aren’t proven waste. The fatigued creative needs a refresh, and the PMax brand spend needs an exclusion test.
$3,263 is a modest number for an $85,000 month, and a well-run account should produce a modest number. The larger finding in this account isn’t on the list at all. It’s the CPA flip from the first section. On GA4 numbers, Meta costs more per sale than Google, so the budget move the platform data recommends would have made things worse.
What the manual version costs
The manual audit works. It also means four platform exports, a GA4 export, a UTM join that breaks on every misnamed campaign, and a spreadsheet only its author can maintain. 32.43% of go-to-market teams spend 16 to 30 hours a month cleaning or reconciling attribution data (Beyond Attribution: What Go-To-Market Teams Track When Clicks Disappear).
That cost decides the cadence. Most teams can afford the audit once a quarter, so a fatigued creative or a stuck ad set runs for weeks before anyone looks.
How to run the same PPC audit in Databox Genie
Databox’s AI Analyst, Genie, runs the same four steps as a conversation. You connect Google Ads, Meta, and GA4 once, then ask in plain language about where your spend went, why a campaign or creative stopped performing, and what to put in front of your CMO. Every number in the answer is judged against GA4 purchases, the same denominator the manual audit spent days building.
The first question most paid media managers ask about an AI analyst is whether to trust its math.
It’s the right question. Language models are good at reading a question and bad at arithmetic, and an audit is mostly arithmetic. Genie splits the two jobs. The language model works out what you asked: which metrics, which platforms, which dates. A query engine then computes the answer from your connected data. The LLM never touches your calculations, so the CPA Genie reports is the CPA your dashboard shows.
Ask where the spend went
Start with the audit question itself.
“Where did we waste spend in Google Ads and Meta last month?”
Genie returns $3,263 of waste, 3.8% of the month’s spend, ranked by dollars. It labels $1,280 as firm: 24 search terms that spent money and produced no GA4 purchases. It labels the other $1,983 as an estimate for the two weak Meta ads, and it shows the 2.60x peer benchmark the estimate rests on. The fatigued creative appears as a fix to make. The $1,900 of PMax brand spend stays out, with a note that those queries produced purchases and may overlap with Brand Search. That is the judgment you want from an analyst. It separates what the data proves from what it estimates, and it tells you which is which.
Ask why
A ranked list tells you what to fix. The follow-up tells you how.
“Why did CPA go up on the UGC Testimonial v2 creative?”
Genie traces the change week by week. Frequency climbed from 1.6 to 4.3 while cost per click held between $1.04 and $1.07. The purchase rate fell from 2.35% to 1.51%, and GA4 CPA rose from $44 in launch week to $70.50 by the end of September. Traffic got no more expensive, so the same people kept seeing the ad and stopped buying. That points to a creative refresh or a frequency cap, and away from a targeting change.
Turn the answer into a report
The audit still has to reach whoever signs off on the budget.
“Turn this into a one-page report for my CMO.”
Genie builds an Artifact from the conversation. It shows the waste ranked by dollars with firm and estimated amounts marked, GA4 return for every campaign, the creative’s weekly CPA trend and the recommended actions. A short note at the bottom explains how each number was calculated. You can share it as a link or download it as a PDF, and your CMO sees the same numbers you saw, computed the same way.

Run it every week
The manual audit happens quarterly because it costs a week of work. The question costs a minute. Ask it every Monday, and a creative that starts fatiguing in week three gets caught in week three.
A PPC audit run once a quarter finds last quarter’s waste. Asked every Monday, it finds this week’s.
Try Genie on your Google Ads and Meta data. Connect both platforms and GA4, then ask where your spend went last month.
Frequently asked questions
What is a PPC audit?
A PPC audit is a structured review of a paid advertising account that finds wasted spend and decides what to change. It covers tracking, campaign structure, bid strategy, search terms, Quality Score, audiences and creative. An audit across Google Ads and Meta also needs one shared conversion source, usually GA4, so both platforms are judged the same way.
How do you run a PPC audit across Google Ads and Meta?
Run it in four steps. Fix tracking first, so both platforms are measured against GA4 purchases. Audit Google Ads for overlapping campaigns, bid strategy goals, search terms with no purchases and Quality Score. Audit Meta for ad sets stuck in learning, creative fatigue and Advantage+ delivery. Then rank every finding by dollars in one list.
Why do Google Ads and Meta report more conversions than GA4?
Google Ads and Meta each count a conversion when their own ad touched the buyer inside their attribution window, so a sale both ads touched is counted twice. Google Ads defaults to 30 days after a click. Meta defaults to 7 days after a click or 1 day after a view. Meta also double-counts when pixel and Conversions API events lack a shared event_id.
How do you compare CPA across Google Ads and Meta?
Divide each platform’s spend by the purchases GA4 credits to that platform, never by the purchases the platform reports about itself. This gives Google Ads and Meta the same denominator. Platform-reported CPA often makes Meta look cheaper than it is, because Meta counts view-through conversions that GA4 credits elsewhere.
How do you find wasted spend in Google Ads and Meta?
Wasted spend is ad spend that produced no GA4 purchases, or returned far less than comparable campaigns. In Google Ads, start with search terms that spent money and drove zero purchases. In Meta, start with ad sets stuck in learning and ads returning well below their peers. Mark proven waste as firm and benchmarked waste as estimated.
How long does a PPC audit take?
A manual PPC audit across Google Ads and Meta usually takes several days, because it means exporting data from both platforms and GA4 and joining it in a spreadsheet. 32.43% of go-to-market teams spend 16 to 30 hours a month reconciling attribution data (Beyond Attribution, N=259). Databox Genie runs the same checks from one question in a few minutes.
How often should you run a PPC audit?
Run a full structural PPC audit quarterly and check wasted spend weekly. Creative fatigue and ad sets stuck in learning cost money every week they run, so a quarterly cadence finds them late.
How do you check if Meta’s Conversions API is deduplicated?
In Meta Events Manager, confirm that browser pixel events and server-side Conversions API events carry the same event_id, and check that Event Match Quality scores 6 or higher. Without a shared event_id, Meta counts each purchase twice.
Can AI run a PPC audit accurately?
AI can run a PPC audit accurately when a query engine computes the numbers and the language model only interprets the question. Language models predict text, so a tool that lets them calculate ROAS or CPA can return figures that look right and aren’t. Databox Genie separates the two jobs, so its figures match your dashboards.
