Consent Mode
Google Consent Mode tells Google tags what a visitor agreed to, using signals like ad_storage and analytics_storage, so tags adjust what they do.
What is Consent Mode?
Consent Mode is Google's framework for passing a visitor's consent choices to Google tags such as Google Analytics and Google Ads. Your consent banner (a consent management platform, or CMP) sets signals, and the tags read them before deciding what to store and send.
It doesn't collect consent itself. It's the plumbing between the banner where the visitor makes a choice and the tags that need to respect it.
The four Consent Mode v2 signals
Consent Mode v2 uses four signals, each granted or denied. ad_storage covers cookies for advertising. analytics_storage covers cookies for analytics. ad_user_data covers sending user data to Google for advertising. ad_personalization covers using data for personalized advertising such as remarketing.
The last two were added in v2. Google has required v2 signals for advertisers serving users in the European Economic Area since March 2024 if they want to keep using features like audience building and personalization for those users.
Basic and advanced implementations
In a basic implementation, Google tags don't load until the visitor makes a choice. In an advanced implementation, tags load right away with a default of denied and send limited, cookieless pings until consent is granted. Your setup and legal advice determine which fits.
Signals are set with gtag consent commands: a default on page load and an update when the visitor chooses. A common bug is the default arriving after the tags have already fired.
How TracerKit handles it
TracerKit accepts the four Consent Mode v2 signals through tracerkit.consent, and picks up gtag consent commands from window.dataLayer. Tags in the analytics or marketing category stay blocked until the matching signal is granted. Server-side forwarding to Meta, TikTok and Google Ads requires ad_storage and ad_user_data; GA4 requires analytics_storage.
See how TracerKit handles this: Tag manager
Take a look →