Remarque : si vous souhaitez intégrer le code ConsentManager via GTM, seul le code de blocage manuel peut être intégré à l'aide d'un gestionnaire de balises. Si vous souhaitez utiliser le blocage automatique du code, vous devez insérer le code CMP directement dans votre site web.
Remarque : le système enverra les informations vers window.dataLayer. GTM offre la possibilité de renommer cette variable. Si tel est le cas, les données ne seront plus reçues par GTM. Veillez donc à ne pas (re)nommer la variable autrement que dataLayer.
Informations générales
Afin d'utiliser les informations de consentement avec Google Tag Manager (GTM), la plateforme de gestion du consentement (CMP) enverra ce que l'on appelle des couches de données vers GTM. La CMP créera les variables de couche de données suivantes :
|
Variable |
Description |
|
cmpRegulation |
Chaîne de caractères correspondant au nom de la réglementation (par exemple, RGPD, CCPA, etc.) |
|
cmpConsentString |
Définit la chaîne de consentement IAB |
|
cmpConsentVendors |
Définit une liste séparée par des virgules des identifiants des fournisseurs ayant obtenu le consentement, par exemple ,3,7,s22,31,c88, (la liste commence et se termine par une virgule) |
|
cmpGoogleVendorsConsent |
Identique à cmpConsentVendors, mais inclut les identifiants ATP de Google. |
|
cmpConsentPurposes |
Définit une liste séparée par des virgules des finalités pour lesquelles le consentement a été obtenu, par exemple : ,1,2,s3,s4,s5, (la liste commence et se termine par une virgule) |
|
cmpCurrentStatus |
Nom de l'état actuel de l'événement cmp. Valeurs possibles : unknown, loading, consent, legitimateInterest |
|
cmpLastStatus |
Nom du dernier/précédent statut de l'événement cmp. Valeurs possibles : unknown, loading, loaded, consent, legitimateInterest, disabled, hidden, visible, tcloaded, consent-loaded, useraction. |
|
cmpLoadingStatus |
Nom du statut de la séquence de chargement (stub, loading, loaded, error) |
|
cmpDisplayStatus |
Nom du statut d'affichage de la couche de consentement (visible, hidden, disabled) |
|
consentExists |
Un statut de consentement existe (vrai/faux). Veuillez noter que cette valeur est vraie dès que la couche de consentement s'affiche et/ou dans les cas où aucun consentement n'est requis. |
|
userChoiceExists |
Un statut de consentement existe, basé sur le choix de l'utilisateur (vrai/faux), par exemple lorsque l'utilisateur a cliqué sur « Accepter », « Refuser » ou a enregistré les paramètres personnalisés. |
L'événement cmpEvent , combiné aux variables ci-dessus, peut alors servir de déclencheur pour le gestionnaire de balises afin de savoir si et quand déclencher les codes.
Intégration via un modèle GTM
- Connectez-vous à votre Google Tag Manager et cliquez sur Balises > Nouvelle balise > Configuration de la balise
- Dans le menu Type de balise, choisissez Fonctionnalités Communauté Modèles CMP > Consentmanager CMP


- Cliquez sur Ajouter à l'espace de travail > Ajouter

- Récupérez votre identifiant CMP, votre CDN et votre hébergeur depuis votre compte, dans le menu > CMP > Obtenir les codes pour… les sites web

- Insérez votre identifiant CMP, votre CDN et votre hôte dans notre modèle GTM, puis enregistrez.
Insérez sans le protocole "https://"!

- Configurez la balise avec le code CMP pour qu'elle se déclenche à chaque consultation de page :

Remarque : conformément aux directives de Google, nous devons activer Consent Mode dans un premier temps. Cela peut prêter à confusion lorsque les clients intègrent notre modèle et ne voient pas, par exemple, les chiffres en temps réel de Google Analytics. Si vous ne souhaitez PAS utiliser Consent Mode, n'oubliez pas de désactiver cette fonctionnalité dans le modèle.

Intégration manuelle
Si vous ne souhaitez pas utiliser le modèle GTM ou la recette GTM (voir ci-dessus), vous pouvez insérer manuellement le code CMP dans votre TagManager. Pour ce faire, copiez le code de blocage semi-automatique / manuel depuis Menu > CMP > Obtenir le code pour… Site web et collez-le dans votre TagManager en tant que nouvelle balise. Configurez la balise pour qu'elle se déclenche dès le premier événement possible (PageView ou plus tôt). Ne définissez pas de condition / exclusion pour la balise.
GTM + Mode de consentement Google
Pour utiliser Consentmanager avec GTM et Google Consent Mode, veuillez consulter notre section d'aide dédiée à Google Consent Mode ici.
Mise à jour de vos balises et conditions
Remarque : si le mode de consentement de Google est activé, vous pouvez utiliser les variables de consentement intégrées afin de filtrer les balises. Dans la plupart des cas, cela est plus simple que de mettre à jour les conditions de déclenchement. Pour plus d'informations sur le mode de consentement de Google, cliquez ici.
Afin d'afficher certains codes uniquement si le consentement est donné, veuillez suivre les étapes suivantes :
- Créez des variables dans GTM : dans GTM, allez dans Variables > Nouveau et cliquez sur Configurer :

