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.
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) that are required by Google for EEA traffic as of 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 togranted(required for fraud detection and authentication).
Category-to-Parameter Mapping
Kukie.io maps your cookie categories to GCM parameters as follows:
| Kukie Category | GCM Parameters |
|---|---|
| Analytics | analytics_storage |
| Marketing | ad_storage, ad_user_data, ad_personalization |
| Functional | functionality_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: 500parameter 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
denieduntil the visitor explicitly grants consent. Google tags run in restricted mode until then. - Opt-out (CCPA) - defaults are set to
denied, then immediately updated togranted. 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
deniedand immediately updated togranted. No banner is shown.
Testing with Google Tag Assistant
Use Google Tag Assistant (tagassistant.google.com) to verify that consent signals are firing correctly:
- Open Tag Assistant and connect your website.
- Load a page and check that a
consentevent withdefaultvalues appears before any GA4 or Ads events. - Accept cookies on the banner and verify that a second
consentevent appears withupdatevalues set togranted. - Check that subsequent GA4 events fire with full measurement capabilities.