Google Consent Mode v2 : tout comprendre et l’intégrer avec tarteaucitron.js

TL;DR – Le consent mode v2 est l’API de Google qui transmet les choix de consentement des utilisateurs aux balises Google Ads et GA4. Depuis mars 2024, il est obligatoire pour tout site ciblant l’EEE sous peine de perdre le suivi des conversions et le remarketing. Il ajoute deux nouveaux paramètres (ad_user_data et ad_personalization) aux deux historiques (ad_storage et analytics_storage). Avec tarteaucitron.js (la version open source gratuite), une seule option suffit pour l’activer : "googleConsentMode": true.


Qu’est-ce que le Consent Mode v2 ?

Le google consent mode est un mécanisme développé par Google qui fait le lien entre la bannière de cookies d’un site et les balises de mesure Google. Concrètement : quand un utilisateur refuse les cookies, les balises ne s’éteignent pas complètement – elles envoient des signaux anonymes (des « pings ») qui permettent à Google de modéliser une partie des données manquantes.

Sans consent mode, c’est binaire : consentement = données, refus = silence total. Avec le consent mode, Google peut estimer les conversions non observées grâce à ses modèles statistiques, à condition de recevoir ces signaux.

La v2, déployée fin 2023 et rendue obligatoire en mars 2024, renforce cette logique en ajoutant deux paramètres spécifiques à la publicité, exigés par le Digital Markets Act (DMA) européen.

Les 4 paramètres du consent mode v2 :

Paramètre

Rôle

ad_storage

Stockage de cookies publicitaires (GCLID, etc.)

analytics_storage

Stockage de cookies d’analyse (GA4)

ad_user_data

Envoi de données utilisateur à Google à des fins pub

ad_personalization

Publicité personnalisée / remarketing

Les deux premiers existaient en v1. Les deux derniers sont nouveaux en v2 et c’est leur absence qui rend une implémentation non conforme.


Consent Mode v1 vs v2 : ce qui a changé

La v1 fonctionnait avec deux paramètres. C’était suffisant pour le RGPD dans sa lecture initiale, mais le DMA a changé la donne.

Les 2 nouveaux paramètres (ad_user_data, ad_personalization)

ad_user_data contrôle si le site autorise l’envoi de données utilisateur à Google pour des finalités publicitaires. Ça couvre notamment les enhanced conversions – si ce paramètre est denied, Google ne peut pas recevoir les données hachées (email, téléphone) pour le matching de conversions.

ad_personalization contrôle la publicité personnalisée et le remarketing. Si un utilisateur refuse ce signal, Google ne peut plus lui servir d’annonces basées sur son comportement de navigation. C’est le paramètre directement lié aux listes de remarketing.

Point important : si ad_personalization entre en conflit avec allow_ad_personalization_signals, c’est la valeur la plus restrictive qui l’emporte. Google l’a précisé dans sa documentation officielle.

Pourquoi Google impose la v2 depuis mars 2024

Le Digital Markets Act (DMA) est entré en application le 6 mars 2024. Il impose aux « gatekeepers » – dont Google fait partie – de recueillir un consentement explicite et granulaire avant tout traitement de données à des fins publicitaires dans l’EEE.

Pour Google, cela s’est traduit par une obligation concrète : les annonceurs et éditeurs qui utilisent Google Ads ou GA4 dans l’EEE doivent implémenter le google consent mode v2 avec une CMP ou une solution de consentement correctement configurée. Sans ça, Google Ads a progressivement restreint le suivi des conversions et le remarketing pour le trafic européen.

La deadline était fixée au 6 mars 2024. Les sites qui n’ont pas migré depuis la v1 (ou qui n’avaient aucun consent mode) ont commencé à constater des pertes de données dans leurs rapports Google Ads et GA4.


Mode Basic vs Mode Advanced : lequel choisir ?

C’est la question que tout le monde se pose. La réponse dépend de votre priorité : conformité maximale ou mesure maximale.

Mode Basic – les balises Google ne se chargent pas du tout avant que l’utilisateur ait fait son choix. Aucune donnée n’est transmise à Google avant le consentement. C’est le mode le plus strict sur le plan de la confidentialité, mais la modélisation comportementale de Google est plus limitée, car elle ne dispose d’aucun signal pour les utilisateurs qui refusent.

