Skip to content
Back to blog

June 27, 2026 ยท 3 min read

Google Consent Mode v2, explained

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.

The four Consent Mode v2 signals and what each controls
SignalControlsDenied behavior
ad_storageStorage related to advertising (cookies, mobile IDs)No advertising cookies set; URLs redacted (url_passing off)
analytics_storageStorage related to analytics (e.g. GA4)No analytics cookies set; modeled data in Advanced mode
ad_user_dataSending user data to Google for advertisingUser data not sent to Google for ads
ad_personalizationPersonalized advertisingAds 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.

Set default consent to denied before tags load, per Google's setup guide
HTML
<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 vs Advanced Consent Mode when a visitor denies consent
Basic modeAdvanced mode
Google tagsDo not loadLoad in restricted mode
CookiesNone setNone set
Data sent to GoogleNothingCookieless pings
Conversion modelingNot availableAvailable
Best forStrictest privacy postureRecovering 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