Google Tag Manager (GTM)

Etapes pour implémenter TrustCommander avec Google Tag Manager.

TrustCommander fournit un plug-in d'intégration avec Google Tag Manager. La mise configuration se fait en plusieurs étapes techniques.

Mise en place

Vous trouverez ci-dessous les étapes requises pour une mise en place de TrustCommander standard.

  1. Choisissez la configuration par défaut du compte (voir la rubrique Options).

  2. Configurez vos catégories TrustCommander (voir la rubrique Gestion des catégories).

  3. Créez une ou plusieurs bannières (voir la rubrique Gestion des bannières)

  4. Déployez vos bannières TrustCommander sur le CDN Commanders Act ou sur vos propres serveurs (voir la rubrique Déploiement des bannières).

  5. Installez le tag TrustCommander (voir ci-dessous).

  6. Gérez les tags GTM avec TrustCommander (voir ci-dessous).

Installer le tag TrustCommander

Pour installer TrustCommander avec Google Tag Manager, vous devez ajouter le tag JavaScript suivant sur votre site web. Ce bout de code peut être ajouté dans le <head> du site web ou via un tag HTML personnalisé dans Google Tag Manager.

<script type="text/javascript">
    var tCPrivacyTagManager = "gtm";
</script>
<script type="text/javascript" src="{{ privacy_tag_url }}"></script>

tCPrivacyTagManager doit prendre la valeur "gtm". Cette variable permet à TrustCommander d'envoyer les paramètres de privacy à GTM. Elle poussera un événementtcConsentChanged au data layer GTM en incluant les paramètres de confidentialité d'un visiteur dans la variable tcCategoriesConsent. L'événement est envoyé dès que TrustCommander se charge sur une page et dans le cas où un visiteur met à jour ses paramètres de confidentialité.

{{ privacy_tag_url }} doit être remplacé par l'URL de votre fichier JavaScript de privacy. Vous trouverez cette URL à l'étape GENERATE & DEPLOY des bannières de Privacy.

Gérer les tags GTM tags avec TrustCommander

Ajouter les déclencheurs de tags dans Google Tag Manager

Champ

Valeur

Variable name

Nom de la variable de consentement dans l'interface GTM (recommandé: tcCategoriesConsent)

Variable Type

Data Layer variable

Data Layer Variable Name

tcCategoriesConsent

Data Layer version

Sélectionnez la dernière version du data layer disponible

Créez un nouveau Trigger (déclencheur) pour chaque catégorie ou sous-catégorie TrustCommander. Ces déclencheurs peuvent ensuite être utilisés pour lancer vos tags uniquement quand le visiteur a accepté une catégorie ou sous-catégorie TrustCommander spécifique. Créez chaque déclencheur avec les paramètres suivants :

Champ

Valeur

Trigger name

Nom du déclencheur dans l'interface GTM (nous vous recommandons d'utiliser le nom de la catégorie TrustCommander, ex: "Catégorie Retargeting").

Trigger Type

Custom Event

Event name

tcConsentChanged

This trigger fires on

Some Custom Events

Fire this trigger when an Event occurs and all of these conditions are true

tcCategoriesConsent contientl'ID de la catégorie TrustCommander associée.

Appeler la bannière de privacy

Les visiteurs pourront activer ou désactiver uniquement les sous-catégories et pas la catégorie principale dans la bannière. Dans le cas où une catégorie a des sous-catégories vous devrez donc utiliser l'ID de la sous-catégorie au lieu de l'ID de la catégorie pour déclencher vos tags.

Il y a 4 étapes pour déclencher les tags dans Google Tag Manager (GTM).

Créer une variable de consentement

Dans l’interface GTM, onglet "Variables", créez une variable custom pour calculer le statut du consentement donné par l’utilisateur : pas de consentement, optout, optin ou partiellement optin. Créez une variable de type "User Defined".

  • Nom de la variable: tcCategoriesConsent (c’est le nom qui apparaîtra sur votre interface, vous pouvez donc choisir un autre nommage)

  • Variable Type: "Data Layer Variable"

  • Data Layer Variable Name: tcCategoriesConsent (la variable utilisée par TrustCommander quand vous ajoutez tCPrivacyTagManager = "gtm" dans le code source du site)

  • Data Layer version: Sélectionnez la dernière version du data layer disponible

