The new legal framework
Since July 2025, Google has required Consent Mode V2 for every advertiser serving ads in the European Economic Area. Without a compliant implementation, Google Ads stops modeling non-consented conversions. In practice: if your CMP (Cookiebot, Axeptio, Didomi) doesn't send the right consent_granted / consent_denied signals at the right time, your pixels go silent for most visitors.
The problem: no alert fires. GA4 simply shows fewer conversions. Your campaigns keep running. And your bidding algorithms optimize on an ever-smaller sample.
Consent figures in France
The cookie acceptance rate in France hovers around 31% (source: aggregated Google data, confirmed by CMP benchmarks). In other words, 69% of your visitors trigger no conversion pixel at all in a scenario without Consent Mode V2.
Financial impact by scenario
Take an e-commerce site with a €50,000 monthly paid budget and a 2.5% conversion rate (€85 average order value). Here's what happens depending on the consent rate and the technical setup:
| Consent rate | Tracked conversions | Lost conversions | Invisible revenue/month | Smart Bidding impact |
|---|---|---|---|---|
| 31% (without Consent Mode V2) | 31% | 69% | ~€28,000 | Severe, under-optimized bidding |
| 31% + basic Consent Mode V2 | 55-60% | 40-45% | ~€17,000 | Moderate, partial modeling |
| 31% + Consent Mode V2 + server-side | 75-85% | 15-25% | ~€8,500 | Low, sufficient data |
| 80% (optimized banner) + CM V2 | 90-95% | 5-10% | ~€3,400 | Negligible |
The difference between the first and last row: €24,600 a month in recovered data. This is data that lets your bidding algorithms do their job properly, not extra revenue.
Why your implementation is probably broken
The most common mistakes on the sites we analyze:
1. The CMP sends the signal too late. The GTM container loads before the CMP has collected the user's choice. Result: pixels fire once, then get blocked on the next reload. The data is inconsistent.
2. The default mode isn't configured. Without a default consent state in the GTM container, Google assumes consent is granted by default, which breaches GDPR and skews modeling.
3. The ad_storage and analytics_storage parameters are mixed up. Some implementations block all tracking when the user refuses advertising, including GA4 in anonymized mode. Result: total loss of analytics data.
4. The consent update tag is missing. The CMP shows the banner, the user accepts, but no consent_update event is sent to GTM. Pixels stay blocked for the whole session.
What server-side recovers (and what it doesn't)
Server-side tagging (sGTM) is often presented as the silver bullet. It does recover 30 to 50% of lost conversions by bypassing browser blockers and sending data directly from your server.
But server-side doesn't solve everything:
- It can't see whether the CMP blocks the pixel in the browser
- It doesn't detect JavaScript errors that keep the dataLayer from filling
- It doesn't know whether the visitor actually saw the confirmation page
- It doesn't measure the Web Vitals (LCP, INP) the user experienced
Server-side complements client-side monitoring; it doesn't replace it.
The false positive trap
When you monitor conversion pixels, consent creates a specific problem: a pixel that doesn't fire isn't necessarily broken. It may be legitimately blocked because consent was refused.
Without telling the two cases apart, a monitoring tool generates noise. The team gets alerts for pixels that are working normally and are only blocked by the user's choice. The team ends up ignoring the alerts. And the day a pixel really dies, nobody reacts.
That's why consent status must be first-class data in monitoring. Korvus checks the consent_status of every session. When a pixel stops firing while consent is granted, the pixel_dead alert fires. When consent blocks tracking, Korvus knows it and doesn't raise a false positive.
The 4-step action plan
Step 1: Audit your current implementation. Check that your CMP actually sends consent_update to GTM. Test with GTM's debug mode and the Google Tag Assistant console.
Step 2: Configure the consent default. In your GTM container, add a consent_default tag that runs before all the others. Set ad_storage: denied and analytics_storage: denied by default.
Step 3: Optimize your banner. Your banner's design and wording directly affect the consent rate. The difference between a poorly designed banner (20% acceptance) and an optimized one (60%+) is worth thousands of euros of data every month.
Step 4: Monitor continuously. CMP updates, front-end deployments and GTM changes can break your implementation at any time. Monitoring that crosses consent with pixel firing is the only way to catch regressions before they cost you.
Key points
- 69% of traffic is invisible without a correctly configured Consent Mode V2
- The financial impact exceeds €8,000 a month for a €50,000 monthly paid budget
- Server-side tagging recovers 30 to 50% of lost conversions, but doesn't replace browser-side monitoring
- Pixel monitoring must take consent status into account to avoid false positives
- Every CMP update or front-end deployment can silently break your implementation