hello@datascale.de+49 89 921 35 623tracked cookie-free · /openDEEN

Search services, integrations and blog posts.

DatascaleResourcesChecksConsent Mode signal after update

Check · C01 · Consent Mode V2

Consent Mode update: does gtag hear about the consent

The deep scan clicks "accept" and waits for gtag('consent', 'update'). Without the call the Google signals stay on denied, even for visitors who agreed.

What we check

In the deep scan: the browser hooks dataLayer.push before the first script and then clicks "Accept all". If a gtag('consent', 'update', {…}) appears afterwards, the line is "ok"; if it does not, the line reads "to review", because Consent Mode V2 may then never learn about the opt-in. No Google tag, no line. Without GA4 or Google Ads there is nothing that would need an update.

What the scan cannot see: updates a CMP implements through a different dataLayer name or by reading the cookie directly in the tag manager, and updates that fire only after the time limit. The content of the update, meaning which of the four parameters are granted, is checked by the Consent Mode V2 finding.

Why it matters

Consent Mode is a two-stroke engine. The default says "denied" before any tag loads. The update says "granted" when someone agrees. Without the second stroke, Google stays on the first, for everyone: the consent is logged in the CMP and never reached Google. Campaigns then run on modelled conversions, remarketing lists do not fill, and in the report the consent rate looks like a banner problem although the banner does its job. What the integration looks like in the common CMPs is covered in the hands-on guide to Consent Mode V2.

Common causes

  • The CMP's Consent Mode integration is disabled, the banner only stores the decision internally.
  • A custom banner replaced the standard CMP UI and simply never calls gtag("consent","update",…).
  • The update fires into the void: a custom dataLayer name, or gtag is never defined on the page.
  • The CMP SDK loads after GTM, the update arrives too late and the first hits of the session go out with the default.

The fix

Switch on the Consent Mode integration in the CMP or fire the update yourself in the accept callback: gtag('consent', 'update', {…}) with the granted categories. Order in the template: default before GTM, CMP SDK before GTM, update after the decision. None of that is optional. Then verify in Tag Assistant that the first ping carries gcs=G100 and the next one after the click G111; in Usercentrics the update belongs to the Google Consent Mode integration, and the details are in the guide Usercentrics + Server-Side GTM.

Matching template

Consent Mode Audit Checklist

Seven layers, each with a check, a failure signal and an owner. Covers this finding and the six around it.

Get the checklist →

Check it yourself first

The Tracking Check tests this point along with all the others, in seconds.

Start the Tracking Check →
Our CMP has Consent Mode enabled. Why is the update still missing?

The integration usually sets the default, not necessarily the update. In Cookiebot, Usercentrics and consentmanager the update is a separate switch or a separate template in the tag manager. If it is off, the banner keeps the decision to itself; gtag stays on denied and Google Ads measures nobody. After the click, search the network tab for gcs=G111: that is the stamp only an update produces.

What happens without the update, concretely?

GA4 and Google Ads keep running in the default state, denied. Advanced then sends cookieless pings for everyone, including the 60 % who agreed; basic sends nothing at all. Conversions get modelled instead of measured, remarketing lists stay empty. The consent sits with the CMP, it never reached Google.

The scan sees the update, but reporting stays patchy. What else?

Order. If the update arrives after the first page_view, the first hit of every session goes out as denied. The default has to sit before GTM, the update in the CMP's accept callback, and the tags may only fire after that. The finding consent activates measurement shows whether anything measures after the click at all.

The fix, delivered

Wired up in days, not sprints.

Findings from the Tracking Check go into a ranked sequence with effort estimates in the Audit Sprint, every module with an acceptance criterion.