Keeping tracking compliant without losing all your data
Consent Mode v2 is how your site tells Google tags what each visitor agreed to, using four signals: ad_storage, analytics_storage, ad_user_data and ad_personalization. Set up correctly, it keeps you compliant for EU and UK visitors while letting GA4 and Google Ads model some of the data you lose to declines. I connect your consent banner, GTM, GA4, Google Ads and HubSpot so they all follow the same choice.
By Vladimir Cvetkoski · Last updated
This is for you if
- →B2B companies with EU or UK visitors running Google Ads, LinkedIn or Meta campaigns
- →Teams that added a consent banner and then watched GA4 sessions and Google Ads conversions drop
- →Companies whose Google Ads account shows consent warnings or limited audience features for EEA traffic
- →Teams using HubSpot's cookie banner alongside GTM, or a separate consent tool alongside HubSpot
Signs you need this
- →GA4 traffic and conversions dropped sharply after the consent banner went live.
- →Google Ads diagnostics flag missing or incomplete consent signals.
- →Tags fire before the visitor makes a choice, or never fire at all.
- →HubSpot and GA4 disagree on lead counts, partly because they treat consent differently. See GA4 vs HubSpot mismatch.
- →Paid visitors who decline cookies show up as Direct in HubSpot. See why HubSpot shows so much Direct traffic.
What the work covers
Basic or Advanced decision
Basic mode blocks Google tags until consent. Advanced mode loads them with consent denied and sends cookieless pings, which enables better modeling. I lay out the trade-off so you and your privacy lead can choose.
Region-specific defaults
Default consent states set per region, for example denied for the EEA, UK and Switzerland and granted elsewhere if your legal advice allows it.
Consent banner integration
Your consent tool, or HubSpot's cookie banner, wired to update all four Consent Mode signals the moment a visitor chooses.
HubSpot tracking aligned
HubSpot's own tracking code and cookies follow the same consent choice as your Google tags, so the two systems stop disagreeing about who was tracked.
Verification in GA4 and Google Ads
Consent states checked in Tag Assistant and in the GA4 and Google Ads diagnostics, for accept, decline and no-choice journeys.
Three steps
Test current behaviour
I run accept, decline and ignore journeys from EU and non-EU locations and record what each tool receives.
Configure and connect
Defaults, banner updates, GTM consent settings and HubSpot consent handling set up and tested in preview.
Verify and document
I confirm the signals in GA4 and Google Ads diagnostics and document which tags run under which consent state.
Typical scope
- Timeline
- Most fix projects complete within 1 to 2 weeks
- Consent tools
- HubSpot cookie banner or your existing consent tool.
- Access needed
- GTM, consent tool admin, HubSpot admin, GA4 and Google Ads
I implement what your privacy policy and legal advice require. I do not decide what your legal basis is.
At the end you have
- →All four Consent Mode v2 signals sent correctly for every visitor
- →Google tags, HubSpot and your other tags following the same consent choice
- →GA4 and Google Ads eligible for modeling where your traffic is large enough
- →A written map of which tags run under which consent state
How the pieces connect
- 01Page loadRegion-specific defaults set first
- 02Consent bannerVisitor accepts, declines or ignores
- 03Consent update`ad_storage`, `analytics_storage`, `ad_user_data`, `ad_personalization`
- 04TagsGA4, Google Ads, HubSpot, Meta, LinkedIn
- 05ModelingGA4 and Google Ads fill some gaps
Consent Mode v2: common questions
No. I implement consent technically and explain what each option does to your data. What you are allowed to collect, and on what basis, is a decision for your privacy lead or lawyer. I build to their decision.
In Basic mode, Google tags do not load until the visitor consents, so Google gets nothing from people who decline. In Advanced mode, tags load with consent denied and send cookieless pings without identifiers, which Google uses to model the missing data. Advanced gives better modeling. Whether it fits your privacy position is your call.
Less than most people hope, especially in B2B. GA4 behavioral modeling needs at least 1,000 events per day with analytics_storage denied for at least 7 days, and at least 1,000 daily users with it granted on 7 of the previous 28 days. Google Ads conversion modeling needs about 700 ad clicks over 7 days per country and domain grouping. Many B2B sites never reach those, so the real fix is getting more consent and capturing what you are allowed to capture well.
Not directly. Consent Mode is a Google signal. HubSpot has its own cookie consent handling, and its cookie banner can send Consent Mode signals to Google tags when your site is hosted on HubSpot, connected to GTM or GA4, and uses HubSpot's opt-in banner for EU, EEA and UK visitors. With another consent tool, Consent Mode and HubSpot tracking need to be wired to that tool separately.
For traffic from the EEA, the UK and Switzerland, Google needs ad_user_data and ad_personalization to use that data for ad measurement, remarketing audiences and personalization. Without them, those features are limited for those visitors.
Related problems and services
GA4 and HubSpot numbers don't match
GA4 counts events in a browser, HubSpot counts contacts in a CRM. Some gap is normal. A gap that moves is a tracking break.
Read more →ProblemToo much Direct traffic in HubSpot
Direct is HubSpot's "no source found" bucket. A high share almost always means a tracking leak, not people typing your URL.
Read more →ServiceServer-Side Tracking
Tracking that keeps working when browsers block your data. Server-side GTM for GA4, Google Ads, Meta and LinkedIn, added to the GTM you already have.
Read more →From $2,000Attribution Audit
A fixed-scope audit of how your ad clicks, forms and CRM connect. You get a written report of every leak, ranked by cost, and a fix plan.
Read more →ServiceThe Fix
A one-time engagement to fix specific attribution problems, scoped and priced before any work starts. You get a working fix and written notes on what changed.
Read more →Describe what you are seeing
Send a few lines about what looks wrong. I reply within 1 business day and tell you whether it needs an audit, a fix, or nothing at all.