Consent Mode v2 : Guide d'implémentation et conformité RGPD France
Avertissement : cet article est fourni à titre informatif et ne constitue pas un conseil juridique. Les obligations légales varient selon votre situation. Consultez un expert avant toute décision de mise en conformité.
Les 4 paramètres, mode basique vs avancé, TCF v2.2, GTM pas à pas, cas pratiques e-commerce et Shopify — guide technique complet pour la France.
Consent Mode v2 · Google Consent Mode · Consent Mode obligatoire · Consent Mode v2 France · CMP RGPD · ad_user_data
Le Consent Mode v2 est l'API de consentement de Google qui ajuste automatiquement le comportement des balises GA4, Google Ads et Floodlight selon le choix de l'utilisateur sur le bandeau cookies. Il transmet 4 signaux de consentement à Google via la commande JavaScript gtag('consent').
Comment ça fonctionne : quand un visiteur refuse les cookies, les balises ne déposent pas de traceurs mais envoient des pings anonymisés. Google utilise ces signaux pour modéliser statistiquement les conversions manquantes — sans identifier l'utilisateur.
Pourquoi c'est important : sans Consent Mode v2, Google restreint progressivement l'accès aux Enhanced Conversions, aux audiences similaires et à Google Signals. La CNIL peut sanctionner indépendamment pour dépôt de traceurs sans consentement valide.
ad_user_data et ad_personalization — aux deux existants. Sans implémentation, Google renforce progressivement les restrictions sur les audiences, Google Signals et les Enhanced Conversions. La CNIL peut sanctionner indépendamment. À partir de juin 2026, Google Analytics transite vers l'utilisation du Consent Mode comme contrôle unique pour Google Signals — une mauvaise configuration peut couper le suivi multi-appareils instantanément.
Sans implémentation correcte, Google applique progressivement ces restrictions : Enhanced Conversions désactivées (
ad_user_data absent), audiences similaires et remarketing coupés (ad_personalization manquant), Google Signals incomplet dans GA4, modélisation des conversions absente. En parallèle, la CNIL peut prononcer des amendes allant jusqu'à 4 % du chiffre d'affaires mondial pour dépôt de traceurs sans consentement valide.
Consent Mode v2 : définition et fonctionnement technique
Avant cette mise à jour, si un visiteur refusait les cookies, les balises Google se taisaient complètement. Des conversions invisibles, des campagnes pilotées à l'aveugle. La version 2 change l'équation sur deux plans.
D'abord, même sans consentement explicite, des pings anonymisés peuvent être envoyés — sans déposer de cookie, sans identifier l'utilisateur. Google utilise ces signaux pour modéliser statistiquement les conversions manquantes. Ensuite, deux nouveaux paramètres permettent un contrôle granulaire de l'utilisation des données publicitaires, en réponse directe aux exigences du Digital Markets Act (DMA).
Les 4 paramètres et la Consent API
La Consent API est l'interface JavaScript fournie par Google pour déclarer et mettre à jour l'état du consentement. Elle repose sur deux commandes : gtag('consent', 'default', {...}) pour l'état initial, et gtag('consent', 'update', {...}) après le choix de l'utilisateur. Ces commandes doivent s'exécuter dans cet ordre précis — avant tout autre script Google.
| Paramètre | Rôle | Impact si refusé | Version |
|---|---|---|---|
analytics_storage | Stockage données d'analyse | Sessions GA4 non identifiées, Google Signals désactivé | v1 |
ad_storage | Cookies publicitaires et remarketing | Pas de cookies Ads déposés | v1 |
ad_user_data Nouveau v2 | Partage données user avec Google Ads | Enhanced Conversions désactivées | v2 |
ad_personalization Nouveau v2 | Personnalisation et reciblage publicitaire | Audiences similaires et remarketing coupés | v2 |
TCF v2.2, IAB Europe et Google Signals
TCF v2.2 — Transparency and Consent Framework
Le TCF v2.2 est le standard de l'industrie publicitaire développé par IAB Europe pour structurer la collecte du consentement dans les écosystèmes programmatiques. Si vous diffusez de la publicité programmatique (SSP, DSP, ad exchange), votre CMP doit être certifiée TCF v2.2 en plus d'être compatible Consent Mode v2. Les deux exigences sont distinctes et doivent être activées séparément dans la configuration de votre CMP.
Google Signals
Google Signals est la fonctionnalité GA4 qui permet le reporting inter-appareils et l'alimentation des audiences Google Ads. Son fonctionnement dépend directement de analytics_storage : si ce paramètre est denied, Google Signals ne collecte pas les données de cet utilisateur. À partir de juin 2026, Google transite vers l'utilisation du Consent Mode comme contrôle unique pour Google Signals — une implémentation absente ou défaillante coupera le suivi multi-appareils de façon permanente.
Enhanced Conversions
Les Enhanced Conversions permettent d'envoyer des données first-party hashées (email, téléphone) à Google pour améliorer l'attribution. Elles dépendent du paramètre ad_user_data, introduit en v2. Les sites restés en Consent Mode v1 voient leurs Enhanced Conversions cesser de fonctionner simplement parce que ce paramètre n'existe pas dans la v1.
Votre CMP est-elle compatible TCF v2.2 ET Consent Mode v2 ? Ce n'est pas automatique.
Parlez-nous de votre projet →Consent Mode v2 mode basique ou mode avancé — lequel choisir ?
| Mode basique | Mode avancé | |
|---|---|---|
| Données avant consentement | ❌ Aucune | ✅ Pings anonymisés |
| Perte de données estimée | Jusqu'à 60 % | 15 à 30 % |
| Données récupérées via modélisation | Modèle générique Google | 15–20 % via modélisation spécifique au site |
| Google Signals | Désactivé avant consentement | Pings partiels actifs |
| Enhanced Conversions | Selon consentement final uniquement | Meilleures données de modélisation |
| Sécurité juridique CNIL | ⭐⭐⭐ Maximale | ⭐⭐ Bonne si bien configuré |
| Complexité d'implémentation | Faible | Élevée |
Quelle CMP choisir pour le Consent Mode v2 en France ?
| CMP | Conformité CNIL | TCF v2.2 | Prix indicatif | Idéal pour |
|---|---|---|---|---|
| Axeptio | ⭐⭐⭐ Natif | ✅ Oui | À partir de 29 €/mois | PME françaises, bon support |
| Didomi | ⭐⭐⭐ Natif | ✅ Oui | Sur devis (~200 €/mois) | Grands comptes, multi-sites |
| Cookiebot | ⭐⭐ Configurable | ✅ Oui | À partir de ~30 €/mois (depuis août 2025) | Sites multilingues — vérifiez le prix actuel |
| Usercentrics | ⭐⭐ Configurable | ✅ Oui | Sur devis | Applications, contextes complexes |
Pour la France, l'équivalence du refus impose qu'Axeptio et Didomi soient configurées de façon spécifique. Le comparatif complet avec critères détaillés, dark patterns, performance Core Web Vitals et guide de configuration CNIL : Axeptio vs Didomi vs Cookiebot — comparatif complet →
Implémentation pas à pas avec GTM
L'ordre d'exécution est critique — la Consent API doit s'initialiser avant tout autre script Google.
-
1Auditer les balises existantes dans GTM
Listez toutes les balises Google : GA4, Google Ads, Floodlight, pixels tiers. Chacune doit être associée au bon paramètre de consentement à l'étape 6.
-
2Activer la vue d'ensemble du consentement dans GTM
Admin → Paramètres du conteneur → activer Vue d'ensemble du consentement. Sans cette étape, l'état du consentement par balise n'est pas visible en mode Preview.
-
3Choisir une CMP certifiée Google et compatible TCF v2.2
Pour la France : Axeptio, Didomi, Cookiebot ou Usercentrics. Récupérez le template GTM officiel de votre CMP dans la galerie de balises. Voir notre comparatif Axeptio vs Didomi →
-
4Charger la CMP sur "Initialisation du consentement"
La balise CMP doit se déclencher sur Initialisation du consentement – Toutes les pages, jamais sur "Page vue". C'est le seul déclencheur GTM qui s'exécute avant toutes les autres balises.
-
5Initialiser la Consent API avec les 4 paramètres sur "denied"
gtag('consent', 'default', { analytics_storage: 'denied', ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', wait_for_update: 500 });Le paramètre
wait_for_updatelaisse 500 ms à la CMP pour transmettre le consentement. Ajustez si votre CMP charge lentement. -
6Associer chaque balise à son paramètre de consentement
Dans chaque balise GTM → onglet Consentement : GA4 →
analytics_storage, Google Ads →ad_storage+ad_user_data, balises remarketing →ad_personalization. -
7Tester les 3 scénarios obligatoires
Via GTM Preview : acceptation totale, refus total, consentement partiel. Vérifiez l'onglet "Consentement" de chaque événement dans les résultats.
Cas pratiques — exemples réels d'implémentation
Site e-commerce avec Google Ads
Priorité absolue : mode avancé + Enhanced Conversions.
- Configurez
ad_user_datapour envoyer les emails hashés post-achat à Google Ads - Activez la modélisation dans les paramètres de conversion Google Ads
- Taux de refus typique en France : 40–55 % — le mode avancé récupère environ 15–20 % via modélisation
- Vérifiez que le datalayer ecommerce (purchase event GA4) se déclenche après consentement ou est anonymisé en mode avancé
Site lead gen B2B
Mode basique souvent suffisant si budget Ads modéré.
- Configurez les Enhanced Conversions sur les formulaires si vous utilisez Google Ads
- Activez
ad_user_datamême en mode basique — il active les Enhanced Conversions dès que l'utilisateur consent - Priorité : conformité CNIL rigoureuse — une friction réglementaire nuit à la crédibilité B2B
Boutique Shopify
Attention : Shopify a sa propre gestion des cookies.
- Shopify Customer Privacy API peut entrer en conflit avec le Consent Mode GTM — à désactiver ou synchroniser
- Utilisez une CMP compatible Shopify (Axeptio, Cookiebot) pour éviter les doublons de consentement
- Guide complet Consent Mode v2 sur Shopify →
Site WordPress / WooCommerce
Le cas le plus risqué en termes de fausse conformité.
- Les plugins "tout-en-un" (Complianz, CookieYes) omettent souvent
ad_user_dataetad_personalization - Si vous utilisez GTM, privilégiez le template officiel CMP dans GTM plutôt que le plugin WordPress
- Vérifiez via l'onglet Réseau — ne vous fiez pas à la promesse du plugin
- Guide complet Consent Mode v2 sur WordPress →
Votre cas n'est pas listé ? Nous diagnostiquons votre configuration en 30 minutes.
Parlez-nous de votre projet →Consent Mode v2 et tracking server-side
Le Consent Mode v2 réduit la perte de données côté client. Le tracking server-side résout un problème différent mais complémentaire : il déplace l'exécution des balises de suivi vers un serveur intermédiaire.
En pratique, les deux approches sont souvent déployées ensemble sur les sites e-commerce à fort trafic : le Consent Mode gère le consentement utilisateur, le server-side via Stape gère la fiabilité de la collecte. Guide complet : Tracking server-side — fonctionnement et mise en place →
Erreurs fréquentes — y compris celles qui semblent correctes
| Symptôme | Cause réelle | Correction |
|---|---|---|
| Balises déclenchées avant le choix utilisateur | CMP chargée sur "Page vue" au lieu de "Initialisation du consentement" | Changer le déclencheur de la balise CMP dans GTM |
gcs=G100 absent en refus total | Commande default absente ou exécutée trop tard | Ajouter gtag('consent', 'default') avant tout script Google |
| Enhanced Conversions ne fonctionnent plus | ad_user_data non déclaré — implémentation restée en v1 | Mettre à jour le template CMP vers la v2 complète |
| Google Signals désactivé malgré le consentement | analytics_storage reste denied après acceptation — bug de sync CMP/GTM | Vérifier l'événement "Mise à jour du consentement" dans GTM Preview |
| Plugin WordPress "conforme CMv2" sans effet réel | Paramètres ad_user_data et ad_personalization non déclarés | Vérifier via l'onglet Réseau — le paramètre gcd doit être présent |
| Bouton "tout refuser" absent ou discret | Configuration CMP non adaptée à la doctrine CNIL française | Activer l'option "équivalence refus" dans la CMP |
| Données de conversion perdues entre pages | url_passthrough non configuré — paramètres d'attribution perdus après refus ad_storage | Activer gtag('set', 'url_passthrough', true) avant le snippet GTM pour préserver les paramètres d'attribution dans les URLs |
| sGTM envoie des données malgré le refus | État de consentement jamais transmis au conteneur serveur | Inclure l'état du consentement dans le payload ou via un cookie first-party transmis au serveur |
Spécificités CNIL France
- Équivalence du refus : le bouton "Tout refuser" doit être aussi visible que "Tout accepter". Un lien texte discret ne suffit pas.
- Pas de dark patterns : couleurs trompeuses, pré-cochages, design orienté vers l'acceptation — tous sanctionnables.
- Consentement granulaire : l'utilisateur doit pouvoir accepter ou refuser par finalité, pas seulement en bloc.
- Transfert hors UE : le transfert vers les serveurs Google aux États-Unis reste un point de vigilance. La proxyfication via GTM server-side peut répondre partiellement à ce point.
- TCF v2.2 : si votre site diffuse de la publicité programmatique, la CMP doit être certifiée TCF v2.2 par IAB Europe.
Checklist de vérification technique
- F12 → Réseau → filtrez
collectougtm.js - Refus total : paramètre
gcs→ doit afficherG100 - Acceptation totale :
gcs→ doit afficherG111 - Paramètre
gcdprésent → encode les 4 signaux v2. Son absence = implémentation v1 - Aucun cookie Google déposé avant l'interaction utilisateur
- Événement "Initialisation de la collecte du consentement" → onglet "Consentement" → "Par défaut sur la page" : Refusé pour les 4 paramètres
- Après acceptation → événement "Mise à jour du consentement" → "Mise à jour" : Accordé selon les choix
- Balises GA4 et Google Ads : statut "Consentement" affiche Conforme après acceptation
Votre implémentation Consent Mode v2 est-elle vraiment fiable ?
La majorité des sites que nous analysons présentent au moins un problème d'implémentation — souvent invisible en surface, mais détectable en 30 minutes de vérification technique.
Les signaux qui indiquent un problème :
- Vos Enhanced Conversions ont cessé de remonter des données depuis quelques mois
- Vos audiences Google Ads se vident progressivement sans raison apparente
- Votre taux de sessions GA4 a chuté après l'installation d'un bandeau cookie
- Le paramètre
gcdest absent de vos requêtes réseau - Votre plugin WordPress vous assure être "conforme CMv2" mais vous n'avez jamais vérifié techniquement
- Vous utilisez le server-side GTM et n'avez jamais vérifié que les signaux de consentement sont transmis au serveur
Décrivez-nous votre situation.
CMS utilisé, outils Google en place, symptômes observés — plus vous êtes précis, plus notre retour sera concret. Réponse sous 24h.
Parlez-nous de votre projet →Réponse sous 24h · Sans engagement · Devis sur mesure
Questions fréquentes
gtag('consent', 'default') et gtag('consent', 'update') — qui transmet l'état du consentement aux balises Google. La CMP (Consent Management Platform) collecte le choix de l'utilisateur et appelle la Consent API. L'une ne remplace pas l'autre : vous avez besoin des deux.ad_user_data et ad_personalization. Sans eux, les Enhanced Conversions ne fonctionnent pas. Vérifiez via l'onglet Réseau — le paramètre gcd doit être présent.