Corriger un Consent Mode v2 qui bloque les conversions : le guide complet (2025)

Corriger un Consent Mode v2 qui bloque les conversions : le guide complet (2025)

Un devis adapté à vos besoins ?

Prendre un RDV

Depuis mars 2024, Google impose le Consent Mode v2. Ce guide est conçu pour des intégrateurs web, experts tracking, growth et dev. Si le consentement ne fonctionne pas, tout le marketing Google s’effondre.

1. Introduction — Pourquoi Consent Mode v2 casse vos conversions

Depuis mars 2024, Google impose le Consent Mode v2 pour :

  • GA4

  • Google Ads

  • Remarketing

  • Modélisation des conversions

  • Audiences

  • Import de conversions côté serveur

Le problème : une grande majorité des sites ont un Consent Mode v2 mal configuré, entraînant des effets cataclysmiques :

  • conversions Google Ads perdues

  • Smart Bidding inefficace

  • GA4 qui bascule 40–80% du trafic en “Direct”

  • remarketing désactivé

  • fpid/_ga non posés → attribution cassée

  • données partielles ou anonymisées

  • conversions modélisées indisponibles

Autrement dit : si le consentement ne fonctionne pas, tout le marketing Google s’effondre.

Ce tutoriel complet te donne la méthode exacte pour :

  • diagnostiquer un consent-mode cassé,

  • corriger CMP + GTM + GA4 + Google Ads,

  • restaurer les conversions,

  • valider ta configuration,

  • monitorer les signaux gcs / gcd / gcu,

  • et éviter que ton tracking ne se casse à nouveau.

Ce guide est conçu pour des intégrateurs web, experts tracking, growth et dev.


2. Comprendre le fonctionnement du Consent Mode v2 (pour bien le réparer)

Pour corriger le consent mode, il faut comprendre ce que Google attend exactement.


2.1. Les signaux essentiels : gcs, gcd, gcu

Chaque ping GA4 doit contenir :

  • gcs → Consent Signal (ex : G111)

  • gcd → Consent Details (la granularité)

  • gcu → User choice unique

Exemple d’URL GA4 valide :

https://www.google-analytics.com/g/collect?v=2&tid=G-XXXXXXX&gcs=G111&gcd=13t3t…

Si gcs n'est pas présent →
Google désactive modélisation, conversions, remarketing, audiences.


2.2. Les deux modes : Basic vs Advanced

Mode

Fonctionnement

Impact

Basic

aucune donnée si refus

aucune modélisation

Advanced

signaux anonymisés même refus

conversions + audiences modélisées

Si Advanced n’est pas actif → conversions manquantes.


2.3. Le rôle critique de la CMP

La CMP (Axeptio, Didomi, Cookiebot, OneTrust…) doit :

  1. définir les states de consentement,

  2. transmettre ces states dans le dataLayer,

  3. déclencher une update gtag() correcte,

  4. ne pas bloquer GTM au chargement,

  5. ne pas écraser la première initialisation Consent Mode.

80% des Consent Mode cassés = CMP mal configurée.


3. Étape 1 — Diagnostiquer un Consent Mode cassé (audit complet)

Avant de réparer, il faut vérifier où ça casse.
Voici un audit complet.


3.1. Vérifier la présence du paramètre gcs (obligatoire)

Dans Chrome DevTools → Network → filtre “collect” → clique une requête GA4.

Tu dois voir :

gcs=G111 si tout est OK.

Cas typiques :

  • Absence totale de gcs → GA4 ne sait pas si la page est consentie

  • gcs=G100 → CMP bloque tout

  • valeur fluctuante → dépend des différents consent qui ont été accepté par l'utilisateur

  • gcs n’arrive qu’après consentement → Consent Mode cassé


3.2. Vérifier les états de stockage : analytics_storage & ad_storage

Dans la requête GA4, la section query string doit refléter l’état :

  • granted

  • denied

Un consent-mode cassé montre souvent :

  • analytics_storage=denied en permanence

  • ad_storage=denied même après acceptation

  • states inversés

  • aucun état envoyé


