Configurer et installer CookieBot via Google tag Manager

Dans cet article, nous allons voir comment configurer puis implémenter l'outil CookieBot, via GTM. Cet outil a l'avantage d'être relativement simple, et peu couteux. Il est donc parfait pour un petit site.
Update : le 3 septembre 2020, Google a annoncé la sortie en beta du "consent mode". Le principal intérêt est que, même en l'absence totale de consentement, nous allons remonter des informations dans Google Analytics sans cookies, et de manière agrégée. Pour cela, voir l'article : Installation de CookieBot avec le "consent mode" via Google Tag ManagerInstallation de CookieBot avec le "consent mode" via Google Tag Manager

Implémentation automatique ou manuelle ?

L'une des particularités de CookieBot est d'avoir une fonction automatique, qui en fait un outil particulièrement simple. Le principe est le suivant :
  • On installe le script CookieBot sur son site web.
  • CookieBot va scanner le site pour savoir quels sont les Cookies qui sont appelés, et crée une liste.
  • En fonction des préférences de l'utilisateur, il va automatiquement bloquer l'exécution des scripts associés.
C'est idéal pour un petit site, si on ne souhaite pas se lancer dans une implémentation avancée. Cependant, il y a des effets de bord, comme le blocage indésirable de certains scripts.
Dans cet article, nous allons donc présenter l'implémentation "manuelle" de l'outil via Google Tag Manager. Ou plutôt une implémentation "mixte" :
  • Contrôler les balises et les cookies en fonction du consentement de l'utilisateur, en utilisant des déclencheurs dans Google Tag Manager ET
  • Laisser Cookiebot contrôler automatiquement tous les autres cookies non définis par Google Tag Manager, en fonction du consentement donné.

Configuration de CookieBot

Les étapes suivantes se déroulent dans l'interface web de CookieBot.

Configurer son domaine

Image without caption
CookieBot va alors aller scanner automatiquement le site, afin de voir les cookies qu'il trouve, et permettre de les catégoriser dans l'onglet "Cookies" :
Image without caption

Configurer la fenêtre de dialogue

C'est assez simple à comprendre. A noter que, pour être réellement conforme aux futures directives de la CNIL :
  • La méthode de consentement doit être explicite (c'est à dire qu'un scroll ou la poursuite de la navigation de constituent pas un consentement).
  • Il doit y avoir un bouton "rejeter tout"
Image without caption
On peut évidemment choisir de modifier le texte par défaut, et visualiser en preview la fenêtre :
Image without caption

Installation via Google Tag Manager

Pour cette installation "mixte", assurez-vous que le script Cookiebot n'est pas exécuté par Google Tag Manager. Supprimez donc soit la balise CMP de Cookiebot, soit le déclencheur "All Pages" qui lui est attribué. De plus :
  • Assurez-vous que le Google Tag Manager est le tout premier script à charger sur votre site web. Marquez votre balise de script Google Tag Manager avec : data-cookieconsent="ignore"
Cela permettra de garantir que le gestionnaire de Google Tag sera toujours autorisé à être chargé. Insérez le script Cookiebot avec blocage automatique des cookies immédiatement après le script Google Tag Manager.
Voici un exemple de ce à quoi cela doit ressembler :
Image without caption

Charger la variable "Cookiebot Consent State"

Aller dans variables → Gallerie → "Cookiebot Consent State"
Image without caption
Ma variable est créée :
Image without caption

Créer les triggers

Créer les 3 triggers suivant :
  1. Event Name: cookie_consent_preferences, Event Type: Custom Event, Fires On: Some Custom Events, Filter: Cookie Consent - contains - preferences
  1. Event Name: cookie_consent_statistics, Event Type: Custom Event, Fires On: Some Custom Events, Filter: Cookie Consent - contains - statistics
  1. Event Name: cookie_consent_marketing, Event Type: Custom Event, Fires On: Some Custom Events, Filter: Cookie Consent - contains - marketing
Un exemple ci-dessous :
Image without caption
Voilà à quoi doit ressembler votre liste de triggers :
Image without caption

Déclencher les tags de manière conditionnelle

Dans cet exemple, nous allons d'abord utiliser le trigger "statistics" précédemment créé afin de déclencher le tag Google Analytics :
Image without caption

Tester

Dans la console GTM

Dans la console de Previez de GTM, on voit maintenant 2 choses :
  • D'une part 3 nouveaux évènements, qui correspondent aux évènements de consentement
  • Une variable "Cookie consent", dont le contenu dépend de ce qui a effectivement été validé par l'utilisateur :
Image without caption

Sur le site web en production

Pour tester, c'est assez simple. Ouvrez une nouvelle fenêtre Chrome (en mode incognito). Et ne faites rien. Regardez les cookies qui sont chargés : il ne devrait pas y avoir les cookies Google Analytics.
Cliquez maintenant sur "autorisez la sélection". Et il devrait y avoir cette fois les tags Google analytics :
Image without caption

Faire remonter le statut du consentement dans une "custom dimension" de Google Analytics

Pour des raisons de test, de debug, et de statistiques, il est toujours intéressant de stocker l'information de consentement pour une utilisateur. Pour cela, nous allons utiliser une "custom dimension" dans laquelle nous allons tocker la valeur de la variable "Cookie Consent" :

Créer la dimension dans Google Analytics

Il faut d'abord créer la "dimension personnalisée", afin de recueillir la donnée. Dans Admin → Custom Definitions → Custom Dimensions :
Image without caption
Définir la "custom dimension". Sachant que la consentement peut varier au cours d'une même session; nous allons choisir comme scope le "hit" :
Image without caption

Modifier le tag dans Google Tag Manager

Nous allons simplement modifier notre variable de type "Google Analytics setting" de la manière suivante :
Image without caption
Et voilà. Vous allez maintenant retrouver le statut du consentement dans Google Analytics au sein des différents rapports.