Consent Mode v2 avec GTM côté serveur
Consent Mode indique aux balises Google ce que le visiteur a accepté, pour qu'elles adaptent ce qu'elles stockent et envoient. Avec GTM côté serveur, l'état du consentement accompagne chaque hit jusqu'à votre conteneur serveur. Les balises Google y réagissent d'elles-mêmes, mais les autres balises serveur, comme la Meta Conversions API, non. Cette leçon couvre les deux volets.
Avancé 11 min de lecture
Ce que vous allez apprendre
- Expliquer les quatre signaux de Consent Mode v2 et la différence entre mode basique et mode avancé.
- Définir un état de consentement par défaut avant le chargement de GTM et le mettre à jour quand le visiteur accepte.
- Comprendre comment l'état du consentement arrive dans votre conteneur serveur avec chaque hit.
- Empêcher les balises serveur non Google de se déclencher quand le consentement a été refusé.
- Vérifier l'état du consentement avec Tag Assistant.
Avant de commencer
- GA4 qui passe par votre conteneur serveur (leçon 4).
- Une bannière de consentement (CMP), ou le projet d'en ajouter une.
01 Les quatre signaux de Consent Mode v2
Consent Mode v2 utilise quatre signaux. Chacun vaut soit granted, soit denied.
-
ad_storage: cookies et stockage à des fins publicitaires. -
analytics_storage: cookies et stockage à des fins d'analyse, comme le client ID de GA4. -
ad_user_data: indique si des données utilisateur peuvent être envoyées à Google à des fins publicitaires. -
ad_personalization: indique si les données peuvent servir à la publicité personnalisée, comme le remarketing.
Les deux derniers ont été ajoutés dans la v2. Google les exige pour les fonctionnalités publicitaires auprès des visiteurs de l'Espace économique européen (EEE).
Il existe deux façons d'utiliser Consent Mode :
- Basique : les balises Google ne se chargent pas du tout tant que le visiteur n'a pas fait son choix. Rien n'est envoyé avant le consentement.
- Avancé : les balises Google se chargent immédiatement avec l'état par défaut (en général refusé). Tant que le consentement est refusé, elles envoient des pings sans cookies ni identifiants, que Google utilise pour la modélisation. Après le consentement, elles fonctionnent normalement.
02 Définissez l'état par défaut et mettez-le à jour
L'état par défaut doit être défini avant l'exécution de toute balise. Si vous le définissez dans le code, placez-le au-dessus de l'extrait GTM.
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',
wait_for_update: 500
});wait_for_update laisse à la bannière ce nombre de millisecondes pour signaler un choix enregistré avant que les balises ne se déclenchent. Quand le visiteur accepte, la bannière envoie une mise à jour :
gtag('consent', 'update', {
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted',
analytics_storage: 'granted'
});En pratique, vous écrivez rarement ce code vous-même. La plupart des plateformes de consentement (CMP) proposent un modèle dans la Community Template Gallery qui définit l'état par défaut et la mise à jour pour vous.
- 1 Dans le conteneur web, allez dans Tags, cliquez sur New et choisissez Tag Configuration. Cliquez sur Discover more tag types in the Community Template Gallery et recherchez votre CMP.
- 2 Configurez l'état par défaut dans le modèle, en général
deniedpour les quatre signaux. - 3 Choisissez le déclencheur Consent Initialization - All Pages, pour qu'il s'exécute avant toutes les autres balises.
- 4 Publiez et testez la bannière en Preview.
03 Comment le consentement arrive dans le conteneur serveur
Les balises Google du conteneur web ajoutent l'état du consentement à chaque hit qu'elles envoient. Le paramètre gcs transporte ad_storage et analytics_storage, et gcd transporte les quatre signaux, y compris la façon dont ils ont été définis. Comme le hit part vers sgtm.example.com, l'état arrive avec lui dans votre conteneur serveur.
Le client GA4 lit ces paramètres et les transmet dans les données d'événement. Les balises Google du conteneur serveur (la balise GA4, le suivi des conversions Google Ads) les respectent automatiquement : quand le consentement est refusé en mode avancé, elles transmettent un ping sans cookies et ne posent ni ne lisent aucun identifiant.
05 Vérifiez l'état du consentement
- 1 Ouvrez le conteneur web en Preview dans une nouvelle fenêtre de navigation privée, pour qu'aucun choix antérieur ne soit enregistré.
- 2 Dans Tag Assistant, sélectionnez le premier événement Consent du Summary et ouvrez l'onglet Consent. On-page Default doit afficher
deniedpour les quatre signaux (ou vos valeurs par défaut régionales). - 3 Acceptez la bannière, sélectionnez l'événement Consent le plus récent et vérifiez que On-page Update affiche
granted. - 4 Dans le Preview serveur, ouvrez une requête avant et une après le consentement, et comparez
x-ga-gcsdans Event Data.
- L'état par défaut est défini avant le déclenchement de toute balise.
- Les quatre signaux v2 sont définis dans l'état par défaut et dans la mise à jour.
- Le conteneur serveur reçoit le nouvel état du consentement après l'acceptation du visiteur.
- Les balises serveur non Google ne se déclenchent qu'avec le consentement.
Questions fréquentes
Dois-je utiliser Consent Mode en mode basique ou avancé ?
Le mode avancé permet à Google de modéliser les conversions des visiteurs qui ont refusé, ce qui donne en général des chiffres plus complets. Le mode basique n'envoie rien avant le consentement. Le choix autorisé dépend de votre analyse juridique, pas du conteneur serveur.
GTM côté serveur me permet-il de me passer de bannière de consentement ?
Non. Déplacer les balises sur un serveur change l'endroit où les données sont traitées, pas la nécessité d'un consentement pour les collecter. Les mêmes règles de consentement s'appliquent.
Pourquoi le conteneur serveur reçoit-il encore des hits quand le consentement est refusé ?
En mode avancé, les balises Google continuent d'envoyer des pings sans cookies tant que le consentement est refusé. Le conteneur serveur les reçoit avec l'état refusé, et les balises Google qui s'y trouvent les transmettent sans identifiants.
Prêt à passer à la pratique ?
Déployez un conteneur GTM serveur sur votre propre domaine en quelques minutes. L'offre gratuite ne demande aucune carte bancaire.
Créer un compte gratuit