Mode Advanced – les balises se chargent dès l’arrivée sur la page, mais en mode restreint. En cas de refus, elles envoient des pings anonymes sans cookies. Google peut alors utiliser ces signaux pour alimenter ses modèles statistiques et estimer les conversions ou sessions manquantes.

Résumé en tableau :

Critère

Basic

Advanced

Chargement des balises avant consentement

❌ Non

✅ Oui (mode limité)

Données envoyées en cas de refus

❌ Aucune

✅ Pings anonymes

Qualité de la modélisation Google

Limitée

Meilleure

Niveau de confidentialité

Maximum

Élevé

Recommandé pour

Sites très sensibles (santé, etc.)

La plupart des sites e-commerce / médias

Ma recommandation : pour la grande majorité des sites qui utilisent Google Ads ou GA4, le mode Advanced est le bon compromis. Il respecte le consentement tout en préservant une mesure exploitable. Le mode Basic convient aux sites qui traitent des données sensibles ou qui ont une audience particulièrement attentive à la vie privée.

Option softConsentMode : pour les sites privacy++

softConsentMode est une option tarteaucitron.js qui va encore plus loin que le mode Basic standard. Elle s’active avec une seule ligne dans l’init :

tarteaucitron.init({
    // ... vos autres paramètres ...
    "googleConsentMode": true,
    "softConsentMode": true,  // ← active le mode confidentialité maximale
});

Comportement :

  • Utilisateur accepte → les signaux granted sont envoyés normalement. GA4 et Google Ads reçoivent toutes les données et la modélisation fonctionne à plein régime.

  • Utilisateur refuse → aucun signal n’est envoyé et tout est bloqué. Pas de pings anonymes, pas de chargement de balises en mode restreint. Silence total.

C’est là la différence clé avec le mode Advanced standard : en Advanced classique, un refus génère quand même des pings anonymes vers Google pour alimenter la modélisation. Avec softConsentMode, un refus = zéro donnée transmise, point.

Pour qui ? Ce mode est pensé pour les sites qui veulent aller au-delà des exigences légales minimales : sites de santé, plateformes destinées aux enfants, ou tout éditeur dont l’audience est particulièrement sensible à la vie privée. L’avantage : quand l’utilisateur accepte, la modélisation Google fonctionne normalement – on ne sacrifie pas la mesure pour les utilisateurs consentants, on protège simplement davantage ceux qui refusent.


Intégrer le Consent Mode v2 avec tarteaucitron.js

tarteaucitron.js est la version open source et gratuite du gestionnaire de consentement. Elle est distincte de tarteaucitron.io, qui est la version commerciale Pro (à partir de 190 €/an). Ce guide concerne exclusivement tarteaucitron.js.

Bonne nouvelle : le support du consent mode v2 est intégré nativement dans tarteaucitron.js. Pas besoin de code GTM personnalisé, pas de template tiers.

Avec tarteaucitron.io Pro : activation automatique

tarteaucitron.io (la version commerciale Pro, distincte de tarteaucitron.js open source) gère le Consent Mode v2 de façon entièrement transparente : pas de paramètre googleConsentMode à ajouter, pas de configuration manuelle.

Concrètement : si le mode automatique est activé dans votre espace tarteaucitron.io et que GA4 ou Google Ads est détecté sur le site, le Consent Mode v2 s’active tout seul. Les 4 signaux sont initialisés à denied par défaut, puis mis à jour en fonction des choix de l’utilisateur – sans que vous ayez à toucher une ligne de code.

C’est l’un des avantages concrets de la version Pro par rapport à la version open source : la conformité Consent Mode v2 est assurée d’office, sans maintenance technique de votre côté. Pour les agences qui gèrent plusieurs sites ou pour les éditeurs sans ressources développeur, c’est un gain de temps significatif.

Prérequis

