Colas Mérand
23/05/2025
PrestaShop
UET Consent Mode
Microsoft Advertising
5 minutes
Dans un contexte où la protection des données personnelles est devenue une priorité absolue, les e-commerçants doivent constamment adapter leurs outils de tracking publicitaire pour rester conformes aux réglementations en vigueur, notamment le RGPD. Microsoft Advertising UET (Universal Event Tracking) Consent Mode représente une solution efficace pour concilier performance marketing et respect de la vie privée des utilisateurs.
UET Consent Mode est une fonctionnalité développée par Microsoft qui permet d'adapter le comportement des tags de suivi publicitaire en fonction des choix de consentement des utilisateurs. Similaire au Consent Mode de Google, cette solution permet de continuer à collecter des données anonymisées même lorsqu'un utilisateur n'a pas donné son consentement pour le tracking publicitaire.
Pour les boutiques PrestaShop, l'implémentation de cette fonctionnalité présente plusieurs avantages :
Avant de vous lancer dans l'implémentation d'UET Consent Mode, assurez-vous de disposer des éléments suivants :
Si ce n'est pas déjà fait, commencez par intégrer le tag UET standard de Microsoft Advertising. Vous pouvez le faire de plusieurs façons :
Exemple de code UET standard :
<script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"VOTRE_TAG_ID"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script>
L'étape cruciale consiste à modifier l'implémentation standard pour prendre en compte le consentement utilisateur. Voici comment procéder :
Créez un fichier uet-consent-mode.js dans le dossier themes/YOUR_THEME/assets/js/ de votre installation PrestaShop avec le contenu suivant :
// Fonction pour gérer le consentement UET
function handleUETConsent(consentStatus) {
// Si le tag UET n'est pas encore chargé, on initialise avec les paramètres de consentement
if (typeof UET === 'undefined') {
window.UET_consent = consentStatus;
return;
}
// Si le tag est déjà chargé, on met à jour les paramètres
if (typeof window.uetq !== 'undefined') {
window.uetq.push('consent', consentStatus);
}
}
// Fonction pour écouter les changements de consentement
function setupConsentListeners() {
// Exemple avec OneTrust (à adapter selon votre solution)
if (typeof OneTrust !== 'undefined') {
OneTrust.OnConsentChanged(function() {
const advertisingConsent = OneTrust.GetDomainData().Groups
.filter(group => group.CustomGroupId === 'C0004') // ID pour la publicité
.some(group => group.HasConsent);
handleUETConsent({
ad_storage: advertisingConsent ? 'granted' : 'denied',
ad_user_data: advertisingConsent ? 'granted' : 'denied',
ad_personalization: advertisingConsent ? 'granted' : 'denied'
});
});
}
// Exemple avec le module natif PrestaShop
document.addEventListener('user_privacy_changed', function(event) {
if (event.detail && typeof event.detail.cookies !== 'undefined') {
const advertisingConsent = event.detail.cookies.includes('advertising');
handleUETConsent({
ad_storage: advertisingConsent ? 'granted' : 'denied',
ad_user_data: advertisingConsent ? 'granted' : 'denied',
ad_personalization: advertisingConsent ? 'granted' : 'denied'
});
}
});
}
// Initialisation au chargement de la page
document.addEventListener('DOMContentLoaded', function() {
setupConsentListeners();
// Vérification du consentement initial
// À adapter selon votre solution de gestion du consentement
const initialConsent = checkInitialConsent();
handleUETConsent(initialConsent);
});
// Fonction à adapter selon votre solution de gestion du consentement
function checkInitialConsent() {
// Exemple de logique pour déterminer le consentement initial
// À remplacer par votre propre logique
return {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied'
};
}
Adaptez votre tag UET standard pour prendre en compte le consentement :
<script>
(function(w,d,t,r,u){
// Vérifier si le consentement est déjà défini
var consentSettings = w.UET_consent || {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied'
};
var f,n,i;
w[u]=w[u]||[],f=function(){
var o={
ti:"VOTRE_TAG_ID",
consent: consentSettings
};
o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){
var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
})(window,document,"script","//bat.bing.com/bat.js","uetq");
</script>
Pour intégrer ces modifications dans votre boutique PrestaShop, vous avez plusieurs options :
Créez un module PrestaShop dédié qui injectera les scripts nécessaires. Cette approche est la plus propre et la plus maintenable.
Modifiez le fichier themes/YOUR_THEME/templates/_partials/head.tpl pour y ajouter les scripts.
Utilisez le hook displayHeader pour injecter dynamiquement les scripts.
Une fois l'implémentation terminée, il est crucial de tester son bon fonctionnement :
Pour tirer le meilleur parti d'UET Consent Mode sur PrestaShop, voici quelques recommandations :
Documentez soigneusement votre implémentation pour faciliter la maintenance future. PrestaShop évolue régulièrement, et il est important de pouvoir adapter rapidement votre configuration lors des mises à jour.
Le chargement des scripts de tracking peut impacter les performances de votre site. Assurez-vous que les scripts sont chargés de manière asynchrone et optimisez leur exécution.
Chez Platane, nous avons développé une approche qui permet d'optimiser considérablement le chargement des scripts de tracking, notamment en utilisant des techniques de lazy-loading et de priorisation des ressources. Lors d'un récent projet pour le Festival Ouaille Note, nous avons réussi à maintenir un score PageSpeed de plus de 90 malgré l'intégration de multiples outils de tracking, grâce à une architecture optimisée de la boutique Shopify headless.
Si vous utilisez d'autres outils de tracking comme Google Analytics ou Facebook Pixel, assurez-vous que la gestion du consentement est cohérente entre tous ces outils. Une approche unifiée simplifie la maintenance et garantit une meilleure conformité.
Notre expérience avec des clients comme Astory, pour qui nous avons développé une plateforme de location d'œuvres d'art générant plus de 800 000€ de revenus annuels, nous a permis de mettre au point des stratégies d'intégration harmonieuse entre différents outils de tracking, tout en respectant scrupuleusement les exigences du RGPD.
Pour les événements de conversion (achats, ajouts au panier, etc.), il est recommandé d'adapter le tracking en fonction du consentement :
// Exemple de tracking d'achat avec gestion du consentement
function trackPurchase(orderId, amount) {
if (typeof window.uetq !== 'undefined') {
window.uetq.push('event', 'purchase', {
'transaction_id': orderId,
'revenue_value': amount,
'currency': 'EUR'
});
}
}
// À appeler sur la page de confirmation de commande
document.addEventListener('DOMContentLoaded', function() {
// Récupération des données de commande depuis PrestaShop
const orderData = {
id: prestashop.order.id,
total: prestashop.order.total_paid
};
trackPurchase(orderData.id, orderData.total);
});
PrestaShop offre de nombreuses possibilités de personnalisation. Pour une intégration plus poussée, vous pouvez créer un module dédié qui s'intègre parfaitement avec le système de gestion des consentements de PrestaShop.
Notre équipe chez Platane a développé plusieurs modules personnalisés pour des clients e-commerce, permettant une gestion fine des consentements tout en maximisant les performances marketing. Cette expertise nous a permis d'accompagner efficacement des projets comme Epictory, une plateforme de génération de posters basés sur des parcours Strava, où la gestion des données utilisateurs était particulièrement sensible.
L'implémentation d'UET Consent Mode sur PrestaShop 1.7.7 représente un équilibre parfait entre conformité réglementaire et performance marketing. En suivant ce guide, vous pourrez adapter votre tracking publicitaire Microsoft aux exigences du RGPD tout en continuant à optimiser vos campagnes.
La transformation numérique et l'adaptation aux nouvelles réglementations sont des défis constants pour les e-commerçants. Chez Platane, nous accompagnons quotidiennement nos clients dans ces évolutions, en combinant expertise technique et vision stratégique.
Vous avez un projet d'e-commerce qui nécessite une expertise en développement PrestaShop et en conformité RGPD ? Notre équipe est prête à vous accompagner pour concevoir des solutions sur mesure qui allient performance technique, respect des réglementations et innovation. Prenez rendez-vous via notre formulaire de contact pour échanger sur votre projet et découvrir comment notre approche alliant technologies de pointe et créativité peut vous aider à atteindre vos objectifs commerciaux.