Troubleshooting

Why GA4 and Google Ads Conversions Don't Match (and When to Worry)

Why GA4 and Google Ads Conversions Don't Match (and When to Worry)Google Ads142click-basedGA4119session-baseddifferent windows + models = expected

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

Don't reconcile Ads against GA4 to the unit. Reconcile each tool against itself over time, is it trending sensibly, and does it roughly track your real orders? That's the signal that matters.

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

About the author

Nathan Gage
Nathan Gage

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.