Skip to main content

Google Consent Mode v2

Google Consent Mode v2 is Google's way of receiving consent signals from a website's cookie banner. Google now requires it for advertisers in the European Economic Area (EEA) and recommends it everywhere else.

This page explains what it is and how One Privacy handles it for you (no engineering work needed).

Why it exists

Google Analytics, Google Ads, and other Google products need to know whether your visitors have agreed to analytics and advertising cookies. Without that signal, Google is conservative: tags don't fire, or fire only with limited data.

Consent Mode is the standard way to tell Google "this visitor accepted analytics" or "this visitor rejected ads," in real time, as the visitor makes their choice. Google describes it in About consent mode and in the Consent mode overview for developers.

What it controls

Google Consent Mode uses a small set of signals. The most important ones:

SignalWhat it controls
ad_storageWhether ads cookies can be stored.
analytics_storageWhether analytics cookies can be stored.
ad_user_dataWhether ads can use the user's personal data.
ad_personalizationWhether ads can be personalized.
functionality_storageWhether functional cookies can be stored.
security_storageAlways granted (security cookies are necessary).

Each one is granted or denied based on what the visitor chose on the banner.

How One Privacy handles it

One Privacy emits the right Consent Mode signals automatically. You don't have to write any code.

On page load. Before the visitor has chosen anything, One Privacy sets all signals to denied (except security_storage). Google's tags wait briefly for an update before firing.

After the visitor chooses. One Privacy maps the visitor's category choices to the Consent Mode signals and sends a gtag('consent', 'update', ...) call. Google's tags pick up the new state and behave accordingly.

The mapping:

Visitor acceptsGoogle signals updated to granted
Functionalfunctionality_storage
Performanceanalytics_storage
Targetingad_storage, ad_user_data, ad_personalization

(Necessary cookies always map to security_storage: granted.)

Regions without a banner

You may show the banner only where you ask for consent, for example in the EEA, and show nothing elsewhere. Set a geo rule for those regions with No banner.

Visitors in a No banner region see nothing. Every cookie category is granted for them, and One Privacy sends the Consent Mode update at once, so Google tags do not stay at the denied default. All signals are granted and measurement continues as if no consent banner applied. The same happens for visitors that no rule covers.

If you set Data transmission controls or Global consent defaults in your Google tag settings, keep the same idea: where the banner does not appear, the rule grants consent.

What you should check

Your Google tags respect Consent Mode. In Google Tag Manager, every Google tag has a "Consent Settings" section. The default ("No additional consent required") is usually correct, because Google's tags read the Consent Mode state automatically. Google's steps for a site that uses a consent management platform are in Set up consent mode.

Tags gated behind consent need an extra trigger. Tags gated with "Require additional consent for tag to fire" are blocked at page load but are not re-fired when the visitor accepts. Add the one-privacy-consent-updated custom event as a second trigger — see GTM dataLayer integration.

Order of scripts. The One Privacy snippet should load before your Google tags so the default call fires first. See Getting your script.

Test it. Open Chrome DevTools, go to the Network tab, and reload your website. Verify that Google Analytics requests don't fire until the visitor accepts (or that they fire in "consentless" mode and switch behavior after consent). For a full check, run onePrivacy.debug() in the Console. See Debug Google Consent Mode. Google's own check is Troubleshoot consent mode with Tag Assistant.

If signals go missing

Start with One Privacy support, not Google. Email google-support@oneprivacy.io and put cmp-support-helper@google.com in CC. See Contacting support.

What's next

Create a Google-ready banner.

GDPR guide.

CCPA / CPRA guide.

Installing with Google Tag Manager.