What is Google Consent Mode v2? Basic vs Advanced
Google Consent Mode v2 is the way your website tells Google’s tags, such as Google Analytics 4, Google Ads and Floodlight, what each visitor has agreed to in your cookie banner. It uses four consent parameters: ad_storage, analytics_storage, ad_user_data and ad_personalization. Tags read those values and change their behavior, for example not setting advertising cookies when a visitor declines. Consent Mode doesn’t collect consent itself; your consent management platform (CMP) does that and passes the result on. Without it, paid ads in Europe lose much of their measurement and targeting.
Why Consent Mode v2 matters
Google updated consent mode in November 2023, adding two parameters, ad_user_data and ad_personalization (Google for Developers). Under Google’s EU user consent policy, from March 2024 advertisers needed to pass these signals for users in the European Economic Area to keep using personalization and remarketing features. For example, Customer Match in the EEA needs both ad_user_data and ad_personalization granted (Google Ads Help).
How Consent Mode v2 works
The four parameters (Google consent mode overview):
| Parameter | What it controls |
|---|---|
| ad_storage | Storage, such as cookies, related to advertising |
| analytics_storage | Storage, such as cookies, related to analytics, for example visit duration |
| ad_user_data | Consent for sending user data to Google for online advertising |
| ad_personalization | Consent for personalized advertising, such as remarketing |
Campaigns that rely on modeled conversions, like Performance Max, depend on these signals being right.
Basic vs advanced mode:
| Basic | Advanced | |
|---|---|---|
| Before the banner is answered | Google tags don’t load | Tags load with consent defaulted to denied |
| If the visitor declines | Nothing is sent to Google, not even the consent state | Tags send consent state and cookieless pings |
| Conversion modeling | Based on a general model | Advertiser-specific model, more detailed |
The default command runs on every page before any measurement commands, with a region setting for where it applies:
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied',
'region': ['GB', 'DE', 'FR'],
'wait_for_update': 500
});
When the visitor makes a choice, your CMP calls gtag('consent', 'update', {...}) with the granted values. The region list above is shortened for the example: list every country where you need denied defaults, using ISO 3166-2 codes. wait_for_update gives an asynchronously loaded banner 500 milliseconds to respond before tags fire.
Example: checking a setup that looks right
A hypothetical B2B company installs a CMP and sees “Consent Mode: active” in its settings. A test in Tag Assistant shows:
- Defaults are set, but after the GA4 config tag fires, so the first hit goes out without consent state.
- The update call sends ad_storage and analytics_storage, but not ad_user_data or ad_personalization.
Both bugs are common. The fix: load the default command first in the page head, and map all four parameters in the CMP. A second test confirms the order and the values.
I never trust a settings screen that says consent is working. We open Tag Assistant, load the page as a new visitor from a region that needs consent, and watch the order of events. It's a short check, and it catches problems that dashboards hide. Repeat it after every CMP or tag change, because a small update can quietly break the sequence.
How to implement Consent Mode v2
-
Pick a CMP
Use a Google-certified CMP if you serve ads or measure users in the EEA, UK or Switzerland.
-
Choose basic or advanced
Decide with your privacy lead. Advanced gives better modeling; basic sends nothing before consent.
-
Set defaults first
Default all four parameters to denied for regions that need opt-in, before any Google tag fires.
-
Map all four updates
Make sure the CMP's update sends ad_storage, analytics_storage, ad_user_data and ad_personalization.
-
Mention ads personalization
Google's audit guidance says the banner's first layer must explicitly mention ads personalization.
-
Test
Use Tag Assistant to confirm order and values for accept, decline and no-choice journeys.
-
Check Google Ads and GA4
Review consent diagnostics in both tools after a few days.
Myth vs fact
- MythConsent Mode v2 is a cookie banner.
- FactConsent Mode only passes choices to Google tags. You still need a CMP to show the banner, record consent and control non-Google tags.
If you use server-side tracking, pass the consent state to the server and honor it there too.
Frequently asked questions
Is Consent Mode v2 required outside the EEA?
Google's requirement for consent signals focuses on users in the EEA, and Google also advises denied defaults for the UK. Elsewhere it is not required by Google, but local privacy laws may still require consent. Many companies use region-specific defaults.
What is the difference between ad_storage and ad_user_data?
ad_storage controls whether advertising cookies or identifiers can be stored on the device. ad_user_data controls whether user data can be sent to Google for advertising. A visitor can be denied on both, and they are set separately.
Should I use basic or advanced Consent Mode?
Advanced allows cookieless pings when consent is denied, which improves conversion modeling. Basic blocks Google tags entirely until consent. The right choice depends on your legal advice and risk tolerance.
How do I check if Consent Mode v2 is working?
Use Google Tag Assistant to inspect the consent state on page load and after each banner choice, and check the consent diagnostics in Google Ads and GA4.
