Skip to main content

Consent Mode v2 check

The Consent Mode v2 check confirms that Google Consent Mode v2 is wired up correctly on your site. It uses the same crawler as the scanner, OptSensBot, and runs in three places:

  • on the Integration page, as part of the implementation check,
  • with every cookie scan, for each scanned page, when Consent Mode is on,
  • in the free public check, which works for any site and any consent tool.

For what OptSens sets and why it matters for Google Ads and Analytics, see Google Consent Mode v2.

What it checks​

The check loads a page and watches the order in which consent signals and Google tags fire, before any visitor makes a choice. It looks for:

  • A consent default: a consent default call that sets the initial state before tags run
  • All four v2 signals in that default: ad_storage, analytics_storage, ad_user_data and ad_personalization
  • Correct ordering: the consent default fires before the first Google tag, and no tag runs without a consent state
  • The IAB TCF API in time: when the site uses IAB TCF, the __tcfapi function exists before the first Google tag runs
  • wait_for_update: a timeout that gives a banner loaded through a tag manager time to update consent before tags act on it

It also reads region overrides, the url_passthrough and ads_data_redaction flags, detects the GTM containers and GA4 measurement IDs present on the page, and recognises a Google tag served through your own domain with Google tag gateway.

What it does not do​

The check observes the consent setup. It does not send hits to your analytics. It blocks Google's measurement requests during the check, including the ones a Google tag gateway sends through your own domain, so Google tags can load without registering page views in your reports.

The result​

The check returns one of these results:

ResultMeaning
Fully configuredA consent default with all four v2 signals fired in the right order
Partially configuredSome consent code is present, but the setup is incomplete
Not configuredGoogle tags run, but no consent code was found
Not applicableThe page has no Google tags, so Consent Mode does not apply

Common findings​

  • No consent default: tags can fire without a consent state. Make sure the OptSens script loads before your Google tags.
  • Missing signals: the default is present but does not set all four v2 signals.
  • Default after first tag: the consent default fires too late, after a tag has already run. Loading order is the usual cause.
  • IAB TCF API after first tag: a Google tag ran before the __tcfapi function existed, so Google went on without the visitor's TCF consent.
  • Google tag gateway runs before the consent default: a Google tag served through your own domain ran first. See Google tag gateway for the fixes.
  • No wait_for_update: a tag-manager-delivered banner has no window to update consent before tags act.

To fix ordering problems, load the OptSens script at the top of <head>, above your Google tags. In Google Tag Manager, use the OptSens template with the Consent Initialization - All Pages trigger. See install with Google Tag Manager and verify installation.

If the check comes back empty​

If the check cannot read your page, it is usually blocked by a bot challenge or firewall before it loads. Allow OptSensBot and run it again. See OptSensBot for the allow options, and troubleshooting for more help.