Key facts
- GA4 only counts a lead when a specific event, such as a form submission or a phone call, fires and is configured as a conversion; a lead your CRM received through any other path never appears in GA4 at all.
- Cookie consent banners that block analytics tags until a visitor clicks accept mean every visitor who ignores or declines the banner can convert without GA4 ever recording the session.
- Ad blockers and browser privacy features built into Safari and Firefox routinely block Google's analytics script from loading, which removes that visitor's entire session, including any conversion, from GA4's data.
- A CRM often contains leads added manually by staff, imported from a spreadsheet, or entered from a phone call that never touched the website, none of which GA4 has any way to see.
- GA4's own attribution model and session timeout rules can also split or merge a visitor's activity differently than your CRM does, which shows up as a numbers mismatch even when both systems are working correctly.
GA4 And Your CRM Are Not Counting The Same Thing
GA4 measures what happened on your website, through events it was specifically told to track. Your CRM measures your actual sales pipeline, however a lead entered it, including ones that never touched a tracked page at all. A gap between the two numbers is not automatically a bug in either system; it is often two different measuring instruments looking at overlapping but not identical territory.
Start by checking how leads actually arrive in your CRM. If any portion come from phone calls that were not run through a call tracking number, walk-ins, referrals entered manually, or an old spreadsheet import, those were never going to appear in GA4, because GA4 only knows about activity that happened on the site and fired a tracked event.
Once you separate out leads that could never have shown up in GA4 from leads that came through the website and still did not appear, you are left with a much smaller, more specific problem to solve.
Consent Banners And Ad Blockers Hide Real Sessions
If your site shows a cookie consent banner and analytics tags only fire after a visitor actively accepts, every visitor who closes the banner without clicking accept, or who never sees it because they already have cookies blocked, converts invisibly to GA4. This is one of the largest and least visible sources of undercounting on sites with a consent requirement.
Separately, browser features in Safari's Intelligent Tracking Prevention and Firefox's Enhanced Tracking Protection, along with dedicated ad blocker extensions, can prevent Google's analytics script from loading in the first place for a meaningful share of visitors. Neither situation is a broken tag; the tag simply never gets the chance to run.
Google's Consent Mode can model some of this missing traffic using aggregated signals rather than individual cookies, but it estimates rather than counts exactly, so even a correctly configured Consent Mode will not close the gap completely.
The Form Or Call Might Not Fire A Tracked Event
Even without consent or blocking issues, a lead source can simply not be wired to fire a GA4 event. Check every way a lead can reach you: the main contact form, any secondary or embedded form, a click-to-call phone number, a chat widget, and a booking tool, and confirm each one actually fires a distinct, marked conversion event in GA4.
A common specific gap is a form embedded from a third-party tool, such as a booking or scheduling widget, that submits inside an iframe; GA4's standard form tracking often cannot see activity happening inside that iframe unless it was deliberately wired up to report back.
Use GA4's DebugView or a real test submission on each lead path to watch whether the event actually fires in real time, rather than assuming it does because it was set up once, possibly before the form or widget was changed.
Reconciling The Two Numbers Going Forward
You will likely never get GA4 and your CRM to match exactly, and that is fine; the goal is to understand and account for the gap, not eliminate it entirely. Add a lead source field in your CRM so every entry records whether it came from the website, a phone call, a referral, or manual entry, which lets you filter to an apples to apples comparison against GA4.
For the leads that did come through the website, fix the specific tracking gaps you found: add offline conversion imports for tracked phone calls, confirm iframe-embedded forms report events correctly, and review your consent setup with whoever manages it to be sure it is not blocking more than it needs to.
Once the tracked, website-sourced numbers in both systems line up reasonably closely, you can trust GA4 for what it is actually good at: telling you which pages and channels are driving the leads you can see, while your CRM stays the source of truth for total pipeline.
Related questions
Your CRM, for total leads, since it should capture every way a lead reaches you, not only the ones GA4 was set up to track. Use GA4 for what it is built for instead: understanding which pages, channels, and campaigns are driving the website-sourced portion of those leads, not as your single source of truth for the total count.
GA4 has no way to see a phone call unless the call is tracked through a system that reports back to it, such as a dynamic call tracking number that fires an event when someone dials. Without that setup, a caller can convert into a paying customer while GA4 has no record the interaction ever happened.
Not necessarily. Some gap is normal and expected because the two systems count different things by design. It becomes worth investigating specifically when the gap is large, growing, or when leads you know came through your website's forms are missing from GA4, since that points to an actual event tracking problem rather than a structural difference.
Add a lead source field to your CRM and tag every new entry with how it arrived. Then compare only the website-sourced leads in your CRM against GA4's tracked conversions for the same date range. Any remaining gap in that narrower comparison points to a real event tracking issue you can investigate and fix directly.
Want a second opinion on your situation?
Get a free, no-obligation proposal. We’ll look at your site and your market and tell you honestly what we’d do — and what we wouldn’t.
Get your free proposal