Skip to content

Google Consent Mode v2 Validation

Last updated: August 11, 2026

Use this page to verify Google Consent Mode v2 implementation quality before release.

Verify all four keys are set and updated:

  • ad_storage
  • analytics_storage
  • ad_user_data
  • ad_personalization

Baseline expectation:

  1. Consent default is set before Google tags evaluate.
  2. In banner regions, user choice triggers consent update.
  3. In no-banner regions, defaults still resolve correctly (granted where banner is intentionally suppressed).
  4. No conflicting consent commands are pushed by other scripts.

For GTM, use Consent Initialization - All Pages trigger.

For full GTM implementation steps, see Google Tag Manager (GTM) Template Guide.

When enabling Consent Mode without IAB TCF for a web property, start with the CYBEXO Google-ready banner in the dashboard. It is designed to make these points prominent before the affirmative choice:

Set a real privacy-policy URL for the property before publishing. The template is a technical implementation aid, not legal advice or a determination that a particular consent design meets every obligation that applies to the customer.

Google describes two implementation models. Select one deliberately and test the result on the production domain.

Use basic mode when the customer wants Google tags blocked until the visitor makes a choice.

  1. In GTM, configure the Google tags and their triggers/consent checks so they do not run before a positive consent choice.
  2. Install the CYBEXO GTM tag on Consent Initialization - All Pages so the consent state is available to the container.
  3. In a fresh browser session, confirm no Google tag request is sent before acceptance; then confirm the intended tags can run after acceptance.

Use advanced mode when Google tags load with CYBEXO Consent Mode defaults and receive a consent update after the visitor’s action.

  1. Install the CYBEXO GTM tag on Consent Initialization - All Pages.
  2. Keep the four-key default state region-appropriate; banner flows begin with the denied state and send an update after the visitor chooses.
  3. Verify in Tag Assistant that the default precedes Google tag execution and that the update reflects the visitor’s choice.

For the operational difference and Google’s current definitions, see Google Analytics: consent mode basic and advanced. Consent Mode configuration does not itself settle the customer’s legal or regulatory obligations.

(window.dataLayer || []).filter(e => Array.isArray(e) && e[0] === 'consent')

Expected result: you can see both default and update commands in order.

  1. Open Tag Assistant preview.
  2. Test an EEA/UK session and reload with a fresh session.
  3. Confirm consent defaults are present before Ads/Analytics tag execution.
  4. Interact with banner and confirm consent update values change according to choice.
  5. Test a non-banner region session and confirm defaults are granted when banner is intentionally not shown.
  • Keep CMP tag in Consent Initialization, not regular Page View.
  • Avoid duplicate consent default commands from multiple templates.
  • Keep region overrides documented in container notes.
  • Do not hardcode one global denied default for every region.
  • If a Google tag is delivered through Google tag gateway, follow the Google tag gateway load-order and remediation guide before changing the CMP or tag sequence.
  • Consent defaults pushed too late.
  • Tags fire before consent defaults.
  • Missing one or more v2 keys in default or update calls.
  • Another plugin overwrites consent state.
  • No-banner sessions incorrectly receive denied defaults.
  • Tag Assistant screenshots with event timeline (EEA banner flow + non-banner regional flow).
  • Browser console export of consent events.
  • CMP debug report from production domain.

See Cybexo Debug Tool and Audit Checklist (Pre-Launch).