Exécuter du code après le consentement aux cookies
Pour utiliser la fonctionnalité décrite dans cet article, vous devez activer la bannière de cookies et le blocage préalable. Ces fonctionnalités sont uniquement disponibles pour les sites payants sur le moteur v3.
Contexte
Notre système de cookies classe les cookies en quatre types, structurés comme ceci :
[
"strictly_necessary",
"functionality",
"performance",
"targeting"
]Pour en savoir plus sur les différentes catégories, veuillez consulter cet article.
Comment exécuter du code seulement après l'obtention d'un consentement spécifique
Pour prendre en charge l'exécution conditionnelle de scripts, nous avons introduit deux outils :
window.umsoCookieConsent— une variable globale contenant le statut de consentement actuel du visiteur et les catégories.umsoCookieConsentGranted— un événement personnalisé déclenché chaque fois qu'un utilisateur enregistre ou met à jour ses préférences de consentement.
Ceux-ci vous permettent d'exécuter une logique de manière conditionnelle en fonction des choix du visiteur.
Structure de l'événement / de la variable globale
L'événement umsoCookieConsentGranted a la structure suivante :
{
"detail": {
"categories": [
"strictly_necessary",
"functionality",
"performance",
"targeting"
]
}
}La variable globale window.umsoCookieConsent a la structure suivante :
{
"categories": [
"strictly_necessary",
"functionality",
"performance",
"targeting"
]
}Bonnes pratiques
Pour garantir que vos scripts reflètent toujours l'état de consentement le plus récent :
Utilisez la variable
window.umsoCookieConsentpour accéder au statut actuel.Écoutez également l'événement
umsoCookieConsentGrantedpour répondre aux mises à jour en temps réel.
Cette approche garantit que tous les scripts que vous exécutez, tels que le pistage, l'Analytics ou la personnalisation, respectent les préférences de l'utilisateur dès sa première visite.
Exemple : Intégration de Microsoft Clarity
Si vous utilisez Microsoft Clarity et souhaitez vous assurer qu'il ne s'exécute que lorsque le visiteur consent aux cookies de performance, suivez ces étapes :
Incluez le script de suivi par défaut de Clarity dans votre en-tête ou votre gestionnaire de balises.
Ajoutez le script suivant pour activer ou désactiver Clarity de manière conditionnelle :
<script>
// reusable function to handle consent
function handleClarityConsent(categories) {
const clarityLoaded = typeof window.clarity === 'function';
if (!clarityLoaded) {
return;
}
if (Array.isArray(categories) && categories.includes('performance')) {
window.clarity('consent');
} else {
window.clarity('consent', false);
}
}
// run this code when your clarity script has been loaded
// to read any existing content responses
const initialConsent = window.umsoCookieConsent;
if (initialConsent && Array.isArray(initialConsent.categories)) {
handleClarityConsent(initialConsent.categories);
}
// once you have initialized clarity, you'll want to add this code
// to listen for future consent changes
window.addEventListener('umsoCookieConsentGranted', e => {
handleClarityConsent(e.detail.categories);
});
</script>