Quels consent.purposes de l'IAB TCF2 pour GTM ?

WRInaute accro
Bonjour

Je vais installer Sirdata sur mon site, et réactiver GTM.

Je vais faire ceci :

Code:
// Voir les Google policies pour les permissions donnés par les user.
// register the addEventListener at the beginning of your page load
// after the CMP JS as been loaded
__tcfapi('addEventListener', 2, function(tcData, success) {
        if (success && tcData.gdprApplies) {
                if (tcData.eventStatus === 'tcloaded') {
                        // we have consent, get the tcData string and do the ad request
                        console.log('Debug: tcloaded');
                        if (tcData.vendor.consents[755] && tcData.purpose.consents[1]) {
                                console.log("Vendor ID 755 has consent for purpose ID 1");
                        }
                        if (!tcData.vendor.consents[755] || !tcData.purpose.consents[2]) {
                                console.log("Vendor ID 755 has no consent for purpose ID 2");
                        }
                        if (tcData.vendor.legitimateInterests[755] && tcData.purpose.legitimateInterests[9]) {
                                console.log("User has been informed of vendor ID 755's legitimate interest for purpose ID 9 and hasn't objected to it");
                        }
                        if (!tcData.vendor.legitimateInterests[755] || !tcData.purpose.legitimateInterests[10]) {
                                console.log("User has objected to vendor ID 755's legitimate interest for purpose ID 10");
                        }
                } else if (tcData.eventStatus === 'useractioncomplete') {
                        // user just gave consent, get the tcdata string and do the
                        // ad request
                        console.log('Debug: useractioncomplete');
                        if (tcData.vendor.consents[755] && tcData.purpose.consents[1]) {
                                console.log("Vendor ID 755 has consent for purpose ID 1");
                        }
                        if (!tcData.vendor.consents[755] || !tcData.purpose.consents[2]) {
                                console.log("Vendor ID 755 has no consent for purpose ID 2");
                        }
                        if (tcData.vendor.legitimateInterests[755] && tcData.purpose.legitimateInterests[9]) {
                                console.log("User has been informed of vendor ID 755's legitimate interest for purpose ID 9 and hasn't objected to it");
                        }
                        if (!tcData.vendor.legitimateInterests[755] || !tcData.purpose.legitimateInterests[10]) {
                                console.log("User has objected to vendor ID 755's legitimate interest for purpose ID 10");
                        }
                } else {
                        console.log('Debug: tcData.eventStatus: ', tcData.eventStatus);
                }
        }
})



Pour le global vendor ID, c'est bien 755 ?

Et puis, quels sont les purpose.consents et les purpose.legitimateInterests ?

Merci beaucoup.
 
WRInaute accro
Ben voilà :

Copié de Sirdata :

Code:
Finalité 1 : Stocker et/ou accéder à des informations sur un terminal
Finalité 2 : Sélectionner des publicités standard
Finalité 3 : Créer un profil personnalisé de publicités
Finalité 4 : Sélectionner des publicités personnalisées
Finalité 5 : Créer un profil pour afficher un contenu personnalisé
Finalité 6 : Sélectionner du contenu personnalisé
Finalité 7 : Mesurer la performance des publicités
Finalité 8 : Mesurer la performance du contenu
Finalité 9 : Exploiter des études de marché afin de générer des données d’audience
Finalité 10 : Développer et améliorer les produits
Fonctionnalité spéciale 2 : Analyser activement les caractéristiques du terminal pour l’identification
Fonctionnalité spéciale 1 : Utiliser des données de géolocalisation précises
 
WRInaute accro
Bonjour

J'ai un problème.

D'après Google, il faut que la finalité spéciale 1 ait été acceptée, pour que Google puisse "travailler avec l'éditeur".

Or, pour Sirdata, les fonctionnalités spéciales sont par défaut.

D'un autre côté, j'ai positionné les finalités nécessaires et suffisantes pour lancer GTM, aux 1 et 8.

C'est-à dire :

Finalité 1 : Stocker et/ou accéder à des informations sur un terminal
Finalité 8 : Mesurer la performance du contenu

