How to fix broken conversion tracking
Symptom: Reported conversions do not match your backend, or Smart Bidding is misfiring
Broken conversion tracking is the most expensive silent failure in paid media, because Smart Bidding optimises confidently toward whatever it is told to value. This workflow walks through diagnosing the break, reconciling reported conversions against your backend, removing duplicates and junk actions, recovering browser-blocked events server-side, and verifying the fix before you trust the account again.
- Google Ads and Google Tag Manager edit access
- Access to the backend or Shopify order data for reconciliation
- Meta Events Manager access if running Meta
- A recent 30-day window of conversions and revenue to compare
- 1
Reconcile reported conversions against the source of truth
Start with the number that matters: do the conversions and revenue the platforms report match what actually happened in your business? Pull the last 30 days of conversions and conversion value from Google Ads and Meta, then pull the same window of real orders or leads from the backend or Shopify.
A gap in either direction is a signal. Platforms reporting far more than the backend usually means duplicates or double-counting; far fewer usually means blocked or missing events. Write down the size and direction of the gap before touching anything, because this is your baseline and your proof the fix worked.
- 2
Audit what is firing and how often
Use the platforms' testing tools, Google Tag Assistant and the Meta Pixel Helper or Events Manager test events, to load key pages and complete a test conversion. Confirm each conversion action fires once, on the right page, with the right value.
The common breaks surface here: a purchase event firing on every page load, a thank-you page that fires twice, a conversion with no value or a hard-coded value, or an event that does not fire at all on mobile. Note every anomaly. Do not fix yet; you want the full picture first so you change one thing at a time later.
- 3
Remove duplicate and junk conversion actions
In Google Ads, review every conversion action and its counting setting. Micro-conversions like newsletter signups counted as primary conversions quietly teach Smart Bidding to chase the wrong outcome, so demote them to secondary. Remove or fix duplicate actions tracking the same event twice.
Set purchase actions to count one conversion per order where appropriate, and confirm the value passed is the real order value, not a static number. The goal is one clean, correctly valued primary conversion per real business outcome, and nothing else pulling the bidding model off course.
- 4
Fix deduplication between pixel and server-side
If you run both a browser pixel and a server-side feed, which you should in 2026, they must share an event ID so the platform counts each conversion once. Verify the event ID is present and matching on both the browser and server events.
A missing or mismatched event ID is a frequent cause of over-reporting: every purchase counted twice, and Smart Bidding told the account is twice as efficient as it is. Confirm in Events Manager or the Google diagnostics that events are being deduplicated, not stacked.
- 5
Recover browser-blocked events
If step one showed the platforms reporting fewer conversions than the backend, browser blocking is the likely culprit. Confirm Enhanced Conversions is enabled and configured for Google, and that the Conversions API is live and sending accurate events for Meta.
These server-side feeds recover conversions that ad blockers, tracking prevention, and consent gating strip from the browser pixel. Getting them right narrows the gap between reported and real, which both improves measurement and feeds the bidding model the conversions it was previously missing.
- 6
Re-reconcile and verify before trusting the account
After the fixes bake in for a few days, repeat the step-one reconciliation over a fresh window. Reported conversions and values should now line up with the backend far more closely.
Only once they reconcile should you trust the account for aggressive Smart Bidding. Document the before and after gap so you can prove the fix and catch regressions. From here, re-run this reconciliation after any site, checkout, or tag change, because tracking breaks silently and the account will keep optimising as if nothing happened.
- Fixing tags without first measuring the baseline gap, so you cannot prove the fix worked
- Changing several tracking elements at once, making it impossible to tell what fixed what
- Leaving micro-conversions as primary, so Smart Bidding keeps chasing the wrong outcome
- Assuming a missing event ID is harmless, when it double-counts every conversion
- Trusting the account for aggressive bidding before the reported numbers reconcile with the backend
Common questions
Want this checked on your own account?
A 47-point written audit of your Google, Meta, or Shopping account. Five business days, no sales call.