3.3. Simuler les transitions “denied → granted”

Test indispensable :

  1. Refuser les cookies

  2. Recharger → GA4 doit envoyer gcs=G100

  3. Accepter les cookies

  4. Recharger → GA4 doit envoyer gcs=G111

Si rien ne change → CMP n’envoie pas les states.


3.4. Vérifier la pose du cookie FPID et du _ga

Bugs très fréquents :

  • _ga non posé → attribution cassée

  • FPID posé avant consentement (interdit)

  • FPID jamais posé sur Safari

  • _ga supprimé par CMP

Solution : vérifier dans “Application → Cookies”.


3.5. Vérifier GTM Preview

Signes d’erreurs :

  • le tag GA4 Config ne se déclenche pas

  • la CMP pousse un event qui écrase le dataLayer

  • GTM init se déclenche avant le consent-mode default

  • l’ordre des scripts est inversé


4. Étape 2 — Corriger le Consent Mode dans le code (snippet obligatoire)

Le Consent Mode doit toujours commencer par une initialisation “default” placée avant GTM.


4.1. Mettre le consent “default” avant GTM

Snippet officiel :

<script>
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied'
  });
</script>

Sans ce snippet → GTM initialise GA4 en mode incertain, ce qui bloque les conversions.


4.2. Charger GTM immédiatement après

<script src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXX"></script>

Important :

  • GTM ne doit pas être bloqué par la CMP

  • GTM doit toujours charger, sinon pas de GA4 ping anonymisé → pas de modélisation


5. Étape 3 — Corriger la CMP (Axeptio, Cookiebot, Didomi, OneTrust)

La CMP doit :

  • reconnaître les catégories obligatoires

  • envoyer un “update”

  • pousser dans dataLayer

  • envoyer les bons paramètres GA4


5.1. Vérifier les mappings purposes → consent-mode

Il faut 4 purposes obligatoires :

Consent Mode v2

CMP Purpose

analytics_storage

Analytics

ad_storage

Ads Storage

ad_user_data

Ads User Data

ad_personalization

Personalization

Si la CMP ne mappe pas correctement → GA4 reste en denied.


5.2. CMP → dataLayer.push obligatoire

Exemples :

Axeptio

window._axcb.push(function() {
  dataLayer.push({ event: 'axeptio_update' });
});

Didomi

didomi.on('consent.changed', function() {
  dataLayer.push({ event: 'didomi_update' });
});

Cookiebot

window.addEventListener("CookiebotOnAccept", function() {
  dataLayer.push({ event: 'cookiebot_update' });
});

5.3. Éviter de bloquer GTM.js

Erreur classique :

CMP bloque GTM tant que consent non donné

plus de GA4, plus de conversion modeling.

Solution :
Laisser GTM se charger, mais empêcher la pose des cookies tant que le consent n’est pas accordé.


6. Étape 4 — Corriger GTM (déclencheurs + GA4 + exceptions)


6.1. GA4 Config doit se déclencher même si refus

Pourquoi ?

Parce que GA4 doit pouvoir :

  • envoyer des pings anonymisés,

  • inclure gcs, gcd, gcu,

  • alimenter le modeling.

Un Consent Mode cassé = GA4 Config qui ne se déclenche pas.


6.2. Supprimer les exceptions “Only when consent accepted”

Ces règles cassent tout :

❌ "Ne déclencher GA4 que si cookies acceptés"

Remplacer par :

✔️ Déclencher GA4 tout le temps
✔️ Gérer le consent dans gtag()


6.3. Vérifier les paramètres auto-ccm de GA4

Google ajoute automatiquement :

  • ad_storage

  • analytics_storage

  • personalization

Si tu forces les valeurs → tu overrides Consent Mode → conversions perdues.


7. Étape 5 — Vérifier GA4 et Google Ads (post-correction)


7.1. Vérifier GA4 DebugView

Signaux attendus :

  • user_properties.consent_state

  • event_params.gcs

  • GA4 Config déclenché systématiquement