- Choisissez le type de variable « Variables de page > Variable de couche de données », créez les variables nécessaires ; en général, vous aurez besoin au moins de la variable
cmpConsentVendors. Ajoutez d'autres variables du tableau ci-dessus si nécessaire :
- Répétez les étapes ci-dessus pour toutes les autres variables dont vous avez besoin (généralement cmpGDPR, cmpConsentVendors, cmpConsentPurposes, …)
- Allez dans Déclencheurs > Nouveau et cliquez sur Configurer :

- Utilisez l'événement Name
cmpEventet ajoutez-y des événements personnalisés :
- Pour chaque événement, au moins une règle est nécessaire :
cmpConsentVendors contains ...(oucmpConsentPurposes contains ...).
- Définissez les règles d'événement sur
cmpConsentVendors contains ,x,, oùxest l'ID du fournisseur. Les ID des fournisseurs se trouvent dans le menu Fournisseurs/Liste blanche :
Important : n'utilisez toujours qu'un seul fournisseur par déclencheur (... contains ,x,et non... contains ,x,y,z,). Si vous travaillez avec plusieurs fournisseurs, créez plusieurs déclencheurs, à raison d’un par fournisseur.
Important : veuillez toujours utiliser une virgule avant et après l’ID du fournisseur (par exemplecmpConsentVendors contains ,x,et noncmpConsentVendors contains x) - Répétez l'étape ci-dessus pour chaque fournisseur et créez un nouveau déclencheur pour chacun d'entre eux

- Appliquez le déclencheur à vos balises et assurez-vous que celles-ci ne se déclenchent pas avec l'événement pageView, mais uniquement avec l'événement cmpEvent :



Exemple pour Google Analytics :
Important : assurez-vous que ce déclencheur est le seul utilisé pour chaque balise. Ne combinez pas ce déclencheur avec d'autres déclencheurs/événements tels que « Toutes les pages » ou « Au chargement de la page », etc.
Exemple : Bloquer Google Analytics avec Google Tag Manager (GTM)
Voici quelques captures d'écran illustrant à quoi ressemblerait une configuration permettant de bloquer Google Analytics si aucun consentement n'est donné.
Déclencheur
Activez Google Analytics sur toutes les pages lorsque le consentement est donné :

Balise
Balise Google Analytics avec déclencheurs attribués (le deuxième déclencheur est facultatif) :

Comment bloquer le code Google Tag Manager si aucun consentement n'est donné ?
Remarque : si vous ne souhaitez pas bloquer GTM lui-même, mais uniquement les balises déclenchées par GTM, et que vous utilisez le blocage automatique, veillez à empêcher le blocage de TagManager en insérant l'attribut data-cmp-ab="1" dans le code du TagManager.
Si vous souhaitez bloquer non seulement les codes dans le TagManager, mais aussi le TagManager lui-même, vous pouvez le faire en suivant ces étapes :
Votre code GTM ressemblera en quelque sorte à ceci :
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-ABCDEF');</script>
Afin de permettre au CMP de consentmanager.net de bloquer le code et de ne l'activer qu'après consentement, vous devrez modifier le code de la manière suivante : (voir les modifications apportées à <script ...> partie du code)
<script data-cmp-vendor="s905" type="text/plain" class="cmplazyload" >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-ABCDEF');</script>
Veuillez noter que le code de blocage automatique peut empêcher le navigateur d'exécuter le code GTM, mais qu'il ne sera peut-être pas en mesure d'empêcher le navigateur de télécharger les codes sources GTM. Il se peut donc que le crawler vous alerte en indiquant que GTM est chargé sans consentement. Si vous voulez vous assurer que GTM n'est pas chargé sans consentement, vous DEVEZ modifier le code GTM comme décrit ci-dessus.
Comment empêcher Google Tag Manager de se déclencher plusieurs fois ?
Le CMP déclenchera la couche de données cmpEvent chaque fois que les informations de consentement seront actualisées. Cela se produit lorsque la page est chargée et que les informations de consentement sont trouvées dans le cookie du visiteur, lorsque la couche de consentement s'affiche et que le visiteur fait un choix, ou lorsque le visiteur réaffiche la couche de consentement et modifie les paramètres. Dans ce dernier cas, il peut arriver que le visiteur ouvre et ferme la couche de consentement plusieurs fois. Chaque fois que la couche se ferme, la couche de données sera déclenchée et Google Tag Manager pourrait afficher certaines balises ou déclencher le comptage de Google Analytics. Afin d'éviter que les balises ne soient déclenchées plusieurs fois sur une page, veuillez suivre les étapes suivantes :
- Créez une nouvelle balise pour chaque balise que vous souhaitez empêcher de se déclencher à nouveau. Utilisez un code HTML personnalisé et insérez le code suivant :
<script> window.prevent_duplicate_googleanalytics = true; </script> - Utilisez le même déclencheur pour cette nouvelle balise que celui utilisé pour la balise d'origine.

