
π¨ Why This Matters Now
In March 2024, Google announced that Consent Mode V2 is now mandatory for sites using:
- Google Ads (retargeting or conversion tracking)
- GA4 with modeling
- Personalised ads in the EU
No Consent Mode? No data. Itβs that simple.
π§ Quick Recap: What Is Consent Mode?
Consent Mode lets Google know the userβs privacy choices. It doesn't set cookies until consent is granted, and fills in the gaps with modeled data if you're compliant.
V1 Parameters:
ad_storage
: Consent for advertising cookiesanalytics_storage
: Consent for analytics cookies
V2 Adds Two New Fields:
ad_user_data
: Consent for sending user-level data (like remarketing lists)ad_personalization
: Consent for personalising ads (e.g., demographics, interests)
Ignore these new fields and youβre effectively opting out by default.
π₯ What Happens If You Skip It
Your tags will still fire.
But your conversions? Gone.
Your remarketing lists? Empty.
Your LTV reporting? Useless.
Youβll see:
- π« Modeled conversions disappear
- π« βBlanksβ in BigQuery session data
- π« Targeting audiences in Google Ads collapse
βοΈ How GA4 Uses Consent Mode
GA4 uses Consent Mode to determine:
- Whether to fire tags
- Whether to collect raw event data
- Whether to model missing conversions and sessions
If your Consent Mode isnβt correctly set up:
- Modeling wonβt trigger
- GA4 will drop data below threshold
- And your BigQuery will bleed with session gaps
π οΈ Setting Up Consent Mode V2 (Properly)
1. Connect a CMP
Use a compliant Consent Management Platform (CMP):
- Cookiebot
- OneTrust
- Axeptio
- Didomi
Make sure it:
- Can map to
ad_storage
,analytics_storage
,ad_user_data
, andad_personalization
- Fires before any other tag
2. Deploy via GTM
You must split your tag firing logic:
javascript
CopyEdit
// Before consent
gtag('consent', 'default', {
Β ad_storage: 'denied',
Β analytics_storage: 'denied',
Β ad_user_data: 'denied',
Β ad_personalization: 'denied'
});
// After consent
gtag('consent', 'update', {
Β ad_storage: 'granted',
Β analytics_storage: 'granted',
Β ad_user_data: 'granted',
Β ad_personalization: 'granted'
});
3. Respect Consent Throughout
Especially important for:
- SPAs (Single Page Apps): Carry consent state across virtual page views
- Server-side GTM: Must forward consent state via the
gtm.gcs
query string
π§ͺ How to Check Itβs Working
In GA4:
- Go to Admin > Data Settings > Data Collection
- Check "Consent Mode status" should say βActiveβ
- Look for modeled conversions in the attribution reports
In BigQuery:
Run a query:
sql
CopyEdit
SELECT consent_granted, COUNT(*) AS sessions
FROM `your_dataset.your_table`
WHERE event_name = 'session_start'
GROUP BY consent_granted
β°οΈ The Top 5 Mistakes That Kill Consent Mode
- You donβt pass
ad_user_data
andad_personalization
at all - Your tags fire before consent is recorded
- You only use
ad_storage
andanalytics_storage
(outdated) - Your CMP is not Google-certified
- Your site uses an SPA and doesn't persist consent
π Pro Tip: Show the Business the Impact
Donβt sell Consent Mode as "compliance". Sell it as:
- Revenue protection
- Attribution survival
- Google Ads eligibility
Show the modeled vs. non-modeled difference in GA4. Use BigQuery to prove how many conversions you'd lose without it.
β TL;DR β Your Consent Mode V2 Checklist
- β Use a CMP with V2 support
- β
Pass all 4 consent fields via
gtag
or GTM - β Validate consent status in GA4 & DebugView
- β Check for modeling drop-off post-implementation
- β Run a BQ query to track consent-granted vs denied sessions
π― Final Word
This isnβt just a privacy update.
This is the new frontline for data collection, attribution, and ad performance.
If your Consent Mode isnβt right, your entire stack is broken and your marketing budget is being flushed without you knowing it.
β