Avant de commencer, vérifiez ces trois points :

  • tarteaucitron.js à jour – la prise en charge du consent mode v2 a été ajoutée dans les versions récentes. Vérifiez sur GitHub que vous utilisez bien la dernière version.

  • Balises Google gérées via tarteaucitron – si vous chargez GA4 ou Google Ads directement dans le <head> sans passer par tarteaucitron, les signaux de consentement ne seront pas correctement transmis. Laissez tarteaucitron gérer le chargement de ces services.

  • Pas de doublon – si vous utilisez aussi GTM, évitez de charger les balises Google à la fois via GTM et via tarteaucitron. Choisissez l’un ou l’autre pour éviter les conflits de signaux.

Configuration pas à pas

L’activation du consent mode v2 dans tarteaucitron.js se fait via le paramètre googleConsentMode dans la fonction tarteaucitron.init().

Voici une configuration complète et commentée :

<!-- 1. Charger tarteaucitron.js -->
<script src="/tarteaucitron/tarteaucitron.js"></script>

<script>
tarteaucitron.init({
    "privacyUrl": "/politique-de-confidentialite/", /* URL de votre politique de confidentialité */
    "hashtag": "#tarteaucitron",
    "cookieName": "tarteaucitron",

    "orientation": "middle",       /* Position de la bannière : top, bottom, middle, popup */
    "groupServices": false,
    "serviceDefaultState": "wait", /* "wait" = pas de chargement auto avant choix */

    "showAlertSmall": false,
    "cookieslist": false,

    "showIcon": true,
    "iconPosition": "BottomRight",

    "DenyAllCta": true,            /* Afficher le bouton "Tout refuser" */
    "AcceptAllCta": true,
    "highPrivacy": true,           /* RECOMMANDÉ : désactive le consentement implicite */

    "removeCredit": false,
    "moreInfoLink": true,

    "mandatory": true,             /* Affiche un message sur les cookies nécessaires */
    "mandatoryCta": true,

    /* ✅ Active le Google Consent Mode v2 pour Google Ads et GA4 */
    "googleConsentMode": true,

    "bingConsentMode": true,       /* Optionnel : Bing Ads / Clarity */
});
</script>

<!-- 2. Ajouter vos services Google APRÈS l'init -->
<script>
    // Exemple : Google Analytics 4
    tarteaucitron.user.gtagUa = 'G-XXXXXXXXXX';
    tarteaucitron.user.gtagCrossdomain = [];
    (tarteaucitron.job = tarteaucitron.job || []).push('gtag');
</script>

Ce que fait "googleConsentMode": true : tarteaucitron.js envoie automatiquement les 4 signaux (ad_storage, analytics_storage, ad_user_data, ad_personalization) à Google en fonction des choix de l’utilisateur. Par défaut, tous les paramètres sont initialisés à denied avant toute interaction – c’est le comportement attendu par Google.

⚠️ Ne désactivez pas googleConsentMode si vous avez des services Google actifs dans tarteaucitron. Sans ce paramètre, les signaux de consentement ne sont pas transmis et votre implémentation n’est pas conforme v2.

Vérification de l’implémentation

Une fois déployé, vérifiez que tout fonctionne avec Google Tag Assistant (l’outil de debug officiel de Google) :

  1. Ouvrez tagassistant.google.com et entrez l’URL de votre site.

  2. Démarrez une session de debug et naviguez sur votre site.

  3. Dans le panneau Summary, sélectionnez le premier événement Consent.

  4. Vérifiez que les 4 paramètres sont présents et en état denied dans la colonne On-page Default.

  5. Acceptez les cookies sur votre bannière, puis vérifiez le dernier événement Consent : les paramètres doivent passer à granted.

  6. Testez aussi le scénario refus total : les 4 paramètres doivent rester à denied.

Si les 4 signaux apparaissent correctement dans les deux scénarios, votre implémentation est conforme consent mode v2.


Impact sur Google Ads et Google Analytics 4

C’est la vraie question business derrière toute cette mécanique technique.

Sans consent mode v2, les utilisateurs qui refusent les cookies disparaissent totalement de vos rapports. Pour un site avec 40 % de taux de refus en France (chiffre courant), ça représente une perte de mesure massive. Google Ads sous-estime les conversions, les enchères automatiques s’optimisent sur des données incomplètes, et le remarketing perd une partie de son audience.

