GA4 vs. Google Ads Conversion Discrepancies: A Reconciliation Playbook

Table of Contents
  • Template item

GA4 and Google Ads will almost never report the same conversion number for the same campaign. A 10-20% gap is normal and expected. Different attribution models, lookback windows, and counting rules sit under the hood of each platform. A gap above 25% that holds week over week is a different problem: that one usually points to broken tracking, not reporting choices. Before you move a dollar of ad spend based on either dashboard, you need to know which bucket your variance lives in. This guide walks the diagnostic, then hands you the exact deliverable to scope with a measurement analyst, plus the 1-page brief you can send today.

Why GA4 and Google Ads conversions never match (and when it's a problem)

Expect a baseline difference of 10-20% between GA4 and Google Ads for the same campaign and date range. The two platforms count conversions on different time axes, apply different attribution models, and dedup through different rules, the exact structural choices a marketing analyst can audit in hours. Perfect parity is not the goal. Spotting the gap that signals a defect is.

Three structural reasons the numbers can't match:

  • Different time stamps. Google Ads attributes a conversion back to the day the click happened. GA4 records it on the day the conversion fired. Same conversion, two different dates, two different weekly totals.
  • Different attribution. Google Ads defaults to data-driven attribution for most conversion actions, which spreads credit across the click path using Shapley-value math. GA4 can use data-driven or a paid/organic last-click rule, depending on the property.
  • Different counting units. Google Ads can be set to "every" or "one" per interaction. GA4 counts the GA4 event, which may or may not be deduped the same way.

Per Google Ads Help on data discrepancies, you should also give the integration 24-48 hours to sync before comparing weekly numbers. New account links can take up to 7 days before the GA4 import is clean.

So when do you actually act? Rule of thumb from live client work: a sustained gap above 25% in either direction, for 3+ weeks, is worth a tracking audit. A single-week spike usually traces back to a campaign change, a seasonality bump, or a tagging deploy. Compare two trailing 7-day windows before you escalate.

Reporting differences vs. broken tracking: a diagnostic framework

Before you spend a cent fixing tracking, label the variance. Reporting differences are structural, coming from how each platform counts rather than from a bug. Broken tracking is a defect somewhere in the data flow. The fix path for each is completely different. This 4-step framework sorts them in under an hour.

Work through these in order:

  1. Check the direction. Is Google Ads higher than GA4, or lower? Google Ads higher by 10-30% is normal (modeled conversions, click-day attribution, enhanced conversions lifting measured count). GA4 higher is less common and usually points at duplicate GA4 events or a conversion category that shouldn't be counted.
  2. Check the size. Under 20% in either direction is almost always reporting choice. 20-30% is a yellow flag. Reconcile the attribution model and dedup rules first. Above 30% sustained, assume a tracking defect until proven otherwise.
  3. Check the stability. Is the variance stable (same % every week) or drifting? Stable variance is structural. Drifting variance means something changed: a tag deploy, a consent-mode update, a Google Ads sales channel enablement.
  4. Check the shape. Does the gap concentrate in one campaign, one device, one geography, or one conversion action? A gap that lives in one slice is almost always a tracking bug in that slice. A gap that's uniform across campaigns is attribution.

Worked example from a $25M-ARR SaaS account: Google Ads reported 820 conversions for the week; GA4 reported 540. That's a 52% gap, above threshold, immediate concern. The gap was stable (49-55% every week for a month) and uniform across campaigns. Diagnosis: not a defect. The account was running enhanced conversions and Google Ads was modeling about 180 conversions that GA4 never saw directly. Once you add the modeled estimate back to GA4 reporting, the real variance was 12%, well inside the normal band. No fix needed. The budget-reallocation conversation changed from "turn down Google Ads" to "update the exec dashboard to show both numbers." A vetted paid search specialist can run this diagnostic in a single working session.

Seven reporting differences you can explain away

These seven differences are structural. If your gap maps to one of them, the fix is a dashboard annotation, not a tagging rebuild. Document which choices apply to your account so your paid team stops arguing about whose number is right.

Attribution and timing choices

DifferenceWhat Google Ads doesWhat GA4 does
Attribution modelData-driven by default for most actions, per Google's documentation on data-driven attributionData-driven by default; property-level setting
Conversion date stampDay of the clickDay the conversion event fired
Lookback windowUp to 90 days (click), 30 days (engaged view)Property-configurable; defaults differ by event type
Modeled conversionsIncluded in reported totalObserved only (modeled lives in Google Ads)

Counting and dedup choices

DifferenceWhat Google Ads doesWhat GA4 does
Counting unit"Every" or "one" per interaction (account setting)Event count per the GA4 event definition
Conversion categoryPrimary vs. secondary (bidding vs. observation)Any event marked as a key event
Cross-deviceSigned-in Google Signals users consolidatedGA4 user ID + Google Signals; different stitch rules

Three callouts for the paid team:

  • The "every vs. one" setting is the single biggest lever. If Google Ads is set to count every conversion, a user who buys three times after one click shows as 3 in Ads and 3 events in GA4. If Google Ads is set to one-per-interaction, Ads shows 1 and GA4 shows 3. Reconcile this before anything else.
  • Modeled conversions are real but invisible to GA4. Enhanced conversions, consent-mode modeling, and cross-device modeling can add 15-30% to Google Ads totals that GA4 will never match. That's expected behavior, not a bug.
  • Lookback windows change historical numbers. If you shortened the Google Ads lookback last month, this month's reported total dropped, even though nothing in the tracking changed.

Six tracking defects that need an actual fix

These six are real bugs that a marketing automation specialist fixes, not a dashboard annotation. Each one changes the numbers in a way that misleads budget decisions. Run the symptom check against your account before you commission a full audit; one of these often explains the whole gap.

  1. Duplicate conversion tags. Symptom: Google Ads conversions roughly 2x GA4 conversions, concentrated on specific landing pages. Check: use Google Tag Assistant on the "thank you" page and count how many Google Ads conversion tags fire. Fix: remove the duplicate (usually a legacy Google Tag + a newer GTM tag firing together).
  2. Missing or broken GA4 ↔ Google Ads link. Symptom: GA4 shows zero conversions attributed to Google Ads, or Google Ads can't import GA4 conversion actions. Check: Admin → Product links → Google Ads in GA4 for a live link; auto-tagging on in Ads. Fix: re-link accounts and wait 24-48 hours for data to flow.
  3. Enhanced conversions misfire. Symptom: Google Ads totals jumped 20%+ after enabling enhanced conversions, but the lift feels too clean. Check: verify the hashed email/phone field is actually populated at conversion time, not sent as an empty string. Fix: patch the tag to only send enhanced data when the field is real; re-validate in the Google Ads diagnostics tab.
  4. Bot and spam traffic. Symptom: GA4 conversion events spike on specific days, usually from a single geography, with low engagement. Check: segment conversions by device, country, and user engagement in GA4 Explore. Fix: add bot filtering, exclude internal IPs, and move any form-fill conversion to a server-side check.
  5. Consent-mode blocks. Symptom: EU/UK traffic shows a sudden conversion drop after a CMP (consent management platform) deploy. Check: look at the "denied" conversion count in Google Ads; it should be modeled, not zeroed. Fix: enable consent mode v2 with modeling, confirm your CMP is signaling consent state correctly.
  6. Server-side tracking gaps. Symptom: GA4 is set up server-side but conversion events don't carry the Google Ads click ID (GCLID). Check: inspect the server-side GA4 event. Is the GCLID present as a user property or event parameter? Fix: pass the GCLID from client to server, store it on the user record, and attach it to every downstream conversion event.

A gap-above-30% account usually has two or three of these layered. The audit's job is to find and quantify each one before anyone touches the ad budget. If your martech stack is complex, a marketing automation specialist can co-run the tagging review with the analyst.

The reconciliation deliverable: what an analyst should hand back

A good tracking audit ends with four artifacts, not a Loom video. Each one is independently useful: the data pull lets your team keep diagnosing, the variance matrix lets you communicate to leadership, the root-cause memo lets you decide what to fix, and the remediation plan lets you execute without rehiring. Scope the audit as these four deliverables, with these acceptance criteria.

  1. Data pull (CSV or BigQuery view).

    • Google Ads: campaign, date, click day, conversion day, conversion action, conversion count, modeled conversions, enhanced conversions status.
    • GA4: date, session_source/medium, campaign, GCLID present (y/n), key event name, event count, user ID, consent state.
    • Acceptance: covers the trailing 90 days, broken out by campaign and conversion action, delivered in a format your paid team can re-query.
  2. Variance matrix.

    • Rows: each conversion action.
    • Columns: Google Ads count, GA4 count, raw delta, % delta, likely cause (reporting / tracking / mixed).
    • Acceptance: every row has a cause tag; mixed rows have a one-sentence hypothesis.
  3. Root-cause memo (2-3 pages).

    • For each defect found, document the symptom, the diagnosis, the evidence, and the business impact in dollars.
    • Acceptance: dollar impact calculated using current CPA and the quantified under- or over-count.
  4. Remediation plan.

    • Ordered list of fixes with owner, effort estimate (hours), expected gap reduction (%), and sequence (what blocks what).
    • Acceptance: fixes are ranked by expected gap reduction per hour of work, and a 30-day re-check is scheduled.

If a candidate quotes the audit without these four deliverables, pass. "I'll clean up your tracking" is not a scope, it's an open invoice. For a step-by-step on evaluating candidates, read the guide on how to hire a marketing analyst.

When to hire fractional vs. full-time for this

A one-off audit is a 20-40 hour fractional engagement. Ongoing measurement ownership is a full-time hire, usually a marketing analyst or analytics engineer. The split is about frequency, not seniority. Use this table to decide which shape fits your situation.

Your situationHire shapeTypical budget
One-off audit + remediation planFractional analyst, 4-6 weeks$4,000-$8,000 fixed-fee
Ongoing measurement ownership, 1 brandFractional analyst, 10-15 hrs/week$4,000-$7,000/month
Multi-channel measurement + BI reportingFull-time marketing analyst$90,000-$140,000/year
Data stack rebuild (CDP, warehouse, modeling)Full-time analytics engineer$130,000-$180,000/year

Three signals you need fractional, not full-time:

  • You've never had someone own measurement before, and you don't know what "good" looks like.
  • The variance has you questioning whether to turn down a working channel.
  • You can afford to be wrong for 30 days but not for 90.

Three signals you need full-time:

  • Measurement decisions touch budget allocation weekly.
  • You have more than three ad platforms running simultaneously.
  • Your board or investors ask for CAC and LTV cuts you can't produce in under a day.

Most pre-Series B teams start fractional. Once the audit's done and the dashboards are stable, a part-time analyst holds the line until the data stack warrants a full-time analytics engineer. If budget conversations are the real driver, a fractional CMO can own the hiring sequence end to end.

The 1-page specialist brief you can hand off today

Copy this block, fill in the four bracketed variables, and send it to a vetted analyst, either someone you source yourself or through MarketerHire. If a candidate can commit to these acceptance criteria at the quoted budget, you have your hire.

Role: Fractional marketing analyst, GA4 / Google Ads reconciliation audit
Duration: 4 weeks, 10-15 hours/week
Budget: [$5,000-$7,500 fixed-fee, OR $125-$175/hour capped]
Start: [date]

Context:
Your Google Ads and GA4 conversion counts diverge by [X]% on a sustained basis. You need to know whether this is reporting difference or broken tracking before you [reallocate ad spend / change attribution model / scale a new channel].

Deliverables (acceptance criteria in parentheses):

  1. Data pull covering trailing 90 days (CSV + BigQuery view; broken out by campaign and conversion action).
  2. Variance matrix (every conversion action tagged reporting / tracking / mixed with a one-sentence hypothesis per row).
  3. Root-cause memo, 2-3 pages (symptom + diagnosis + evidence + dollar impact for every defect).
  4. Remediation plan (ordered fix list with owner, effort hours, expected gap reduction %, and sequence).

Access provided:

  • Google Ads account (standard access)
  • GA4 property (viewer + marketer)
  • Google Tag Manager container (read)
  • Current analytics dashboard links

Out of scope (separate projects):

  • Offline conversion import
  • Incrementality / lift testing
  • Attribution model redesign

Working style:
Async by default. 30-min weekly checkpoint. Slack for blockers. Final presentation to the exec team in week 4.

A vetted analyst can start this scope in days, not months. If sourcing takes longer than the audit, you're hiring wrong. Get matched with a vetted marketing analyst in 48 hours, or compare approaches in the SEO vs. PPC guide for cross-channel context.

FAQ

A 10-20% gap is normal and expected. The two platforms stamp conversions on different dates, apply different attribution rules, and dedup differently. Give any new account link 24-48 hours to sync, then compare trailing 7-day windows. Sustained variance above 25% is worth a tracking audit.

Trust them for different jobs. Google Ads is the right source of truth for in-platform bidding decisions, because the modeled and enhanced conversions it uses to optimize are also what it reports. GA4 is the right source of truth for cross-channel comparison, because every ad platform feeds the same GA4 event definition.

A focused GA4 vs. Google Ads reconciliation audit runs 20-40 hours, delivered over 3-4 weeks. Week one is data pull and matrix. Weeks two and three are diagnosis and the root-cause memo. Week four is the remediation plan and a 30-day re-check. Larger stacks with offline conversions take longer.

No, enhanced conversions usually widen the gap. They send hashed first-party data to Google Ads to recover conversions GA4 can't match, which lifts the Google Ads number without changing GA4. That's working as designed. Document the lift so your team doesn't mistake it for a tagging bug.

Not for this problem. Offline conversion import is useful when a conversion happens outside the website (a sales call, a signed contract) and you want to feed it back to Google Ads. It doesn't fix a GA4 vs. Google Ads discrepancy on the same web event. Scope offline import after this audit, not during.

Reconcile before you reallocate

A conversion-count gap is a measurement question, not a budget question. Fix the measurement first: label the variance, close the real tracking defects, document the structural reporting choices your team will live with. Then look at the numbers again before you move a dollar.

If you need the audit done this month, hire a fractional marketing analyst. The brief above is enough to scope the engagement in a single call.

About the author: Jenny Martin is a Growth Marketing Editor at MarketerHire. She has led growth across DTC and B2B SaaS, scaling revenue to $50M and cutting CAC by 40%, and now writes about measurement, hiring, and what works at the $2-50M stage.

Jenny MartinJenny Martin
Jenny Martin is a Growth Marketing Editor at MarketerHire. She’s led growth across DTC and B2B SaaS, scaling revenue to $50M and cutting CAC by 40%. She now focuses on AI-driven marketing ops and writes about growth hiring, channel strategy, and what works at the $2–50M stage.
Hire Marketers
Jenny Martin
about the author

Jenny Martin is a Growth Marketing Editor at MarketerHire. She’s led growth across DTC and B2B SaaS, scaling revenue to $50M and cutting CAC by 40%. She now focuses on AI-driven marketing ops and writes about growth hiring, channel strategy, and what works at the $2–50M stage.

Hire a Marketer