function(){
    if (typeof tC.privacy == "undefined") {

        var cookieName = "TC_PRIVACY=";
        var cookieSeparator = "@"

        var privacyCookie = "";
        var cookieCategoryName = cookieName+"_CENTER=";
        var cookieData = null;
        var categories = null;
        var decodedCookie = decodeURIComponent(document.cookie);
        var ca = decodedCookie.split(';');

        for (var i = 0; i <ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1);
            }
            if (c.indexOf(cookieName) == 0) {
                privacyCookie = c.substring(cookieName.length, c.length);
            } else if (c.indexOf(cookieCategoryName) == 0) {
                categories = c.substring(cookieCategoryName.length, c.length);
            }
        }

        if (privacyCookie === "") {
            return "no_consent";
        } else if (privacyCookie) {
            cookieData = privacyCookie.split(cookieSeparator);
        } else {
            cookieData = [];
        }

        var optType = parseInt(cookieData[0] || 0);

        if (categories == "ALL") {
            if (optType === 1) {
                return "optout";
            } else {
                return "all_consent";
            }
        }

        return optType === 0 && categories != -1 ? categories : "optout";
    }

    if (tC.getCookie(tC.privacy.getCN()) === "")  {
        return "no_consent";
    } else if (tC.privacy.getOptinCategories().join(",") === ""){
        return "optout";
    } else {
        return tC.privacy.getOptinCategories().join(",");
    }
}

Important : pour faciliter l'implémentation des règles de Privacy sur vos tags qui ont peut-être d'autres déclencheurs associés, nous vous recommandons de travailler avec la logique d'"exception" et de suivre le fonctionnement expliqué ci-dessous. Il s'agit de créer des règles qui ne déclencheront pas le tag si la catégorie est refusée plutôt que des règles qui déclencheront le tag si la catégorie est acceptée.

Configurez le déclencheur de la façon suivante :

  • Trigger name: Catégorie retargeting category (le nommage dépendra ici du nom des catégories que vous avez créées et du nommage que vous souhaitez voir apparaître sur votre interface)

  • Trigger Type: "Custom Event"

  • Event name: tcConsentChanged (la variable utilisée par TrustCommander quand vous ajoutez tCPrivacyTagManager = "gtm" dans le code source du site)

  • This trigger fires on: "Some Custom Events"

  • Fire this trigger when an Event occurs and all of these conditions are true: choisissez la variable tcCategoriesConsent créée à l'étape précédente, l'opérateur “égal” (ou “contient”), et le nom de la catégorie que vous avez déclarée dans l'interface TrustCommander.

Soyez vigilants quand vous créez des sous-catégories associées à des catégories : vous devez entrer l'ID de la sous-catégorie et non l'ID de la catégorie dansTrust commander values, puisque l'utilisateur pourra activer ou désactiver uniquement la sous-catégorie et pas la catégorie principale dans la bannière.

  • Nom du déclencheur : "trust_commander".

  • Trigger Type : "Custom Event"

  • Event name : "trust_commander"

  • This trigger fires on : "All Custom Events"

Dans la section "Triggers", commencez par créer le déclencheur suivant qui permet de ne pas activer les tags si l’utilisateur n’a pas encore donné son consentement.

Si vous votre site est en mode "optout par défaut" (qui consiste à bloquer les tags quand le visiteur arrive sur le site, en accord avec les recommandations du Règlement Général sur la Protection des données, le RGPD), vous devez également faire la configuration suivante :

Créez ensuite un tag personnalisé que vous déclencherez sur toutes les pages (il s'agit de l'écouteur d'événements TrustCommander) dans la section "Tags" :

  • Nom du tag: "Trust commander event listener"

  • Trigger Type: "Custom HTML"

  • HTML: copiez-collez le code suivant :

<script>
//No choice expressed by the user yet
if({{Trust commander values}} === "no_consent"){
window.tc_closePrivacyButton = window.tc_closePrivacyButton || function (){
window.dataLayer.push({"event":"trust_commander"});  
}
window.tc_closePrivacyCenter = window.tc_closePrivacyCenter || function (close_type){
if(close_type !== "cross"){  
window.dataLayer.push({"event":"trust_commander"});  
}  
}
} 
//Choice already expressed
else{

}
</script>  
  • Triggering : "All pages"

Déclencher les tags en fonction du consentement utilisateur

Dans l'interface GTM, onglet Tags, affectez le déclencheur précédemment créé à vos tags pour les déclencher selon les catégories TrustCommander. Ces déclencheurs remplaceront votre trigger "pageview".

Dernière mise à jour