Avec le consent mode v2 en mode Advanced, Google utilise les pings anonymes pour alimenter ses modèles de conversion modeling dans Google Ads et de modélisation comportementale dans GA4. Concrètement :

  • Dans Google Ads, les conversions modélisées apparaissent dans la colonne « Conversions » avec une mention dans les rapports. Elles permettent aux stratégies d’enchères automatiques (tROAS, tCPA) de s’optimiser sur une vision plus complète.

  • Dans GA4, la modélisation comportementale reconstitue des sessions et événements pour les utilisateurs ayant refusé. Elle s’active automatiquement quand les conditions sont remplies (volume suffisant, consent mode correctement configuré).

Ce que le consent mode v2 ne fait pas : il ne contourne pas le consentement. Si un utilisateur refuse, ses données réelles ne sont pas collectées. La modélisation est une estimation statistique, pas un tracking déguisé.

Côté ad_user_data : ce paramètre est particulièrement important si vous utilisez les enhanced conversions (conversions améliorées) dans Google Ads. Sans ce signal accordé, Google ne peut pas recevoir les données hachées pour le matching de conversions – ce qui réduit significativement la précision du suivi des conversions offline et des conversions basées sur les leads.


Questions fréquentes sur le Consent Mode v2

Le consent mode v2 est-il obligatoire pour mon site ?

Si vous utilisez Google Ads ou GA4 et que vous ciblez des utilisateurs dans l’EEE (Union Européenne + Islande, Liechtenstein, Norvège), oui. Depuis mars 2024, Google exige le consent mode v2 pour maintenir le suivi des conversions et le remarketing sur ce trafic. Si votre site est 100 % hors EEE, vous n’êtes pas directement concerné par la deadline DMA, mais l’implémentation reste une bonne pratique RGPD.

Quelle est la différence entre le mode Basic et le mode Advanced ?

En mode Basic, les balises Google ne se chargent pas avant le consentement – aucune donnée n’est envoyée à Google avant l’accord de l’utilisateur. En mode Advanced, les balises se chargent immédiatement mais en mode restreint : elles envoient des pings anonymes sans cookies en cas de refus, ce qui permet à Google de modéliser les données manquantes. Le mode Advanced donne une meilleure qualité de mesure ; le mode Basic offre une confidentialité maximale.

Mon implémentation v1 est-elle encore valide ?

Non. La v1 ne gère que ad_storage et analytics_storage. Elle ne transmet pas ad_user_data et ad_personalization, les deux paramètres requis par le DMA depuis mars 2024. Si vous êtes encore en v1, vous devez migrer – avec tarteaucitron.js, c’est simplement une mise à jour de la librairie et l’ajout de "googleConsentMode": true.

Est-ce compatible avec Google Tag Manager ?

Oui, mais avec une précaution. Si vous utilisez GTM pour charger vos balises Google, vous pouvez configurer tarteaucitron.js pour qu’il envoie les signaux de consentement avant le chargement du conteneur GTM. L’ordre est critique : les signaux de consentement doivent être posés avant que GTM ne charge les balises. Évitez de dupliquer les services Google (une fois via GTM, une fois via tarteaucitron) – choisissez un seul canal de chargement.

Le consent mode v2 va-t-il faire baisser mes conversions rapportées ?

Pas nécessairement. Si vous migrez depuis une situation sans consent mode, vous allez probablement voir une baisse initiale des conversions « directement observées » – mais les conversions modélisées viendront compenser une partie. Si vous migrez depuis la v1, l’impact est généralement limité. Ce qui compte, c’est que la mesure soit plus fiable et que les stratégies d’enchères automatiques disposent de signaux de meilleure qualité.

tarteaucitron.js gère-t-il automatiquement les 4 signaux v2 ?

Oui. Avec "googleConsentMode": true, tarteaucitron.js initialise les 4 paramètres à denied par défaut, puis les met à jour (granted ou denied) en fonction des choix de l’utilisateur sur chaque service Google activé. Vous n’avez pas à écrire manuellement les appels gtag('consent', 'default', ...) ou gtag('consent', 'update', ...).


Sources utiles