What does an undercount mean?
It means the CRM (or form backend) has genuine enquiries that never became a GA4 key event, so Local SEO looks weaker in Analytics than in operations.
GA4 only counts tagged website events it receives. It is not the business’s full demand log.
Is this GA4 counting twice?
No. If Analytics is higher than the CRM, look for duplicate tags first.
Use why GA4 is counting the same Local SEO lead more than once. Counting method still matters when events do fire: Change the counting method of key events.
Tag
Does a key event fire on a real thank-you? AJAX forms and mailto links often never send an event.Consent
Did the visitor allow Analytics? A consent banner can legally drop the hit.CRM
What did staff add by hand? Phone, walk-in and imported rows never hit GA4.Yes
Treat CRM as operations; GA4 as tagged web Do not force the two totals to match.Next
If GA4 is higher, check double counting That is the opposite diagnosis.Is this missing GBP campaign tags?
It can be part of the gap if listing traffic lands untagged and you only count a GBP-sourced key event.
Fix recognition of listing sessions on how to track Google Business Profile traffic and leads in GA4. You can still undercount after that if the form never fires.
What can consent and tags miss?
A banner that declines Analytics, an ad blocker, an AJAX form with no event, a mailto: link, or a thank-you URL the tag does not load on.
Those are missing hits, not Google “hiding” Local SEO. People-first forms still need to work for humans who never appear in GA4.
What does the CRM see that GA4 cannot?
Phone calls, walk-ins, email-only enquiries, imported spreadsheets and staff-created rows.
Whether Local SEO is producing qualified outcomes at all is whether Local SEO is generating leads — using a definition that includes those channels if they matter.
Gap decision table
| What you see | What it usually means | Decision | What not to assume |
|---|---|---|---|
| Test submit; no GA4 event | Tag gap | Fire a key event on a real thank-you or unique submit id | That adding a second duplicate tag will help |
| Event fires for you; many customers use a blocker | Consent or ITP | Accept a gap; do not disable consent to “fix SEO” | That Google will fill every missing hit |
| CRM full of phone rows | Offline demand | Report web-tagged and phone leads as two lines | That GA4 must equal the CRM |
| GA4 higher than CRM | Inflation | Use the double-counting guide | That this undercount page applies |
What should I not do?
Action checklist
- Test a submit in DebugView. Confirm one event per genuine enquiry.
- Classify CRM rows: tagged web, phone, walk-in, import.
- Report tagged web separately from operations.
- If listing traffic is invisible, add campaign parameters, then re-test.
- If GA4 is higher, switch to double counting.
- If spam is in the CRM, split that bucket too.
When professional help makes sense
Help is useful when a CRM, a form plugin and GTM each tell a different undercount story. It cannot make GA4 see phone calls, and it cannot promise that a complete tag will increase rankings.
Sources and further reading
- Google Analytics Help: Change the counting method of key events
- Google Analytics Help: [GA4] About key events
GA4 still missing enquiries the CRM can see?
Otepsphere can map which leads Analytics can never see so reports stop treating the gap as a ranking failure.
Contact OtepsphereWho writes this
This page is published by Otepsphere, a specialist Local SEO consultancy. A named founder biography, photograph and professional profiles will be added here only when they have been verified. Until then, treat Otepsphere as the responsible organisation rather than a fictional expert.