7.2. Vérifier dans Google Ads

Dans Outils → Conversions :

Colonne “Consent Required” →
Colonne “Consent status” :

  • Éligible

  • Received

  • Modeling Active

Si tu vois :

  • “Missing required signals” → Consent Mode est encore cassé

  • “Not eligible for enhanced conversions” → GAds ne reçoit pas gcs


7.3. Vérifier la modélisation active

Google Ads affiche :

  • “Using enhanced conversions modeling”

  • “Data driven attribution enabled”

Si absent → consent non valide.


8. Étape 6 — Gérer Consent Mode dans une architecture Server-Side (GTM SS)

Beaucoup d’implémentations cassent les signaux en passant par sGTM.


8.1. Vérifier que gcs est transmis côté serveur

Dans la requête proxifiée vers /g/collect :

Tu dois voir :

gcs=G111

Si absent → ta client → server → Google pipeline casse l’attribution.


8.2. Poser FPID uniquement si consentement analytics

Flow :

  1. user → gtm.js → CMP → consent given

  2. sGTM → pose FPID

  3. GA4 reçoit FPID + client_id + gcs

Si FPID est posé trop tôt → non conforme
Si FPID n’est jamais posé → attribution cookieless cassée


8.3. Vérifier les triggers GA4 SS

Ton client GA4 dans GTM SS doit être configuré :

  • respect de consent-mode

  • priorité sur le côté client

  • déduplication event_id


9. Étape 7 — Monitoring & QA d’un consent-mode corrigé


9.1. 4 tests indispensables

  1. Accept all

  2. Reject all

  3. Accept partial

  4. Change consent en cours de navigation


9.2. Tests navigateurs

Safari est le plus important.
Il gère différemment :

  • cookie lifetime

  • partitioning

  • FPID

  • Storage Access API


9.3. Mettre en place un dashboard de monitoring

Indicateurs critiques :

  • % requêtes GA4 contenant gcs

  • fpid present rate

  • _ga present rate

  • conversions avant/après correction

  • modeling → statut Google Ads

  • proportion denied / granted


9.4. Tracker les erreurs CMP / GTM au fil des mises à jour

Car Axeptio, Didomi, Cookiebot modifient régulièrement :

  • leurs APIs

  • leurs events

  • leur mode de chargement

Il faut revalider le Consent Mode après chaque update.


10. Conclusion — Réparer Consent Mode v2 = restaurer la performance marketing

Consent Mode v2 mal implémenté :

  • sabote GA4

  • détruit l’attribution

  • empêche la modélisation

  • désactive le remarketing

  • fausse la data d’acquisition

  • ruine Smart Bidding

  • fait exploser le trafic Direct

Corriger Consent Mode v2, c’est :

  • restaurer les conversions,

  • récupérer 20–40% de signaux perdus,

  • améliorer le ROAS,

  • réactiver les audiences,

  • rendre GA4 et GAds cohérents,

  • garantir la conformité CMP,

  • stabiliser tout le tracking.

Ce tutoriel t’a donné la méthode la plus précise du marché pour diagnostiquer et corriger Consent Mode v2, côté client, côté CMP, côté GTM, côté GA4 et côté serveur.



Questions fréquemment posées sur le sujet

Le A/B testing server-side consiste à décider côté serveur quelle version d’une page ou d’un parcours utilisateur est renvoyée à l’utilisateur, et à mesurer les conversions / comportements depuis le backend — ce qui rend l’expérience uniforme, neutre vis-à-vis du navigateur, et plus robuste face aux bloqueurs ou restrictions côté client. ([source : server-side A/B testing explanation])

Avec GTM server-side (server-side tagging), vous gagnez en fiabilité des données (moins de perte due aux ad-blockers ou à des navigateurs bloquant les scripts), vous réduisez le flickering ou les effets visuels de changement après le chargement, et vous pouvez tester des logiques backend, des flows complexes ou des changements importants d’expérience utilisateur. :contentReference[oaicite:1]{index=1}

