Is Google Consent Mode v2 Enabled? The Traffic Light Test (+ GTM Setup)
A three-level test to find out if Google Consent Mode v2 is enabled and actually working, plus how to set up consent mode in Google Tag Manager.
Most guides tell you to "open Tag Assistant and look." That's fine if you already know what you're looking at. This guide works differently: think of it as a traffic light test. You go through three checks, each one deeper than the last. Stop as soon as you get a clear answer.
Green light (30 seconds): Is Consent Mode v2 there at all?
Yellow light (3 minutes): Is it set up in the right order?
Red light (10 minutes): Does it actually respond when a visitor clicks your cookie banner?
If your site passes all three, you can stop worrying. If it fails one, you'll know exactly where the problem is.
Why "enabled" isn't the same as "working"
Plenty of sites have a cookie banner and a Consent Mode setting switched on, but still send Google the wrong signals. Consent Mode v2 needs four signals, not two:
Signal | What it controls | New in v2? |
adstorage | Advertising cookies | No |
analyticsstorage | Analytics cookies | No |
aduserdata | Sending user data to Google for ads | Yes |
adpersonalization | Remarketing and personalized ads | Yes |
If the two new signals are missing, Google treats your setup as outdated, and your EEA remarketing lists and conversion modeling suffer. So "enabled" should really mean: all four signals exist, they start as denied, and they change when the visitor chooses.
Green light: the 30-second check
Option A: Use a free scanner
Paste your URL into the free Consent Mode checker. It finds your Google Tag Manager container, GA4, Google Ads tags, and cookie banner, and tells you whether Consent Mode v2 signals were found.
Option B: Look at the network requests yourself
1. Open your site in a private (incognito) window. Don't click the cookie banner yet.
2. Open Chrome DevTools (F12) and go to the Network tab.
3. Type collect in the filter box (GA4) or googleads / conversion (Google Ads).
4. Click a request and look at its parameters for gcs and gcd.
gcs is the short version. G100 means ads and analytics are both denied. G111 means both are granted.
gcd is the long v2 string (it starts with 11, e.g. 11p1p1p1p5). If you see gcd, Google is receiving v2 signals.
No gcs or gcd at all? Consent Mode isn't running. Go to the GTM setup section below.
Yellow light: the 3-minute order check
Consent Mode only works when the default (denied) state is set before any Google tag fires. If a tag fires first, it may drop cookies before the visitor has agreed.
Use Google Tag Assistant, as Google recommends in its verification guide:
1. Open Tag Assistant and enter your URL. A new tab opens with your site.
2. Don't touch the banner. Go back to Tag Assistant.
3. In the left-hand Summary, click the very first Consent event.
4. Check the API Call section. You should see all four signals set to denied (for EEA visitors at least).
5. Make sure this Consent event appears above the first Container Loaded, Page View, or Config event.
What you're looking for:
Common yellow-light problems
Only two signals are listed (an old v1 setup).
The default appears after the first page view.
Defaults are set to granted for everyone, including EEA visitors.
Red light: the 10-minute behavior check
Now you test the real thing: does the banner actually tell Google what the visitor chose?
1. In the same Tag Assistant session, click Accept all on your banner.
2. In the Summary, click the newest Consent event. The API Call should now show update with the signals set to granted.
3. Click your GA4 or Google Ads tag and open the Consent tab. The Current State column should show Granted.
4. Start a new session and click Reject all this time. Confirm the update shows denied, and that the gcs value in network requests stays G100.
5. Reload the page after accepting. The consent choice should be remembered before tags fire, not re-asked or re-set to denied.
If Accept works but Reject doesn't send an update (or the other way around), your banner and GTM aren't talking to each other properly.
Consent Mode in Google Tag Manager: the setup
If any light failed, this is usually where the fix is. Here is how Consent Mode v2 is set up in Google Tag Manager.
Step 1: Turn on Consent Overview
In GTM, go to Admin → Container Settings and tick Enable consent overview. A shield icon appears on the Tags screen, showing which tags have consent settings and which don't.
Step 2: Add your cookie banner's official template
Go to Tags → New → Tag Configuration → Discover more tag types in the Community Template Gallery. Search for your banner (Cookiebot, CookieYes, OneTrust, Complianz, Usercentrics, and others). Add the template and:
Fill in your banner's ID.
Set default states for all four signals to denied (for the EEA/UK regions at least).
Set the trigger to Consent Initialization - All Pages. This trigger fires before everything else, which is the key to passing the yellow light.
Step 3: Check your Google tags
GA4 and Google Ads tags have built-in consent checks, so they read Consent Mode automatically. In the Consent Overview, they should show as having built-in consent. Don't add extra "Require additional consent" settings to them unless you have a specific reason.
Step 4: Handle non-Google tags
Tags like the Meta Pixel, LinkedIn Insight, or TikTok don't understand Google's Consent Mode. For each one, open Advanced Settings → Consent Settings → Require additional consent for tag to fire, and add adstorage (or the signal that fits).
Step 5: Preview and test
Click Preview, load your site, and open the Consent tab in the debug window. Check the On-page Default and On-page Update columns for all four signals. Then run the red-light test again.
Quick diagnosis table
What you see | What it probably means | Where to fix it |
No gcs / gcd in requests | Consent Mode not set up | GTM Step 2 |
gcs present but no gcd | Old v1 setup | Update the banner template to v2 |
Only 2 signals in the default | v1 defaults | Add aduserdata and adpersonalization |
Default comes after page view | Wrong trigger | Use Consent Initialization - All Pages |
Accept doesn't send an update | Banner not linked to GTM | Check the template ID or the banner's GCM setting |
Meta Pixel fires before consent | Non-Google tag unprotected | GTM Step 4 |
Also check inside Google Ads
In Google Ads, go to Goals → Conversions → Summary. Conversion actions with Consent Mode active will show a consent status in the diagnostics. It can take a few days after a fix before this updates, so use Tag Assistant for quick confirmation.
The short version
1. Green: gcd shows in network requests → v2 is present.
2. Yellow: all four signals default to denied before the first tag → the order is right.
3. Red: Accept and Reject both send the right update → it actually works.
Don't want to do this by hand? Run a free scan to get all three checks in about a minute. If you need to set things up from scratch, follow our Google Consent Mode v2 implementation guide.
Run a free Consent Mode v2 scan