Cómo implementar UET Microsoft Consent Mode en el checkout
Esta guía te ayudará a activar Microsoft Consent Mode en el checkout, para que puedas rastrear los eventos de tu checkout con el consentimiento del usuario.
Finalidad
Necesitas tener Microsoft consent mode implementado en tu tienda si vendes en la UE y rastreas a usuarios del EEE. Microsoft incluso está desactivando las campañas que no siguen este nuevo estándar.
Cómo funciona con nuestra integración
Aunque Pandectes GDPR ofrece una integración directa para Microsoft Consent Mode, como sabes, checkout extensibility no permite que se ejecuten scripts de apps en el checkout.
Por eso, el custom pixel siguiente te permitirá enviar el consentimiento a Microsoft y rastrear el evento de compra en el checkout con consentimiento.
En esencia, la integración de Pandectes y el Pixel funcionan en conjunto: la integración cubre toda la tienda, mientras que el Pixel se encarga del checkout.
Integración:
Ve a Shopify Settings > Customer Events. Luego haz clic en "Add Custom pixel"

Ponle un buen nombre y haz clic en "Add pixel"

Establece el permiso en "Not required"

Y pega el siguiente código en la sección de código:
// 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
});
}
});
}
Debes añadir el ID de tu etiqueta UET al principio, para que los eventos se envíen a tu etiqueta, y hacer clic en Connect.

¡Y ya está todo listo! Ahora el pixel leerá la cookie de pandectes para saber cuál es el estado del consentimiento, informará a Microsoft y rastreará el evento.
Actualizado el: 19/10/2026
¡Gracias!
