Conversion Tracking Audit: Find Out What Your Ad Platforms Are Really Optimizing Toward
Every automated bidding system optimizes toward the conversions you report. If those are wrong, everything
downstream is wrong too. This audit checks, end to end, whether Google, Meta, and Microsoft are learning from
real outcomes.
Reconciles conversions in Google Ads, GA4, Meta, and Microsoft against your backend: orders, CRM leads,
revenue.
Checks the configuration that decides bidding: Primary vs. Secondary actions, counting method, values,
attribution, and duplicate sources.
Tests tags in the browser and on the server, including consent states, enhanced conversions, Meta
deduplication, and offline uploads.
You get a findings list ranked by bidding impact, the exact fixes, and a re-test after the fixes ship.
When historic data turns out to be polluted, we apply data exclusions so Smart Bidding stops learning from
it.
Who needs a conversion tracking audit
Google Ads reports far more conversions than your CRM shows leads, or far fewer.
Meta's purchases don't match Shopify orders.
CPA "improved" after a change, but revenue didn't.
You're about to switch to Target CPA, Target ROAS, or value-based bidding and want to know whether the data
can support it.
You've migrated sites, changed CMS or checkout, or swapped consent platforms recently.
John's position, from his
conversion tracking article: most Google Ads performance problems he has diagnosed over 15 years trace back to broken or incomplete
conversion tracking, not ad copy, keywords, or budget.
What gets checked
Google Ads
Every conversion action: source (Google tag, GA4 import, offline, call), Primary or Secondary, goal
membership, counting (one vs. every), value settings, and attribution model. Only Primary actions in bidding
goals feed the "Conversions" column, unless an action sits in a custom goal (Google Ads Help).
Duplicate sources: the same purchase tracked by the Google tag and imported from GA4, both Primary.
Enhanced conversions status and diagnostics. Google combined the web and leads settings into one on/off
setting in June 2026, after it began accepting user-provided data from tags, Data Manager, and API connections
at once in April (Updates to enhanced conversions settings).
GA4-created conversions: Google says conversions created from GA4 events are Secondary by default and can only
be made Primary in Google Ads (primary and secondary actions), so we check that each one is set the way the bidding plan intends.
Offline import health: upload method (Data Manager after June 15, 2026), match rates, delays, and whether
values come through.
GA4
Key events vs. real outcomes, duplicate purchase events, and cross-domain and payment-gateway referrals that
break attribution.
Data retention and BigQuery export status (see GA4 setup).
Consent
Default consent state set before tags fire, update calls on accept and reject, and all four ad and analytics
types (ad_storage, analytics_storage, ad_user_data,
ad_personalization). Verified through the gcs/gcd parameters Google
documents (Consent mode overview).
Microsoft UET consent for EEA, UK, and Swiss visitors (Microsoft Learn).
Meta
Pixel and Conversions API overlap, event_id matching, and the 48-hour deduplication window (Meta docs).
Event Match Quality by event, and the customer information parameters behind it (Meta Business Help).
Reconciliation
Thirty to ninety days of platform-reported conversions compared to backend orders or CRM records, by day and
by campaign, to size each gap.
What you receive
A conversion inventory spreadsheet across Google Ads, GA4, Meta, and Microsoft.
A findings document ranked by bidding impact, with evidence and the exact fix for each finding.
A reconciliation chart of platform-reported vs. backend conversions.
A post-fix re-test and a short note on any data exclusions applied.
How John runs the audit
Automated scan
The free Marketing Analytics Auditor runs 100+ checks across 13
categories, including ad pixels, the data layer, consent mode v2, and cookies. It can audit the GA4 property
through the Admin API and the GTM container through the GTM API, and it can analyze HAR files.
Buddy adds the Google Ads side.
Configuration review
Every conversion action in every platform is listed, with what it fires on and whether it feeds bidding.
Live test purchases and leads
Real test transactions with consent accepted and rejected, traced through Tag Assistant, GA4 DebugView, Meta
Events Manager's test events, and the server container preview.
Reconcile against the backend
Platform numbers compared to orders or CRM records. Gaps get explained (consent, ad blockers, attribution
windows, duplicates) or flagged as bugs.
Fix plan, then re-test
Findings are ranked by bidding impact. After fixes ship, we re-test. If bad data trained Smart Bidding, we
apply a data exclusion for the affected dates. Google advises excluding at least 90% of affected clicks and
not removing the exclusion afterward (About data exclusions).
What this audit usually finds
Page views counted as conversions. This appears in the anonymized audits on our
case studies page, and it inflates conversion counts while making CPA look better
than it is.
Micro-conversions set as Primary. Button clicks, scroll depth, and "engaged session" end up
steering bidding.
Double-counted purchases from a Google tag plus a Primary GA4 import, or Pixel plus CAPI
without deduplication.
"Count every" on lead forms, so one person submitting three times counts as three leads.
No offline loop, so Google optimizes to form fills while sales is working on contracts.
Consent banner with no consent mode, or consent mode with no default state.
Ten-minute tests you can run yourself
Test conversion, consent accepted. Submit your lead form or buy your cheapest product in a
private window with consent accepted. Within a few hours it should show up in Google Ads (as the right
action), GA4 (DebugView or real-time), and Meta Events Manager, once on each.
Same test, consent rejected. Tags with built-in consent checks should change behavior. In
advanced consent mode, cookieless pings still go out. Tag Assistant shows the consent state Google received
(Consent mode overview).
Refresh the thank-you page. If a conversion fires again, you're counting reloads.
Count Primary actions. More than two or three per goal is a warning sign.
Compare a week of numbers. Google Ads conversions, GA4 key events, Meta results, and
CRM/backend records for the same week. Write down the gaps. Those gaps are the audit's starting point.
Check enhanced conversions diagnostics in Google Ads for missing or badly formatted
user-provided data (Google Ads Help).
Check Event Match Quality for your main Meta event in Events Manager.
Which gaps are normal, and which are bugs
Platform numbers will never match your backend exactly, and an audit that promises they will is selling
something. The job is to explain each gap and decide whether it's acceptable. The usual causes, from most to
least benign:
Cause
What it looks like
Verdict
Attribution rules
Google Ads, GA4, and Meta credit the same sale to different clicks, on different dates, over different
windows (attribution models).
Normal. Document the settings so everyone compares like with like.
Consent and modeling
Denied-consent visits send cookieless pings or nothing, and platforms fill some gaps with modeled
conversions.
Normal, if consent mode is implemented correctly. Check the consent state Tag Assistant shows.
Platform over-crediting
Every platform claims the same customer. Large studies of Facebook lift tests found that observational
attribution often misses the true effect of ads (Gordon et al.).
Expected. Judge budgets on backend totals and lift tests, not platform sums.
Duplicates
Platform conversions well above backend records, often close to a clean multiple such as 2x.
Bug. Usually two Primary sources or missing Meta deduplication.
Wrong trigger
Conversions that track page sessions or button clicks rather than completed outcomes.
Bug. Bidding is learning from the wrong thing.
Missing outcomes
Far fewer platform conversions than backend records, or zero for offline sales.
Bug or gap. Usually a broken tag, blocked consent defaults, or no offline import.
We size each cause in the reconciliation chart, so you can see how much of the total gap each one explains and
which fixes move it.
What happens to performance after the fix
Be ready for this: fixing tracking often makes the dashboard look worse before results improve. Removing a
duplicate halves reported conversions. Demoting a page-view "conversion" can multiply CPA overnight. Nothing
about the business changed. You're just seeing the truth. Smart Bidding then has to relearn against the
corrected signal, which is why we time fixes with stakeholders, apply data exclusions where historic data was
wrong, and hold off on budget or target changes for the learning period. A written before-and-after note goes to
whoever reports results upward, so nobody reverses a correct fix because a chart dropped.
Pricing and engagement
The audit is a fixed fee, agreed before we start, sized by how many ad platforms, sites, and
backend systems need reconciling. The re-test after your fixes ship is included in that fee, not billed again.
Per the pricing page, nothing at Ahmeego is billed as a percentage of ad spend and there
are no long contracts. If you'd like a head start, the free
Marketing Analytics Auditor covers the browser-side checks on its own.
Platforms we work in
A conversion audit reconciles ad platforms with your systems of record. These are the official products we
check.
Common causes: micro-conversions set as Primary, duplicate sources (Google tag plus a GA4 import), "count
every" on lead forms, attribution windows that differ from your CRM, consent-related gaps, and no offline
import of qualified outcomes. The audit sizes each one.
Why does Meta report more purchases than Shopify?
Usually the Pixel and Conversions API both send purchases without matching event_id values, so Meta can't
deduplicate them, or attribution settings credit conversions differently than your store does. Meta only
deduplicates events received within 48 hours of each other.
Should I fix tracking before changing bid strategies?
Yes. Every Smart Bidding strategy optimizes toward the conversions you report. Changing strategy on top of bad
data just optimizes toward the bad data more efficiently.
What should I do about the bad historical data?
Once the fix is live, apply a Google Ads data exclusion for the affected click dates so Smart Bidding stops
learning from them. Google advises against backfilling conversion data because it can directly affect bidding.
Do you audit Microsoft Ads and Meta too?
Yes. The audit covers Google Ads, GA4, Meta (Pixel and Conversions API), and Microsoft Advertising (UET and
consent), reconciled against your backend.
Is the Marketing Analytics Auditor really free?
Yes. It runs in your browser with no sign-up. It uses your own API keys for the deeper GA4 and GTM checks, and
your data stays in the browser.
Request a conversion tracking audit
Tell John which platforms you advertise on and where the numbers disagree. He'll reply with where he'd look
first.
John, Kristy, or Sandeep will reply.One of the three of us will respond personally within 1 business day. No SDR queue.
Message received.
One of us will reply directly within one business day. While you wait, run a free
Buddy audit on your account.
Top 25 references
The primary sources, standards, research, and tools we rely on for this work. Every link was checked on
2026-10-11. We aren't affiliated with these publishers unless noted.
Guidelines 05/2020 on consent under Regulation 2016/679— European Data Protection Board The EU regulators' definition of valid consent under GDPR: freely given, specific, informed,
unambiguous, and as easy to withdraw as to give.
Cookies and similar technologies— UK Information Commissioner's Office The UK regulator's PECR guidance on when analytics and advertising cookies need consent.
FIPS 180-4: Secure Hash Standard— NIST The specification for SHA-256, the hash Google, Meta, and Microsoft all require for emails and phone
numbers sent with conversions.
Conversions API Tag for Google Tag Manager— Meta (facebookincubator on GitHub) Meta's official server-side GTM template for sending Conversions API events, maintained by Meta.
Google Tag Assistant— Google Google's debugger for the Google tag and GTM, including the consent state each hit was sent
with.
Expert guides
Consent Mode V2 For Google Tags— Simo Ahava The standard technical explainer on consent mode v2, including ad_user_data, ad_personalization, and basic
vs. advanced mode.
Google Analytics 4 Tutorial— Analytics Mania (Julius Fedorovicius) A thorough, regularly updated GA4 walkthrough covering configuration, events, and reporting.
Communities & courses
#measure Slack community— Measure Chat A long-running Slack community of analytics and tag management practitioners, good for GA4 and sGTM edge
cases.
AI disclosure: This page was drafted with AI assistance and edited by a human. Platform rules and
limits are cited to official documentation as checked on 2026-10-11; Google, Microsoft, and Meta change these
often, so confirm against the linked source before acting. Brand names mentioned in John's background are past
engagements listed on the about page; no current endorsement is implied.
Start with a free tracking scan.
The Marketing Analytics Auditor checks pixels, the data layer, and consent mode in your browser. Then bring the
findings to John.