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:
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.
Step 7: Test Your Implementation
Test 1: GTM Preview Mode
1. Click Preview in GTM
2. Load your site in a new window
3. Click Consent tab in debugger
4. Verify: all four signals = denied before banner interaction
Test 2: Accept and Verify
1. Accept cookies on your banner
2. Watch event stream in GTM Preview
3. Find consent update event
4. Verify: all four signals = granted
Test 3: Free TagIntegrity Scanner
Fastest way to verify your complete setup:
Scan Your Site Now →
Confirms:
CMP detected
All four signals present
GTM configuration correct
Overall compliance status
Common Implementation Mistakes
Mistake 1: Wrong trigger
Using "All Pages" instead of "Consent Initialization - All Pages"
→ Tags fire before consent loads
Mistake 2: Missing signals
Only setting adstorage, forgetting aduserdata and adpersonalization
→ Customer Match and Enhanced Conversions break
Mistake 3: No waitforupdate
CMP loads slower than GTM
→ Brief window where tags fire without consent
Run a free Consent Mode v2 scan