Google Consent
Mode v2
Google Consent Mode v2 is not optional. Since March 2024, any website using Google Ads, Google Analytics, or Floodlight in the EEA or UK must implement all four GCM v2 parameters — or lose access to remarketing, conversion modelling, and smart bidding signals for their most valuable markets.
What Is Google Consent Mode v2?
Google Consent Mode is a technical framework that tells Google's tags how to behave when a visitor has not consented to analytics or advertising cookies. Rather than simply blocking Google tags when consent is declined — which causes complete data loss — Consent Mode allows Google tags to run in a restricted, cookieless mode, collecting minimal non-identifying signals that feed Google's modelling algorithms.
Version 2 (v2), rolled out in late 2023 and made mandatory in March 2024, introduced two new parameters — ad_user_data and ad_personalization — in addition to the original analytics_storage and ad_storage. These four parameters together form the complete GCM v2 signal set that Google now requires for any website using Google advertising or analytics products in the EEA or UK.
analytics_storage and ad_storage — the original Consent Mode v1 parameters. This is no longer compliant under GCM v2. Without the two new parameters (ad_user_data and ad_personalization), Google restricts access to enhanced conversions, audience features, and certain smart bidding signals. Check your implementation passes all four.
The Four Required Parameters — Explained
Each of the four GCM v2 parameters controls a distinct aspect of how Google tags collect and use visitor data. All four must be set to denied by default on page load, and updated to granted only when the visitor actively consents to the corresponding category.
Controls whether Google Analytics (GA4) can set cookies and read/write cookie data for analytics purposes.
Granted → Full GA4 measurement including user ID, session data, and cross-device tracking.
Controls whether Google Ads tags can set cookies for advertising measurement including conversion tracking and frequency capping.
Granted → Full conversion measurement, click ID attribution, and remarketing cookies.
Controls whether user data can be sent to Google for advertising purposes — including enhanced conversions that use hashed email, phone, or address data for matching.
Granted → Enhanced conversions active — hashed first-party data sent for improved attribution.
Controls whether data can be used for personalised advertising — specifically remarketing audiences and personalised ad serving via Google Display Network.
Granted → Remarketing lists populated, personalised ads served.
analytics_storage. Marketing/Advertising consent → grants ad_storage, ad_user_data, and ad_personalization. All four are denied by default. The update fires immediately after the visitor's choice is recorded — not on the next page load.
How Google Consent Mode v2 Works — The Data Flow
Understanding the sequence in which GCM v2 fires is critical to implementing it correctly. The parameters must be set before any Google tag loads — not after, not on the next page view.
The wait_for_update parameter (typically set to 500ms) tells Google tags to pause briefly for a consent update before firing in their default denied state. This prevents a race condition where the banner loads slower than the tag and the tag fires in denied mode before the visitor has had a chance to consent on their current visit.
The Complete Implementation Code
The following code must be placed in the <head> of every page, before your GTM snippet, before GA4, and before any other Google tag. If it fires after these tags, GCM v2 has no effect.
Platform-Specific Implementation
Where exactly you paste the GCM v2 default block depends on your platform. Select yours below for the specific location.
ConsentPixel handles this automatically when installed with priority 1. If you use WPCode (Insert Headers and Footers), paste the script block in the Header section set as the first script.
This block must appear before {{ content_for_header }}, which is where Shopify's Customer Privacy API and app scripts inject themselves. ConsentPixel's Shopify install handles this automatically.
Ensure WooCommerce's Google Listings & Ads plugin and any standalone GA4 plugins are configured to respect GCM v2 — or remove their snippet output and let ConsentPixel control Google tag firing.
Set script category to Essential — not Analytics or Consent — so it loads before BigCommerce's own scripts. For multi-storefront, add this as an Essential script on each storefront channel.
In Webflow, Project Settings → Custom Code → Head Code applies to all pages sitewide. If you use Webflow's built-in Google Analytics integration, disable it and let ConsentPixel manage GA4 loading conditionally.
Basic vs. Advanced Consent Mode — Which Should You Use?
Google offers two implementation approaches for Consent Mode. The choice significantly impacts how much data you recover for non-consenting visitors.
Google tags are completely blocked until the visitor consents. No data — including cookieless pings — is sent for non-consenting visitors.
Google tags load on all visits but operate in restricted cookieless mode for non-consenting visitors, sending minimal modelling signals.
ConsentPixel implements Advanced Consent Mode. Google tags load in a cookieless denied state, and the update fires immediately on visitor consent. This preserves modelling signals for declined visitors — critical for stores in Germany, France, and other high opt-out markets where 40–60% of visitors may decline tracking.
What You Lose Without Google Consent Mode v2
The practical impact of missing or partial GCM v2 implementation is direct and measurable. This is not a theoretical regulatory risk — it is live revenue impact on your Google Ads campaigns and analytics reporting today.
| Feature | Without GCM v2 | With GCM v2 (Advanced) |
|---|---|---|
| Conversion measurement (EEA/UK) | Lost for all non-consenting visitors | Modelled — estimated across declined population |
| Remarketing audiences | Not built for declined visitors | Partially preserved via modelling |
| Enhanced conversions | Blocked — requires ad_user_data granted | Active when marketing consent granted |
| Smart bidding signal quality | Degraded — missing conversion data for opt-outs | Maintained via cookieless pings and modelling |
| GA4 session reporting | Blank for all declined sessions | Modelled data fills gaps in reports |
| Google Ads access (EEA/UK) | Audience features restricted by Google | Full feature access maintained |
| Performance Max campaigns | Reduced signal quality — lower performance | Full signal set available for optimisation |
Is your GCM v2 actually passing all four parameters?
ConsentPixel — Privacy · Verified includes a built-in GCM v2 compliance checker. Verify all four parameters, confirm correct firing order, and see exactly what Google receives per visitor consent state.
How to Verify Your GCM v2 Implementation
After implementing GCM v2, verification is essential. A misconfigured implementation — one that fires the default block after GTM loads, or that only passes two of the four parameters — looks correct from the surface but provides no benefit. There are three ways to verify.
Method 1 — Google Tag Assistant
Open tagassistant.google.com, enter your site URL, and navigate to the Consent tab after the page loads. You should see all four parameters present in the Default block, firing before any Google tag. Change your consent choice on the banner and confirm the Update block fires with the correct granted/denied values.
Method 2 — Browser DevTools Network tab
Open DevTools → Network → filter for gtm.js or gtag/js. The consent default block must appear in the waterfall before these requests. If GTM loads before your consent default fires, the implementation is incorrect regardless of what the code looks like.
Method 3 — ConsentPixel Compliance Checker
The ConsentPixel dashboard includes a dedicated GCM v2 checker that tests all four parameters, validates firing order, confirms the Update fires correctly on consent choice, and checks that your implementation matches the Advanced Consent Mode specification. It produces a pass/fail result with specific remediation steps for any gaps found.
How ConsentPixel — Privacy · Verified Handles GCM v2
Fires before every Google tag
ConsentPixel's pixel is designed to load as the first script in your page head — before GTM, before GA4, before any other Google tag. The GCM v2 default block fires as part of the pixel's initial execution.
All four v2 parameters — always
ConsentPixel always passes all four GCM v2 parameters — including the two new v2 parameters ad_user_data and ad_personalization. Never just two. Never just three.
GTM data layer integration
For stores using Google Tag Manager, ConsentPixel passes consent updates via GTM's data layer using the consent command. GTM holds each tag until its required signal is received — no manual trigger modifications needed.
Advanced mode — modelling preserved
ConsentPixel implements Advanced Consent Mode. Tags load in cookieless denied state, cookieless pings fire for modelling, and the Update fires immediately on visitor consent choice — preserving conversion modelling for every opt-out visitor.
Geo-scoped to EEA and UK
GCM v2 in denied state only needs to apply to EEA and UK visitors. For all other regions, ConsentPixel can grant parameters by default — preserving full measurement for non-regulated markets while protecting EU/UK compliance.
Built-in verification checker
The ConsentPixel dashboard compliance checker validates your entire GCM v2 implementation — all four parameters, firing order, update timing, and Advanced vs Basic mode — with a clear pass/fail result.
GCM v2 Implementation Checklist
Frequently Asked Questions
ad_user_data and ad_personalization) on top of the original analytics_storage and ad_storage, making four required signals in total.analytics_storage — controls GA4 cookies and analytics data collection; (2) ad_storage — controls Google Ads cookies for conversion tracking; (3) ad_user_data (new in v2) — controls whether user data can be sent to Google for advertising including enhanced conversions; (4) ad_personalization (new in v2) — controls whether data can be used for personalised advertising and remarketing. All four must default to denied and update to granted only when the visitor consents to the relevant category.Stop losing EU conversions.
Implement GCM v2 correctly.
ConsentPixel — Privacy · Verified automatically fires all four GCM v2 parameters before any Google tag loads, implements Advanced Consent Mode for maximum measurement preservation, and verifies correct implementation in your dashboard.