Consent Mode is Google's API for passing a visitor's consent choices to Google tags, so that Google Analytics, Google Ads and Floodlight tags change how they store and send data depending on whether consent was granted or denied. It uses four main consent types (ad_storage, analytics_storage, ad_user_data and ad_personalization) and can be implemented in a basic or an advanced way.
Consent Mode sits between a consent banner and Google's tags. The banner records what the visitor agreed to. Consent Mode hands that decision to the Google tag, Google Tag Manager and the products behind them, which then decide what to store and what to send.
How it works
Consent Mode works with consent types, each set to granted or denied. The four that matter for marketing measurement are:
| Consent type | What it controls |
|---|---|
ad_storage | Storage, such as cookies, related to advertising |
analytics_storage | Storage related to analytics, such as visit duration |
ad_user_data | Consent for sending user data to Google for advertising |
ad_personalization | Consent for personalised advertising |
The page sets a default state before any Google tag fires, then sends an update when the visitor makes a choice in the banner. A typical gtag.js default for EEA visitors looks like this:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied'
});There are two ways to implement it:
- Basic: Google tags do not load until the visitor interacts with the banner and grants consent. Nothing is sent to Google for visitors who decline.
- Advanced: Google tags load straight away with denied defaults. While consent is denied, they set no cookies and send cookieless pings, which Google describes as carrying coarse information such as user agent, screen resolution and IP address as part of normal HTTP communication. Google uses these pings for conversion and behavioural modelling, and states that advanced gives an advertiser-specific model rather than a general one.
Why it matters in 2026
Google added ad_user_data and ad_personalization in late 2023 and, from March 2024, required advertisers who serve ads to users in the EEA to pass consent signals if they want to keep using features such as personalised advertising and audience lists for those users. Without ad_user_data granted, hashed data from enhanced conversions cannot be used for that user.
The practical result: a broken Consent Mode setup does not just lose data, it can quietly switch off remarketing and weaken bidding signals in Google Ads. With Google tag and Tag Manager settings changing in 2026 (see what Destinations change in your container), consent configuration is worth re-checking after any container restructure.
How to check it
- Open Tag Assistant and connect to the page in a fresh browser session.
- Select the first event and open the Consent tab. The On-page Default column should show all four types as denied for EEA traffic (or whatever your policy requires).
- Accept the banner, then check the On-page Update column. It should show granted for the types the visitor accepted.
- Repeat with "reject all" and confirm the update stays denied.
- In GTM, use Admin > Container settings > Enable consent overview and review which tags have built-in or additional consent checks.
Our Consent Mode v2 checklist goes through each check in more detail.
Common mistakes
- Default set too late. If the default command runs after the Google tag, the first hits go out without a consent state.
- Banner and Consent Mode disagree. The CMP shows "rejected" but sends a granted update, or vice versa.
- Only two of four types. Older setups send
ad_storageandanalytics_storagebut notad_user_dataandad_personalization. - Region rules wrong. A default meant for the EEA applies everywhere, or not at all, because the region parameter is misconfigured.
- Non-Google tags ignored. Consent Mode only governs Google tags. Meta, LinkedIn and others still need their own consent triggers.
Related terms: dataLayer, server-side tagging, Measurement Protocol.
Frequently asked questions
What is the difference between Consent Mode v1 and v2?
Version 2 is the informal name for Consent Mode after Google added the ad_user_data and ad_personalization parameters in late 2023. The original version had ad_storage and analytics_storage. Google uses the two newer signals to decide whether user data can be used for advertising and for personalised ads.
Is Consent Mode the same as a cookie banner?
No. The banner, usually a consent management platform (CMP), collects the visitor's choice. Consent Mode is the interface that passes that choice to Google tags, which then adjust their behaviour. You need both, and they must agree with each other.
Should I use basic or advanced Consent Mode?
Basic blocks Google tags entirely until the visitor consents, so Google receives nothing from people who decline. Advanced loads the tags with denied defaults and sends cookieless pings, which gives Google more input for conversion and behavioural modelling. Which one fits depends on your legal assessment, not only on measurement goals.
Does Consent Mode make my tracking GDPR compliant?
Not on its own. Consent Mode only transmits the consent state and changes tag behaviour. Whether your banner, defaults and data flows meet GDPR and ePrivacy rules is a separate legal question for you and your adviser.
Sources
Dimitris builds Tracking Whisper and writes about tracking, analytics and data from the work the agent does every day: GTM containers, GA4 properties, ad platforms and the numbers in between.

