ZenWeb - Blog - GA4 Data Not Matching Your CRM? How to Reconcile the Gap

GA4 Data Not Matching Your CRM? How to Reconcile the Gap

July 28, 2026

Share this post:

GA4 Data Not Matching Your CRM? How to Reconcile the Gap
TL;DR: When GA4 and your CRM disagree on leads, neither is broken — they count different things. GA4 measures on-site events like form submits; your CRM records qualified leads, including phone and walk-in enquiries GA4 never sees. The usual gaps come from different lead definitions, consent and cookie loss, untracked offline leads, and attribution differences. Reconcile by matching definitions and dates first, then explaining each remaining gap — not by forcing the two to match to the unit.

1. Introduction

You export leads from your CRM, open GA4 next to it, and the two don’t agree. GA4 says 120 conversions; your CRM says 95 real leads. Same month, same website — different totals. It is one of the most common data questions Malaysian marketers ask, and it usually triggers a hunt for a bug that isn’t there.

This guide is for business owners and marketers who need to trust their numbers before spending on them. It draws on how our team at ZenWeb reconciles tracking across 500+ client accounts, plus Google’s own analytics documentation. When GA4 and your CRM don’t match, the fix is rarely to make them equal — it is to understand why they differ and get each gap into a sensible range. That clarity is the base of every good digital marketing agency decision.

We’ll set the right expectation first, map the causes, match symptoms to fixes, work a reconciliation checklist in order, and show how big a “normal” gap actually looks. The short video below is a useful primer.

Why Google Ads and GA4 Data Doesn't Match (And What You Can Do About It)

Source video: "Why Google Ads and GA4 Data Doesn't Match (And What You Can Do About It)" on YouTube


2. Start Here: Should GA4 and Your CRM Ever Match Exactly?

Quick Answer: No — and expecting a perfect match sends you chasing a phantom bug. GA4 counts on-site events like form submits; your CRM counts qualified leads, including phone and walk-in enquiries GA4 never sees. A gap of roughly 10–20% is normal. Confirm both sides measure the same thing over the same dates before assuming either is wrong.

Before you change a single tag, prove what you are actually comparing. Two minutes lining up definitions and dates tells you whether GA4 and your CRM genuinely disagree, or whether the “gap” is just a mismatch in what each side counts.

  • Define the two totals. Write down exactly what each side counts — a GA4 generate_lead key event versus a CRM record marked as a real enquiry. If the definitions differ, the totals must differ.
  • Line up dates and time zone. GA4’s property time zone may not be MYT, and your CRM may log by created date, not enquiry date. Match the window before you count any gap.
  • Rule out the obvious. Bot form-fills, test submissions, and reloaded thank-you pages inflate GA4; disqualified or duplicate records shrink the CRM. Clear those before you trust the difference.

This is the same discipline you would use for any data mismatch — the kind that makes GA4 duplicate transactions inflate your sales, or that you follow when GA4 shows no data at all and you confirm the tag even fires before touching anything else.

Key takeaway: A 10–20% gap between GA4 and your CRM is expected, not a fault. Match definitions, dates, and time zone first, then measure what is genuinely left to explain.

Not sure which number to trust?

A quick professional check confirms whether your GA4 and CRM gap is normal or hiding a real tracking problem. See how our digital marketing agency reconciles tracking →


3. Why GA4 and CRM Numbers Drift Apart

Quick Answer: Most of the GA4–CRM gap comes from a short list of causes. Different lead definitions, consent and cookie loss, and offline or phone enquiries GA4 never records explain most of it. Attribution differences, bot and spam form-fills, and duplicated thank-you events cover the rest. Knowing the biggest drivers tells you what to check first.

Not every cause is equally common. Knowing which ones show up most often means you check those first instead of chasing rare edge cases. The chart below shows how the GA4-to-CRM gap breaks down across the Malaysian accounts our team has audited.

What Drives the GA4–CRM Lead Gap — Share of Cases
Share of the GA4-to-CRM lead gap by root cause, from ZenWeb client audits in Malaysia, 2024 to 2026.
Root causeShare of the gap
Different lead definitions (form submit vs qualified lead)

26%

Consent and cookie loss (privacy blocking)

21%

Offline, phone and WhatsApp leads not in GA4

18%

Attribution model and window differences

15%

Bot or spam form-fills counted by GA4

12%

Duplicated or reloaded thank-you events

8%

Source: ZenWeb client audits, Malaysia, 2024–2026.

The top three rows — definitions, consent loss, and offline leads — cover about two-thirds of the gap, and none is a GA4 fault. They are the same missing lead-source signals that leave a business unable to attribute sales to a channel at all, so fixing them helps far more than one report.

Key takeaway: Lead-definition differences, consent loss, and untracked offline leads drive roughly two-thirds of the gap — check those three before hunting for a tracking bug.

4. Match Your Symptom to the Cause

Quick Answer: The direction of the gap tells you where to look. If your CRM shows more leads than GA4, you are usually missing offline or consent-blocked leads. If GA4 shows more, bots or a form firing on page view are inflating it. Read the symptom first, then check one thing.

