Skip to main content
Consent Mode warningsRed flags in Google Ads and GA4

Get your Consent Mode warnings tracking to 95%+ accuracy guaranteed in writing.

You installed a banner. Someone ticked the Consent Mode box in the CMP settings. Google still says your EEA traffic isn't sending consent signals, and GA4 says the same thing in different words. We load your pages with consent granted and denied, watch what every tag does in each state, and fix the sequence — which is almost always the real problem.

Free30 minutesNo obligation

Consent Mode warnings · what breaks

Why the warning won't clear

  1. 01

    Your CMP loads after your tags do

    The consent default command has to run before gtag or GTM. If the banner script is async, or loaded as a GTM tag itself, the first pageview fires with no consent state at all and Google logs the hit as unconsented.

  2. 02

    You wired two signals when v2 needs four

    ad_storage and analytics_storage were the whole story under v1. ad_user_data and ad_personalization are separate signals now, and Google's check looks for all four before it drops the EEA flag.

  3. 03

    Tag-level Consent Settings are left at "Not set"

    GTM's per-tag additional consent checks default to nothing. Tags you assumed were gated fire regardless of the banner, and the ones you meant to run early get held anyway. Neither matches what the page promised.

  4. 04

    A global denied default hits traffic that never needed it

    One worldwide denied-by-default state means your US visitors get the EEA treatment — throttled tags, modeled data — for a rule that never applied to them. Region-scoped defaults cover both without the collateral damage.

Consent Mode warnings · the fix

What changes once consent is wired the way Google's check expects

  • The warning clears, and you know exactly why

    Default before update, four signals present, state reported on every load. You get the before-and-after from Tag Assistant's consent view so the fix is evidence, not a claim.

  • Conversion modeling becomes eligible

    Google only models the denied portion of traffic when consent signals arrive in the expected shape and volume. Wired correctly, a denied session still contributes to modeled conversions instead of disappearing entirely.

  • Your tags do what the banner said they'd do

    Each tag carries an explicit consent check, so a visitor who declines doesn't quietly pick up an advertising cookie anyway. That gap is the one that turns a technical issue into a legal one.

  • US privacy signals handled by the same mechanism

    A Global Privacy Control header or a CPRA opt-out maps onto the same consent state as an EEA denial, so you run one consent system rather than two half-finished ones.

Consent Mode warnings · normal or broken

EEA warnings on EEA traffic are expected. Ungated tags are not.

The warning itself isn't the fault. It's Google telling you a requirement now attaches to that conversion action, and on an account with European visitors that's a configuration job with a clear finish line. What's actually broken is when your tags ignore the banner your visitors just answered.

Normal, not a fault

  • A consent warning on an account with real EEA or UK traffic

    Expected, and it's configuration work rather than a bug. Google attaches the requirement to the conversion action the moment measurable European traffic reaches it. You wire the four v2 signals and the flag clears.

  • A US-only account seeing the same warning

    Almost always a slice of European visitors nobody knew about — organic, a referral, a VPN-heavy audience, a stray campaign. Check GA4 by country before assuming something is misconfigured.

  • Reported conversions moving after consent is wired right

    If tags used to fire for people who declined, the raw count drops. If modeling becomes eligible where it wasn't, modeled conversions come back. Movement in either direction is the fix landing, not a new problem.

  • GA4 showing modeled conversions on European traffic

    Behavioral and conversion modeling is exactly what Advanced consent mode buys. Modeled rows appearing on denied EEA sessions means the signals are arriving in the shape Google expects them in.

Actually broken

  • The warning stays red after your CMP says v2 is on

    A ticked box in the CMP dashboard doesn't mean the default command ran first. If the banner script is async, or loaded as a GTM tag itself, the first pageview goes out with no consent state at all.

  • Ad cookies get written for a visitor who clicked Reject

    Decline the banner, then look in DevTools for `_gcl_aw`, `_gcl_au` or `_fbp`. Anything advertising-related appearing after a rejection is the failure that turns a technical issue into a legal one.

  • US traffic throttled by a global denied default

    One worldwide denied state gives American visitors the EEA treatment — held tags, modeled data — for a rule that never applied to them. Region-scoped defaults cover both without the collateral damage.

  • The server container fires regardless of the decision

    Web tags respect the banner, the consent state never reaches sGTM, and server-side tags forward everything anyway. This is the most common thing we find and the least often noticed.

Consent Mode warnings · diagnose

How to see your own consent state in about twenty minutes

