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.
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
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.
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.
Pardon Ce que j'ai fait avec Sirdata : Code: <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.
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.