Durant mes formations sur Google Analytics 4, on me questionne régulièrement sur la configuration du Consent mode ou mode Consentement de Google. Dans ce rapide tuto, je te propose de voir étape par étape comment configurer le consent mode avec Google Tag Manager et Axeptio – qui n’intègre pas par défaut l’API Mode Consentement. C’est parti !
- Qu’est-ce que le mode de consentement de Google ?
- Comment configurer le mode de consentement avec Google Tag Manager ?
- Comment tester la configuration du consentement mode ?
Qu’est-ce que le mode de consentement de Google ?
Tout d’abord, note bien que le mode consentement n’est pas une plateforme de gestion du consentement. Il ne gère pas la demande, l’enregistrement et l’historique du consentement.
Avant d’expliquer le consent mode de Google, partageons l’évidence que la perte de données est proportionnelle au nombre d’utilisateurs qui refusent les cookies Analytics. C’est un phénomène qu’on a tous observé dans nos propriétés Google Analytics et qui affecte directement la précision de nos analyses.
- Combien d’utilisateurs actifs quotidiens ai-je ?
- Combien de nouveaux utilisateurs ai-je acquis lors de ma dernière campagne ?
- Quel est le parcours de l’utilisateur depuis l’arrivée sur mon site Web jusqu’à l’achat ?
Le Mode Consentement permet d’ajuster le comportement de tes balises Google (Analytics, Ads ou Floodlight) en fonction de l’état de consentement de vos utilisateurs.
C’est là que surgit hors de la nuit, le mode Consentement de Google ! Il s’agit d’une API qui détermine en temps réel la méthode pour collecter les données selon le statut de consentement de l’utilisateur actif.
La configuration la plus simple du mode consentement est d’opter pour une CMP/PGC (Consent Management Platform, Plateforme de gestion du consentement) qui intègre l’API, comme Didomi ou Cookiebot. Ces CMP proposent dans GTM un template pour intégrer leur script et gérer le consent mode. Liste des CMP compatibles disponibles https://support.google.com/analytics/answer/9976101?hl=fr#cmp1
À noter qu’aucune donnée personnelle n’est collectée en cas de refus de consentement. Ce qui nous intéresse, c’est qu’en cas d’absence de consentement, les données consenties et non consenties collectées par le mode Consentement alimentent in fine les algorithmes e-learning de modélisation des données manquantes.
- Modéliser l’attribution des conversions Ads et GA4. Prédiction de la source, le support et la campagne qui seraient à l’origine de la conversion.
- Modéliser les données comportementales GA4. Prédiction des événements, paramètres et métadonnées qui auraient été enregistrés si l’utilisateur avec donné son consentement.
En cas d’absence de consentement, voici les données qui seraient collectées par mode Consentement. Informations directement extraites des pages Google https://support.google.com/analytics/answer/9976101?hl=fr.
- » Pings sur l’état du consentement pour les balises Google Ads et Floodlight : ils communiquent l’état de consentement par défaut que vous avez configuré et l’état mis à jour lorsque le visiteur accorde ou refuse le consentement pour chaque type de consentement, par exemple « ad_storage » et « analytics_storage ». Les pings sur l’état de consentement sont envoyés depuis chaque page visitée par l’utilisateur où le mode Consentement est activé. Ils sont également déclenchés pour certaines balises si l’état du consentement passe de « refusé » à « accordé » (par exemple, si un visiteur donne son accord dans une boîte de dialogue de collecte du consentement).
- Pings de conversion : ils indiquent qu’une conversion a eu lieu.
- Pings Google Analytics : ils sont envoyés depuis chaque page d’un site Web où Google Analytics est implémenté lors du chargement et quand des événements sont consignés.
Les pings décrits ci-dessus peuvent inclure :
- des informations fonctionnelles (telles que les en-têtes ajoutés de manière passive par le navigateur) :
- Code temporel
- User-agent (Web uniquement)
- URL de provenance
- des informations agrégées/ne permettant pas d’identification :
- Informations indiquant si l’URL d’une page du site actuellement ou précédemment consultée par l’utilisateur incluait des données concernant les clics sur les annonces (par exemple, GCLID/DCLID)
- Informations booléennes sur l’état de consentement
- Nombre aléatoire généré à chaque chargement de page
- Informations sur la plate-forme de consentement utilisée par le propriétaire du site (ID de développeur, par exemple) ».
Côté CNIL, le mode consentement peut poser problème, notamment à cause de la collecte du user-agent, qui si spécifique, permettrait à Google d’identifier un utilisateur (finger-printing). Google de son côté annonce qu’il n’utilise pas cette technique. Les modélisations sont alimentées par des données non personnelles du consent mode et par des données consenties…
Comment configurer le Mode Consentement avec Google Tag Manager et Axeptio ?
En préalable, note que ce guide est utile uniquement si tu utilises un CMP qui n’est pas référencé par Google https://support.google.com/analytics/answer/9976101?hl=fr#cmp1, comme Axeptio. Le but est de communiquer à la balise Google l’état du consentement afin d’adapter la collecte.
La configuration du consent mode sur GTM est composée en 3 activités.
- Configurer les variables « analytics_storage » et « ad_storage » qui stockent le statut du consentement « denied » ou « granted ».
- Configurer les balises Consent Mode « Default » et « Update ».
- Configurer les balises Google Analytics.
Plus de détail pour configurer le consentement mode sur le site de Google https://developers.google.com/tag-platform/devguides/consent.
Afin de faciliter l’intégration du mode Consentement, je propose d’utiliser le template de balise de Simo Ahava « Consent Mode (Google Tags) ». Une balise qui communiquera à la balise Google l’état du consentement par défaut et à chaque update d’Axeptio.
Configurer les variables « analytics_storage » et « ad_storage ».
Avant de configurer la balise Consent Mode, commençons par configurer les variables ad_storage et analytics_storage. Plus précisément, nous allons déterminer leur valeur selon le consentement « denied » ou « granted ». Elles seront utiles dans les balises Consent Mode default et update.
Dans cet exemple, j’utilise Axeptio. Axeptio stocke les éditeurs consentis dans un cookie « axeptio_authorized_vendors ».
Si google_analytics est trouvé dans ce cookie, alors « analytic_storage » = « granted » si non « denied ».
Configurons les variables Google Tag Manager.
- Configure une variable Cookie propriétaire « cookie axeptio_authorized_vendors » pour stocker le contenu du cookie « axeptio_authorized_vendors ». Il est également possible de récupérer la liste Axeptio des éditeurs autorisés dans le dataLayer, mais il faut attendre que ce dernier soit chargé, alors que le cookie est disponible dès le début du chargement de la page. Préfère le cookie.
- Configure une variable Tableau d’expression régulière « lookup consent mode » pour tester si la valeur du « cookie axeptio_authorized_vendors » contient « .*google_analytics.* » alors la variable est égale à « granted », sinon à « denied », valeur par défaut. Cela signifie que si la valeur ne correspond pas ou si le cookie axeptio_authorized_vendors n’existe pas (undefined), la variable retournera « denied » par défaut.
Configurer les balises Consent Mode.
Le rôle des balises Consent Mode est de communiquer à la balise Google l’état du consentement, autrement dit, la valeur des variables ad_storage et analytics_storage.
Setup de la balise « Consent Mode Default ».
- Crée une balise « Consent Mode default ».
- Assure-toi que le Consent Command soit en mode Default.
- Dans la section Default Consent Sitting, dans le champ Analytics, appelle la balise « lookup consent mode ».
- Dans le paramètre Advertising, ajoute « denied ». Dans l’exemple, nous n’utilisons pas de balise Ads, si besoin, tu dupliqueras et adapteras la variable lookup.
- Active la balise avec le déclencheur « Initialization – All Pages ».
Configurer la balise Consent Mode « Update ».
- Duplique la balise « Consent Mode default ».
- Modifie le consent command pour Update.
- Crée un déclencheur basé sur l’événement « axeptio update » pour activer la balise Consent mode update. Axeptio ajoute cet événement au chargement de la page et à chaque changement du statut de consentement.
Voilà, c’est fini ! A chaque changement de consentement, Axeptio met à jour le cookie « axeptio_authorized_vendors » puis pousse dans le dataLayer l’événement « axeptio update », la boucle est bouclée. Il ne reste qu’à tester.
Configurer les balises Google Analytics.
Il reste plus qu’à activer dans Google Tag Manager, le mode consentement dans chaque balise Google (Analytics, Ads, Floodlight). L’opération est très simple, car il suffit d’activer la deuxième option « Aucun consentement supplémentaire requis ». Si tu collectes le user_id, il est nécessaire de collecter un consentement dédié pour ce type de suivi. Dans ce cas, opte pour le troisième choix « nécessite un consentement supplémentaire » par exemple avec la variable « functionality_storage » et gère la variable « denied/granted » comme pour Analytics.
Dans Google Tag Manager, tu peux également visualiser et appliquer les paramètres de consentement de l’ensemble des balises.
Pour cela, il est nécessaire d’activer l’option « Vue d’ensemble du consentement » dans l’administration du conteneur.
Une fois l’option « Vue d’ensemble du consentement » activée, clique sur le picto bouclier en haut à droite de la liste des balises.
Comment tester la configuration du consentement mode ?
Le but des tests est de vérifier le suivi Google Analytics 4 « consentit » et « non consentit », avec ou sans cookie _ga (cookie de GA4 stockant l’identifiant client « CID »).
Le plus simple pour tester est de supprimer les cookies sur la page de test. Pour faire cela, utilisez une extension comme « edit this cookie » ou bien allez dans l’outil Application de la console de dévelopeur (F12 ou clique droit + inspecter).
Tester le mode consentement de Google.
Pour savoir si les données sont correctement transférées à Google, édite la requête de collecte dans l’onglet Réseau des outils de développement ou via une extension comme Omnibug. Tu y trouveras le paramètre gcs = G1XX envoyé avec tous les hits Google (Analytics, Ads ou Floodlight). G1 est toujours identique. Ceci est suivi de 2 chiffres : 1 signifie accordé et 0 pour refusé. Le premier chiffre concerne Ads, le second Analytics.
Paramètre du mode Consentement | Description |
G100 | ad_storage = refusé ; analytics_storage = refusé |
G101 | ad_storage = refusé ; analytics_storage = accordé |
G110 | ad_storage = accordé ; analytics_storage = refusé |
G111 | ad_storage = accordé ; analytics_storage = accordé |
Exemple final d’un suivi consent mode sans autorisation, aucun cookie créé, le paramètre gcs égale à G100 confirmant la collection de données non consenties. Aucune information personnelle ne devrait être enregistrée. Le but est d’alimenter les algorithmes de modélisation d’attribution des conversions et de restauration des données comportementales manquantes.