DEV Community

Montherion Labs
Montherion Labs

Posted on Originally published at tracklint.netlify.app

How to check Consent Mode v2 in the browser

Consent Mode lets Google’s tags adjust what they do to the visitor’s consent choices. Version 2 added two signals, ad_user_data and ad_personalization, to the original ad_storage and analytics_storage, and Google asks for them to use its advertising features with visitors in the European Economic Area. A banner that looks right can still send the wrong state. You can check it in Chrome DevTools.

The four signals

  • ad_storage: storage, such as cookies, related to advertising.
  • analytics_storage: storage related to analytics, such as visit duration.
  • ad_user_data: consent to send user data to Google for advertising.
  • ad_personalization: consent to personalized advertising.

1. A default before the measurement tags

The initial state must be set before Google’s measurement tags send anything. How to check it depends on the implementation:

  • With gtag.js: open the DevTools Console, type dataLayer (or the name of the data layer your site configures) and expand it. The consent default command should appear before the config command and before any event.
  • With a consent template in Google Tag Manager: the template can set the state without adding those commands to the dataLayer. Check the effective state in Tag Assistant instead.

2. The state after the banner

Accept or reject in your banner and check that the effective state matches the choice. With gtag.js, look for the consent update commands in the configured data layer; with Tag Manager templates, check it in Tag Assistant. Rejecting can keep a state that was already denied, and in basic mode the tags can stay blocked without loading. Before repeating with the other choice, close every private window or clear the site’s data, so the first choice isn’t remembered.

3. What GA4 requests carry

In the Network tab, filter by collect. When they are present, check two parameters:

  • gcs: G1 followed by one digit for ad_storage and one for analytics_storage (1 granted, 0 denied). G100 means both denied; G101, advertising denied and analytics granted; G110, the opposite; G111, both granted.
  • gcd: a longer code that also covers ad_user_data and ad_personalization, and whether each value came from a default or an update. Its presence alone doesn’t prove the four signals are configured.

In advanced Consent Mode, GA4 can send cookieless pings while analytics_storage is denied; denying only the advertising signals doesn’t imply the same behavior. In basic mode, the tags stay blocked until the corresponding consent is granted; rejecting it doesn’t enable them.

4. Tags that don’t follow Consent Mode

Consent Mode controls Google’s tags. The Meta Pixel and other tags only respect the visitor’s choice if your consent tool or tag manager blocks or configures them. After rejecting advertising consent, filter the Network tab by facebook.com/tr and check whether new requests appear that your setup should have blocked.

This guide is about checking the technical setup. It is not legal advice.

Scope

These checks examine outgoing requests visible in the browser. They do not establish what Google Analytics or Meta received, processed or counted, and they do not inspect server-to-server traffic or determine legal compliance.


Google Analytics and Google Tag Manager are trademarks of Google LLC. Meta is a trademark of Meta Platforms, Inc. Tracklint is not affiliated with, endorsed or sponsored by Google or Meta.

This article was written with AI assistance (#ABotWroteThis). It was first published on the Tracklint website: How to check Consent Mode v2 in the browser.

Top comments (0)