Skip to content
Features Pricing Free Cookie Scanner Consent Mode Checker Script Audit TCF String Decoder Cookie Database GDPR Scanner Compliance Blog
Start Free → Login

Documentation

Google Consent Mode v2

Google Consent Mode v2

Last updated Apr 15, 2026

Google Consent Mode v2 (GCM v2) lets Google tags adjust their behaviour based on the consent status of your visitors. When integrated with Kukie.io, your Google Analytics, Google Ads, and other Google tags automatically respect consent choices without requiring any additional code on your part.

WordPress users: Google Consent Mode v2 can be enabled directly from the WordPress plugin settings page - no manual code changes needed.

1Default DeniedAll params denied2User ConsentsAccepts categories3Update GrantedConsent signals sent4Tags FireFull data collection

What Is Google Consent Mode?

Google Consent Mode is an API that lets you communicate your visitors' consent status to Google services. Instead of blocking Google tags entirely when consent is denied, GCM tells Google to run in a restricted mode - collecting no personal data and using no cookies, but still sending anonymous pings that help with conversion modelling.

Version 2 of Consent Mode introduces two additional parameters (ad_user_data and ad_personalization). Google requires these parameters under its own platform policies for Google Ads audience building, remarketing, and conversion modelling features for EEA traffic, effective March 2024.

The 7 Consent Parameters

GCM v2 uses seven consent parameters. Kukie.io manages all of them automatically:

  • analytics_storage - controls whether Google Analytics can use cookies and storage.

  • ad_storage - controls whether Google Ads can store conversion cookies.

  • ad_user_data - controls whether user data can be sent to Google for advertising.

  • ad_personalization - controls whether personalised ads can be shown.

  • functionality_storage - controls storage for enhanced features (e.g. language preferences).

  • personalization_storage - controls storage for personalisation features (e.g. video recommendations).

  • security_storage - always set to granted (required for fraud detection and authentication).

Category-to-Parameter Mapping

Kukie.io maps your cookie categories to GCM parameters as follows:

Kukie CategoryGCM Parameters
Analyticsanalytics_storage
Marketingad_storage, ad_user_data, ad_personalization
Functionalfunctionality_storage, personalization_storage
(Always)security_storage → always granted

When a visitor accepts the Analytics category, analytics_storage is updated to granted. When they accept Marketing, the three advertising parameters are granted. And so on.

Default Denied → Update on Consent

On every page load, the banner script fires gtag('consent', 'default', {...}) with all parameters set to denied and a wait_for_update: 500 directive. This tells Google tags to wait up to 500 milliseconds for a consent update before proceeding in restricted mode.

For returning visitors who have already consented, the banner immediately fires gtag('consent', 'update', {...}) with the appropriate parameters set to granted - all before Google Tag Manager is loaded. This ensures that the very first GTM event contains the correct consent state.

Tip: The wait_for_update: 500 parameter is critical. It gives the consent update time to fire before Google tags start their own initialisation. Without it, tags may initialise in denied mode even if the visitor has already consented.

Enabling Google Consent Mode

In the Banner Editor, go to the Integrations tab. Toggle Google Consent Mode v2 to on. That is all that is needed - the banner script handles the rest automatically.

If you also use Google Tag Manager, enable the GTM integration on the same tab and enter your container ID. See Google Tag Manager Integration for details.

Behaviour Per Consent Model

The GCM integration adapts to each consent model:

  • Opt-in (GDPR) - defaults stay denied until the visitor explicitly grants consent. Google tags run in restricted mode until then.

  • Opt-out (CCPA) - defaults are set to denied, then immediately updated to granted. Google tags collect full data from the start. If the visitor later opts out, an update revokes the grant.

  • Notice Only - same behaviour as opt-out.

  • Hidden - defaults are set to denied and immediately updated to granted. No banner is shown.

Testing with Google Tag Assistant

Use Google Tag Assistant (tagassistant.google.com) to verify that consent signals are firing correctly:

  1. Open Tag Assistant and connect your website.

  2. Load a page and check that a consent event with default values appears before any GA4 or Ads events.

  3. Accept cookies on the banner and verify that a second consent event appears with update values set to granted.

  4. Check that subsequent GA4 events fire with full measurement capabilities.

Official Google Documentation

For Google's authoritative reference on Consent Mode v2, see:

Related Guides

Was this helpful?

Listed On