Deploying a cookie consent banner is one of the most common ways to cause an unexplained data drop in GA4. Teams spend weeks preparing the legal language of the banner while tracking infrastructure implications are overlooked until session counts fall sharply the day after launch. Knowing exactly what to test immediately after a banner goes live prevents extended periods of bad data and allows for a rapid, targeted fix.
What actually happens when a consent banner launches
- Before the banner:GA4 fires on every page load from every user, collecting sessions and events without restriction.
- After the banner with Basic Consent Mode:GA4 does not fire at all until a user accepts cookies. Users who ignore the banner, decline it, or close it without interacting will produce no GA4 data. If a large share of your visitors fall into this category, your session counts will drop substantially.
- After the banner with Advanced Consent Mode:GA4 fires on every page load regardless of consent status, but sends cookieless pings for non-consenting users rather than full events. Session counts may still drop because cookieless pings produce limited data, but the drop is less severe than with Basic Mode and GA4's behavioral modeling can partially compensate. The differences between the two modes are covered in detail in theConsent Mode v2 implementation guide.
Test 1: confirm basic vs advanced consent mode
This is the first and most impactful thing to check. In GTM Preview mode, load your site without interacting with the consent banner. Watch the tag firing summary.
- If you are on Basic Consent Mode:you should see the GA4 Configuration tag NOT firing before consent is granted. If any GA4 tag fires before consent, Basic Mode is misconfigured and collecting data without consent.
- If you are on Advanced Consent Mode:you should see the GA4 Configuration tag firing immediately, but sending a request with analytics_storage=denied in the parameters. Look at the network tab in Chrome DevTools for a request to google-analytics.com that includes gcs=G100 or similar (indicating all consent denied).
If you deployed a Basic Consent Mode setup when you intended Advanced, or vice versa, this is your primary issue.
Test 2: check the consent default timing
In GTM Preview mode, look at the dataLayer events timeline. The consent_default event (which sets the initial denied state) must fire before the GA4 Configuration tag fires. If the GA4 Configuration tag fires first, events are sent without the consent context, which in some configurations leads to full data collection before the user has made a choice (not compliant) or to session fragmentation when consent is later granted.
The correct order of events on every page load: window.dataLayer initialises, consent default fires with all signals set to denied, GA4 Configuration tag fires (in Advanced Mode, this sends a cookieless ping), the user interacts with the banner, consent update fires with the user's choices, GA4 starts collecting full data for consenting users.
Want to verify your consent mode configuration is correct before the next audit?
Test 3: confirm consent update is firing
A banner that shows but does not fire the consent_update event when accepted causes Advanced Consent Mode to never switch from denied to granted state for that session. Users who click Accept see the banner disappear but GA4 continues operating in cookieless mode because no update signal was received. If yourorganic traffic also looks suspiciously close to zeroafter launch, broken update wiring is a common shared cause.
In GTM Preview mode, accept the banner and watch for a consent_update or a gtm.consent_update dataLayer event. After this event fires, check whether the GA4 tag state changes in the summary panel. If the consent update fires but GA4 does not start collecting full events, the GA4 Configuration tag is not listening to the consent update correctly.
Test 4: check the consent settings in GA4 admin
Navigate to Admin > Data Collection and Modification > Consent Settings. For EEA traffic, GA4 should show what percentage of sessions are transmitting consent signals. If the panel shows No consent signals detected, your CMP is not correctly transmitting signals to GA4 regardless of what your banner appears to do visually. A common downstream symptom is a rise inGA4 (not set) valuesfor source and medium on traffic that used to be properly attributed.
Test 5: calculate expected vs actual data loss
A certain amount of data loss after a consent banner launch is expected and legal. Rejection rates vary widely depending on banner design, user base, and market — many EEA implementations see declines anywhere from 30% to over 60%, but your property's actual rate depends on your specific setup and should be measured rather than assumed. If your banner only serves EEA/UK users (say, 30 percent of your traffic), and 50 percent of those decline, you would expect roughly a 15 percent reduction in total session counts.
If your actual data loss significantly exceeds what the consent rejection rate would produce, the consent implementation itself is causing additional data loss beyond legitimate consent choices. This is typically caused by Basic Mode being deployed when Advanced was intended, or by session fragmentation from incorrect consent signal timing — and the gap between observed sessions and modeled reporting can complicate this further, as we cover inConsent Mode and GA4 conversion modeling.
Cookie banner traffic drop: validate, fix, and watch
Validate
- Compare week-over-week sessions by channel before and after banner launch
- Check consent signal rate in GA4 Admin > Data Collection > Consent Settings
- Check if bounce rate or engagement rate changed alongside the session drop
- Confirm in GTM Preview whether GA4 tag fires before or after consent interaction
Fix
- Implement Advanced Consent Mode if currently using Basic, this enables cookieless pings for non-consenting users, which supports behavioral modeling but does not fully replace lost session data.
- Set analytics_storage default to denied only for EEA/UK traffic, not globally, to limit unnecessary data loss
- Enable modeled reporting where appropriate, but do not assume it will restore lost data immediately or perfectly
- Ensure consent_default fires before the GA4 Configuration tag on every page load
Watch for
- Traffic drop that doesn't stabilise — behavioral modeling timelines vary by traffic volume and property configuration; check your property's modeled data status in GA4 Admin rather than relying on a fixed window
- Bounce rate improving artificially, fewer non-engaged users being recorded can inflate engagement metrics
- Attribution shifting to Direct, non-consenting sessions lose UTM context, inflating the Direct channel
Cookie banner traffic drop checklist
- Basic vs Advanced Consent Mode is confirmed by watching GTM Preview mode before any banner interaction
- consent_default fires before the GA4 Configuration tag on every page load
- consent_update fires in GTM Preview mode after clicking Accept on the banner
- GA4 Admin > Consent Settings shows consent signals being received for EEA traffic
- Actual traffic drop is calculated against expected drop based on EEA traffic share and expected rejection rate
- If data loss exceeds expected rate, Advanced Consent Mode is implemented as the resolution
Related guides
Consent Mode v2 Guide
Full implementation walkthrough for Google Consent Mode v2 including Basic and Advanced modes.
Source/Medium Changed to Direct Overnight
How consent mode changes can cause attribution to shift to Direct and how to diagnose it.
Consent Mode and Unassigned Traffic
Why unassigned traffic increases after consent mode changes and how to reduce it.
GDPR and GA4 Compliance
What GDPR requires for GA4 implementations in EEA and UK markets.
Verify your consent mode implementation
GA4 Audits checks consent signal transmission, tag firing order, and data loss rates across your GA4 property.