Skip to main content
GA4 vs Google AdsConversion reconciliation

Get your GA4 vs Google Ads tracking to 95%+ accuracy guaranteed in writing.

Someone on your team pulled both reports and the numbers don't agree, so now nobody trusts either one. Part of that gap is real technical loss you can fix. Part of it is two products defining and dating a conversion differently, and no amount of tagging will ever make those two numbers identical. My job is to tell you which part is which.

Free30 minutesNo obligation

GA4 vs Google Ads · what breaks

Sound familiar?

  1. 01

    Ads dates the conversion to the click, GA4 to the sale

    Google Ads back-dates a conversion to the day the ad was clicked. GA4 records it the day it happened. Compare the two day by day and the rows can't line up, even when both tools are working perfectly.

  2. 02

    You're importing GA4 conversions and running the Ads tag

    Two counting paths feeding one action. Either both land in the Conversions column and inflate it, or one is set to Secondary and half your volume disappears from the exact report someone is using to judge the channel.

  3. 03

    Modeled and cross-device conversions exist in Ads only

    Consent Mode modeling and signed-in cross-device matching are estimates Google produces inside Ads. GA4 explorations won't show them. That portion of the gap is structural, not a tagging bug.

  4. 04

    Time zones and counting rules quietly shift every total

    A GA4 property set to one time zone and an Ads account set to another will disagree on every daily figure. Add "Count: every" versus "one" on the Ads action and one identical event produces two legitimate answers.

GA4 vs Google Ads · the fix

What changes when the two reports get reconciled — GA4 vs Google Ads

  • You know which number to run the account on

    One system is named the decision-making source and the others are read as supporting context. Meetings stop being about whose export is right.

  • The unexplainable gap gets an explanation

    Every variance bucket is named: click-date shift, modeled conversions, cross-device, counting rule, or genuine signal loss. Named variance stops being an argument.

  • The fixable share of the gap actually shrinks

    The part caused by blocked browser tags, lost gclid or a missing purchase event is a real problem with a real fix — and that's the only part I touch.

  • One weekly reconciliation replaces a monthly argument

    A repeatable comparison you can run yourself, so a new variance shows up as a signal that something broke instead of background noise.

GA4 vs Google Ads · normal or broken

A gap is normal. A gap that moves is a bug.

GA4 and Google Ads will never report the same number, and that's by design — they define, date and model a conversion differently. What matters is whether your gap is stable and explainable, or whether it swings.

Normal, not a fault

  • A steady gap that sits in the same range every week

    Different attribution models, different lookback windows, and GA4 counting events in sessions while Ads counts conversions against clicks. A gap that holds its shape week after week is definitional. No tagging work removes it.

  • Ads dates to the click, GA4 dates to the event

    A purchase on Thursday from Monday's click sits in Monday in Google Ads and in Thursday in GA4. Compare the same calendar week in both tools and they cannot agree, even with perfect tracking on both sides.

  • Google Ads reports conversions GA4 has never seen

    Modeled conversions and cross-device matching exist in Ads and not in GA4 explorations. When consent is denied or a signed-in user converts on another device, Ads estimates. GA4 was never built to show you that.

  • GA4 gives Google Ads less credit than Google Ads does

    GA4's channel reporting shares credit across the path — email, organic, paid — while the Ads conversion action claims the click it paid for. Two accounting systems, both internally consistent, permanently different.

Actually broken

  • The gap swings week to week: 8% then 40% then 12%

    Attribution differences are boring and stable. A gap that moves is something dropping intermittently — a consent banner behaving differently by region, a deploy, or a queued server event landing late.

  • GA4 is short of the purchases your store actually recorded

    This is the check almost nobody runs. Compare GA4 purchases to Shopify or Stripe for a closed week. If GA4 itself is under the backend, that's technical loss, and every imported conversion inherits it.

  • Purchases in GA4 with a missing or repeated transaction_id

    Blank IDs and repeats from confirmation-page refreshes mean GA4's own number is unreliable before you compare it to anything. Fix GA4's internal hygiene before arguing about which tool to trust.

  • Ads conversions jumped on a date with no spend change

    Almost always someone enabled a GA4 conversion import for an action the native tag already handles. Two counting paths into one column, and the day it started is visible in the chart.

GA4 vs Google Ads · diagnose

Split the gap yourself before you pay to have it split — GA4 vs Google Ads

