Closed alaratte closed 3 months ago
👋 Le Google Consent Mode n'est pas (encore?) supporté par tarteaucitron.
Je ne l'utilise pas donc je ne sais pas exactement comment ça fonctionne mais si quelqu'un propose une solution, je serai ravi de l'intégrer ; )
This issue has been automatically marked as inactive because it has not had activity for 20 days. It will be closed in 5 days if no further activity occurs. Thank you for your contributions.
Bonjour Amauri,
D'abord, bravo pour Tarteaucitron ! Je déterre le sujet car je suis souvent confronté à ce problème sur les sites de mes clients (je fais du SEA) et le consent mode permet de gérer facilement un grand nombre de tags dans Google Tag Manager. Je poste donc un petit message dans l'espoir de voir cette fonctionnalité implémentée :) Cela peut aussi aider des devs qui cherchent une solution.
Un premier script doit se déclencher juste au-dessus de celui de Tag Manager sur toutes les pages du site. Il bloque le consentement par défaut
``
Puis lancer un script d'update lorsque le consentement est donné (granted). Attention, si l'utilisateur a accepté les cookies analytics mais pas ad (publicité), il ne faut pas mettre la ligne ad_storage et inversement.
<script> function consentGranted() { gtag('consent', 'update', { 'ad_storage': 'granted', 'analytics_storage': 'granted', }); } </script>
Ensuite, il suffit d'aller dans vos balises dans Google Tag Manager et dans la rubrique Advanced Settings > Consent Settings, cliquer sur No additional consent required si votre balise vient de chez Google. Si ce n'est pas le cas (Balise Facebook par exemple), cliquer sur Require additional consent for tag to fire puis indiquer _adstorage dans le champs. Et c'est tout ! Hyper rapide quand un plugin de cookies dispose du consent mode :)
Une doc plus complète est disponible dans l'aide Google : https://developers.google.com/tag-platform/devguides/consent#tag-manager_1
Si vous voulez faire un test ensemble Amauri, je me porte volontaire ! Bonne journée
Bonsoir Ben 🙂
Si je comprend bien le fonctionnement, le consent mode c'est le tarteaucitron pour Google, par Google?
Si oui, il n'est pas possible d'intégrer le js qui initialise la fonction gtag et ensuite charger Google Ads et Analytics via tarteaucitron?
[Edit]
Il doit être possible de gérer gtag('consent', 'update'
avec les events tarteaucitron.
Bonjour Amauri et merci pour ta réponse.
Je viens de discuter de ta réponse avec un ami dev, c'est exactement ce qu'il a fait. Le premier script qui bloque le consentement par défaut est à charger en dehors de TAC dans le head de toutes les pages. Le 2e s'intègre via des événements TAC.
L'intérêt du Consent mode est que si l'utilisateur ne donne pas son consentement, un ping anonyme est quand même envoyé à Google Analytics ou Google Ads en cas de conversion. Ce ping est ensuite utilisé pour modéliser les données manquantes. Le fonctionnement exact me parait un peu opaque, mais j'en retiens qu'on limite la déperdition des conversions, ce qui en théorie améliore le ROI des campagnes.
GTM est pratique pour gérer un grand nombre de balises : nombreux templates, pas besoin de connaissances en code (hormis les bases html, css et regex), collaboration entre plusieurs personnes dans un conteneur séparé du site.
Du coup, tu auras la réponse si quelqu'un te demande pour le consent mode ;)
Bonne journée
Bonjour @AmauriC est-il possible de réouvrir ce ticket ? Cela fait maintenant longtemps que Google Consent Mode est disponible, et de plus en plus de personnes vont se poser cette question au moment d'ajouter GTM et/ou TaC
@Ben773 je serais curieux de savoir, en l'état, comment intégrer facilement les 2. Je me fiais surtout à l'article de Cédric Duma https://cedric-duma.fr/tuto-integration-tarteaucitron-google-tag-manager-2020/ mais j'ai peur qu'il commence à être un peu obsolète.
Malgré la réponse sur mon autre issue github, je trouve qu'il est aussi difficile de bien comprendre si/pourquoi le chargement de GTM via Tarte Au Citron est/serait "obligatoire" au sens de la loi française, car on trouve toutes les réponses sur internet.
De mon point de vue pas de changement, charger un service Google comme GTM sans consentement ce n'est pas idéal.
This issue has been automatically marked as inactive because it has not had activity for 20 days. It will be closed in 5 days if no further activity occurs. Thank you for your contributions.
Bonjour @AmauriC est-il possible de réouvrir ce ticket ? Cela fait maintenant longtemps que Google Consent Mode est disponible, et de plus en plus de personnes vont se poser cette question au moment d'ajouter GTM et/ou TaC
@Ben773 je serais curieux de savoir, en l'état, comment intégrer facilement les 2. Je me fiais surtout à l'article de Cédric Duma https://cedric-duma.fr/tuto-integration-tarteaucitron-google-tag-manager-2020/ mais j'ai peur qu'il commence à être un peu obsolète.
Malgré la réponse sur mon autre issue github, je trouve qu'il est aussi difficile de bien comprendre si/pourquoi le chargement de GTM via Tarte Au Citron est/serait "obligatoire" au sens de la loi française, car on trouve toutes les réponses sur internet.
Bonjour,
Il est possible d'intégrer le consent mode V2 avec Tarteaucitron, que GTM soit ou pas déclenché par Tarteaucitron. Je n'ai aucune idée si GTM est activable ou pas sans consentement. C'est une zone floue, comme bien d'autres sur tous ces sujets.
Pour le consent mode, il est difficile de tout décrire ici pour l'intégration mais on peut:
Pour ça, il faut aller lire le cookie tarteaucitron, en extraire les états de chaque groupe, envoyer ces valeurs dans des variables de la couche de données, puis déclencher un event d'update, qui déclenchera à son tour la balise Consent Mode Update de Simo Ahava avec les paramétrages des flags associées aux variables qu'on a mis à jour juste avant.
Dans le cas du choix global, "J'accepte" ou "Je refuse", c'est assez facile. "Je refuse" ne déclenchera pas GTM donc rien ne se passe. "J'accepte" déclenche tout à granted. Pour les choix granulaires "Autoriser", "Interdire", on peut mettre un event listener sur les boutons de choix "Autoriser" "Interdire". En cliquant sur un bouton, ça va appeler le script qui va lire le cookie tarteaucitron, puis en cascade tous les autres pour relancer l'update avec les bonnes valeurs de flags. L'event listener est chargé depuis GTM, donc si GTM n'est pas chargé, évidemment, on écoutera rien. Mais dès que GTM sera autorisé, on ira lire la valeur du cookie, donc on aura les états à jour même si l'utilisateur a cliqué sur d'autres groupes avant d'activer GTM.
J'espère que ça peut vous aider sur le sujet. bonne journée,
Bonjour @AmauriC est-il possible de réouvrir ce ticket ? Cela fait maintenant longtemps que Google Consent Mode est disponible, et de plus en plus de personnes vont se poser cette question au moment d'ajouter GTM et/ou TaC @Ben773 je serais curieux de savoir, en l'état, comment intégrer facilement les 2. Je me fiais surtout à l'article de Cédric Duma https://cedric-duma.fr/tuto-integration-tarteaucitron-google-tag-manager-2020/ mais j'ai peur qu'il commence à être un peu obsolète. Malgré la réponse sur mon autre issue github, je trouve qu'il est aussi difficile de bien comprendre si/pourquoi le chargement de GTM via Tarte Au Citron est/serait "obligatoire" au sens de la loi française, car on trouve toutes les réponses sur internet.
Bonjour,
Il est possible d'intégrer le consent mode V2 avec Tarteaucitron, que GTM soit ou pas déclenché par Tarteaucitron. Je n'ai aucune idée si GTM est activable ou pas sans consentement. C'est une zone floue, comme bien d'autres sur tous ces sujets.
Pour le consent mode, il est difficile de tout décrire ici pour l'intégration mais on peut:
* soit ajouter le code JS pour les signaux par défaut et update, soit utiliser les modules faits par Simo Ahava qui simplifient le travail, * pour les signaux update, c'est là où c'est un peu compliqué, il faut assujettir les différents flags à des variables correspondant aux catégories publicités, analytics, UX, ... déterminées dans tarteaucitron.
Pour ça, il faut aller lire le cookie tarteaucitron, en extraire les états de chaque groupe, envoyer ces valeurs dans des variables de la couche de données, puis déclencher un event d'update, qui déclenchera à son tour la balise Consent Mode Update de Simo Ahava avec les paramétrages des flags associées aux variables qu'on a mis à jour juste avant.
Dans le cas du choix global, "J'accepte" ou "Je refuse", c'est assez facile. "Je refuse" ne déclenchera pas GTM donc rien ne se passe. "J'accepte" déclenche tout à granted. Pour les choix granulaires "Autoriser", "Interdire", on peut mettre un event listener sur les boutons de choix "Autoriser" "Interdire". En cliquant sur un bouton, ça va appeler le script qui va lire le cookie tarteaucitron, puis en cascade tous les autres pour relancer l'update avec les bonnes valeurs de flags. L'event listener est chargé depuis GTM, donc si GTM n'est pas chargé, évidemment, on écoutera rien. Mais dès que GTM sera autorisé, on ira lire la valeur du cookie, donc on aura les états à jour même si l'utilisateur a cliqué sur d'autres groupes avant d'activer GTM.
J'espère que ça peut vous aider sur le sujet. bonne journée,
@bastienito Merci pour tes ces précisions. Je pense que ça m'a fait gagner beaucoup de temps dans ma recherche. Je me suis basé en grande partie sur la ressource que tu citais : https://www.simoahava.com/analytics/consent-mode-v2-google-tags/ en utilisant le template Google Tag Manager de Simo révisé en Décembre.
Côté Google Tag Manager j'ai cette première balise, qui vient définir toutes les variables de consent sur denied par défaut au chargement de la page :
On le voit également via Tag Assistant :
Ensuite j'ai rajouté un p'tit bout de code en bricolage sur le site pour autoriser/retirer le consentement :
document.addEventListener('googleads_allowed', function() {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'update', {
'ad_storage': 'granted'
});
console.log("google ads consent granted");
});
document.addEventListener('googleads_disallowed', function() {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'update', {
'ad_storage': 'denied'
});
console.log("google ads consent denied.");
});
Je ne suis pas encore 100% sûr du fonctionnement mais en analysant le payload de ma requête Google Ads j'ai bien les nouveaux paramètres du consent mode V2 (gcs et gcd) :
Bonjour,
On peut simplement ajouter des services de la manière suivante :
// Custom Google Analytics Multiple
tarteaucitron.services.multiplegtag = {
"key": "multiplegtag",
"type": "other",
"name": "Google Tag Manager",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": (function () {
"cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
if (tarteaucitron.user.multiplegtagUa !== undefined) {
tarteaucitron.user.multiplegtagUa.forEach(function (data) {
cookies.push('_gat_gtag_' + data.ua.replace(/-/g, '_'));
cookies.push('_ga_' + data.ua.replace(/G-/g, ''));
});
}
return cookies;
})(),
"js": function () {
"use strict";
window.dataLayer = window.dataLayer || [];
window.gtag = function gtag() {
dataLayer.push(arguments);
}
window.gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
window.dataLayer.push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
if (tarteaucitron.user.multiplegtagUa !== undefined) {
gtag('js', new Date());
tarteaucitron.user.multiplegtagUa.forEach(function (data) {
gtag('config', data.ua, data.options);
tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + data.ua, '', function () {
});
});
if (typeof tarteaucitron.user.gtagMore === 'function') {
tarteaucitron.user.gtagMore();
}
}
tarteaucitron.job.push('gtaganalyticsstorage');
tarteaucitron.job.push('gtagadstorage');
tarteaucitron.job.push('gtagaduserdata');
tarteaucitron.job.push('gtagadpersonalization');
tarteaucitron.job.push('gtagfunctionalitystorage');
tarteaucitron.job.push('gtagsecuritystorage');
},
"fallback": function () {
tarteaucitron.job.push('gtaganalyticsstorage');
tarteaucitron.job.push('gtagadstorage');
tarteaucitron.job.push('gtagaduserdata');
tarteaucitron.job.push('gtagadpersonalization');
tarteaucitron.job.push('gtagfunctionalitystorage');
tarteaucitron.job.push('gtagsecuritystorage');
}
};
tarteaucitron.services.gtaganalyticsstorage = {
"key": "gtaganalyticsstorage",
"type": "analytic",
"name": "Google Tag Manager (Statistique)",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
"js": function () {
tarteaucitron.userInterface.respond(document.getElementById('multiplegtagAllowed'), true);
gtag('consent', 'update', {
'analytics_storage': 'granted'
});
}
};
tarteaucitron.services.gtagadstorage = {
"key": "gtagadstorage",
"type": "ads",
"name": "Google Tag Manager (Publicité)",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": (function () {
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '_gcl_au'];
})(),
"js": function () {
tarteaucitron.userInterface.respond(document.getElementById('multiplegtagAllowed'), true);
gtag('consent', 'update', {
'ad_storage': 'granted'
});
}
};
tarteaucitron.services.gtagaduserdata = {
"key": "gtagaduserdata",
"type": "ads",
"name": "Google Tag Manager (Ciblage utilisateur)",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
"js": function () {
tarteaucitron.userInterface.respond(document.getElementById('multiplegtagAllowed'), true);
gtag('consent', 'update', {
'ad_user_data': 'granted'
});
}
};
tarteaucitron.services.gtagadpersonalization = {
"key": "gtagadpersonalization",
"type": "ads",
"name": "Google Tag Manager (Publicité personnalisé)",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": (function () {
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '_gcl_au'];
})(),
"js": function () {
tarteaucitron.userInterface.respond(document.getElementById('multiplegtagAllowed'), true);
gtag('consent', 'update', {
'ad_personalization': 'granted'
});
}
};
tarteaucitron.services.gtagfunctionalitystorage = {
"key": "gtagfunctionalitystorage",
"type": "api",
"name": "Google Tag Manager (Fonctionnalité du site)",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
"js": function () {
tarteaucitron.userInterface.respond(document.getElementById('multiplegtagAllowed'), true);
gtag('consent', 'update', {
'functionality_storage': 'granted'
});
},
"fallback": function () {
}
};
tarteaucitron.services.gtagsecuritystorage = {
"key": "gtagsecuritystorage",
"type": "api",
"name": "Google Tag Manager (Sécurité et prévention)",
"uri": "https://support.google.com/analytics/answer/9976101?hl=fr",
"needConsent": true,
"cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
"js": function () {
tarteaucitron.userInterface.respond(document.getElementById('multiplegtagAllowed'), true);
gtag('consent', 'update', {
'security_storage': 'granted'
});
}
};
Ce service se déclenche de la manière suivante :
<script>
tarteaucitron.user.multiplegtagUa = multiplegtagUa || [];
tarteaucitron.multiplegtagUa.push({
'ua': 'GTM-XXXXXX',
'options': {}
});
(tarteaucitron.job = tarteaucitron.job || []).push('multiplegtag');
</script>
Par défaut, le Google Consent V2 est désactivé, puis s'active si les utilisateurs ont validé dans TarteAuCitron. Si un consentement est coché, on active automatique le Google Tag Manager. Si on ajoute le Google Tag Manager, il charge automatiquement les sous-consentements qui sont dépendant.
Merci beaucoup @tups, c'est ce que j'était en train de préparer, ça va accélérer la mise en place!
Mise en place du Google Consent Mode v2 https://github.com/AmauriC/tarteaucitron.js/commit/8cf12b2d8e4106a801fc42139c0af9d56179b171
1- Par défaut - actuellement - l'option googleConsentMode
est sur false
2- Si Google Ads est chargé, ajout d'un service "personalized ads" qui gère ad_user_data
et ad_personalization
3- Le service Google Ads gère ad_storage
4- Le service GA4 gère analytics_storage
Tous les retours sont bienvenus :)
Bonjour,
Merci beaucoup pour cette mise à jour, qui sera très utile.
Après avoir fait la mise jour pour activer le Google Consent V2, je rencontre deux problèmes avec GTM.
Dans un premier temps, tous les services utilisés via GTM sont censé remonter avant l'acceptation (visibles sur le plugin Tag Assistant Legacy). Cela fonctionnait avant la mise à jour, mais ce n'est plus le cas maintenant.
Une fois que les cookies sont acceptés, la balise Google Ads ne remonte plus via GTM. Analytics et Global Site Tag, eux, fonctionnent.
Un développeur avec qui on est en contact a eu exactement le même problème.
Voici le code utilisé :
<script src="{{ siteUrl('theme/js/tarteaucitron/tarteaucitron.min.js') }}"></script>
<script type="text/javascript">
tarteaucitron.init({
"orientation": "bottom",
"iconPosition": "BottomLeft",
"DenyAllCta": true,
"AcceptAllCta": true,
"removeCredit": true,
"showIcon": false,
"googleConsentMode": true
});
</script>
<script type="text/javascript">
tarteaucitron.user.googletagmanagerId = 'GTM-XXXXXXX';
(tarteaucitron.job = tarteaucitron.job || []).push('googletagmanager');
</script>
@Nemephir Possible d'avoir une url pour reproduire le problème? Les changements pour le consent mode concerne l'envoi d'info au Datalayer via les events tarteaucitron, je ne vois pas pourquoi ça changerai le comportement sur le chargement des services. tarteaucitron était déjà à jour ou vous utilisiez une ancienne version?
Merci @AmauriC, voici l'url : https://www.boucherieagricoledelivery.com. On a toujours eu la version 1.9.1 sur ce site, chargée via CDN. Pour faire la mise à jour, on est passé par un téléchargement des fichiers.
La v1.9.1 a plus de 3 ans, beaucoup de chose ont changé depuis. Sur votre installation actuelle tarteaucitron ne gère que GTM, donc le consent mode ne s'applique pas. Pour que ce soit tarteaucitron qui gère Google Ads et Analytics, il faut les retirer de GTM et les installer via tarteaucitron.
D'accord, c'est bien noté. Donc on ne peut plus faire passer Analytics et Ads via GTM, tout étant compatible avec Tarte au citron. C'est bien dommage, mais j'imagine qu'il y a des raisons techniques derrière. Merci beaucoup pour la précision @AmauriC 👍
Bonjour,
Je suis un peu perdu avec les derniers messages que vous venez de publier.
Il n'est plus possible de faire passer Analytics et Ads via GTM tout en étant compatible avec Tarte au citron ? Qu'est ce que celà veux dire ? On ne peut plus utiliser les balises analytics et google ads dans son conteneur GTM ?
Salut Nemephir, Avoir Gads et GA4 dans GTM et Tarteaucitron est possible. C'est ce qu'on fait. Je l'explique dans un commentaire plus haut. La version qu'il y a sur le site date du 20210705.
Bonjour @bastienito est-ce qu'il serait possible d'échanger ensemble car beaucoup de message différent sont envoyé à ce sujet je suis actuellement en train de mettre en place le consent mode v2 avec tarte au citron sur mon site.
Comment vérifier la version de mon tarte au citron ? Voici mon site : https://shop.sanipousse.com/
J'ai relu votre poste et je vais essayer de passer par le template de Simo ahava pour mettre à jour les signaux.
Cependant avez vous des pistes ou un script déjà disponible pour récupéré les valeurs des cookies en fonction du consentement ?
Savez-vous également si il est possible de faire un update des signaux sans avoir à intégrer de script dans le code du site ? Je n'ai pas accès au code en tant que web analyste et je peux uniquement passer par google tag manager.
Merci
Il n'est plus possible de faire passer Analytics et Ads via GTM tout en étant compatible avec Tarte au citron ?
@Nemephir Vu la configuration actuelle, GAds et GA4 ne sont jamais passé par tarteaucitron. Il faut configurer tac pour le faire https://tarteaucitron.io/fr/install/ et retirer l'intégration de GTM.
Comment vérifier la version de mon tarte au citron ?
@Wafy-source la version de tac sur le site est de 2020. Avec la dernière version dispo tac s'occupe d'envoyer les signaux à Google en fonction du statut des services gads et ga4.
@AmauriC
Merci Amauri pour votre réponse , savez-vous une fois la librairie mise à jour quels sont les étapes à réaliser côté GTM dans ce cas ?
Faut'il que j'utilise le template de simo pour envoyé les signaux par défault ? Et ensuite les signaux se mettrons à jour automatiquement ?
Pas besoin de récupéré les valeurs des cookies pour mettre à jour justement les signaux à l'intérieur de GTM ?
Mise en place du Google Consent Mode v2 8cf12b2
1- Par défaut - actuellement - l'option
googleConsentMode
est surfalse
2- Si Google Ads est chargé, ajout d'un service "personalized ads" qui gèread_user_data
etad_personalization
3- Le service Google Ads gèread_storage
4- Le service GA4 gèreanalytics_storage
Tous les retours sont bienvenus :)
Hello @AmauriC le plugin WordPress sera directement compatible du coup ? Pas besoin d'attendre une release Github ?
Mise en place du Google Consent Mode v2 8cf12b2 1- Par défaut - actuellement - l'option
googleConsentMode
est surfalse
2- Si Google Ads est chargé, ajout d'un service "personalized ads" qui gèread_user_data
etad_personalization
3- Le service Google Ads gèread_storage
4- Le service GA4 gèreanalytics_storage
Tous les retours sont bienvenus :)Hello @AmauriC le plugin WordPress sera directement compatible du coup ? Pas besoin d'attendre une release Github ?
J'ai ma réponse
Bonjour, Je me suis penché sur la question et pour faire fonctionner google tag manager je pose tarteaucitron avec les 2 services GA4 et ads et derrière j'appelle le script google tag manager standard, ainsi je conserve le conversion linker etc fonctionnel.
sachant que si tout est denied GTM s'active en mode reduit donc conforme rgpd vu que pas de cookie, et des la validation dans le bandeau ca passe alors en allowed. le seul hic qu'il me reste, c'est que parfois j'ai "A tag read consent state before a default was set" ca voudrait dire que tarteaucitron met du temps à envoyer le datalayer
Est ce que tarteaucitron rempli le datalayer en asynchrone?
Petite update:
j'ai desactivé dans les services gtag et googleads la partie js pour que leurs balises respectives ne soient pas appelées et j'ai mis l'appel au tag GTM standard de cette facon window.addEventListener('tac.root_available', function() { (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-XXX'); }) })
Ainsi je suis sur que le datalayer a été correctement configuré avant. Et j'ai donc mes evenements configurés dans GTM qui fonctionnent parfaitement avec les bons consentements.
Hello @drpark quand vous parler de votre datalayer est-ce que ce datalayer est automatiquement généré par tac avec un consent_update que l'on peu utiliser comme déclencheur pour nos evenements GTM ?
Bonjour, j'ai une question concernant l'utilisation de Tarte au citron sur Matomo pour activer le consent mode V2. J'ai bien compris que c'était OK avec GTM mais est ce que c'est également possible via le Matomo Manager ?
Maintenant que le consent mode est dispo, possible de charger GAds/GA4 dans tous les cas? Ou il faut toujours le premier consentement pour charger le tag? 🧐
Maintenant que le consent mode est dispo, possible de charger GAds/GA4 dans tous les cas? Ou il faut toujours le premier consentement pour charger le tag? 🧐
Je l'ai deployé sur la preprod du site d'un client et l'extension Chrome Consent Mode Inspector by InfoTrust montre que les paramètres sont tous en unknown tant qu'on n'a pas accepté. Si on refuse, cela reste en unknown.
Maintenant que le consent mode est dispo, possible de charger GAds/GA4 dans tous les cas? Ou il faut toujours le premier consentement pour charger le tag? 🧐
Je l'ai deployé sur la preprod du site d'un client et l'extension Chrome Consent Mode Inspector by InfoTrust montre que les paramètres sont tous en unknown tant qu'on n'a pas accepté. Si on refuse, cela reste en unknown.
Regarde mes posts précédents... J' ai du faire quelques modifs pour que ça fonctionne bien
Hello @drpark quand vous parler de votre datalayer est-ce que ce datalayer est automatiquement généré par tac avec un consent_update que l'on peu utiliser comme déclencheur pour nos evenements GTM ?
Je laisse tac gérer le data layer par contre j'ai viré les appels de scripts dans les services pour Analytics et ads. Et je lance manuellement le Google tag original après m être assuré que tac était loadé
Maintenant que le consent mode est dispo, possible de charger GAds/GA4 dans tous les cas? Ou il faut toujours le premier consentement pour charger le tag? 🧐
Je l'ai deployé sur la preprod du site d'un client et l'extension Chrome Consent Mode Inspector by InfoTrust montre que les paramètres sont tous en unknown tant qu'on n'a pas accepté. Si on refuse, cela reste en unknown.
Regarde mes posts précédents... J' ai du faire quelques modifs pour que ça fonctionne bien
Thanks, je me suis inspiré de ce que tu as posté, cela semble fonctionner bien mieux. 👍
Maintenant que le consent mode est dispo, possible de charger GAds/GA4 dans tous les cas? Ou il faut toujours le premier consentement pour charger le tag? 🧐
Hello, j'arrive comme un cheveu sur la soupe, mais pour faire simple, la réponse est oui, il faut charger GA systématiquement quand le consent est spécifié. :)
@drpark j'ai desactivé dans les services gtag et googleads la partie js pour que leurs balises respectives ne soient pas appelées et j'ai mis l'appel au tag GTM standard de cette facon window.addEventListener('tac.root_available', function() { (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-XXX'); }) }) Ainsi je suis sur que le datalayer a été correctement configuré avant. Et j'ai donc mes evenements configurés dans GTM qui fonctionnent parfaitement avec les bons consentements.
Originally posted by @drpark in https://github.com/AmauriC/tarteaucitron.js/issues/850#issuecomment-1972597754
Pourrais-tu me dire quel sont les partie js pour que leurs balises respectives ne soient pas appelées pour gtag et google ads :
Voici le script de gtag par exemple :
Ah tu gardé que cette partie pour que Google Analytics 4 s'affiche dans ton bandeau :
(tarteaucitron.job = tarteaucitron.job || []).push('gtag');
oui j'ai gardé la partie (tarteaucitron.job = tarteaucitron.job || []).push('gtag'); et pareil pour google ads afin que les evenement soit déclenchés selon le consentement de l'utilisateur. Et dans services j'ai désormais ca
tarteaucitron.services.googleads = { "key": "googleads", "type": "ads", "name": "Google Ads", "uri": "https://policies.google.com/privacy", "needConsent": true, "cookies": (function () { var googleIdentifier = tarteaucitron.user.googleadsId, tagUaCookie = '_gatgtag' + googleIdentifier, tagGCookie = 'ga' + googleIdentifier;
tagUaCookie = tagUaCookie.replace(/-/g, '_');
tagGCookie = tagGCookie.replace(/G-/g, '');
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
})(),
"js": function () {
"use strict";
}
};
// google analytics tarteaucitron.services.gtag = { "key": "gtag", "type": "analytic", "name": "Google Analytics (GA4)", "uri": "https://policies.google.com/privacy", "needConsent": true, "cookies": (function () { var googleIdentifier = tarteaucitron.user.gtagUa, tagUaCookie = '_gatgtag' + googleIdentifier, tagGCookie = 'ga' + googleIdentifier;
tagUaCookie = tagUaCookie.replace(/-/g, '_');
tagGCookie = tagGCookie.replace(/G-/g, '');
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
})(),
"js": function () {
"use strict";
}
};
merci @drpark
Je n'arrive pas à comprendre ou tu trouve les éléments des services que tu viens de montrer :
je suis en version pro :
Pour charger la librairie j'ai juste. :
Ensuite le code pour google analytics par exemple est :
j'ai garder uniquement :
<script type="text/javascript">
tarteaucitron.user.gtagUa = 'G-XXXXXXXXX';
// tarteaucitron.user.gtagCrossdomain = ['example.com', 'example2.com'];
tarteaucitron.user.gtagMore = function () { /* add here your optionnal gtag() */ };
(tarteaucitron.job = tarteaucitron.job || []).push('gtag');
</script>
</body>
Bonjour.
Y a-t-il un moyen avec tarteaucitron d'utiliser le Google Consent Mode ? Ou de permettre à Google de mettre de la publicité (via Adsense) avec des cookies, quand c'est autorisé par l'internaute, ou sans cookie lorsque c'est refusé ? Idem pour Analytics ?
J'ai fait plusieurs essais, mais cela ne fonctionne pas.
Merci beaucoup