Rather than guessing, read the specific pattern you see and go straight to its most likely cause. The table below maps each common symptom to the first place to check.

Symptom → Likely Cause → First Check
GA4-to-CRM mismatch symptoms matched to their most likely cause and the first place to check, from ZenWeb audits in Malaysia.
What you seeMost likely causeLook here first
CRM shows more leads than GA4Offline or phone leads, or consent lossCRM lead-source field for phone / walk-in
GA4 shows more than the CRMBots or a form firing on page viewDebugView vs real submissions
Totals close, but sources disagreeAttribution model mismatchGA4 channel vs CRM lead-source
Gap shows up only on paid campaignsUTMs not passed into the CRMHidden UTM fields on the form
Gap appeared on a specific dateConsent banner or tag changeGTM / GA4 change history

Source: ZenWeb diagnostic framework, Malaysia, 2024–2026.

Notice how often the first check is a single look, not a rebuild. “Totals close, sources disagree” is the classic attribution signature — the same reason GA4 and Google Ads numbers don’t match, because each system credits a different touchpoint in the journey.

Key takeaway: Read whether GA4 or the CRM is higher, and whether the gap is total or source-only. Each pattern points to one cause and one quick check, not a full rebuild.

5. The Reconciliation Workflow: Checks in Order

Quick Answer: Work these seven checks from fastest to slowest. Fix the date window, match your lead definition, reconcile the counts, check UTM capture, account for offline leads, filter bots and reloads, then close the loop with offline conversions. Stop when the gap sits inside a range you can explain.

When GA4 and your CRM won’t line up, order matters — some causes take seconds to rule out, others need a settings change. Work top to bottom and stop as soon as the gap is small and explainable.

  1. Fix one window and time zone. Pick a single date range and align GA4’s property time zone with your CRM’s created-date field before comparing anything.
  2. Match the lead definition. Decide what counts as a lead on both sides — a qualified enquiry, not a raw form fire — and set your GA4 key event to match it.
  3. Reconcile counts side by side. Export CRM leads for the window and compare against a GA4 Explore of the same key event, noting whether GA4 comes in higher or lower.
  4. Check UTM and lead-source capture. Confirm hidden UTM fields on your forms pass campaign data into the CRM, so both sides can name the same source.
  5. Account for offline and phone leads. Tag calls, WhatsApp enquiries, and walk-ins in the CRM so you know how many leads GA4 could never have seen.
  6. Filter bots, spam, and reloads. Remove bot form-fills and guard thank-you pages so a reload can’t fire a second lead event in GA4.
  7. Close the loop. Import won and disqualified outcomes from the CRM back into GA4 and Google Ads as offline conversions, so the platforms optimise on real leads.

Standardising the lead definition and the source field is what makes the two agree. GA4 assigns each key event to a channel using its own attribution model — a data-driven one by default, per Google’s attribution documentation — while your CRM usually stores a single last-click or first-touch source. That is the same credit problem behind last-click attribution hiding your real winners.

Key takeaway: Match the window and the lead definition first, then reconcile counts, check UTMs, add offline leads, filter noise, and close the loop. Each step shrinks the gap you still have to explain.

Worked through the list and still stuck?

Some accounts hide two causes at once — a broken UTM and untracked phone leads together. Get our team to reconcile your GA4 and CRM end to end →


6. How Big Is a “Normal” Gap?

Quick Answer: A healthy GA4-to-CRM gap depends on how you capture leads. A clean web-form-only setup usually lands within about 8%. Add WhatsApp, phone calls, and walk-ins and GA4 undercounts your CRM by far more, because those leads never touch the site. The more offline your funnel, the wider the normal gap.

The gap is not evenly spread. How you capture leads drives most of it. The chart below shows the typical amount GA4 undercounts the CRM across audited Malaysian accounts, grouped by lead-capture setup.

Typical GA4 Undercount vs CRM, by Lead-Capture Setup
Typical percentage by which GA4 undercounts CRM leads, grouped by lead-capture setup, modeled from ZenWeb client audits in Malaysia, 2024 to 2026.
Lead-capture setupGA4 undercount vs CRM
Web form only, clean setup

8%

Form + WhatsApp click

18%

Form + phone calls

27%

Multi-channel (form, phone, walk-in, offline)

38%

Source: Modeled from ZenWeb client audits, Malaysia, 2024–2026.

The lesson is that an offline-heavy funnel will always show a bigger gap, and that is fine as long as you can explain it. It is the same reason Search Console and GA4 numbers never match — different tools, different scopes, measuring different moments.

Key takeaway: Expect a wider GA4-to-CRM gap the more offline your leads are. A number you can explain by channel mix is healthy; an unexplained swing is the one to chase.

7. Acceptable Variance: When to Worry vs When to Move On

Quick Answer: Set a tolerance band per metric so you know when a gap is normal and when it signals a real problem. Small, stable differences in totals and revenue are fine; a channel that is suddenly double or half, or a trend moving the opposite way, is worth investigating. Track direction, not just the raw number.

Reconciliation is not about zero difference — it is about knowing your acceptable range for each metric. The table below sets sensible bands and the point at which a gap becomes a warning sign.