- Créez une nouvelle variable de type JavaScript personnalisé et utilisez le code suivant :
function (){ return ("prevent_duplicate_googleanalytics" in window); }
- Ajoutez une autre condition à votre déclencheur existant en utilisant la variable que vous avez créée précédemment (« La variable XXX est égale à false ») :

Comment gérer le dataLayer ou l'ordre des événements ?
Dans certains cas, les balises ne doivent être déclenchées que lorsqu'un événement spécifique s'est produit, par exemple une action particulière de l'utilisateur et que le consentement a été donné. Pour associer un événement existant au ConsentManager cmpEvent, veuillez suivre les étapes suivantes :
- Modifiez la balise et supprimez-en le déclencheur existant.
- Cliquez sur l'icône pour attribuer un nouveau déclencheur à la balise, puis créez un nouveau déclencheur :

- Donnez un nom au nouveau déclencheur et choisissez le type de déclencheur « Groupe de déclencheurs » :

- Ajoutez votre déclencheur existant et le déclencheur cmpEvent au groupe de déclencheurs :

- Définissez les conditions de déclenchement de la même manière que pour les déclencheurs normaux (par exemple, ajoutez
cmpGDPR equals 1comme condition). - Enregistrez le groupe de déclencheurs et attribuez-le à la balise.
Suspendre / reporter les événements dataLayer jusqu'à ce que le consentement soit donné : le dataLayer Blocker
Le bloqueur dataLayer mettra en pause tous les événements envoyés à GTM jusqu'à ce que l'utilisateur fasse son choix.
Si un événement se produit, le dataLayer Blocker le stockera automatiquement dans une mémoire interne et ne le transmettra pas à GTM. Cela permet au système de s'assurer que les événements arrivent dans le bon ordre (par exemple, les événements de consentement avant les événements PageView ou e-commerce). Lorsque l'utilisateur a fait son choix (par exemple, accepté ou refusé), le dataLayer Blocker transmettra automatiquement tous les événements stockés à GTM afin de permettre à GTM de commencer à les traiter.
Pour activer le bloqueur de dataLayer, rendez-vous dans Menu > CMP > Autres paramètres et activez l'option « Activer le blocage de dataLayer ».

dataLayer Blocker + Codes de blocage automatiques
Si vous utilisez les codes de blocage automatique, vous pouvez activer le bloqueur dataLayer comme décrit. Aucune autre étape n'est nécessaire.
dataLayer Blocker + codes de blocage semi-automatiques (codes de blocage manuels)
Si vous utilisez les codes semi-automatiques (également appelés codes de blocage manuels), vous devez activer le bloqueur dataLayer comme décrit ci-dessus et ajouter le code suivant à votre site web :
<script type="application/javascript" src="https://cdn.consentmanager.net/delivery/js/datalayerblocker.min.js"></script>
Ajoutez le code ci-dessus avant tout autre code tiers sur le site web <head>. Ne modifiez pas le code ci-dessus et n'essayez pas de le charger de manière asynchrone ou différée.
Configuration supplémentaire
Les variables de configuration côté client suivantes peuvent être utilisées pour influencer le comportement du dataLayer Blocker :
<script>
window.cmp_datalayername = "dataLayer2";
// Set before the code load to change the name of the dataLayer variable
window.cmp_datalayerprotectoverride = true;
// Set before the code load to enable override protection (dataLayer variable cannot be reset by other codes)
window.cmp_datalayerallowlist = ['event:abc','myname:*'];
// Set before the code load to expend allowList of events that get passed through before user choise is made
</script>
De plus, vous pouvez accéder à l'URL du site web avec …?cmpnodatalayerblocker ou …#cmpnodatalayerblocker pour désactiver temporairement la fonction dataLayer Blocker (par exemple, pendant les tests).
Webinaire/tutoriel sur la mise en œuvre de GTM
Remarque : pour l'instant, cette vidéo tutorielle n'est disponible qu'en allemand. La configuration GTM commence entre la 5e et la 22e minute. Si vous n'utilisez pas le mode de consentement de Google, vous pouvez passer le reste de la vidéo.