Troubleshooting
Why GA4 and Google Ads Conversions Don't Match (and When to Worry)
You check Google Ads: 142 conversions. You check GA4: 119. Same week, same site, different numbers. Before you assume something's broken, know this: GA4 and Google Ads conversion counts are supposed to differ. Here's why, and how to tell a normal gap from an actual bug.
Why they legitimately differ
The two tools answer different questions with different rules. The same sale gets counted under different attribution logic, so the totals won't line up, and chasing an exact match is a waste of time.
Google Ads
- Click-based attribution
- Counts against the click's date (lookback)
- Counts conversions from ad interactions
- Can count multiple conversions per click
GA4
- Session-based attribution
- Counts on the conversion's date
- Attributes across all channels
- Different default model and window
The specific reasons your numbers drift
- Attribution window. Ads may credit a conversion to a click from days earlier; GA4 counts it when it happened.
- Attribution model. Different defaults split credit differently across touchpoints.
- Counting method. "Every" vs "one" conversion per click in Ads vs GA4's key-event counting.
- Channel scope. Ads only sees ad-driven conversions; GA4 sees every channel.
- Consent & modeling. Each tool models unobserved conversions differently under Consent Mode.
- Timezone. Different account timezones shift which day a conversion lands on.
The mindset
When it actually is a bug
A gap of 10–30% is normal. A 2x difference, or zero in one tool, points at a real problem:
- Double-firing: a tag or thank-you page firing twice inflates one tool.
- Missing Conversion Linker: Ads undercounts because clicks aren't tied to conversions.
- Different events: Ads fires on one action, GA4's key event is a different one.
- Consent blocking one path: a tag held in one tool but not the other.
Practice this on a real container
Most real gaps come down to dedup and triggers. Practice deduplication and fire-once options so one sale is counted once, everywhere.
Practice tag dedup →How to investigate a suspicious gap
- Confirm both tools fire on the same action with the same id (e.g.
transaction_id). - Check for double-fires in Tag Assistant and the Network tab.
- Align the comparison window and account timezones before comparing.
- Verify the Conversion Linker is present and consent isn't holding one path.
Now go practice it
Reading sticks when you do it. These hands-on lessons load your own GTM container and let you debug in Tag Assistant.
Frequently asked questions
Why don't my GA4 and Google Ads conversions match?
They use different rules. Google Ads is click-based and credits conversions against the click's date within its lookback window; GA4 is session-based and counts on the conversion's date across all channels. Different attribution models, counting methods, consent modeling and account timezones all add to the gap, so the totals legitimately differ.
How big a difference between GA4 and Google Ads is normal?
Roughly a 10–30% difference is typical and expected. Reconcile each tool against itself over time rather than expecting them to agree to the unit. A 2x difference, or zero conversions in one tool, suggests an actual implementation bug.
When is a conversion mismatch an actual bug?
When the gap is extreme. Look for double-firing tags or thank-you pages, a missing Conversion Linker (which makes Ads undercount), the two tools firing on different events, or consent holding a tag in one tool but not the other.
How do I investigate a conversion discrepancy?
Confirm both tools fire on the same action with the same transaction_id, check for double-fires in Tag Assistant and the Network tab, align the comparison date range and account timezones, and verify the Conversion Linker is present and consent isn't blocking one path.
Related posts
Troubleshooting
Why Isn't My GTM Tag Firing? A 6-Step Debugging Checklist
Tags that won't fire almost always come down to six causes. Here's the exact order to check them in Tag Assistant, from 'did you publish?' to 'did the hit actually leave the browser?'.
Read →Troubleshooting
GTM Preview Not Working? 6 Fixes That Actually Connect
Preview won't connect or Tag Assistant keeps spinning? It's almost always an environment issue, not a broken container. The fixes in the order worth trying them.
Read →Troubleshooting
Shopify Checkout Tracking Not Working? Missing & Doubled Purchases, Fixed
Missing purchases, doubled purchases, wrong revenue, Shopify checkout tracking fails in predictable ways, almost all of them environmental. Here's how to find which one you hit.
Read →About the author

Analytics & Tag Management Consultant
Nathan Gage got his start in marketing through Google Tag Manager. Seeing how tracking customer behavior could turn raw clicks into insight you can actually act on is what pulled him into the field. Since then he has worked both full time and as a consultant with 15 marketing agencies, supporting brands that spend anywhere from a thousand dollars a month to over a million. Along the way he built a multi-touch attribution app, and he created The Happy Tagger so anyone can practice GTM, GA4 and server-side tracking on a real container instead of a production site.