Consent mode / privacy-preserving measurement
Measurement that respects a person's tracking choice, then uses limited signals and aggregate modeling to estimate the missing totals.
See it
What it is
Consent mode changes what measurement code may store or send based on a person's choice. When storage is denied, identifiers and cookies stay off; some systems can receive limited cookieless signals and model aggregate gaps instead. Google Consent Mode v2 is the concrete example, with separate states for analytics storage, ad storage, ad user data, and ad personalization; Google made v2 mandatory for advertisers serving the EEA in March 2024 under the Digital Markets Act. The browsers ship their own versions of the idea, including Apple's Private Click Measurement and Chrome's Attribution Reporting API.
Reach for it when a consent banner would otherwise turn every rejection into a blank row in reporting. The useful output is an estimated total or trend with observed and modeled portions labeled separately, not a secret reconstruction of the people who opted out.
Gotcha: modeling is not a loophole around consent. A denied choice must still disable the storage and uses it covers, and the model's output is an estimate rather than recovered ground truth. Keep consent rates next to modeled metrics, because a change in who accepts can move the report even when real behavior did not.
Ask AI for it
Implement Google Consent Mode v2 in advanced mode. Before any Google tag runs, call gtag('consent', 'default', ...) with analytics_storage, ad_storage, ad_user_data, and ad_personalization all set to 'denied'. Wire the consent banner's accept and reject actions to gtag('consent', 'update', ...), grant only the categories selected, and never create a fallback user ID or advertising cookie for denied users. Add an automated browser test that clears storage, rejects consent, and asserts that no analytics or advertising cookie appears. In reporting, label modeled conversions separately from observed conversions and show the consent acceptance rate beside them.