Google’s Consent Mode v2 introduces two new parameters (ad_user_data and ad_personalization) alongside the existing analytics_storage and ad_storage. When a user grants consent for some purposes but not others, GA4’s behavior becomes nuanced. The most confusing scenario: what happens when the user accepts your analytics consent but denies advertising? Or accepts advertising but denies analytics? This guide covers every combination and what data flows in each case. Learn more in our guide on GA4 Reporting Identity.

Consent Mode v2 Parameters Explained
Consent Mode v2 has four parameters: Learn more in our guide on GA4 Predictive Audiences.
- analytics_storage: Controls whether GA4 can use cookies for analytics measurement
- ad_storage: Controls whether ad cookies (like gclid) can be stored
- ad_user_data: NEW in v2. Controls whether user data can be sent to Google for advertising purposes
- ad_personalization: NEW in v2. Controls whether data can be used for personalized advertising
Each parameter can be ‘granted’ or ‘denied’. Default state (before user responds) is typically ‘denied’ in EU contexts.
Scenario 1: analytics_storage Denied, ad_storage Granted
This happens when a user accepts advertising cookies but declines analytics cookies (unusual but possible if your consent UI separates them).
What GA4 does:
- Does NOT set the _ga cookie (no client ID persisted)
- Does NOT set _ga_XXXXXXXX (no session cookie)
- Still fires event hits to Google’s servers (cookieless pings)
- Events are modeled/estimated for reporting — they appear in GA4 as modeled conversions
- User appears as a new user on every page load (no persistent identity)
- Session data is incomplete (no session duration, no proper sequence)
GA4 uses the cookieless pings plus machine learning to model what conversions likely occurred. These modeled conversions appear in your reports alongside observed ones, but they’re estimates.
Scenario 2: analytics_storage Granted, ad_storage Denied
Most common in analytics-heavy sites where users accept analytics but decline advertising. This is the scenario most GA4 teams encounter.
What GA4 does:
- Sets _ga and session cookies normally — full user/session identity
- Fires event hits with full measurement data
- Does NOT save ad click IDs (gclid, fbclid) in cookies
- Attribution for paid traffic is degraded — clicks may not be attributed to their campaigns
- Google Ads conversion import from GA4 is degraded (fewer conversions matched to campaigns)
- Remarketing audiences are NOT built (ad_personalization is linked to ad_storage)
Your session counts, page views, and event counts are accurate. Attribution and advertising data is incomplete. If you’re using GA4 conversions for Google Ads bidding, this scenario causes significant data loss for optimization.
Scenario 3: Both Denied (Full Denial)
When a user denies all consent:

- No cookies set by GA4 or Google Ads tags
- GA4 still fires cookieless pings (event hits without cookies)
- These pings contribute to modeled conversion counts
- No individual user tracking — you can’t identify this user across sessions
- Aggregate modeled data still appears in GA4 reports with a “modeled” label
Modeled data helps you understand trends even when consent is denied, but it’s estimates based on consenting user patterns. For low-traffic sites (under 1000 events/day), modeling quality is poor.
Scenario 4: Both Granted (Full Consent)
When a user grants all consent:
- Full cookie setting for both analytics and advertising
- Complete event measurement with user and session identity
- Ad click IDs stored and attribution fully functional
- Remarketing audiences built correctly
- GA4 conversions exported to Google Ads with full match quality
This is the baseline. All other scenarios represent data loss from this baseline.
The New v2 Parameters: ad_user_data and ad_personalization
Consent Mode v2 adds granular control for advertising data:
ad_user_data denied: GA4 won’t send hashed customer data (email, phone) to Google Ads for enhanced conversions or customer match. Your enhanced conversion match rate drops. Customer list sizes stop growing.
ad_personalization denied: GA4 won’t build GA4 audiences for Google Ads remarketing. Your remarketing lists stop updating. Existing list members remain but new visitors won’t be added.
These two parameters are required for EU compliance under DMA (Digital Markets Act) rules. You must implement them correctly or risk losing Google Ads features in EU markets.
Implementation: Setting Consent Mode v2 Correctly
// Default state (before user responds) - typically all denied for EU
gtag('consent', 'default', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500 // Wait 500ms for CMP to update consent
});
// When user accepts analytics only
gtag('consent', 'update', {
'analytics_storage': 'granted',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied'
});
// When user accepts all
gtag('consent', 'update', {
'analytics_storage': 'granted',
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted'
});
Checking Consent Mode Status in GA4
In GA4, go to Admin → Data Settings → Data Collection. Here you’ll see:
- Consent Mode status (enabled/not enabled)
- Modeled conversion percentage (how much of your conversion data is modeled vs observed)
- Benchmarks against similar sites
If your modeled conversion percentage exceeds 30%, your consent acceptance rate is low and your observed data is unreliable. Focus on improving consent acceptance rates rather than analyzing modeled data in isolation.
Consent Mode v2 is mandatory for Google Ads features in EU markets from March 2024. Implement all four parameters correctly, set sensible defaults, and ensure your CMP fires the update before GTM tags execute.