What is Consent Mode V2 and do I need it?
Consent Mode V2 is Google's API for adjusting tag behaviour based on user consent status. It was required for EU/EEA/UK Google Ads conversion measurement by March 2024. If you run Google Ads to EU/EEA/UK users and haven't implemented Consent Mode V2, your conversion data is incomplete and Google Ads Smart Bidding is working from a degraded signal. Consent Mode V2 adds two new consent parameters to V1 (analytics_storage and ad_storage): ad_user_data (consent to send user data to Google) and ad_personalization (consent to personalised advertising).
Without all four parameters set correctly, Google's modelled conversion filling does not activate for non-consenting users, causing conversion undercounting that typically ranges from 20–50% in high-GDPR-sensitivity markets.
Basic vs Advanced mode: the critical choice
Basic mode
Tags do not fire until consent is granted. No data is collected from non-consenting users. No pings sent to Google before consent.
What you lose: Modelled conversions. Google cannot model what non-consenting users would have done because it receives no behavioural signal from them.
When to use Basic: When your legal team or DPA requires no data transmission before explicit consent. Higher compliance certainty, significant data loss.
Typical data loss in Basic mode (UK/EU traffic): 30–60% of sessions untracked depending on CMP accept rates. Accept rates for cookie banners in the UK average 45–65%; in Germany they average 25–40%.
Advanced mode
Tags fire with limited functionality before consent is granted. GA4 sends cookieless pings (no user identifier, no behavioural data) that allow Google to model what non-consenting users would have done. After consent is granted, full measurement resumes.
What you gain: Modelled conversions fill the gap for non-consenting users, typically recovering 50–80% of the "lost" conversions as modelled data.
When to use: For most businesses running Google Ads to EU/UK audiences. Legal basis: the cookieless pings sent in Advanced mode contain no personal data and no cookies — Google considers this compliant with GDPR. Confirm with your legal team; some jurisdictions and DPAs have stricter interpretations.
Recommendation for most businesses: Advanced mode. The data recovery from modelled conversions substantially outweighs the marginal compliance risk for most implementations.
The four consent parameters
All four must be set in V2:
| Parameter | Controls | Required for |
|---|---|---|
analytics_storage | GA4 measurement cookies | GA4 session tracking |
ad_storage | Ad measurement cookies (gclid etc.) | Google Ads attribution |
ad_user_data | Sending user data to Google for ads | Google Ads conversion modelling |
ad_personalization | Personalised/remarketing ads | Google Ads remarketing |
Default state (before consent decision): Always set all four to denied as the default. This is the legal requirement — deny first, grant on consent.
GTM implementation: step by step
Step 1 — Consent initialization tag
In GTM, create a new tag:
- Tag type: Custom HTML (or use Google's native Consent Mode tag if available in your GTM version)
- Trigger: Consent Initialization - All Pages (this fires before any other tags)
- HTML content: the
gtag('consent', 'default', {...})code above
Step 2 — CMP update tag
Need to validate whether consent timing is distorting your GA4 data?
When the user makes a consent decision, the CMP must update the consent state. Most CMPs provide a GTM integration that does this automatically:
Cookiebot: Install the Cookiebot CMP template from the GTM Template Gallery. It handles default + update automatically.
OneTrust: Install the OneTrust GTM template. Configure it with your OneTrust domain script URL. The template manages both default and update states.
Usercentrics: Install Usercentrics via GTM template. Configure consent group mappings to GA4/Google Ads consent types.
For manual/custom CMP implementations, fire a gtag('consent', 'update', {...}) call from your CMP's consent callback:
Step 3 — Configure GA4 for consent-aware firing
GA4 Configuration tag in GTM should have "Consent settings" configured. In the tag's Advanced Settings → Consent Settings:
- Additional consent checks: Require
analytics_storage
This ensures the GA4 tag only fires with full measurement when analytics_storage is granted.
Step 4 — Verify with the `gcd` parameter
The gcd parameter appears in GA4 network requests and encodes the consent state at the time of the hit. Check it in Chrome DevTools → Network → filter for collect:
gcd=11t— all consent grantedgcd=11p— consent denied, tag firing in Basic mode (no data sent to Google)gcd=11l— consent denied, tag firing in Advanced mode (cookieless ping sent)
If you see gcd is absent from requests, Consent Mode is not initialised. If you see gcd=11p on all hits (including post-consent), the update tag is not firing correctly after user acceptance.
Verifying modelled conversions are activating
In Google Ads → Conversions → select your GA4-imported conversion → look for "Modelled conversions" column in the attribution report. If modelled conversions appear (they are labelled as such), Advanced mode is working and Google is filling the gap for non-consenting users.
In GA4, modelled conversions appear in reports with an asterisk (*) or modelled data indicator. They are not broken out separately in standard GA4 reports — they are folded into conversion totals.
Expected modelling recovery: 50–80% of "lost" conversions recovered as modelled data in most markets. German traffic typically sees lower recovery rates (25–40%) due to lower CMP accept rates reducing the signal Google needs for accurate modelling.
Consent Mode and GA4 data quality
What Consent Mode affects
- Session counts in GA4 — sessions from non-consenting users are not counted (no cookie = no session stitching)
- User counts — non-consenting users are not tracked as returning users
- Attribution — non-consenting sessions that convert are not attributed to channels
- Audience building — non-consenting users are not added to GA4 audiences
What Consent Mode does NOT fix
- Consent Mode does not make GA4 compliant on its own. You still need a valid legal basis, a compliant CMP, proper privacy notices, and data processing agreements.
- Consent Mode does not recover user-level data for non-consenting users — it models aggregate patterns, not individual journeys.
- Consent Mode does not fix attribution for 100% of lost conversions — modelled conversions are estimates, not actuals.
FAQ: Consent Mode V2 — The Complete 2026 Implementation Guide
Can consent mode v2 — the complete 2026 implementation guide be caused by consent timing instead of a tag bug?
Should I test this only in GA4 reports?
What is the fastest way to prevent this from happening again?
Related guides for Consent Mode V2 — The Complete 2026 Implementation Guide
How to Test Consent Mode V2 in 5 Minutes: A DevTools Walkthrough (2026)
Open Chrome DevTools → Network tab → filter for collect → reject all on the cookie banner → confirm GA4 hits still fire with gcs=G100 (denied) and ad_user_data=denied. Then accept all → confirm gcs=G111 (granted). If hits don't fire at all in either state, Consent Mode is misconfigured. If gcs is missing entirely…
GCS Parameter Decoded: What G100, G110, G111 Mean in GA4 Hits
The gcs parameter in GA4 network requests encodes the user's consent state for two of the four Consent Mode signals. Format: G1xy where G1 is constant, x is ad_storage (0=denied, 1=granted), y is analytics_storage (0=denied, 1=granted)…
Validate Consent Mode V2 — The Complete 2026 Implementation Guide before it becomes a compliance and reporting problem
Run a free audit to check consent timing, browser behavior, and downstream GA4 impact in one workflow.