Google Consent Mode v2 : le configurer correctement
Configurez Consent Mode v2 : signaux refusés par défaut avant toute balise Google, mis à jour à chaque choix, ad_user_data et ad_personalization transmis.Google Consent Mode est un signal, pas un bandeau. C’est un ensemble d’indicateurs que votre bandeau de consentement transmet aux balises Google (Google Analytics 4, Google Ads, Floodlight) pour que chaque balise adapte ce qu’elle stocke et ce qu’elle envoie.
Pour le configurer correctement, il vous faut trois choses, dans cet ordre : un état par défaut « refusé » déclaré avant l’exécution de toute balise Google, une mise à jour envoyée chaque fois que le visiteur fait ou modifie un choix, et les deux paramètres ajoutés par la version 2, ad_user_data et ad_personalization, rattachés à votre catégorie marketing.
Ce que signifient les signaux
La documentation de Google définit sept types de consentement :
| Type de consentement | Ce que Google dit qu’il contrôle |
|---|---|
ad_storage | Le stockage, par exemple les cookies, lié à la publicité |
ad_user_data | L’envoi de données utilisateur à Google à des fins de publicité en ligne |
ad_personalization | La publicité personnalisée |
analytics_storage | Le stockage lié à la mesure d’audience, par exemple la durée de visite |
functionality_storage | Le stockage qui soutient les fonctionnalités du site, par exemple la langue choisie |
personalization_storage | Le stockage lié à la personnalisation, par exemple les recommandations de vidéos |
security_storage | Le stockage lié à la sécurité, comme l’authentification et la prévention de la fraude |
La version 2, annoncée pour le trafic de l’Espace économique européen, a ajouté ad_user_data et ad_personalization. La page d’aide de Google pour le trafic de l’EEE indique que les annonceurs doivent respecter la politique de consentement des utilisateurs de l’UE pour utiliser la personnalisation des annonces et la mesure avec des balises qui envoient des données à Google, et qu’ils doivent partager les signaux de consentement. Depuis mars 2024, les listes Customer Match utilisées dans l’EEE exigent les deux champs à « accordé » ; les données des utilisateurs de l’EEE qui n’ont pas consenti ne sont pas traitées. Le contexte et les conséquences sont dans notre article sur le changement de mars 2024.
Mode basique ou avancé ?
Google décrit deux façons d’implémenter le consent mode.
- Basique. Les balises Google sont bloquées jusqu’à ce que le visiteur interagisse avec le bandeau. S’il refuse, aucune donnée n’est envoyée à Google, pas même l’état du consentement. Google Analytics n’a alors aucun « ping sans cookie » à partir duquel modéliser, et vous n’obtenez aucune donnée modélisée pour les visiteurs qui ont refusé.
- Avancé. Les balises Google se chargent à l’ouverture de la page avec un consentement refusé par défaut. Tant que le consentement est refusé, les balises envoient des mesures sans cookies ; quand le visiteur consent, elles envoient les données complètes. Google utilise les pings sans cookies pour la modélisation des conversions et des comportements.
Le mode avancé est celui que les pages de Google recommandent pour la modélisation, et celui que la plupart des outils de consentement branchent. Savoir si un ping sans cookie est acceptable pour votre autorité de contrôle est une question juridique, pas technique : le ping envoie toujours une requête à Google depuis le navigateur du visiteur. Si vous voulez la configuration prudente, utilisez le mode basique en marquant la balise Google pour qu’elle ne se charge qu’après le consentement à la mesure d’audience, comme décrit dans le guide sur le blocage des scripts. Dans les deux cas, le consent mode ne remplace pas le consentement ; la documentation de Google elle-même indique que vous restez responsable de l’obtention du consentement des utilisateurs.
L’ordre compte
Le guide de Google le dit sans détour : « L’ordre du code est essentiel. Si votre code de consentement est appelé dans le mauvais ordre, les valeurs par défaut ne fonctionneront pas. » La commande de valeurs par défaut doit s’exécuter sur chaque page avant toute commande config ou event. Une déclaration par défaut écrite à la main ressemble à ceci :
html<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('consent', 'default', {'ad_storage': 'denied','ad_user_data': 'denied','ad_personalization': 'denied','analytics_storage': 'denied','functionality_storage': 'denied','personalization_storage': 'denied','security_storage': 'granted','wait_for_update': 500});</script>
wait_for_update laisse à un bandeau chargé de façon asynchrone quelques centaines de millisecondes pour signaler un choix mémorisé avant le déclenchement des balises. Google prend aussi en charge un paramètre region pour que les valeurs par défaut ne s’appliquent qu’aux visiteurs des pays ou États listés, et deux réglages optionnels : ads_data_redaction retire les identifiants de clic publicitaire des requêtes Google Ads quand ad_storage est refusé, et url_passthrough transporte les informations de clic dans les paramètres d’URL d’une page à l’autre quand les cookies sont refusés.
Quand le visiteur choisit, envoyez une mise à jour, et renvoyez-la à chaque changement de choix, y compris d’accordé à refusé :
jsgtag('consent', 'update', {'ad_storage': 'granted','ad_user_data': 'granted','ad_personalization': 'granted','analytics_storage': 'granted'});
Conservez le choix (dans un cookie interne) pour que la page suivante applique immédiatement le bon état.
Comment Cookiequiet envoie les signaux
Ajoutez data-consent-mode="1" à la balise Cookiequiet et chargez-la avant la balise Google :
html<script src="https://cookiequiet.com/cq.js" data-site="KEY" data-consent-mode="1" defer></script>
La balise Google ou le conteneur Tag Manager vient en dessous.
Au chargement, le script pousse une valeur par défaut avec chaque type refusé sauf security_storage, avec wait_for_update à 500 ms, avant de récupérer quoi que ce soit sur le réseau. Si le visiteur a déjà un choix mémorisé, la mise à jour est poussée aussitôt. À chaque choix, la correspondance est la suivante : marketing pilote ad_storage, ad_user_data et ad_personalization ; mesure d’audience pilote analytics_storage ; fonctionnel pilote functionality_storage et personalization_storage. Le script pousse aussi un événement cq_consent dans le dataLayer avec les booléens cq_functional, cq_analytics et cq_marketing, que vous pouvez utiliser comme déclencheur Google Tag Manager pour les balises non Google ; le guide Tag Manager montre la configuration du déclencheur. Le consentement Microsoft UET est envoyé de la même façon quand l’option est activée.
Une limite à connaître : Cookiequiet n’est pas une plateforme de gestion du consentement certifiée par Google pour le Transparency and Consent Framework de l’IAB, donc les sites qui affichent des annonces Google AdSense, Ad Manager ou AdMob à des visiteurs de l’EEE, du Royaume-Uni ou de Suisse ont besoin d’une CMP certifiée pour ces annonces. Google Analytics 4, le suivi des conversions Google Ads et le remarketing fonctionnent avec l’intégration Consent Mode décrite ici.
Vérifier que cela fonctionne
Ouvrez votre site dans une fenêtre de navigation privée avec les outils de développement. Avant tout clic, inspectez window.dataLayer : les premières entrées doivent être les valeurs par défaut du consentement. Cliquez sur « Tout refuser » et vérifiez qu’une mise à jour avec chaque type publicitaire refusé a été poussée et qu’aucun cookie _ga n’est apparu. Cliquez sur « Tout accepter » et vérifiez l’inverse. Le Tag Assistant de Google montre aussi l’état du consentement balise par balise. Si la valeur par défaut apparaît après une commande config, remontez le script Cookiequiet plus haut dans le head.
Questions
Sources
- Google, configurer le consent mode sur les sites (documentation Tag Platform)
- Google, concepts du consent mode : types de consentement, implémentation basique et avancée
- Aide Google Ads, mises à jour du consent mode pour le trafic dans l’Espace économique européen (EEE)
- Aide Google Analytics, le consent mode dans Google Analytics
- Aide Google Ads, comment fournir le consentement pour Customer Match