Get your Consent Mode v2 tracking to 95%+ accuracy guaranteed in writing.
Consent Mode v2 isn't optional anymore. Without it, Google can't model the conversions of users who declined cookies, your EU campaigns under-attribute, and your CMP setup is technically non-compliant. We wire v2 into Cookiebot, Complianz, OneTrust, or Real Cookie Banner — verify modeled conversions are showing up, and document compliance for your DPO.
Free30 minutesNo obligation
Consent Mode v2 · what breaks
Consent Mode v2 pitfalls
- 01
Most setups misfire
default-deny + grant signals don't reach Google.
- 02
ad_user_data missing
v2 added new params; most CMPs don't pass them.
- 03
Modeled conversions don't show up
Below-threshold volume.
Consent Mode v2 · the fix
Outcomes — Consent Mode v2
v2 fully wired
All 7 consent params correct.
Modeled conversions live
Modeled conversions reported for consented and non-consented EU traffic.
Audit-clean
GDPR / CNIL / ICO compliant.
Consent Mode v2 · architecture
How consent should actually govern your tags
Most implementations set consent signals after the first tags have already fired, which is both a compliance problem and a data problem. Order of operations is the entire job.
- 1
Defaults are set before any tag can run
Consent defaults are declared in the container's initialization, ahead of every other tag. If defaults arrive late, Google's modeling has nothing to work with for those first hits.
- 2
Defaults are scoped by region
Prior consent where the law requires it, and a different default where it does not. A blanket EU-style banner on US traffic discards conversions no US law asked you to discard.
- 3
The banner updates, it does not initialize
The CMP's job is to send an update when the visitor chooses. Tags that were waiting then fire. Tags that were not waiting should never have been firing.
- 4
ad_user_data and ad_personalization are handled separately
Version 2 added these two signals. Google Ads remarketing and audience features depend on them specifically, and many version 1 implementations were never updated.
- 5
The server container enforces the decision
With server-side tagging, a denied destination is blocked at the container. Nothing is sent and then hoped to be ignored.
- 6
Consent state travels with the event
So that every downstream destination and every later audit can see what the visitor actually agreed to at the moment of the event.
Consent Mode v2 · events
The consent signals and what each one gates
Four signals, each governing a different capability. Treating them as one on-off switch is what causes both over-collection and needless conversion loss.
| Signal | Governs | Effect when denied |
|---|---|---|
| ad_storage | Advertising cookies and identifiers | No ad cookies set; Google Ads falls back to modeled conversions |
| ad_user_data | Sending user data to Google for advertising | Enhanced Conversions and customer match cannot function |
| ad_personalization | Personalized advertising and remarketing | Remarketing audiences cannot be built from that visitor |
| analytics_storage | Analytics cookies | GA4 collects cookieless pings and models the rest |
| functionality_storage | Site functionality cookies | Preferences and session features may not persist |
| personalization_storage | On-site personalization | Personalized site experiences are disabled |
Consent Mode v2 · diagnose
How we audit an existing consent setup
- 01
Load the page with a clean profile and watch the request order
Anything that fires before the consent default is set is the finding. This single check catches most broken implementations.
- 02
Deny everything and confirm nothing leaves
Then check each destination separately. Blocking GA4 while a Pixel keeps firing is common.
- 03
Check the region configuration
Confirm whether prior consent is being demanded of visitors whose jurisdiction does not require it. On a US-majority business this can be a large, entirely self-inflicted conversion loss.
- 04
Verify ad_user_data and ad_personalization are present
Version 1 implementations that were never updated still exist in large numbers, and Google Ads features quietly degrade.
- 05
Confirm the update fires on choice
Accept, then check that previously-blocked tags actually fire rather than staying blocked for the whole session.
- 06
Check the CMP is not itself blocked
Some ad blockers block common CMP scripts, leaving the page in its default state permanently.
Consent Mode v2 · prove
Proof that consent is implemented correctly
This is one of the few areas where the evidence is genuinely binary. Either nothing fires before consent, or something does.
Source of truth
Network request log on a clean browser profile
- On a clean profile, no advertising or analytics request precedes the consent default declaration.
- With consent denied, no destination receives an identifiable request — verified per destination, not in aggregate.
- With consent granted, every expected tag fires and the update is visible in the request log.
- Region scoping confirmed by testing from at least two jurisdictions.
- ad_user_data and ad_personalization present in both the default and update calls.
- Google Ads and GA4 both reporting modeled conversions, which confirms Google is receiving usable consent signals.
- The whole test repeated after any CMP or container change, because both routinely reset this.
Consent Mode v2 · free audit
What we check in the free audit
- Load the page with a clean profile and watch the request order
- Deny everything and confirm nothing leaves
- Check the region configuration
- Verify ad_user_data and ad_personalization are present
- Confirm the update fires on choice
- Check the CMP is not itself blocked
Checked against
Network request log on a clean browser profile
Free30 minutesNo obligation
Consent Mode v2 · when not to buy
When this is not the work you need — Consent Mode v2
- You have no European, UK or Swiss traffic and no state-privacy exposure. Then a full Consent Mode v2 build is solving a problem you do not have — though you should confirm that rather than assume it.
- Your CMP is a certified Google partner and its integration is already firing in the right order. Test it; some of them genuinely work.
- You run no Google advertising and no GA4. Consent Mode is a Google mechanism; your obligations may still exist but this specific implementation would not address them.
- You need legal advice on what your obligations are. We implement what your counsel decides. We are not lawyers and will not pretend to be.
Consent Mode v2 · what we deliver
Deliverables — Consent Mode v2
CMP integration
Whichever banner you use
GTM consent setup
Triggers + tag-level config
Verification report
Tag Assistant + screenshots
Written guarantee
95%+ tracking accuracy
Measured against Network request log on a clean browser profile. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Consent Mode v2 — Starter
$400one-time setup
Single CMP wiring with Google Consent Mode v2. Right when you have a single CMP and a single domain.
- Single CMP wiring
- Google Consent Mode v2 configured
- Tag Assistant verification
- Notion handover
Consent Mode v2 — Recommended
Recommended$800one-time setup
Full v2 implementation across CMP + GTM + tag-level config, with verification screenshots and DPO-ready compliance doc.
- CMP integration (any major banner)
- GTM consent triggers + tag-level config
- Verification screenshots
- DPO-ready compliance doc
- 30-day support
Consent Mode v2 — Enterprise
$1,800one-time + optional retainer
Multi-CMP / multi-domain v2 implementation, custom consent UI, and ongoing compliance audit retainer option.
- Multi-CMP / multi-domain
- Custom consent UI option
- EU + US + UK + CA framework coverage
- Quarterly compliance audit
- Retainer-friendly handover
FAQ
Consent Mode v2 questions, answered
All three work. We integrate with whichever you have.
More on Consent Mode v2
- GuideConsent Mode v2 in 2026: Stay Compliant Without Losing Your Signal
- Free toolConsent Mode sandbox
- Consent Mode v2Migrating to Consent Mode v2 without losing conversions or compliance
- Consent Mode v2Consent Mode v2, implemented in the right order and scoped to the right regions
- Consent Mode v2 not workingWhy is my Consent Mode v2 not working?
