Is Google Consent Mode v2 Blocking My GA4 Data?
The Short Answer
If you implemented Consent Mode v2 but forgot to enable Advanced Consent Mode or misconfigured your default initialization states, GA4 will completely block data collection until the user clicks accept.
The Context
Since March 2024, Google mandated Consent Mode v2 for anyone targeting users in the EEA. Shortly after, many businesses saw their measured traffic plummet by 30% to 50% overnight.
Consent Mode is designed to respect user privacy, but a tiny misconfiguration in your implementation can cause it to "fail closed", meaning it permanently blocks GA4 tags from firing even if a user subsequently opts-in, or completely neuters your ability to do behavioral modeling.
The 3 Most Common Root Causes
1. Firing the Default State Too Late
The Consent Mode 'default' command (e.g., ad_storage: 'denied') MUST fire before your GTM container loads or any GA4 tags initialize. If your Cookie Banner script loads asynchronously from a third party and pushes the default state a few milliseconds late, GA4 assumes you broke compliance and blocks data.
2. Missing the 'Update' Command
When a user clicks "Accept All" on your cookie banner, your platform must push a consent 'update' command to the dataLayer. If your banner simply drops a cookie but doesn't explicitly send the Google-formatted update ping, GA4 stays in 'denied' mode forever during that session.
3. Basic vs. Advanced Consent Mode If you configured "Basic" Consent Mode, tags are physically hard-blocked from firing until consent is granted. This causes a massive data loss. "Advanced" Consent Mode allows tags to fire immediately, but strips them of identifying cookies (sending anonymized pings) allowing Google to model your missing traffic.
How to fix it:
- 1
Verify Initialization Timing: Open the GTM Preview mode timeline. Look at the very first event, 'Consent Initialization'. Click it and view the 'Consent' tab. It should show 'On-page Default' values as 'Denied'. If it is blank, your banner is loading too late.
- 2
Test the Accept Button: In the GTM debugger, click your cookie banner's Accept button. A new 'Consent' event should appear in the timeline. Check the Consent tab again—it should now clearly show 'On-page Update' as 'Granted'.
- 3
Use the Cookiebot/OneTrust Templates: Avoid custom HTML for consent. Use the official GTM templates provided by your Consent Management Platform (CMP) to ensure the API handles the update logic correctly.
- 4
Audit your Implementation: Run your domain through our GA4 Auditor. We specifically scan for the
dataLayer.push({consent: 'default'})timing relative to the gtag initialization.
Want to check this automatically?
Instead of clicking through settings yourself, let our engine audit your GTM Container for this exact issue (and 30 others) in 60 seconds.
Scan your setup with our GTM Audit Tool