How to check Consent Mode v2 is working on your site
Check that Consent Mode v2 is working: defaults, all four signals and updates after visitors accept, using browser tools and Tag Assistant.
By Hamza Ahmad Aslam. Published . 6 min read.

To check Consent Mode v2 is working, confirm its default runs before Google measurement commands, contains all four signals and changes after a visitor accepts. Use a fresh private browser window to inspect the calls, then verify the sequence in Tag Assistant.
What are the four v2 signals?
Consent Mode v2 uses four signals to tell Google which advertising and analytics activities the visitor has allowed. Each signal can be denied or granted, based on the site's settings and the visitor's choice.
| Signal | What it controls |
|---|---|
ad_storage |
Storage related to advertising, including cookies or device identifiers. |
analytics_storage |
Storage related to analytics, including cookies used for visit measurement. |
ad_user_data |
Consent to send user data to Google for online advertising. |
ad_personalization |
Consent for personalized advertising. |
These descriptions follow Google's consent mode overview. Basic consent mode holds Google tags until someone interacts with the banner; advanced consent mode loads Google tags when the page opens and sends measurements without cookies while consent is denied.
The signals serve different purposes. A site can allow analytics storage while keeping advertising storage and advertising data use denied. Check each value against the choice the visitor made, rather than treating consent as one yes-or-no setting.
Why must the consent default run before Google tags?
The Consent Mode v2 default must be set before Google commands that send measurement data, such as config and event. If measurement runs first, the intended default cannot govern that earlier activity.
Google's website setup guide specifies the order. The default is needed on every page, and the consent state should update when the visitor makes a choice. A banner appearing before the page finishes loading does not establish when consent commands ran.
Here is an illustrative example of the order for a gtag.js integration. All four values start as denied. The update function is meant to run only after the visitor accepts all categories.
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
// Connect this handler to the banner's Accept all action.
function onAcceptAll() {
gtag('consent', 'update', {
ad_storage: 'granted',
analytics_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});
}
wait_for_update is a delay in milliseconds before data is sent. Google's example uses 500 milliseconds to allow an asynchronous consent tool to respond. The delay does not correct a default that was issued too late.
If your site uses Google Tag Manager, use the setDefaultConsentState and updateConsentState APIs in a consent template to set default and updated consent states. Do not use gtag('consent', 'update', ...) in place of updateConsentState.
How do you check it in the browser console and Tag Assistant?
You can inspect Consent Mode v2 through the browser's dataLayer and Network panel, then confirm the result in Tag Assistant. Start without a stored consent choice so an earlier visit does not hide the initial default.
Check the browser console and Network panel
- Open a fresh private window, visit the page and leave the banner untouched. Open developer tools, select Console, type
dataLayerand press Enter. - Expand the entries and look for one whose first two values are
consentanddefault. With the standardgtag()snippet, each call is pushed intodataLayer, making this a useful practical check. Look for all four signals and the expected default values. The consent default should precede measurement commands such asconfigorevent. - If you cannot find that entry, continue to Tag Assistant. A Tag Manager consent template can set consent through its own APIs, so the absence of a visible
gtag()entry does not by itself establish a failure. - Open the Network panel, reload before making a banner choice and filter for requests to Google Analytics or Google advertising services. For requests that appear, inspect their query parameters for
gcsandgcd. Repeat after accepting the banner to compare the requests.
Google says gcs communicates ad_storage and analytics_storage, while gcd carries more detailed consent information. The gcd parameter is sent to Google services even without Consent Mode enabled, and Google publishes no value table for decoding these fields. Avoid inferring the four signal values from a guessed gcs or gcd code. In basic consent mode, Google measurement requests may be absent before the visitor interacts.
Check Google Tag Assistant
- Open Tag Assistant, start a new session with your page URL and connect to the page. Accept all in the page tab.
- In the Summary, choose the earliest
Consentevent. Open itsAPI Callsection and check that all four signals were set. Alternatively, inspect theConsenttab in the tag output and itsOn-page Defaultcolumn. - Select the most recent
Consentevent after accepting. Check itsAPI Callsection for the new values, or use theOn-page Updatecolumn in the Consent tab. - Open the
Tagstab and check which tags fired or remained blocked for the selected consent state. Repeat with any regions where your banner uses different defaults.
Google's Tag Assistant debugging guide documents those columns and event checks. An empty Consent tab calls for investigating the configuration; a late default or missing update also needs attention.
For a first pass, the free Consent Mode v2 checker checks one page from one location. It flags pre-consent cookies and hardcoded tracker tags, checks Consent Mode v2 defaults and signals and recognizes 22 other consent tools. Its "update on accept" result is "Not tested" for every banner other than CookieConsentHQ, so use Tag Assistant to verify that interaction. If the check finds cookies before consent, finding and blocking them covers the fixes.
What does "update on accept" mean?
"Update on accept" means the page sends a new consent state after the visitor chooses which purposes to allow. The expected Google consent values must reflect those choices, including any advertising categories the visitor leaves disabled.
For example, an Accept all action can change all four signals from denied to granted, as in the code above. If a visitor accepts analytics but declines advertising, the expected result keeps ad_storage, ad_user_data and ad_personalization denied. Check the latest Consent event rather than relying on how the banner looks after closing.
Test rejection in another fresh private window, too. If the banner lets visitors change preferences later, grant consent and then withdraw it. An expected update should follow each change, including a switch back to denied. Verify that the choice remains in effect when you load another page, because Google's setup guide says Consent Mode itself does not save the visitor's preferences. The site should persist the choice and call the update command on later pages.
The distinction matters for linked advertising features. Google Analytics Help says Analytics expects ad_user_data for advertising measurement consent and ad_personalization for advertising personalization consent. These consent signals affect how Analytics data can be used with linked Google advertising products for EEA visitors.
How do you monitor it continuously?
Keep Consent Mode v2 working by repeating the default, signal and acceptance checks whenever your site changes. A successful test today cannot establish the order of scripts after a future deployment.
Rescan after site changes, tag changes, consent management platform (CMP) changes and theme or plugin updates. Run the browser and Tag Assistant checks again when a release affects the banner, Google tags or regional settings. Record the expected default states and acceptance behavior so someone else can compare results later.
CookieConsentHQ's Consent Mode Health Monitor checks a site's Google Consent Mode v2 signals on every scheduled site scan. Starter scans run weekly, and Growth and higher plans scan daily. Free scans run monthly, but the Health Monitor starts at Starter and is not included on Free.
Keep the manual accept, reject and preference-change tests in your release process alongside scheduled scans. For questions about which consent defaults are legally appropriate for your visitors, consult qualified legal counsel.
Sources
- Consent mode overview, checked 2026-10-19
- Set up consent mode on websites, checked 2026-10-19
- Troubleshoot consent mode with Tag Assistant, checked 2026-10-19
- [GA4] Verify and update consent settings in Google Analytics, checked 2026-10-19
Run the free checker on your site
Go