Consent Mode v2 is now mandatory for serving Google Ads to EU users. Here's how to implement it without breaking your reporting.
The two new parameters
v2 added ad_user_data and ad_personalization to the existing ad_storage and analytics_storage. All four must be set in your default and updated states.
Default state — before consent
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
Update state — after user consents
gtag('consent', 'update', {
ad_storage: 'granted',
analytics_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});
Why "denied" still sends data
With consent mode, Google receives signals about denied users without identifying them. This still informs modeling and ad performance — but doesn't store cookies or process personal data. Compliance + visibility.