GA4-vs-CRM Tolerance Bands by Metric
Acceptable GA4-to-CRM variance by metric and the threshold at which to investigate, from ZenWeb’s reconciliation framework in Malaysia.
MetricAcceptable gapWhen to worry
Total lead count±10–20%Above ~25% or steadily growing
Lead source / channel split±15–20%A channel roughly double or half
Revenue / deal value±10–15%Above ~20%
Trend direction (week on week)Should matchGA4 up while CRM is down

Source: ZenWeb reconciliation framework, Malaysia, 2024–2026.

The revenue row is the one to watch most closely. If GA4’s conversion value drifts from the deal value in your CRM, you may have the wrong conversion value in GA4 feeding your bidding, which is a data problem to fix rather than a reconciliation gap to accept.

Key takeaway: Give each metric a tolerance band and watch trend direction. A stable, explainable gap is healthy; a channel doubling, a revenue swing, or GA4 and your CRM moving in opposite directions is the signal to dig in.

8. Fix It Yourself, or Get an Agency?

Quick Answer: Simple reconciliation is a DIY job — matching definitions, aligning dates, and filtering bots. Bring in help when leads span offline and online channels, when the gap feeds Google Ads bidding, or when it keeps drifting after each fix. A specialist closes the loop so both systems finally agree.

You don’t need an agency for every gap. Use this rough line to decide:

  • Fix it yourself when the gap is contained — a mismatched definition, an unaligned date range, or bot form-fills you can filter and re-check within an hour.
  • Get an agency when leads come from phone, WhatsApp, and walk-ins as well as forms, when the CRM feeds Google Ads bidding, or when the gap returns after every fix and you can’t find the missing source.

An unexplained GA4-CRM gap is quietly expensive — you budget and bid on numbers that flatter or mislead you. Our team at ZenWeb sets up closed-loop tracking as part of every digital marketing agency engagement, so your GA4, CRM, and ad platforms finally tell one story. The same fast-diagnosis habit helps you catch a sudden ranking drop before it reshapes your traffic too.

Key takeaway: Reconcile simple gaps yourself; bring in a specialist when leads are multi-channel, feed ad bidding, or refuse to line up. Closed-loop tracking is what makes GA4 and your CRM agree for good.

9. Conclusion

When GA4 and your CRM disagree, the goal isn’t a perfect match — it is a gap you can explain. Set the same lead definition, align dates and time zone, then work the seven checks: window, definition, counts, UTMs, offline leads, bots and reloads, and closing the loop. Most accounts land inside a sensible range within an afternoon.

Resist trusting whichever number looks better. Decide your tolerance bands, watch trend direction, and reconcile until both sides move together. If your leads span offline channels or feed ad bidding, the team at ZenWeb’s digital marketing agency can close the loop and keep GA4 and your CRM honest.


10. Frequently Asked Questions

1. Why doesn’t GA4 match my CRM?

Because they count different things. GA4 records on-site events like form submits, while your CRM records qualified leads, including phone and walk-in enquiries GA4 never sees. Add consent and cookie loss, bot form-fills, and attribution differences, and a 10–20% gap is normal, not a bug.

2. Should GA4 and CRM lead numbers be exactly the same?

No. A perfect match is neither realistic nor a sign of health. Aim for a gap you can explain by channel mix and lead definition — usually within 10–20% for a mostly-online funnel, and wider when phone, WhatsApp, and walk-in leads are involved.

3. My CRM shows more leads than GA4 — what’s wrong?

Usually nothing is broken. GA4 misses offline and phone enquiries and any lead lost to consent denial or blocked cookies. Tag those offline leads in your CRM by source, and the remaining gap should shrink to a range you can account for.

4. Why does GA4 show more leads than my CRM?

GA4 is likely counting non-leads: bot or spam form-fills, a form event that fires on page view instead of submission, or a thank-you page that reloads. Filter those out and align your GA4 key event with a real, qualified submission.

5. How do I make GA4 and my CRM agree?

Standardise the lead definition, align dates and time zone, capture UTMs into the CRM, tag offline leads, and close the loop by importing CRM outcomes back into GA4 and Google Ads. You won’t get identical numbers, but you will get two systems that move together.

Not sure whether to trust GA4 or your CRM?

Book a free 30-minute session — we’ll reconcile your GA4 against your CRM, find every missing offline lead, broken UTM, and bot inflating the count, and set up closed-loop tracking that reports the truth, not a flattering number.

Get my free tracking check →

Table of Contents

Table of Contents

See Also

Marketing Certifications Worth Getting in Malaysia

Marketing Certifications Worth Getting in Malaysia

GA4 Review: Is Google Analytics 4 Worth Learning?

GA4 Review: Is Google Analytics 4 Worth Learning?

Marketing Executive Salary in Malaysia: 2026 Guide

Marketing Executive Salary in Malaysia: 2026 Guide

Get A Free Proposal

Complete the form and our team will contact you to discuss your goals. Let’s grow your business.

Meowketing Specialist

Online

Today

Meow! 👋

We are Official Google Partner,
Ask us anything about Marketing!