Comment mettre en place UET Microsoft Consent Mode dans le checkout
Ce guide vous aidera à activer Microsoft Consent Mode dans le tunnel de paiement, afin de suivre vos événements de paiement avec le consentement des utilisateurs.
Objectif
Vous devez avoir implémenté Microsoft Consent Mode sur votre boutique si vous vendez dans l’UE et suivez des utilisateurs de l’EEE. Microsoft désactive même les campagnes qui ne respectent pas cette nouvelle norme.
Fonctionnement avec notre intégration
Si Pandectes GDPR propose une intégration directe pour Microsoft Consent Mode, comme vous le savez, l’extensibilité du paiement ne permet pas aux scripts des applications de s’y exécuter.
Le pixel personnalisé ci-dessous vous permettra donc de transmettre le consentement à Microsoft et de suivre l’événement d’achat dans le tunnel de paiement, avec consentement !
En résumé, l’intégration Pandectes et le pixel fonctionnent ensemble : l’intégration couvre toute la boutique, tandis que le pixel gère le tunnel de paiement.
Intégration :
Allez dans Shopify Settings > Customer events. Cliquez ensuite sur Add custom pixel.

Donnez-lui un nom parlant puis cliquez sur « Add pixel »

Réglez l’autorisation sur « Not required »

Puis collez le code ci-dessous dans la section code :
// Pandectes Pixel for Microsoft UET consent mode and events tracking
const uetTagId = '' // Input your UET tag Id
const DENIED = "denied"
const GRANTED = "granted"
const STORE_POLICY = DENIED; // You can change to GRANTED if you would like to have a loose policy
const getCookie = (cookieName) => {
const cookieString = document.cookie;
const cookieStart = cookieString.indexOf(cookieName + "=");
if (cookieStart === -1) {
return null;
}
let cookieEnd = cookieString.indexOf(";", cookieStart);
if (cookieEnd === -1) {
cookieEnd = cookieString.length;
}
const cookieValue = cookieString.substring(cookieStart + cookieName.length + 1, cookieEnd);
try {
const decodedValue = atob(cookieValue);
const parsedValue = JSON.parse(decodedValue);
return parsedValue;
} catch (error) {
console.error("Error parsing cookie value:", error);
return null;
}
};
function setCookie(name, value, days) {
const date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
const expires = 'expires=' + date.toUTCString();
document.cookie = `${name}=${value}; ${expires}; path=/; secure; samesite=strict`;
}
const getStorage = (preferences) => {
const p4 = (preferences &4) === 0;
output = {
ad_storage: p4 ? GRANTED : DENIED
}
return output;
}
if (window.location.href.includes("/checkout/") ||window.location.href.includes("/checkouts/")){
window.uetq = window.uetq || [];
const cookie = getCookie("_pandectes_gdpr");
const defaultStorage = getStorage(STORE_POLICY === DENIED ? 7:0);
STORE_POLICY===DENIED ? setCookie('_uetmsdns', '1', 365) : setCookie('_uetmsdns', '0', 365);
window.uetq.push('consent', 'default', defaultStorage);
if (cookie && cookie.preferences !== null && cookie.preferences !== undefined) {
const updateStorage = getStorage(cookie.preferences);
window.uetq.push('consent', 'update', updateStorage);
if (updateStorage.ad_storage==GRANTED) {
setCookie('_uetmsdns', '0', 365);
}
}
/*
* UET tag Initialization
*/
(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:uetTagId, disableAutoPageView: true, enableAutoSpaTracking: false};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");
/*
* Events Tracking
*/
analytics.subscribe("page_viewed", (event) => {
window.uetq.push('event', 'page_view', { 'page_location': event.context.window.location.href });
});
analytics.subscribe("checkout_completed", event => {
let productIds = '';
let revenueValue = 0;
let currency = '';
if (event.data?.checkout) {
revenueValue = event.data.checkout.totalPrice?.amount;
currency = event.data.checkout.totalPrice?.currencyCode;
if (Array.isArray(event.data?.checkout?.lineItems)) {
const lineItemIds = event.data.checkout.lineItems.map(item => String(item.variant.product.id));
productIds = lineItemIds.join(',').slice(0, 50);
}
window.uetq.push('event', 'purchase', {
'ecomm_prodid': productIds,
'ecomm_pagetype': 'purchase',
'revenue_value': revenueValue,
'currency': currency
});
}
});
}
Vous devez ajouter votre identifiant de balise UET en haut, afin que les événements soient envoyés à votre balise, puis cliquez sur Connect.

Et voilà ! Le pixel lira désormais le cookie Pandectes pour connaître l’état du consentement, en informera Microsoft et suivra l’événement !
Mis à jour le : 27/10/2026
Merci !