Celà est-il correct ?

Merci beaucoup.
 
WRInaute accro
Bonjour

J'ai un problème.

D'un autre côté, j'ai positionné les finalités nécessaires et suffisantes pour lancer GTM, aux 1 et 8.

C'est-à dire :

Finalité 1 : Stocker et/ou accéder à des informations sur un terminal
Finalité 8 : Mesurer la performance du contenu

Celà est-il correct ?

Merci beaucoup.



Rebonjour

Plus généralement :

Quels consentements pour GTM ?

Merci.
 
WRInaute accro
Bonjour

Voir les policies de Google par rapport à IAB TCF v2 :

https://support.google.com/admanager/answer/9461778?hl=fr

Théoriquement, pour activer Google Tag Manager, Google veut le consentement du visiteur au finalités 1, 8 et 9.

Google permet que le consentement ne soit pas présent pour la finalité spéciale 1, à la condition que l'éditeur ait bien explicité l'utilisation qu'il fait des données personnelles.

Egalement, Google considère que le consentement à la finalité spéciale 2 n'est pas nécessaire, ( est inclus dans d'autres consentements ).

J'ai donc activé sur Sirdata, les finalités 1, 8 et 9.

J'ai constaté, que le libellé incluait les finalités 3 et 4, ce qui n'est pas normal, puisque j'ai désactivé les 2 à 7 et 10.

Après j'ai essayé de n'activer que les finalités 1 et 8 mais rien à faire : les 3 et 4 figurent dans le libellé.

D'où vient le bug ?

Merci beaucoup.

Amicalement.
 
WRInaute accro
Pardon

Ce que j'ai fait avec Sirdata :

JavaScript:
<script>
/**
Finalité 1 : Stocker et/ou accéder a des informations sur un terminal.
Finalité 2 : Sélectionner des publicités standard.
Finalité 3 : Créer un profil personnalisé de publicités.
Finalité 4 : Sélectionner des publicités personnalisées.
Finalité 5 : Créer un profil pour afficher un contenu personnalisé.
Finalité 6 : Sélectionner du contenu personnalisé.
Finalité 7 : Mesurer la performance des publicités.
Finalité 8 : Mesurer la performance du contenu.
Finalité 9 : Exploiter des études de marché afin de générer des données d’audience.
Finalité 10 : Développer et améliorer les produits.
Fonctionnalité spéciale 1 : Utiliser des données de géolocalisation précises.
Fonctionnalité spéciale 2 : Analyser activement les caractéristiques du terminal pour l’identification.
 **/
