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 :
Ici, l'évènement envoyé sera "analytics_accepted".