pixellint

Blog · Consent Mode

Google cut EEA conversion tracking for Consent Mode misses. A CMP banner is not ad_user_data.

Google began disabling personalized ads, remarketing, and conversion tracking on EEA properties that failed the EU User Consent Policy. The advertiser emails named July 21, 2025. A CMP banner is not ad_user_data.

That is not a global kill switch on every Google Ads account. Google's EU User Consent Policy audit page says reviewers contact the partner first, give a timeframe, and then take action on the account or site in scope if the partner does not engage. The action they name is suspension of audience features (ad personalization and remarketing) and conversion measurement for advertisers. Publishers get a different path: Limited Ad or programmatic limited ads. Do not tell finance that Google turned off Ads worldwide on a Monday.

The miss that keeps showing up in HAR files is simpler. Legal shipped a cookie banner. Engineering left gtag('consent') on ad_storage and analytics_storage, or never called it at all. Consent Mode v2 needs four types: ad_storage, analytics_storage, ad_user_data, and ad_personalization. A modal that never writes those four signals is how Ads Manager goes dark on EEA traffic while the banner screenshot still looks compliant.

The emails named July 21. The help center names the hop

PPC News Feed published the May 22, 2025 notice that advertisers were seeing: Action Required, compliance with Google's EU User Consent Policy, a July 21, 2025 date, and a list of attached site(s) or app(s). The email said Google would disable personalized and non-personalized ads, remarketing, and conversion tracking if the listed properties stayed out of policy. Treat that date as corroboration of when noticed accounts were told the cut would land. It is not a published Google Ads Help article that says every EEA advertiser lost conversion tracking at midnight.

The official EEA consent mode article is still the contract. Advertisers must adhere to the EU User Consent Policy to use ad personalization and measurement when tags or SDKs send data to Google. That includes Google Analytics data used in Google Ads, Search Ads 360, or Display and Video 360. You collect consent for use of personal data from end users based in the EEA, and you share consent signals with Google for those use cases. A banner that never talks to gtag is not sharing a signal.

The EU User Consent Policy itself is older than this summer. Google dates it to 2015. The audit page says it reflects GDPR, the ePrivacy Directive, and equivalent UK laws, and that it applies to end users in the EEA, the UK, and Switzerland. The July enforcement emails were about properties Google had already reviewed. If you did not get the letter, do not assume you are fine, and do not assume you are already dark. Conversion diagnostics and Tag Assistant are the check, not a LinkedIn screenshot of someone else's account.

The call people still ship

The setup guide wants a default on every page before any command that sends measurement, then an update as soon as the user interacts with the banner. Consent mode does not save the choice for you. Persist it yourself and send the same update on the next page. For EEA and UK traffic, the audit troubleshooting page tells advertisers using advanced consent mode to default ad_storage to denied for those regions.

A Google-certified CMP can push the v2 types if you actually enabled consent mode in the banner settings and you are on the latest integration. Google's own EEA article says that. It also says that if you maintain your own banner, you implement consent mode v2 yourself. A certified logo in the footer is not gtag('consent', 'update', { ad_user_data: 'granted' }).

Basic versus advanced is a separate product choice, not a synonym for v2. Basic blocks Google tags until the user interacts. If they refuse, no data goes to Google at all, not even the consent state, and Ads conversion modeling falls back to a general model. Advanced loads the tags with defaults, sends cookieless pings while denied, then upgrades the payload when granted. That can feed an advertiser-specific model. Legal picks the mode. Engineering still has to send four types either way.

IAB TCF is a different hop. For EEA traffic, Google's audit page says advertisers must send signals that reflect end-user preferences via consent mode or TCF. Floodlight still wants gdpr and gdpr_consent. Consent Mode does not write those query parameters. A granted ad_storage is not a TC String. Do not paste a TC String into a gtag consent object. Do not expect the CMP's TCF string to populate ad_user_data unless you mapped the purposes into the four types.

The default people left in production

Consent Mode v1 defaults. EEA measurement still needs ad_user_data and ad_personalization.

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'analytics_storage': 'denied'
});

That object is a legal gtag consent default. It is also how a property fails the v2 upgrade. The two storage keys can be denied for EEA, which is what the audit page wants for ad_storage, and Google still cannot see whether the user allowed advertising user data or personalization. The gcd parameter on the collect request encodes the consent types. Tag Assistant will show you whether the v2 keys exist. A green CMP overlay will not.

If you already run consent mode and you do not do personalized advertising such as remarketing, Google's EEA article says you do not need to take action. If you need personalization, a certified CMP is supposed to update, and a custom banner must implement v2. If you have a banner and you never implemented consent mode, you implement it. If you block the Google tag from loading until the user clicks, Google cannot verify the choice, and the same article says that may lead to loss in data. After you ship the four types, conversion diagnostics is where the status shows up, with a delay that can be 48 hours and in some cases longer.

Names that do not translate

What actually goes dark

The enforcement path is account and site specific. Google's audit page says the first step is contact, then a reasonable timeframe, then action on the accounts in scope. Those actions can include disabling ad personalization and remarketing, and conversion measurement. The May emails that named July 21 used the same list: personalized ads, non-personalized ads, remarketing, conversion tracking. If you got the letter and you did not send the four signals, that is the week Ads Manager lost the EEA join. If you did not get the letter, you still have an implementation problem whenever EEA users hit a property that never updates Consent Mode.

Do not confuse cookieless pings with a healthy conversion pipeline. When ad_user_data is denied, enhanced conversions and user-provided data do not flow. If ad_storage is denied, _gcl_* cookies are not the join they were last year. Modeling can fill some gaps once you meet Google's published click thresholds, but modeling is not a substitute for a missing v2 parameter. Conversion diagnostics will not show Consent mode is implemented if the types never left the page.

App traffic has its own SDK floor. The EEA article talks about tags for websites and SDKs for apps. The audit page wants screenshots of the first-layer CMP for Play Store apps sent to euucp-escalations@google.com after you fix it. Do not paste a web gtag default into a Firebase ticket and call it done. The four types still have to exist in the SDK consent API your version actually ships.

To keep using applicable tags/SDKs for measurement, and for ad personalization, and remarketing features, you must collect consent for use of personal data from end users based in the EEA and share consent signals with Google for these use cases.

Google Ads Help: Updates to consent mode for traffic in the EEA

What to do

Open Tag Assistant on an EEA VPN or a geo-spoofed test profile. Confirm the default fires before config, and that the update includes ad_user_data and ad_personalization, not only the two storage keys. Refuse the banner and accept the banner. The collect URLs should not be the same request. Then wait for conversion diagnostics. Consent mode is implemented is the status you want. Modeling active is a later threshold, not the first proof.

If you got an EU User Consent Policy audit email, fix the listed properties and tell Google through the form or euucp-escalations@google.com. The audit checklist is not only Consent Mode. It also wants a banner that mentions ads personalization on the first layer, a link to Google's Business Data Responsibility Site at business.safety.google/privacy/, and no advertising cookies before consent for EEA and UK. A v2 gtag call with a banner that never names ads personalization can still fail the policy review.

The contract page for the four types is the Consent Mode setup guide. This post is the market fact: noticed EEA properties started losing personalization, remarketing, and conversion tracking around July 21, 2025, and a banner without ad_user_data is still a miss. Pixellint is not affiliated with Google. Passing a linter means the artifact matches the published envelope. It does not mean Google Ads attributed the conversion, and it does not mean the account passed an EU User Consent Policy audit.

Checklist

Sources

Contract pages

The dated argument is above. These pages are the field lists.

Read Consent Mode Docs