/************************************/
/*   GOOGLE TAG MANAGER VENDOR ID   */
/************************************/
const GOOGLE_VENDOR_ID            = 755;
/************************************/
const FINALITY_STOCK_TERM            = 1;
const FINALITY_SELECT_STAND_PUB            = 2;
const FINALITY_CREATE_PERSO_PUB            = 3;
const FINALITY_SELECT_PERSO_PUB            = 4;
const FINALITY_CREATE_PERSO_CONTENT        = 5;
const FINALITY_SELECT_PERSO_CONTENT        = 6;
const FINALITY_MEASURE_PUB_PERF            = 7;
const FINALITY_MEASURE_CONTENT_PERF        = 8;
const FINALITY_MARKET_VISITS_DATA        = 9;
const FINALITY_IMPROVE_PRODUCTS            = 10;
const FINALITY_PRECISE_GEO_DATA            = "SP1";  // doit etre accepté.
const FINALITY_ACTIVE_CHECK_TERM_CARACT        = "SP2";
/********************************/
/* Active la compatibilité TCF. */
/********************************/
window['gtag_enable_tcf_support'] = true;
/********************************/
/*    Google Tag Manager    */
/********************************/
function launch_GTM_header(yes_no) {
    if(yes_no) {
        (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');
    }
}
/********************************/
/*    End Google Tag Manager    */
/********************************/
/************************************/
/*  Google Tag Manager (noscript)   */
/************************************/
function launch_GTM_body(yes_no) {
    if(yes_no) {
        var noscript = document.createElement('noscript');
        var iframe = document.createElement('iframe');
        iframe.src="https://www.googletagmanager.com/ns.html?id=GTM-ABCDEF";
        iframe.height="0";
        iframe.width="0";
        iframe.style="display:none;visibility:hidden";
        noscript.appendChild(iframe);
        document.body.appendChild(noscript);
    }
}
/**************************************/
/*  End Google Tag Manager (noscript) */
/**************************************/
// Voir les Google policies pour les permissions données par les user.
// register the addEventListener at the beginning of your page load
// after the CMP JS as been loaded
__tcfapi('addEventListener', 2, function(tcData, success) {
    if (success && tcData.gdprApplies) {
        if (tcData.eventStatus === 'tcloaded') {
            // we have consent, get the tcData string and do the ad request
            console.log('Debug: tcloaded');
            if (tcData.vendor.consents[GOOGLE_VENDOR_ID] 
                    && tcData.purpose.consents[FINALITY_STOCK_TERM]
                    && tcData.purpose.consents[FINALITY_MEASURE_CONTENT_PERF]) {
//                    && tcData.purpose.consents[FINALITY_MARKET_VISITS_DATA]) {
                console.log("Vendor Google Advertising Products has consent for purpose GTM.");
                launch_GTM_header(true);
                launch_GTM_body(true);
            }
            if (!tcData.vendor.consents[GOOGLE_VENDOR_ID]
                    || !tcData.purpose.consents[FINALITY_STOCK_TERM]
                    || !tcData.purpose.consents[FINALITY_MEASURE_CONTENT_PERF]) {
//                    || !tcData.purpose.consents[FINALITY_MARKET_VISITS_DATA]) {
                console.log("Vendor Google Advertising Products has no consent for purpose GTM.");
                launch_GTM_header(false);
                launch_GTM_body(false);
            }
        } else if (tcData.eventStatus === 'useractioncomplete') {
            // user just gave consent, get the tcdata string and do the
            // ad request
            console.log('Debug: useractioncomplete');
            if (tcData.vendor.consents[GOOGLE_VENDOR_ID] 
                    && tcData.purpose.consents[FINALITY_STOCK_TERM]
                    && tcData.purpose.consents[FINALITY_MEASURE_CONTENT_PERF]) {
//                    && tcData.purpose.consents[FINALITY_MARKET_VISITS_DATA]) {
                console.log("Vendor Google Advertising Products has consent for purpose GTM.");
                launch_GTM_header(true);
                launch_GTM_body(true);
            }
            if (!tcData.vendor.consents[GOOGLE_VENDOR_ID]
                    || !tcData.purpose.consents[FINALITY_STOCK_TERM]
                    || !tcData.purpose.consents[FINALITY_MEASURE_CONTENT_PERF]) {
//                    || !tcData.purpose.consents[FINALITY_MARKET_VISITS_DATA]) {
                console.log("Vendor Google Advertising Products has no consent for purpose GTM.");
                launch_GTM_header(false);
                launch_GTM_body(false);
            }
        } else {
            console.log('Debug: tcData.eventStatus: ', tcData.eventStatus);
        }
    }
})
</script>


Ma question : Est-ce correct ?

Le noscript en Javascript est contradictoire, mais comment activer le noscript manière html soumis à condition ?

Respectueusement.
 
WRInaute accro
Bonjour

Le lien précité :

https://support.google.com/admanager/answer/9461778?hl=fr

indique la nécessité d'obtenir le consentement du visiteur pour les finalités 3 et 4, mais ne semble pas mentionner le cas de GTM, qui n'est pas un système d'annonces, et pour lequel la gestion des permissions est laissé à l'éditeur.

D'un autre côté, ces finalités 3 et 4 apparaissent dans mon libellé de fixation des consentements.

Je n'ai pas d'annonces, seulement GTM.

Dois-je tenir compte des finalités 3 et 4 pour les consentements nécessaires à GTM ?

Merci.
 
Haut