Passer au contenu principal

Envoyer un évènement par étape de cookie à Google Tag Manager

M
Écrit par Manon Manso
Mis à jour cette semaine

Vous voulez notifier à votre conteneur Google Tag Manager lorsque tous les cookies d'une étape ont été acceptés, en plus des évènements envoyés pour chaque cookie ? Voici comment faire !

Tout d'abord, il vous faudra charger ce script :

window.dataLayer = window.dataLayer || [];
window._axcb = window._axcb || [];
window._axcb.push(function(sdk){
sdk.on('cookies:complete', function(choices){
const steps = sdk.config.cookies[0].steps;
const cookiesSteps = steps.splice(1, steps.length);
cookiesSteps.forEach(step => {
const vendors = step.vendors;
let allAccepted = true;
vendors.forEach(vendor => {
const choice = choices[vendor.name];
if(choice === false || choice === undefined){
allAccepted = false;
}
});
if(allAccepted === true){
dataLayer.push({'event': step.name + '_accepted'});
}
});
});
});

Vous pouvez ajouter ce script à la suite de votre script Axeptio, ou bien dans une balise <script> à part. Etant donné que ce script est asynchrone, vous n'avez pas besoin de le charger à un endroit spécifique.

Une fois le script ajouté, les évènements seront automatiquement envoyés à Google Tag Manager, en se basant sur l'identifiant de l'étape acceptée. Par exemple :

Untitled.png

Ici, l'évènement envoyé sera "analytics_accepted".

🍪 Pour les écrans d'informations, leur identifiant est défini par défaut sur la valeur "info" et ne peut pas être modifié. Dans ce cas, l'évènement envoyé sera donc toujours "info_accepted".

Avez-vous trouvé la réponse à votre question ?