Google Consent Mode v2 Implementation: Complete Guide for 2026
A step-by-step guide to implementing Google Consent Mode v2 — choosing a certified CMP, configuring GTM, setting all four consent signals, and testing your setup.
Google Consent Mode v2 has been mandatory since March 2024 for all sites running Google Ads to EU/UK users. Yet most sites still haven't implemented it correctly.
This guide covers everything you need to implement Consent Mode v2 properly — from choosing a CMP to verifying your setup is working.
Before You Start: Check Your Current Setup
Many sites already have partial Consent Mode implementation. Check what you're working with before making changes:
Free Consent Mode v2 Scanner →
Takes 60 seconds. Shows exactly what's configured and what's missing.
What is Google Consent Mode v2?
Consent Mode v2 is Google's framework for adjusting tag behavior based on user consent choices.
When implemented correctly:
Tags respect user consent decisions
Google models conversions for non-consenting users
Remarketing works within privacy rules
GDPR compliance is maintained
When NOT implemented:
Tags fire regardless of consent (GDPR violation)
Conversion data is lost
Remarketing audiences shrink
Google Ads optimization suffers
The Four Consent Signals
Consent Mode v2 requires four signals:
Signal | What It Controls |
adstorage | Cookie-based ad tracking |
analyticsstorage | Analytics cookies |
aduserdata | User data sent to Google |
adpersonalization | Personalized advertising |
All four must be configured. Missing even one signal causes data loss.
Implementation Requirements
Before implementing Consent Mode v2, you need:
1. Google Tag Manager account
2. Google-certified CMP installed
3. GA4 or Google Ads tags in GTM
4. Access to publish GTM changes
Step 1: Choose a Google-Certified CMP
Only use CMPs from Google's certified list. Top options:
For Shopify: Cookiebot
For WordPress: CookieYes or Complianz
For Enterprise: OneTrust
For Agencies: Consentmanager
Full CMP comparison guide →
Step 2: Install CMP via GTM
Never add your CMP script directly to HTML. Always use GTM:
1. Open Google Tag Manager
2. Click Tags → New
3. Tag Type: Custom HTML
4. Name: "CMP - [Your CMP] Script"
5. Paste your CMP script code
6. Trigger: Consent Initialization - All Pages
7. Save
Critical: Must use "Consent Initialization" trigger, NOT "All Pages"
Step 3: Set Default Consent State
Add a consent initialization tag:
1. Tags → New
2. Tag Type: Google Tag: Consent Initialization
3. Name: "Consent Mode - Default State"
4. Trigger: Consent Initialization - All Pages
Configure for EU/UK compliance:
Step 4: Configure Consent Update
When users accept via your CMP, send an update to Google:
1. Tags → New
2. Tag Type: Google Tag: Consent Update
3. Name: "Consent Mode - Update"
4. Trigger: Custom Event
Event name varies by CMP:
Cookiebot: CookiebotOnAccept
OneTrust: OneTrustGroupsUpdated
CookieYes: cookieyes-consent-update
Update configuration:
CMP-Specific Setup: Popular Consent Platforms
Every certified consent platform exposes consent differently. Here is what to configure for the most common ones.
Cookiebot
1. Enable "Google Consent Mode" in the Cookiebot admin (Settings -> Templates).
2. Load the Cookiebot script from a Custom HTML tag on the Consent Initialization - All Pages trigger.
3. Cookiebot writes the four signals itself, so keep your GTM default-state tag but let Cookiebot send the update.
4. Trigger any dependent tags on the CookiebotOnAccept custom event.
CookieYes
1. In CookieYes, turn on Google Consent Mode v2 under Script Manager.
2. Add the CookieYes banner script via Custom HTML on Consent Initialization - All Pages.
3. Map each cookie category to a signal: Analytics -> analyticsstorage, Advertisement -> adstorage, aduserdata, adpersonalization.
4. Listen for cookieyes-consent-update to fire your Consent Update tag.
OneTrust
1. Enable Google Consent Mode in the OneTrust Cookie Compliance template.
2. Publish the OneTrust script through GTM on Consent Initialization - All Pages.
3. Map OneTrust groups (C0002 performance, C0004 targeting) to the four signals.
4. Use OneTrustGroupsUpdated as the trigger for the Consent Update tag.
Complianz (WordPress)
1. Complianz ships native Consent Mode v2 support - enable it in Integrations.
2. Do not also load a manual default-state tag, or the two will conflict.
3. Verify with the Complianz "consent debug" toggle before publishing GTM.
Consentmanager
1. Enable "Google Consent Mode v2" in the CMP settings.
2. Load the CMP via Consent Initialization - All Pages.
3. Use the cmpEvent / consentupdate dataLayer push as your update trigger.
Shopify and other hosted platforms
Shopify's Customer Privacy API can drive consent, but only Google-certified apps write all four v2 signals. Confirm the app version supports aduserdata and adpersonalization before relying on it.
Step 5: Update Existing Tags
After setting up consent mode, update your existing tags:
GA4 Configuration Tag:
1. Open your GA4 tag
2. Advanced Settings → Consent Settings
3. Select: "No additional consent required"
4. GA4 automatically respects consent state
Google Ads Tags:
1. Open each Ads conversion tag
2. Consent Settings
3. Require: adstorage + aduserdata
4. Save
Step 6: Enable Consent Overview in GTM
1. GTM → Admin → Container Settings
2. Check "Enable consent overview"
3. Save
This adds a shield icon to all tags showing their consent requirements.
Run a free Consent Mode v2 scan