Implémenter le consent mode

💡
Le consent mode, en voilĂ  un sujet compliqué  Dans cet article nous allons tenter d’éclaircir le sujet de son implĂ©mentation, le tout de maniĂšre efficace avec celle de la CMP et de votre dataLayer.
đŸ‘šâ€đŸ’» Comme on aime l’open source, quelques ressources supplĂ©mentaires :
Les snippets de code sont disponibles sur notre répertoire GitHub fraichement ouvert.
starfox-snippets/axeptio_consentMode.html at main · Starfox-Analytics/starfox-snippets
Extraits de code utiles concernant des implémentations tracking - starfox-snippets/axeptio_consentMode.html at main · Starfox-Analytics/starfox-snippets
starfox-snippets/axeptio_consentMode.html at main · Starfox-Analytics/starfox-snippets
📔 Restez attentifs à nos prochaines publications !
  • Comment parler Ă  un dĂ©veloppeur peut nous aider Ă  ĂȘtre plus efficace sur un plan de marquage
  • Comment gĂ©rer des tags mĂ©dia sur plusieurs sites et plusieurs langues dans une seule variable GTM


Qu’est-ce que le consent mode


Il s’agit de l’équivalent des solutions Analytics exemptĂ©es de consentement mais Ă  la sauce Google.
L’idĂ©e reste la mĂȘme : si un utilisateur refuse la banniĂšre cookie, on envoie une donnĂ©e anonymisĂ©e (ie non liĂ©e Ă  un cookie) :
  • Dans le cadre des solutions exemptĂ©es, il s’agit de pings qui sont directement intĂ©grĂ©s dans les interfaces sans possibilitĂ© de retracer le parcours utilisateur. Par exemple vous pourrez voir toutes vos sources d’arrivĂ©e mais lĂ  les pages successives vues par un utilisateur donnĂ©.
  • Dans le cadre du consent mode un ping anonymisĂ© est envoyĂ© pour modĂ©liser la donnĂ©e et non pas la stocker directement. L’idĂ©e est donc qu’aprĂšs une pĂ©riode d’apprentissage oĂč la solution reçoit 100% des donnĂ©es, on applique les restrictions de la banniĂšre cookie, et la solution sait alors assez bien modĂ©liser les donnĂ©es restantes.
À noter que la solution a tout d’abord Ă©tĂ© mise en place pour Google Ads, car c’est lĂ  qu’il y a le plus d’enjeux business pour piloter le plus prĂ©cisĂ©ment possible les dĂ©penses mĂ©dia. Il peut Ă©galement y avoir des conditions sur le volume nĂ©cessaire de trafic et de conversion pour que l’apprentissage puisse bien se faire.
Pour plus d’informations :

Soit, mais comment ça s’implĂ©mente ?


Une apparente complexité

En passant un peu de temps sur le sujet de l’implĂ©mentation se pose assez vite la question classique de l’implĂ©mentation via GTM. Plusieurs articles existent dont un de Simo qui dĂ©taille l’utilisation d’un template de tag personnalisĂ©.
Le tag personnalisé de Simo Ahava disponible dans GTM
Le tag personnalisé de Simo Ahava disponible dans GTM
Plusieurs points sont Ă  prendre en compte pour la configuration !
  • il faut en crĂ©er un tag pour l’initialisation et un autre pour l’update des consentement
  • de plus, l’intrication avec la sĂ©quence de chargement de GTM est des tags se pose
  • Un autre sujet complexe est Ă©galement la mise Ă  jour du consent mode : s’il se dĂ©clenche sur un Ă©vĂ©nement du dataLayer poussĂ© par une CMP, comme un activate_google_analytics, il faudra attendre le message suivant pour que le consent mode soit pris en compte ou il faudra sĂ©quencer les tags qui se dĂ©clenchent aussi sur ce message.

Le code Ă  la rescousse, oui monsieur !

Il est toujours bon de comprendre ce qui se passe sous le capot. Comme pour le tracking Google Analytics la spécification technique est source de vérité, et il se trouve que la spécification du consent mode (disponible au lien suivant) est assez simple !
En effet, on s’aperçoit qu’il ne faut que deux bouts de code pour mettre en place le consent mode. Le premier pour initialiser les paramùtres, le second pour le mettre à jour lors des acceptations et refus cookies.
javascript
// Initialisation au plus tĂŽt dans la page gtag('consent', 'default', { 'ad_storage': 'denied', 'analytics_storage': 'denied' }); // Update lors de l'acceptation ou refus des cookies gtag('consent', 'update', { 'ad_storage': 'granted' });
On voit alors la solution template personnalisĂ© GTM sous un autre angle : elle permet de s’abstraire de cette configuration de code au prix d’une complexitĂ© supplĂ©mentaire dans GTM. De plus il ne s’agit que de quelques lignes de code : savoir les gĂ©rer cĂŽtĂ© dĂ©veloppeur doit pouvoir ĂȘtre bĂ©nĂ©fique.
Chez Starfox on n’a pas peur de regarder du code en face et de parler Ă  un dĂ©veloppeur. Nous avons mĂȘme vu dans un prĂ©cĂ©dent article qu’il Ă©tait possible de contrĂŽler la sĂ©quence des chargements GTM / CMP / dataLayer. Et il se trouve que le consent mode s’imbrique parfaitement dans cette logique.
Pour rappel, chaque CMP dispose de mĂ©thodes pour signifier qu’un choix a Ă©tĂ© fait : c’est exactement ce qu’il nous faut pour intĂ©grer la mise Ă  jour du consent mode. Un exemple avec Axeptio ci-dessous, avec le code du prĂ©cĂ©dent article mis Ă  jour
javascript
window._axcb.push(function(axeptio) { axeptio.on("cookies:complete", function(choices) { var consentSettings = { ad_storage: !!choices['Google_Ads'] ? 'granted' : 'denied', analytics_storage: !!choices['google_analytics'] ? 'granted' : 'denied', }; gtag("consent", "update", consentSettings); dataLayer.push({event: 'page_view'}); envoiEventsSupplementaires() }) });
Vous trouverez un exemple de page html à tester sur notre GitHub au lien ci-dessous. Vous verrez qu’en jouant avec les consentements Google Analytics / Google Ads le hit GA4 se met bien à jour.
starfox-snippets/axeptio_consentMode.html at main · Starfox-Analytics/starfox-snippets
Extraits de code utiles concernant des implémentations tracking - starfox-snippets/axeptio_consentMode.html at main · Starfox-Analytics/starfox-snippets
starfox-snippets/axeptio_consentMode.html at main · Starfox-Analytics/starfox-snippets
Ci dessous les hits qui doivent se dĂ©clencher si vous testez vous mĂȘme le fichier html :
Image without caption

✍
Auteur
Image without caption

Edward Bunzl

10 ans dans le conseil dont 4 chez Converteo en tracking et Web Analyse. Ingénieur de formation à Télécom Paris. Edward supervise le succès client et la R&D interne.
Suivez Starfox Analytics sur Linkedin
Un besoin, une question ? Notre équipe vous répondra au plus vite.
→ Suivez Starfox sur Linkedin
Suivez Starfox Analytics sur Linkedin Un besoin, une question ? Notre Ă©quipe vous rĂ©pondra au plus vite. → Suivez Starfox sur Linkedin
☝
Suggérer une amélioration
Quelque chose n’est pas clair, vous souhaitez contribuer Ă  la base de connaissance ou simplement, suggĂ©rez des amĂ©liorations ? Contactez [email protected].

Autres ressources