GTM's consent debug view answers most of this without anyone touching your container settings.

  1. 01

    Open the GTM consent view in a fresh incognito window

    GTM Preview, then the Consent tab, and look at the very first event in the timeline. If ad_storage reads "not set" before the banner has been answered, your default command never ran in time.

  2. 02

    Check all four v2 signals by name

    In that same view, confirm ad_storage, analytics_storage, ad_user_data and ad_personalization are all present. Two of four is a v1 setup, and Google's check will keep flagging it no matter what the CMP says.

  3. 03

    Click Reject, then read the cookie jar

    DevTools, then Application, then Cookies. Any advertising cookie written after a rejection means the tags aren't genuinely gated — whatever the per-tag settings claim in the container.

  4. 04

    Come back to the site as a returning visitor

    Close the tab and reopen the site. The stored choice has to replay as a consent update on the second visit. Plenty of banners fire update on the click and never on the replay, so returning visitors run unconsented.

  5. 05

    Check where your European traffic actually comes from

    GA4, Reports, then Demographics by country, filtered to EEA and UK. Most US advertisers carrying this warning aren't targeting Europe at all — they just have European visitors nobody had counted.

  6. 06

    Read the Google Ads diagnostics panel itself

    Open the conversion action and go to Diagnostics. It names the unmet requirement in plain language, and screenshotting it before you change anything gives you the before half of your evidence.

Consent Mode warnings · prove

How we prove the consent flag actually cleared

Consent work is easy to claim and easy to check, so we check it in both states and hand over the screenshots either way.

Source of truth

Google Ads conversion-action diagnostics · GTM consent debug view

  • Capture the consent view before and after, showing the default command firing ahead of the first tag on the page.
  • Confirm all four v2 signals are present and region-scoped, with EEA and UK denied by default and other regions per policy.
  • Load the site as a declining visitor and verify no advertising cookie is written at any point afterward.
  • Reopen as a returning visitor and confirm the stored choice replays as a consent update, not just on the original click.
  • Screenshot the Google Ads diagnostics panel once the EEA requirement stops being flagged on the conversion action.
  • Send a test event and confirm the consent state arrives in the server container alongside it, and that tags honor it.

Consent Mode warnings · free audit

What we check in the free audit

  • Open the GTM consent view in a fresh incognito window
  • Check all four v2 signals by name
  • Click Reject, then read the cookie jar
  • Come back to the site as a returning visitor
  • Check where your European traffic actually comes from
  • Read the Google Ads diagnostics panel itself

Checked against

Google Ads conversion-action diagnostics · GTM consent debug view

Get my free conversion tracking audit

Free30 minutesNo obligation

Consent Mode warnings · when not to buy

When a full Consent Mode v2 build is premature

Consent work is worth doing properly, and it isn't worth doing early.

  • You serve US-only traffic, see no warning in Ads or GA4, and no state law puts you in scope. Set sane defaults and revisit later.
  • Your CMP ships a native GTM template and your only gap is ad_user_data and ad_personalization. That's an hour of your own time.
  • Counsel says no request may reach Google before consent. That's Basic consent mode and a policy call — no engineering also buys you modeling.
  • You run analytics only, with no remarketing and no conversion tags. The v2 advertising signals have nothing on your site to gate.

Consent Mode warnings · what we deliver

What we change in the consent chain

  • The default state placed ahead of everything

    The consent default command moved into the document head, before GTM and gtag, with wait_for_update tuned so the banner has time to answer without visibly stalling the page.

  • Four v2 signals, scoped by region

    ad_storage, analytics_storage, ad_user_data and ad_personalization set per region — EEA and UK denied by default, other regions set to whatever your counsel's policy actually says.

  • Per-tag consent settings across the container

    Every tag given explicit additional consent checks instead of "Not set", written up as a table you can hand to legal without translating it first.

  • Your CMP wired to the update command

    CookieYes, Cookiebot, Osano, Termly or an in-house banner hooked to fire consent update on accept, on reject, and on a later preference change — including the returning visitor whose choice is already stored.

  • Consent state carried into the server container

    The decision travels with the event to sGTM, so server-side tags respect it too. A server container that fires regardless of consent is the most common thing we find and the least often noticed.

  • Tag Assistant and Ads diagnostics evidence

    Screenshots of the consent view and the Google Ads diagnostics panel before and after, so you can see the flag change state rather than take our word for it.

Written guarantee

95%+ tracking accuracy

Measured against Google Ads conversion-action diagnostics · GTM consent debug view. Miss it and we keep working at no cost.

Get my free conversion tracking audit

FAQ

Consent Mode warnings questions, answered

The obvious part, yes. If your CMP ships a native GTM template, installing it and adding ad_user_data and ad_personalization gets a lot of accounts over the line in an hour. Three things catch people out and are worth budgeting a day of testing for: load order, because the default has to fire before your tags; region scoping, because a global denied default hurts traffic that never needed it; and the returning visitor, whose stored choice has to replay as an update on the second visit. Use GTM's consent debug view and check all three states.

Free · 30 min

Send me your URL and I'll tell you which tag is triggering the flag

Free30 minutesNo obligation