What we check
In the HTML: is there a gtag('consent', 'default', {…}) or 'update' call, and which of the four V2 parameters does it carry: ad_storage, analytics_storage, ad_user_data, ad_personalization. All four means "ok", a subset "to review". A missing call is critical when no CMP was detected, and "to review" when one is present, because it probably sets the default inside the tag manager.
In the deep scan: the browser hooks dataLayer.push before any script runs and records the first consent default with its parameters. That result replaces the static line. If the browser sees no default but Google pings carrying a gcs stamp, Consent Mode is active; the completeness of the parameters then remains to be verified in Tag Assistant.
Why it matters
Since March 2024 Google requires Consent Mode V2 from advertisers with users in the EEA. Without the two new parameters no signals flow into remarketing lists and conversion modelling, and the campaigns optimise on a fraction of the real conversions. What the migration looks like in practice is covered in the hands-on guide to Consent Mode V2.
Common causes
- Consent Mode is "enabled", but only the two old parameters are set;
ad_user_dataandad_personalizationhave been missing since the mandatory V2 update. - The default is set in the tag manager, but only after the first tag, the classic race condition on SPAs.
- The CMP categories were never mapped to the Consent Mode parameters. The banner collects consents, gtag never hears about them.
- A template or plugin sets the parameters only on subpages, the homepage loads without a default state.