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 registrar los eventos de compra con el consentimiento del usuario.
Finalidad
Necesitas tener implementado Microsoft Consent Mode en tu tienda si vendes en la UE y haces seguimiento de 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, la extensibilidad del checkout no permite que los scripts de las apps se ejecuten en él.
Por eso, el píxel personalizado que aparece a continuación te permitirá enviar el consentimiento a Microsoft y registrar el evento de compra en el checkout con consentimiento.
En esencia, la integración de Pandectes y el píxel funcionan juntos: la integración cubre toda la tienda, mientras que el píxel se encarga del checkout.
Para integrarlo:
Ve a Shopify Settings > Customer events. Después, haz clic en Add custom pixel.

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

Establece el permiso en "Not required"

Y pega el código siguiente 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 en la parte superior para que los eventos se envíen a tu etiqueta, y después haz clic en Connect.

¡Y listo! Ahora el píxel leerá la cookie de Pandectes para conocer el estado del consentimiento, informará de ello a Microsoft y registrará el evento.
Actualizado el: 27/10/2026
¡Gracias!