This sequence separates the part of the gap that's real data loss from the part that's just two products disagreeing on purpose.

  1. 01

    Match the two time zones before anything else

    GA4 property time zone under Admin, Google Ads account time zone under Account settings. If they differ, every daily comparison you've made so far is shifted, and part of your gap is arithmetic.

  2. 02

    List what feeds each conversion action

    In Goals, then Conversions, then Summary, look at the source column for each action. Anything showing both a website tag and a Google Analytics 4 import for the same event is being counted through two paths.

  3. 03

    Re-pull both reports on the same date basis

    Google Ads offers conversion columns by conversion time as well as by click time. Use the by-conversion-time version against GA4's event dates. In most accounts this alone shrinks the apparent gap substantially.

  4. 04

    Check GA4 against your store, not against Ads

    Take a closed week: GA4 purchase count versus paid orders in your backend. Establish whether GA4 is accurate on its own before you spend a day debating which of two estimates is right.

  5. 05

    Read the counting rule and click window

    On each conversion action, check whether it counts every conversion or one per click, and what the click-through window is set to. A lead action counting "every" against a 90-day window explains a lot of gaps.

  6. 06

    Look at session source on converting sessions

    In GA4, break purchases down by session source and medium. A large direct or (not set) share among buyers means session identity is dying at checkout — a cross-domain problem wearing an attribution costume.

GA4 vs Google Ads · prove

Three numbers, one window, and a written explanation — GA4 vs Google Ads

I don't try to make GA4 and Google Ads match, because they can't. I make GA4 match your backend, and then document exactly what causes the delta that remains.

Source of truth

Your backend orders or CRM closed-won — GA4 and Google Ads are both estimates

  • Choose a 14-day window that closed more than 30 days ago so every conversion window on it has expired.
  • Pull three totals for that window: backend orders, GA4 purchases, and Ads conversions by conversion date.
  • Reconcile GA4 to the backend first. A shortfall at this step is technical loss and gets fixed, not explained.
  • Assign the remaining Ads-versus-GA4 delta to named causes: modeling, cross-device, window length, date basis.
  • Re-run the same three-way pull after the fixes and confirm the residual gap is stable rather than swinging.
  • Sign-off is 95%+ of backend orders present in GA4, verified against your export, with the delta documented.

GA4 vs Google Ads · free audit

What we check in the free audit

  • Match the two time zones before anything else
  • List what feeds each conversion action
  • Re-pull both reports on the same date basis
  • Check GA4 against your store, not against Ads
  • Read the counting rule and click window
  • Look at session source on converting sessions

Checked against

Your backend orders or CRM closed-won — GA4 and Google Ads are both estimates

Get my free conversion tracking audit

Free30 minutesNo obligation

GA4 vs Google Ads · when not to buy

When the gap isn't worth paying to close — GA4 vs Google Ads

Most mismatch panic resolves for free, and I'd rather you find that out on this page than on an invoice.

  • The gap is under roughly ten percent and steady, and your team already makes decisions from one system consistently.
  • You've been comparing Ads by click date to GA4 by event date. Re-pull both on the same basis first — the gap often halves.
  • Your spend is small enough that no version of this number changes a bid, a budget, or which campaign lives.
  • GA4 already ties to your backend within a few percent. What's left is definitional, and nobody can bill their way out of it.

GA4 vs Google Ads · what we deliver

What a GA4 to Google Ads reconciliation includes

  • A three-way variance table: GA4, Google Ads, your backend

    The same date range in all three systems, with each difference assigned to a named cause rather than left as an unexplained delta.

  • Every attribution setting in both tools documented

    Attribution model, conversion window, engaged-view settings, counting rule, time zone and reporting identity — written down in one place, for both products.

  • A single counting path per conversion action

    Either the native Ads tag owns it or the GA4 import does. Never both. Duplicated import paths get switched off and the reason is documented.

  • Server-side purchase and lead events keyed to order IDs

    The money event fired from your backend using the order or record ID, so both GA4 and Google Ads are counting the same underlying object.

  • Enhanced Conversions so Ads can match more of the clicks

    Hashed identifiers sent from the server container, which raises the share of conversions Google can tie to a real click instead of estimating.

  • A written explanation of the gap that will remain

    Because one will. You'll get a plain-English note you can forward to your CFO explaining why an eight-to-fifteen point definitional difference is normal and not a failure.

Written guarantee

95%+ tracking accuracy

Measured against Your backend orders or CRM closed-won — GA4 and Google Ads are both estimates. Miss it and we keep working at no cost.

Get my free conversion tracking audit

FAQ

GA4 vs Google Ads questions, answered

A good chunk of it, honestly. Check that both properties use the same time zone, confirm you're not running the native Ads tag and a GA4 conversion import for the same action, and look at whether the Ads action counts "every" or "one" conversion. Then compare Ads by click date against GA4 by event date rather than lining up calendar days. Those four checks explain a large share of mismatches and cost you nothing. What you can't do from the UI is measure how much of the remainder is genuine signal loss — that requires comparing both tools to your backend.

Free · 30 min

Let's find out which half of the gap is real

Free30 minutesNo obligation