
GA4 audit case study: reports and CRM that finally agree
A GA4 audit traced the gap between GA4 and the CRM to two faults in 7 business days: form tags that never fired and a broken first event. Once the Build had fixed them and rebuilt the audiences, Google Ads remarketing conversions rose 20% on those audiences.
- Phase 1 · Tracking Audit2 faults foundin 7 business days
- Phase 2 · Tracking Build4 layers fixedthen the audiences rebuilt
The GA4 audit ledger: finding, fix, effect
The Tracking Audit found two faults. The Tracking Build fixed both, reworked two more layers and then rebuilt the audiences, and the last row is where the Google Ads result sits. Open any row for a check you can run on your own property this week.
| Row | What the audit found | Fix in the Build | Effect | Self-check |
|---|---|---|---|---|
| 01 | Audit findingForm submits never sent an event to GA4The CRM received each lead. GA4 never heard about it. | Form tracking fixed in Tag Manager. Form submits reach GA4 again. | About 25% closer to CRM recordsForm tracking compared with CRM records | |
Check yours: form events against CRM leads Submit a test lead with GTM Preview open. The form event should fire once, after the success state, and show up in GA4 DebugView. Then set one week of that event beside one week of new CRM leads. A gap wider than consent choices and ad blockers can explain points to this row. | ||||
| 02 | Audit findingA broken first eventVisits started without the data later reports rely on. | Tag Manager reworked: which tags fire, and when. | First event fixedNo separate figure published | |
Check yours: the first hit of a session Open a landing page in GTM Preview with utm_ parameters in the URL and watch which tag reaches GA4 first. It should be the Google tag's page view, carrying the full page URL. A large (not set) row in GA4's landing page or session source report usually means sessions start on the wrong event. | ||||
| 03 | Rebuilt in the BuildConsent Mode v2 configurationThe signals that tell Google tags what each visitor allowed. | Consent Mode v2 rebuilt. | Part of the Build behind the +20%No separate figure published | |
Check yours: the consent state on each hit Open the site in a clean browser and make no choice in the banner. Any GA4 request that goes out should carry gcs=G100, which means ad and analytics storage are both denied. Accept, reload and check that the value turns to G111. A G111 before any click, in a region where you ask for consent first, means the defaults are wrong. | ||||
| 04 | Rebuilt in the BuildGA4 property settingsThe settings that decide what GA4 counts and keeps. | GA4 settings cleaned. | Part of the Build behind the +20%No separate figure published | |
Check yours: three settings in GA4 Admin Data retention limits how far back Explorations can reach, and GA4 keeps it at 2 months until someone changes it. Data filters decide whether internal and developer traffic is counted. The unwanted referrals list decides whether a payment page or a login domain takes credit for the session. | ||||
| 05 | OutcomeRemarketing audiencesMembership hung on events that never arrived. | Audiences rebuilt on the repaired events. | +20%Remarketing conversions in Google Ads, on the rebuilt audiences | |
Check yours: what each audience depends on In GA4, open each audience shared with Google Ads and note the event its membership condition uses. If that event never fires, the audience either stays close to empty or fills with the wrong visitors, and remarketing bids against the wrong list. | ||||
Scope of the result. The 20% covers remarketing conversions on the rebuilt audiences. Account-wide Google Ads conversions sit outside the published figure.
How the GA4 audit fix reached Google Ads, step by step
Google Ads remarketing audiences are built from events GA4 records. While the form event never fired, visitors who converted or showed intent never joined the audience meant for them, and Google Ads bid against a list that did not match the CRM.
Before the Build
- Form submitLead reaches the CRM
- GA4 form eventNever fired
- GA4 audienceWaits for an event that never arrives
- Google Ads remarketing listInherits the gap from GA4
- BaseRemarketing conversionsBaseline before the Build
After the Build
- Form submitLead reaches the CRM
- GA4 form eventReaches GA4 again
- GA4 audienceRebuilt on the repaired events
- Google Ads remarketing listFed from the rebuilt audience
- +20%Remarketing conversionsOn the rebuilt audiences
Normal gap vs tracking fault in GA4 and CRM lead counts
GA4 will never match the CRM lead for lead. The useful question is whether each part of the gap has a cause you can name. The right-hand column is what this audit found.
ExpectedExplain it, then leave it alone
- Visitors who decline consentGA4 records less for them, or modeled data only. The CRM still gets the lead.
- Ad blockers and privacy browsersRequests to Google domains are stopped. The CRM still gets the lead.
- Different counting rulesGA4 counts events and sessions. The CRM counts people and records.
- Cross-device journeysA visitor who researches on a phone and converts on a laptop can be two users in GA4. The CRM keeps one person.
FaultFind it, then fix it
- Form events that never fireFound in this auditGA4 misses leads that consent and blockers cannot account for.
- A broken first eventFound in this auditSessions start without a clear source or landing page.
- Consent Mode v2 set up wrongRebuilt in this BuildData is held back for visitors who accepted, or sent for visitors who did not.
Before you compare GA4 with a CRM
Why do GA4 and my CRM show different lead numbers?
Can GA4 and a CRM ever match exactly?
How long did the GA4 audit take?
What a Google Analytics audit checks Dubai real estate: form tracking from another angle
Line up one week of form events against your CRM
Two counts for the same week tell you whether your gap looks like consent and blockers, or like a ledger row.
