Migrating to Consent Mode v2 without losing conversions or compliance
Consent Mode v2 adds ad_user_data and ad_personalization to the two signals that existed before, and a banner that only sets the old pair leaves the new ones undefined — which Google treats as unset, not granted. The migration is mostly verification rather than construction: confirm all four signals are set, confirm the default fires before any tag in the same document, and confirm that denying consent actually stops data leaving. Most banners pass the first check and fail the third.
Free30 minutesNo obligation
Consent Mode v2 · what breaks
The situation, as it usually presents — Consent Mode v2
- 01
A banner installed but never verified
Consent Mode configured in the UI and assumed working.
- 02
A conversion drop dated to the banner install
Which points at defaults rather than at consent rates.
- 03
Nobody able to say what a denial actually does
Compliance risk in one direction, lost data in the other.
Consent Mode v2 · the fix
What changes — Consent Mode v2
All four signals set explicitly
None left undefined.
Defaults firing before any tag
In the same document, not just earlier in the file.
Denial verified by testing it
Rather than assumed from configuration.
Consent Mode v2 · architecture
Why this pattern keeps recurring — Consent Mode v2
Consent Mode fails quietly in both directions, and the failure modes look identical from the dashboard.
- 1
Undefined is not granted
A banner setting only ad_storage and analytics_storage leaves the v2 signals unset, and Google treats unset conservatively.
- 2
Order beats configuration
A default that fires after the tag it gates has already lost. This is the single most common fault.
- 3
The banner reports its own state
Not what left the browser. Those are different things and only one is checkable.
- 4
Rejecting is not the same as not choosing
They are distinct states and many implementations conflate them.
Consent Mode v2 · diagnose
How the root cause gets found — Consent Mode v2
In this order. Each step rules out a class of cause, so the last one usually has a single explanation standing.
- 01
Capture outbound requests in all three states
Before choice, after accept, after reject.
- 02
Confirm all four signals are being set
Not just the legacy pair.
- 03
Check what runs first in the document
Order, not just presence.
- 04
Test a partial choice
Analytics yes, advertising no.
- 05
Compare conversion volume against the install date
It names the cause.
Consent Mode v2 · prove
How the work is proven — Consent Mode v2
Against the client's own records, not a dashboard turning green.
Source of truth
Outbound network requests captured under each consent state
- All four signals confirmed set on a live page.
- Default state confirmed executing before any measurement tag.
- Denial verified by capture — nothing leaves.
- Each banner choice tested individually, including partial.
- Reconciled over a fully closed window, matched on ID rather than on totals.
- Payload evidence captured from real transactions and handed over.
- The same reconciliation repeated 30 days later.
Consent Mode v2 · free audit
What we check in the free audit
- Capture outbound requests in all three states
- Confirm all four signals are being set
- Check what runs first in the document
- Test a partial choice
- Compare conversion volume against the install date
Checked against
Outbound network requests captured under each consent state
Free30 minutesNo obligation
Consent Mode v2 · when not to buy
Why there are no client numbers on this page — Consent Mode v2
Most agency case studies lead with a percentage. This one doesn't, and the reason is worth stating.
- We don't publish client results we can't substantiate. An audit of this site in August 2026 found named testimonials and before-and-after figures that had never been measured — all of it was removed, and nothing has replaced it that isn't checkable.
- The results that do exist belong to clients under agreement. Publishing anonymised numbers without their sign-off would be the same problem in a thinner disguise.
- What we will commit to in writing is 95%+ conversion accuracy and 8+ Meta Event Match Quality, reconciled against your own order records. That is checkable by you, which a case study percentage never is.
- For proof from actual clients, the video testimonials on the site are real people describing their own rebuild. That is the strongest evidence we have, and it isn't a number we wrote.
Consent Mode v2 · what we deliver
What the work involves — Consent Mode v2
Default consent state audited
Order of execution matters more than value.
Update calls checked on every choice
Accept all, reject all, and partial.
Regional defaults reviewed
If the site serves the EU as well as the US.
Denial tested with network capture
The only proof that counts.
Written guarantee
95%+ tracking accuracy
Measured against Outbound network requests captured under each consent state. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs the fault in your existing browser-side setup and verifies it on a live transaction. Honest about its ceiling: it fixes this instance, not the class.
- Root cause fixed, not worked around
- Verified on a live transaction
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Removes the class of failure rather than this instance. Money events sent from your order records through a first-party container on your own subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your order records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, for advertisers whose spend makes an attribution leak more expensive than the build.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds reversed at every destination
- Monitoring so the next break surfaces in days
FAQ
Consent Mode v2 questions, answered
Reported conversions usually fall, because some were being counted without consent. Modeling recovers part of it. The lower number is the honest one.
Google requires v2 signals for EEA and UK traffic. If you serve any, you need it. CCPA and CPRA are a separate obligation with its own opt-out requirements.
Tags load and send cookieless pings before consent, so Google can model the gap. Basic mode blocks tags entirely until consent, and models nothing. Advanced preserves more data; whether it suits your legal position is your counsel's call.
Deny consent and capture the network traffic. If requests still leave with identifiers, it isn't working, whatever the banner's dashboard says.
Free · 30 min
Get consent verified rather than assumed
Free30 minutesNo obligation