Il faut disposer d’un conteneur server-side correctement déployé (sur Cloud Run / Docker / serveur compatible), avoir configuré le forwarding des hits du conteneur web vers le conteneur server, et être capable d’envoyer depuis le backend les données d’expérience utilisateur (version, user_id ou identifiant de test). :contentReference[oaicite:2]{index=2}

La randomisation doit être faite côté backend : au moment de la requête, le serveur décide — via un algorithme ou un générateur aléatoire — de la variante à délivrer, stocke cette assignation (cookie 1st-party, user_id, storage), puis renvoie la version appropriée. Ainsi l’utilisateur reste dans la même variante tout au long du test.

Il faut persister l’attribution de variante — par un cookie first-party, un identifiant utilisateur, ou un token — afin que le serveur “sache” quelle variante lui avait été assignée, même sur des visites ultérieures ou sur d’autres appareils, pour garantir la cohérence du test.

Dans le conteneur server-side, vous configurez des tags (GA4, outils d’analytics, plateforme d’événements) qui reçoivent les hits avec l’information de variante (A ou B) et les événements (achats, inscriptions, clics). Vous déclenchez ces tags via les requêtes serveur correspondantes, en utilisant les données d’événement envoyées depuis le backend. :contentReference[oaicite:3]{index=3}

Utiliser le mode Preview du conteneur server-side pour vérifier que les requêtes de test arrivent bien, que la variante assignée est correctement enregistrée, que les tags se déclenchent, et que les hits remontent correctement dans l’outil d’analyse (ex. GA4). :contentReference[oaicite:4]{index=4}

On suit les variations de conversion, engagement, revenus, rétention, performance selon la variante, mais aussi la cohérence (durée de session, bounce rate), pour déterminer quelle version performe le mieux selon les objectifs définis.

Les défis peuvent être l’augmentation de la complexité technique (serveur, déploiement, randomisation), la gestion de l’infrastructure (scalabilité, logs), la conformité vie-privée, et le besoin d’un suivi rigoureux pour éviter les biais (persistances, recirculations, double-tracking). :contentReference[oaicite:5]{index=5}

Quand le test concerne des logiques backend, des parcours multi-étapes, des flows critiques (checkout, inscription), quand vous voulez des données fiables malgré ad-blockers, ou quand vous cherchez une expérience utilisateur fluide sans flickering — le server-side est recommandé. :contentReference[oaicite:6]{index=6}




Besoin d'optimiser votre tracking ?

Prendre un RDV

Services et prestations

Un bon suivi de site web permet d'identifier les pages et les éléments qui convertissent le mieux les visiteurs en clients ou prospects.

Détail de l'offre

➕ Mise en place de l'architecture server-side
➕ Transfert des tags et pixels existants
➕ Amélioration de la rapidité de chargement
➕ Gestion des cookies et des AdBlockers
➕ Vérifications et tests pour garantir la fiabilité
➕ Formation GTM Server Side
➕ Validation des compétences GTM server-side

Délais

Entre 1 et 5 jours

Pricing

Détail de l'offre

➕ Exploration détaillée de vos données
➕ Paramétrage sur mesure de Google Analytics 4
➕ Intégration fluide avec vos outils actuels
➕ Dimensions personnalisées adaptées à votre business
➕ Formation Google Analytics 4

Délais

Entre 1 et 3 jours

Pricing

Détail de l'offre

➕ Choix de la CMP
➕ Paramétrage de la CMP
➕ Listing et classification des cookies
➕ Implémentation de Google Consent Mode v2
➕ Assurance de la conformité aux réglementations CNIL et RGPD
➕ Formation

Délais

Entre 1 et 3 jours

Pricing

Détail de l'offre

➕ Automatisation des dashboards
➕ Dashboard personnalisés
➕ Mise en forme ergonomique et pratique
➕ Données en temps réel
➕ Compatible tous device
➕ Validation de vos compétences Looker Studio

Délais

Entre 1 et 10 jours

Pricing

Articles qui peuvent t'intéresser