Single page-load check

Consent Mode v2 validator

Enter the full page URL you want to scan. We'll load it in a real browser and analyze it live.

Browser session capture

The tool opens the page in a headless Chromium session and records the cookies, requests, tags, and dataLayer activity visible during that run.

Scoped rule set

Each tool applies a narrow ruleset to the captured session. It is useful for implementation QA, not a full-site crawl or legal determination.

Point-in-time report

Results show what was observed in that session, with severity labels and evidence. Re-run after changes or if your site varies by region or user state.

What we check

4 required consent types

Validates ad_storage, analytics_storage, ad_user_data, and ad_personalization are all present.

Default denied state

Checks that the consent default command sets all types to "denied" before user interaction.

Update mechanism & timing

Verifies consent update fires after user interaction and before GA4 config command.

GCS parameter

Confirms GA4 requests include the Google Consent Signal (GCS) parameter proving consent mode is active.

How to read results

Each check reflects one observed page load. A failure means the expected signal, order, or parameter was not observed in that session.

Critical = Required type, default, or ordering issue observedWarning = Signal present but incomplete or ambiguousPass = Expected pattern observed on this page load

For implementation QA only. Does not certify compliance across all templates, regions, or user journeys.

Common issues we find

Missing ad_user_data and ad_personalization

These fields were added in Consent Mode v2, but some setups still send only ad_storage and analytics_storage. Add all four types to the default command.

Defaults set to "granted" instead of "denied"

If defaults are granted, Google tags can fire before a user choice. Set consent defaults to "denied" in the CMP or GTM template.

GA4 config fires before consent default

If gtag("config") runs before the consent default, consent mode cannot shape the first request. Ensure the default command fires first in the tag sequence.