If you run Google Ads or Google Analytics 4 in the EU or UK, you have probably been told to implement Google Consent Mode v2. The deadline pressure is real, and the documentation is scattered across Google's Tag Platform and Ads Help. This post explains what Consent Mode v2 actually is, how the four consent signals work, and what changes between Basic and Advanced mode. We cite the official sources throughout so you can verify every claim.
What Consent Mode v2 is
Consent Mode v2 is Google's framework for communicating a visitor's consent choices to Google tags. Instead of a tag loading or not loading, the tag reads the consent state and adjusts its behavior: it may set cookies, send cookieless pings, or redact data entirely. Google introduced it to keep measurement working in regions where consent is required before non-essential trackers run.The version 2 update in early 2024 added two new signals,ad_user_data and ad_personalization, alongside the existing ad_storage and analytics_storage. The mark below is a link to the official reference.
The four consent signals
Each signal controls a category of data storage or use. Your consent banner sets them to granted or denied based on what the visitor chose.
| Signal | Controls | Denied behavior |
|---|---|---|
| ad_storage | Storage related to advertising (cookies, mobile IDs) | No advertising cookies set; URLs redacted (url_passing off) |
| analytics_storage | Storage related to analytics (e.g. GA4) | No analytics cookies set; modeled data in Advanced mode |
| ad_user_data | Sending user data to Google for advertising | User data not sent to Google for ads |
| ad_personalization | Personalized advertising | Ads not personalized for that user |
The url_passing behavior is tied to ad_storage. When ad_storage is denied, query parameters like gclid are stripped from outbound requests to Google domains so a click ID does not leak before consent. See the Consent mode reference for the full list of affected parameters.
Setting default consent before tags load
Consent Mode requires you to set a default state before any Google tags fire, then update it once the visitor interacts with your banner. The default usually denies everything except what is strictly necessary. Google documents this in the Tag Platform setup guide.
<script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('consent', 'default', { ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', analytics_storage: 'denied', wait_for_update: 500 });
</script>After the visitor accepts, your banner calls the same gtag consent command again with the granted values. The key rule is order: defaults must run before the Google tag so no cookies are set in the gap.
Basic vs Advanced mode
This is the decision that matters most. In Basic mode, when consent is denied, Google tags do not load at all and no data is sent. In Advanced mode, the tags load but send cookieless pings, which lets Google model the missing conversions. Advanced mode recovers more measurement, and it is what Google now requires for EEA traffic in Google Ads.
| Basic mode | Advanced mode | |
|---|---|---|
| Google tags | Do not load | Load in restricted mode |
| Cookies | None set | None set |
| Data sent to Google | Nothing | Cookieless pings |
| Conversion modeling | Not available | Available |
| Best for | Strictest privacy posture | Recovering measurement under consent |
Advanced mode modeling uses aggregated, non-identifying data to estimate conversions Google could not directly observe. Google's modeling documentation is explicit that the modeled data cannot identify an individual user.
Why Google now requires it
From early 2024, Google began requiring Consent Mode v2 for audiences and conversions in Google Ads for traffic from the European Economic Area, the UK, and Switzerland, without it, new EEA users cannot be added to audiences and EEA conversions may not measure correctly. The two new signals, ad_user_data and ad_personalization, are the ones teams most often miss.
How to verify it is working
Open your site in a fresh incognito window and use the browser developer tools to check the consent state and outgoing requests.
- In the Console, run gtag to confirm the defaults are set before tags load.
- In the Network tab, filter for google-analytics.com or google-analytics and look for cookieless pings in Advanced mode (they carry no _ga cookie).
- Accept the banner and confirm the signals flip to granted and cookies appear.
- Use Tag Assistant or the GA4 DebugView to trace the consent events end to end.
A common failure is loading Google Tag Manager before the consent defaults. If gtm.js fires first, the default state is effectively ignored. Place the default consent script above the GTM snippet, or use GTM's built-in consent initialization.
Practical takeaways
- Set all four signals to denied by default before any Google tag loads.
- Update the signals the moment a visitor accepts or rejects in your banner.
- Use Advanced mode if you need modeled conversions in Google Ads for EEA traffic.
- Verify in an incognito window with the Network tab open before you call it done.
Consent Mode v2 is not going away. Getting the defaults, the update, and the Basic-versus-Advanced choice right is what keeps your ads measurement accurate while staying on the right side of consent rules.
Materially reviewed July 11, 2026. Regulatory and implementation guidance is general information, not legal advice.
Primary sources
Was this post helpful?
Put consent in front of your trackers
OptinStack pairs a first-layer consent banner with enforcement that respects what each visitor chose, plus consent evidence. Create a free account and activate one production hostname; upgrade when you need more design, exports, capacity, or regional controls.
Related posts
Consent enforcement: blocking vs releasing scripts by category
What consent enforcement is, how trackers get gated by category, the common failure modes like load-order gaps, and how to verify the page actually obeys each visitor's choice.
Consent banner modes: opt-in, opt-out, informational, and do-not-sell
The four consent banner modes, opt-in, opt-out, informational, and do-not-sell-or-share, what each means, and how to pick the right one by region.
Tracker inventory: what is actually running on your site
What a tracker inventory is, why it matters, how trackers map to the four consent categories, and how to keep the inventory honest as your site changes.
What is Global Privacy Control (GPC) and how to respect it
What Global Privacy Control is, how the Sec-GPC header and navigator.globalPrivacyControl signal work, what California and Colorado require, and how to honor it before trackers run.