Dev.to WebDev 🛠 Dev 👁 0 📖 4 min read

Is Google Consent Mode working? A 5-minute check

Short answer: In Tag Assistant's Consent tab, every consent type needs an On-page Default before any Google tag fires, and an On-page Update only after you click accept or reject. On 5 Nov 2026 we read the public setup o

Short answer: In Tag Assistant's Consent tab, every consent type needs an On-page Default before any Google tag fires, and an On-page Update only after you click accept or reject. On 5 Nov 2026 we read the public setup of 1,727 sites: 48.5% show a Consent Mode signal, and 21.0% of the 1,261 that load an ad pixel show neither a consent tool nor Consent Mode. A signal means the setup exists. It doesn't prove the tags wait.

How many sites have Consent Mode set up?

On 5 Nov 2026 we fetched the homepage, /pricing, /signup and /demo of 2,332 domains and read their public GTM and Google tag containers: 1,727 reachable and distinct (full study). A Consent Mode signal is a gtag('consent', 'default', …) call, a Consent Initialization trigger, or a consent template that writes consent state.

  • Consent tool (CMP) loaded: 62.0% of 1,201 B2B SaaS, 58.8% of 255 ecommerce, 42.8% of 271 agencies, 58.5% of 1,727 overall.

  • Consent Mode signal: 52.3% of 1,201, 39.6% of 255, 39.9% of 271, 48.5% of 1,727.

  • Ad pixel with no consent tool and no Consent Mode: 18.2% of 908, 17.7% of 158, 36.9% of 195, 21.0% of 1,261.

  • Google Ads sites where a tag has a GTM consent check: 50.0% of 684, 68.5% of 73, 35.7% of 129, 49.4% of 886.

Smaller sites lag: 34.3% of 216 pixel sites outside the Tranco top 1M, against 15.3% of 131 in the top 10k. Top tools: OneTrust (358 sites), Cookiebot (205), CookieYes (160), HubSpot banner (108). A banner can load and never tell Google tags the answer: 1,011 sites load a consent tool, 837 show a Consent Mode signal.

How do I check Consent Mode in Tag Assistant?

  • Private window, tagassistant.google.com, connect your domain, leave the banner alone (Google's steps). Test from a region where your banner asks first.

  • First event, Consent tab: On-page Default needs a value for each type you use before the first Google tag fires.

  • Reject: On-page Update shows denied. Fresh window, Accept: granted. Ads and GA4 tags fire after the default.

How do I read gcs in DevTools?

Every Google tag hit carries the consent state in its URL. Private window, DevTools, Network, Preserve log on, filter gcs=. Leave the banner alone, open a request to google-analytics.com, googleadservices.com or doubleclick.net.

G100: ad_storage and analytics_storage both denied. G110: ad granted, analytics denied. G101: ad denied, analytics granted. G111: both granted. No gcs: no consent state reached that tag. Google doesn't document gcs.

On 5 Nov 2026 we loaded three consent vendors' homepages from a US address, clicking nothing. Two sent GA4 hits with gcs=G100, then G111 seconds later. The third sent Google Ads hits with no gcs.

Why is my Google Ads tag blocked by the CMP?

  • A default with no update: the banner never sends gtag('consent', 'update', …).

  • Two defaults (the consent template plus a snippet or plugin): the later one wins.

  • A late default. It belongs on the Consent Initialization trigger, not All Pages.

  • Basic Consent Mode. Google tags wait until the visitor agrees (Google). Blocked after accept is the bug.

  • Two of the four types. Setups from before 2024 often miss ad_user_data and ad_personalization.

Why did my Google Ads conversions drop after Consent Mode v2?

v2 added ad_user_data and ad_personalization in November 2023 (Google). Three tests, in order:

  • Split by country. Google Ads Locations report, Conversions column, 14 days either side of the change. Only EEA, UK and Swiss fell: consent. Every country fell: the tag, see clicks but no conversions.

  • All four types. In Tag Assistant's Consent tab, Default and Update both list all four. Two types only is a pre-2024 setup.

  • Modelling floor. Google models visitors who said no only above 700 ad clicks over 7 days, per country and domain grouping. Below it, the drop is real.

Using enhanced conversions? On 5 Nov 2026, 80 of 347 such Ads sites (23.1%) showed no Consent Mode signal in their public container. Static read only.

How do I make tags wait for the answer?

  • Find every default. Paste your GTM ID into our free consent mode checker: it lists defaults and tags with no consent check. Search the page source for 'consent' too. Keep one.

  • Set it first: the consent tool's GTM template on Consent Initialization, all four types, denied where you ask first.

  • Wire the update on accept and reject. Most templates do once their Consent Mode option is on.

  • Gate other pixels (Meta, LinkedIn, TikTok; Meta Pixel guide): Consent settings in each non-Google tag, require ad_storage.

  • Retest accept, reject and ignore, each in a fresh window.

Not legal advice: which regions need a denied default is your privacy counsel's call.

What can't we see from outside?

  • Whether tags wait. The study read setups, not each site per region.

  • Server-side and app-injected consent (server container, run time, Shopify app pixel) isn't in the public container, so real rates are likely higher, most of all for ecommerce.

  • Your Google Ads account. Its consent rate and whether a conversion is primary or secondary.

Updated 10 Nov 2026: Consent Mode v2 drop tests. Data: our study data, scanned 5 Nov 2026. The gcs example: headless Chromium, 5 Nov 2026. Method. Consent timing needs a live browser visit: consent checks.

FAQ

Can Fireshift tell whether my tags wait for consent?

Originally published on fireshift.ai. We built Fireshift, a free scan that reads what a site sends to Google Ads and GA4 from the outside.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.