Why GA4 and Google Ads Show Different Conversion Numbers

You run the same campaigns, the same site, and the same conversion actions — but the numbers in Google Analytics 4 never quite match the numbers in Google Ads. Sometimes the gap is small; sometimes GA4 shows hundreds of events while Google Ads shows a handful of conversions. Is that normal, or is something broken?

In most cases, the difference is a mix of product design (different attribution, definitions, and counting) and technical setup (consent, server-side tracking, and modeling). This page explains the mechanics so you can tell when a discrepancy is expected and when it points to a tracking or consent issue.

The Short Answer

GA4 and Google Ads show different numbers because they differ in five main ways:

  • Attribution models — Google Ads uses last-click or data-driven attribution for conversions; GA4 uses event-based attribution and different rules.
  • Conversion definitions — What counts as a “conversion” in Google Ads (e.g. a specific conversion action) may not map 1:1 to how GA4 counts events.
  • Counting methods — GA4 counts events; Google Ads counts attributed conversions, which can be deduplicated or modeled differently.
  • Consent states — When Consent Mode v2 is in play, denied vs granted consent changes what gets sent and what gets modeled, so both systems can show different totals.
  • Modeled vs observed conversions — Google can model conversions for users who didn’t grant full consent; GA4 may show only observed (client-side) events, or vice versa.

So some difference is normal. A large or growing gap, or GA4 showing events while Google Ads shows zero, often points to consent or tracking configuration — not just “different math.”

Attribution Model Differences

Google Ads attributes conversions to ad interactions (clicks, sometimes views) using a chosen model: last click, data-driven, linear, etc. The default is often last click or data-driven. The lookback window (e.g. 30 or 90 days) determines how far back an ad interaction can get credit for a conversion.

GA4 is event-based. It records events (purchase, sign_up, generate_lead, etc.) and applies its own attribution for reporting (e.g. in Exploration reports). It doesn’t exist to feed Google Ads; it exists to analyze behavior. So the same user journey can produce “1 conversion” in Google Ads (attributed to one click) and “1 event” in GA4 — and the numbers can diverge further when multiple touches or consent affect what each system sees.

Different lookback windows and attribution rules in each product mean you should expect totals to differ to some degree. Big or sudden gaps are worth investigating.

Consent Mode v2 and Modeling

When users don’t grant consent (or grant it only after some interaction), Google can still use modeled conversions: statistical modeling to estimate conversions that weren’t directly observed. Google Ads and GA4 may apply modeling differently, and each may show a different mix of “observed” vs “modeled” data. That directly contributes to differing numbers.

If Consent Mode v2 isn’t set up correctly — for example, default state not denied, or consent not updating when the user accepts or rejects — then conversion requests can be blocked or downgraded. In that case, GA4 might still show some events while Google Ads shows few or zero conversions. Understanding how consent affects each system is critical. For more on how Consent Mode affects Google Ads, see does Consent Mode affect Google Ads; for real-world patterns we see in scans, consent mode data and findings; and to verify your setup, check Consent Mode v2 on your site.

Denied vs granted consent changes what gets sent to Google and what gets modeled. When in doubt, verify that your site sets default consent to denied and updates consent state when the user makes a choice; otherwise, discrepancies can be large and misleading.

Server-Side Tracking Differences

With server-side tagging (e.g. server-side GTM, Stape, or a first-party server), the browser sends events to your server, and the server forwards them to Google. That can improve reliability and reduce ad-blocker impact, but it also introduces another place where consent and configuration can diverge.

If consent state isn’t propagated correctly from the client to the server, the server may send events to GA4 but not to Google Ads conversion tracking, or with different parameters. Different endpoints and different handling of consent on the server often increase the discrepancy between GA4 and Google Ads. For a full picture of what must be configured, see our server-side GTM and Consent Mode guide.

When It’s Normal vs When It’s Broken

Normal: GA4 and Google Ads show different totals because of attribution, definitions, lookback, and modeled vs observed data. A 10–30% difference (or even more in complex funnels) can be expected.

Worth investigating: GA4 shows a steady stream of conversion-like events while Google Ads shows zero or a sharp drop. That usually indicates a tracking or consent issue — for example, conversions not reaching Google Ads because of Consent Mode, misconfigured conversion actions, or tracking firing before consent. If that sounds like your situation, see our guides on Google Ads 0 conversions but GA4 has events and why Google Ads conversions break.

Those pages walk through the most common causes and how to fix them. This page gives you the attribution and mechanics context; those pages help you fix a broken setup.

Unsure whether this difference is normal or caused by tracking issues?

Run a free scan. We check consent configuration, Consent Mode v2, conversion tracking, and whether your site is sending the right signals to Google Ads and GA4. You’ll see exactly where numbers might be splitting and what to fix.

Run Free Scan →