Smart Bidding Microsoft Ads con un tracking UET limpio sube en media +14 a +20% de conversiones vs un tracking degradado en las cuentas observadas en los benchmarks públicos de Google Ads, y las cuentas en Target ROAS sin UET estable rara vez salen de learning phase. Microsoft Advertising posee el 9% del desktop search en US y el 4% en España en T4 2025 (StatCounter) — la plataforma vale la pena, pero sin UET limpio pierdes la ventaja.
Este tutorial no es un overview marketing: es la metodología ops aplicada en producción. Snippets listos para copiar, procedimiento de instalación paso a paso via la herramienta UET oficial, mapping vs gtag, Enhanced Conversions, Consent Mode v2, server-side, y los 6 errores que hunden el tracking. Requisito previo recomendado: haber leído nuestro comparativo Microsoft Ads vs Google Ads y nuestra guía principiante Microsoft Ads.
¿Qué es el tag UET y cómo se posiciona vs Google Tag?
El UET (Universal Event Tracking) es el tag de tracking de conversiones propietario de Microsoft Advertising. Es el equivalente directo del Google Tag (gtag) del lado Google Ads: un fragmento JavaScript colocado en el <head> de cada página, que deposita una cookie first-party en tu dominio, mide los pageviews y los events, y luego sube estas señales a Microsoft para alimentar las conversiones, las audiencias y Smart Bidding.
El UET no reemplaza al Google Tag — ambos coexisten en el mismo sitio. Cuando un usuario convierte, el snippet UET envía un hit a bat.bing.com (transparente, via tu cookie first-party), mientras que el Google Tag envía su hit a googleads.g.doubleclick.net. Cada plataforma cuenta su conversión independientemente. Es mediante esta doble instrumentación que mides el rendimiento de cada palanca sin sesgo cross-platform.
Aquí el mapping funcional detallado entre los dos tags:
El UET tag ID es un identificador numérico de 8 dígitos, único por cuenta Microsoft Advertising. Lo recuperas en Tools > UET tag en Microsoft. Este tag ID sirve de clave en el snippet a colocar, exactamente como el Conversion ID + Conversion Label del lado Google Ads.
Tres cosas a recordar antes de configurar el UET. Primero: un solo tag UET por cuenta Microsoft, colocado en todas las páginas (no solo las páginas de conversión). Segundo: los events son la piedra angular del tracking — defines después Conversion Goals en Microsoft que consumen estos events. Tercero: Enhanced Conversions y Consent Mode v2 son soportados desde 2024 y alinean UET con los estándares 2026 de tracking respetuoso con la privacidad.
Instalación: 3 métodos (GTM, código, plugins CMS)
Tres métodos de instalación dominan en 2026. La elección depende de tu stack y de tu madurez técnica. Para la mayoría de las cuentas observadas en los benchmarks públicos de Google Ads, GTM sigue siendo la vía recomendada.
Método 1 — Via Google Tag Manager (recomendado)
GTM dispone de un template oficial Microsoft Advertising UET tag (Community Template Gallery). Procedimiento:
- En GTM, Tags > New > Microsoft Advertising UET tag (template oficial).
- Rellenar el UET tag ID (8 dígitos recuperados en Microsoft).
- Trigger: All Pages (Page View).
- Para los events de conversión: crear un segundo tag de tipo Microsoft Advertising Event, rellenar el UET tag ID, el event category/action/label/value, trigger sobre el event GA4 o el custom trigger correspondiente.
- Testear en modo Preview GTM, validar que UET Tag Helper ve bien el tag disparándose en la página.
Ventajas: mantenible, versionado, compartición de triggers con los otros tags marketing (Google Ads, GA4, Meta), sin modificación de código del sitio. Es el método utilizado en más del 80% de las cuentas observadas en los benchmarks públicos.
Método 2 — Código directo en el head
Para los sitios sin GTM (custom build o restricciones ops), el snippet oficial Microsoft a pegar en el <head>:
<script>
(function(w,d,t,r,u){
var f,n,i;
w[u]=w[u]||[],f=function(){
var o={ti:"YOUR_UET_TAG_ID", enableAutoSpaTracking: true};
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>
Reemplazar YOUR_UET_TAG_ID por el ID de 8 dígitos. La opción enableAutoSpaTracking: true activa el tracking automático de cambios de URL via History API — útil para las SPA React, Vue, Angular. Para disparar un event de conversión más adelante en el código:
// En la página de confirmación de compra
window.uetq = window.uetq || [];
window.uetq.push('event', 'purchase', {
revenue_value: 129.99,
currency: 'EUR',
event_category: 'ecommerce',
event_label: 'order_completed'
});
Método 3 — Plugins CMS (Shopify, WooCommerce, Wix)
Para los sitios no-code, Microsoft propone plugins oficiales:
- Shopify: Microsoft Channel app (gratuita, en el Shopify App Store).
- WooCommerce: Microsoft Advertising Pixel for WooCommerce.
- Wix, Squarespace: integración via Tag Manager simplificado integrado.
Estos plugins colocan automáticamente el UET y disparan los events e-commerce estándar (purchase, add_to_cart, view_item). Es el método más rápido para un arranque e-com — cuenta con 30 minutos de instalación vs 4-6h para una integración GTM full custom. Límite: los events custom (ej: event específico de tu negocio) siguen requiriendo cableado manual via GTM o código directo como complemento del plugin.
Conversiones estándar vs eventos personalizados
Una vez colocado el UET, el paso siguiente es definir qué quieres trackear. Microsoft Advertising distingue dos niveles: los Conversion Goals (que Smart Bidding optimizará) y los Custom Events (señales granulares utilizables para audiencias o diagnósticos).
Un Conversion Goal es una conversión business: una compra, un lead, un signup, una suscripción. Lo creas en Tools > Conversion goals. Cuatro tipos posibles:
- Event: disparado por un push UET (el más utilizado).
- Destination URL: disparado al aterrizar en una URL específica (ej:
/gracias-por-tu-pedido). - Duration: duración mínima de sesión alcanzada.
- Pages per visit: número de páginas vistas alcanzado.
El tipo Event es el más flexible — consume los events que empujas via uetq.push('event', ...). La regla práctica: usa Event para todas las conversiones críticas, Destination URL únicamente como fallback o para las conversiones muy simples (formulario one-page sin tracking dinámico).
Un Custom Event es una señal arbitraria enviada via uetq.push que no está (necesariamente) vinculada a un Conversion Goal. Ejemplos de custom events útiles:
video_play,video_complete: engagement vídeo.scroll_50pct,scroll_75pct: profundidad de lectura.add_to_cart,begin_checkout: etapas del embudo e-com.pricing_page_view: intent SaaS B2B.
Estos custom events sirven para construir audiencias (ej: "usuarios que hicieron video_play 50%+") o para diagnosticar fugas en el embudo, sin sobrecargar Smart Bidding con demasiados Conversion Goals concurrentes.
En las cuentas observadas en los benchmarks públicos de Google Ads, 4 a 7 Conversion Goals activos representan el sweet spot para Smart Bidding Microsoft Ads. Más allá, el algoritmo diversifica demasiado su optimización y el rendimiento por goal se degrada. Los custom events no tienen este límite — puedes tener 30+ sin impacto en las pujas.
Aquí un ejemplo completo de instrumentación para un sitio e-commerce que quiere trackear las 5 etapas del embudo + la compra final:
// View product
window.uetq.push('event', 'view_item', {
event_category: 'ecommerce',
event_value: 89.90,
currency: 'EUR'
});
// Add to cart
window.uetq.push('event', 'add_to_cart', {
event_category: 'ecommerce',
event_value: 89.90,
currency: 'EUR'
});
// Begin checkout
window.uetq.push('event', 'begin_checkout', {
event_category: 'ecommerce'
});
// Purchase (Conversion Goal principal)
window.uetq.push('event', 'purchase', {
event_category: 'ecommerce',
revenue_value: 129.99,
currency: 'EUR',
transaction_id: 'ORDER_12345'
});
El transaction_id es crítico: sirve de event_id para la deduplicación si pasas a server-side o si comparas con Google Ads. Sin transaction_id único, imposible deduplicar y tus métricas cross-platform están sesgadas.
Enhanced Conversions Microsoft Ads en 2026
Las Enhanced Conversions de Microsoft Ads existen desde 2024 y han alcanzado una estabilidad de producción en 2026. El principio es idéntico a Google Ads: transmitir en el payload de la conversión datos de usuario hasheados (email, teléfono, dirección) para permitir a Microsoft re-matchear la conversión a un usuario Microsoft (Bing search, Edge browser) incluso cuando la cookie first-party se ha perdido (ITP, ad-blockers, cross-device).
La ganancia medida de Enhanced Conversions sobre el matching Microsoft varía entre +6 y +15% de conversiones reportadas según vertical y calidad de los datos — cercano al orden de magnitud observado del lado Google Ads. Es suficientemente significativo para justificar la inversión de 1-2 días de dev para cablear las Enhanced Conversions correctamente.
El hasheo debe efectuarse antes del envío a Microsoft, idealmente del lado servidor (para evitar exponer el PII en texto claro del lado navegador). Procedimiento tipo:
// Del lado servidor (Node.js)
const crypto = require('crypto');
function sha256Hash(input) {
return crypto
.createHash('sha256')
.update(input.trim().toLowerCase())
.digest('hex');
}
const enhancedData = {
email: sha256Hash(user.email),
phone: sha256Hash(user.phone.replace(/\s/g, '')),
// dirección en formato hasheado: nombre + apellido + CP + país
address: sha256Hash(`${user.firstName}${user.lastName}${user.zip}${user.countryCode}`)
};
// Push en data layer para que UET lo recupere
dataLayer.push({
event: 'purchase',
enhanced_conversion_data: enhancedData
});
Del lado UET, el tag detecta la presencia de los datos hasheados en el payload y los transmite a Microsoft Advertising. Activación de la funcionalidad en Microsoft: Tools > UET tag > Enhanced conversions > Enable.
Algunas reglas de calidad a respetar para maximizar la tasa de match:
- Siempre en lowercase antes del hasheo (
user@email.com→ hash, noUser@Email.com). - Trim de espacios sistemático en email y teléfono.
- Formato E.164 internacional para el teléfono (ej:
+34612345678). - País en formato ISO 2 letras (ES, FR, DE, US, etc.).
- Hasheo SHA-256 hex (no SHA-1, no Base64).
Microsoft propone también un modo Enhanced Conversions for Leads específico para las conversiones fuera del sitio (CRM B2B, closing offline) — ver nuestra guía offline conversions CRM para el marco funcional equivalente del lado Google Ads.
Importación de conversiones GA4 hacia Microsoft Ads
Desde 2024, Microsoft Advertising propone una importación nativa de conversiones GA4: autentificas tu propiedad GA4, Microsoft lee los events via la API Google Analytics, y los recrea como Conversion Goals del lado Microsoft. Es un atajo potente cuando ya tienes un setup GA4 maduro con events limpios.
Procedimiento de importación:
- En Microsoft Advertising, Tools > UET tags > Import GA4 conversions.
- Autentificar tu propiedad GA4 via OAuth Google.
- Seleccionar los events a importar (purchase, generate_lead, sign_up, etc.).
- Microsoft los recrea como Conversion Goals con los mismos parámetros (value, currency).
- Los datos son retroactivos 30 días — útil para arrancar Smart Bidding sin esperar 30 días tras el cutover.
Límites a conocer:
- Solo los events GA4 estándar (Enhanced Ecommerce schema) son importables correctamente. Los events custom con parámetros complejos pueden perder atributos.
- La importación es unidireccional: GA4 → Microsoft, no a la inversa. Si corriges después la conversión en Microsoft, GA4 no se actualizará.
- La importación GA4 usa los modelos de atribución GA4 (data-driven por defecto). Si comparas con las conversiones Microsoft nativas (UET), las cifras pueden divergir un 5-15% por la atribución diferente.
- Los events vinculados a audiencias GA4 no son importables como audiencias Microsoft — hay que recrear las audiencias manualmente (ver nuestra guía de importación Google → Microsoft Ads).
¿Cuándo usar importación GA4 vs UET nativo? Nuestra regla práctica: usa UET nativo siempre que puedas (señal más limpia, latencia más corta, full feature support); usa GA4 import como complemento o fallback para los events que no puedes instrumentar rápidamente del lado UET. En las cuentas observadas en los benchmarks públicos de Google Ads, aproximadamente un 25 a 35% usan GA4 import como bridge inicial y luego migran hacia UET nativo en 60 a 90 días.
Para las conversiones offline (closing CRM, llamadas telefónicas convertidas, compras en tienda) que no pasan ni por UET ni por GA4, Microsoft propone Offline Conversion Imports: upload CSV o API que empuja las conversiones a posteriori con su Microsoft Click ID (equivalente GCLID). Es la palanca indispensable para SaaS B2B y lead gen — ver nuestra guía offline conversions Google Ads para la mecánica equivalente.
Server-side y Consent Mode v2: compatibilidad
El tag UET funciona en client-side por defecto, pero puede ser relayado en server-side via un container sGTM (Google Tag Manager Server) con un template Microsoft Advertising. El beneficio es el mismo que del lado Google: contorno parcial del ITP (cookies first-party HTTP no afectadas por ITP JS), reducción del peso JS cliente, control del payload enviado a Microsoft.
Arquitectura sGTM + UET:
- El navegador envía un event hacia
metrics.tusitio.com(tu subdominio first-party apuntando a Cloud Run). - El sGTM recibe el event, aplica transformaciones si es necesario (hasheo, enriquecimiento CRM).
- El sGTM reenvía via un template UET hacia
bat.bing.com(server-to-server). - Microsoft Advertising recibe el hit como si viniera de un navegador normal.
Para el procedimiento completo de implementación sGTM (que sirve tanto para Google Ads, GA4 como Microsoft Ads), ver nuestra guía completa server-side tracking GTM 2026. La misma infraestructura reenvía los events hacia todos los vendors — solo pagas la infra una vez.
Consent Mode v2 del lado UET: Microsoft ha desplegado su equivalente en 2024. El tag respeta los 4 flags estándar:
ad_storage: autorización para almacenar cookies publicitarias.ad_user_data: autorización para compartir user data con Microsoft.ad_personalization: autorización para personalizar los ads.analytics_storage: autorización de cookies analytics.
Cuando el consentimiento es denied, UET pasa a modo "cookieless ping" — Microsoft recibe la información de la conversión sin cookie, sin matching de usuario, en forma agregada y modelada. Tus conversiones siguen subiendo en los informes (bajo "Modeled conversions"), pero sin matching individual.
El cableado CMP del lado UET se parece al de Google:
// CMP push a Cookiebot/OneTrust/Didomi
window.uetq = window.uetq || [];
window.uetq.push('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied'
});
// Cuando el usuario acepta
window.uetq.push('consent', 'update', {
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted',
analytics_storage: 'granted'
});
Nunca olvidar empujar un estado default ANTES de la carga del UET. Si UET se dispara antes del consent push, considera el consentimiento como granted por defecto del lado CMP no europeos y escribe la cookie sin base legal. Es el error más frecuente — en 30 a 40% de los setups referenciados, el consent default falta o está mal secuenciado. Consecuencia: riesgo RGPD directo + desactivación de las conversiones modeladas que dependen del flag.
Validación y debugging del tracking
Testear un setup UET antes de escalar el presupuesto es no negociable. Tres herramientas principales para validar el tracking en preview y en producción.
UET Tag Helper (extensión Chrome oficial Microsoft)
La extensión UET Tag Helper se instala gratuitamente en Chrome. Detecta automáticamente los UET tags activos en la página, muestra el tag ID, verifica el disparo de pageviews y events, y señala los errores comunes (tag ID faltante, snippet mal formado, events sin parámetros requeridos).
Procedimiento de validación:
- Activar UET Tag Helper, navegar por el sitio.
- Verificar que el tag se dispara en pageview en cada página (icono verde).
- Disparar manualmente una acción de conversión (ej: añadir al carrito).
- Verificar que el event sube en el panel UET Tag Helper con los parámetros correctos.
- Navegar a la página de confirmación, verificar que el event purchase se dispara con revenue_value y currency correctos.
Diagnostics Microsoft Advertising
En Microsoft, Tools > Conversion tracking > Diagnostics muestra el estatus de cada conversion goal:
- Estatus "Verified" = al menos una conversión reportada en los últimos 7 días.
- Estatus "Unverified" = ninguna conversión = potencial problema de tracking.
- Estatus "Inactive" = goal desactivado.
Inspecciona cada goal Unverified antes de escalar. Las causas más frecuentes: tag UET no colocado en la página de conversión, event name mal cableado (typo), Conversion Goal apuntando a un event incorrecto, Consent Mode denied en todo el tráfico.
Tests en modo preview GTM (si método 1)
GTM dispone de un modo Preview que permite simular una sesión en el sitio y ver todos los tags que se disparan. Activar Preview, navegar por el sitio, verificar que:
- El tag UET pageview se dispara en todas las páginas.
- Los tags UET event se disparan en los triggers correctos (compra, lead, signup).
- Los parámetros (revenue_value, currency, transaction_id) están bien rellenados.
Es el método más robusto para validar ANTES de publicar GTM. Una vez validado en preview, publicar el container GTM, luego re-verificar en prod via UET Tag Helper.
En las cuentas observadas en los benchmarks públicos de Google Ads, 30 a 40% de los setups UET auditados tienen al menos un error de tracking no detectado internamente — típicamente un Conversion Goal mal mapeado o un event que no se dispara en SPA. Dedica sistemáticamente 1 a 2 horas de validación post-instalación, es el ROI más rentable de toda la migración.
Para profundizar sobre la base tracking del lado Google y el pipeline completo hacia Smart Bidding, lee nuestra guía conversion tracking Google Ads. Para automatizar la vigilancia del tracking a largo plazo, ver también nuestra guía Microsoft Ads Scripts que incluye un script de monitoring de conversiones.
Para las cuentas que quieren industrializar el pilotaje, lanza una auditoría gratuita SteerAds: escanea el setup UET y Google Ads conversion, verifica la coherencia del tracking en ambas plataformas, identifica los Conversion Goals no verificados y propone un plan de corrección priorizado. Ver también nuestra guía de importación Google → Microsoft Ads para la migración completa y nuestra guía Shopping feed Bing Merchant si operas en e-commerce.
Para los recursos oficiales, ver el help center UET Microsoft y la documentación desarrollador UET.
Fuentes
Fuentes oficiales consultadas para esta guía:
FAQ
¿El tag UET funciona sin cookies de terceros en 2026?
Sí, el tag UET funciona con cookies first-party desde hace tiempo — deposita su cookie en tu propio dominio, no en bat.bing.com. El fin de las cookies de terceros en Chrome no afecta al UET de la misma manera que afecta al pixel Meta clásico. Sin embargo, ITP Safari limita a 7 días la duración de vida de las cookies first-party escritas via JavaScript: para preservar la atribución más allá, el paso a server-side (sGTM relayando hacia UET) sigue siendo recomendado. Ver la sección server-side de este artículo. En las cuentas observadas en los benchmarks públicos de Google Ads, el paso a server-side recupera un 12 a 22% de señal adicional post-ITP en Microsoft Ads.
¿Se necesita un tag UET por sitio o por campaña?
Un solo tag UET por cuenta Microsoft Advertising, colocado en todas las páginas del sitio. El UET funciona como el tag Google Ads: es único a nivel cuenta, y las conversiones se definen después en Microsoft Advertising via Conversion Goals que apuntan a events o URLs específicos. Si gestionas varios dominios con una sola cuenta Microsoft, puedes reutilizar el mismo tag UET en cada dominio — Microsoft acepta el cross-domain tracking del lado UET. En cambio, dos cuentas Microsoft distintas = dos tags UET distintos. Documentación oficial disponible en el help de Microsoft.
¿Qué diferencia entre Conversion Goal y Custom Event UET?
Un Conversion Goal es una conversión business definida en Microsoft Advertising (purchase, lead, signup) que será utilizada por Smart Bidding para optimizar. Un Custom Event es una señal arbitraria enviada via uetq.push (ej: 'video_play', 'scroll_50pct') que puede servir para construir audiencias o alimentar Conversion Goals. La regla: usa Custom Events para los datos granulares, Conversion Goals para lo que Smart Bidding debe optimizar. En las cuentas observadas en los benchmarks públicos de Google Ads, 4 a 7 Conversion Goals activos representan el sweet spot — más allá, Smart Bidding diversifica demasiado y el rendimiento se degrada.
¿Cómo importar mis conversiones GA4 en Microsoft Ads?
Microsoft Advertising propone desde 2024 una importación nativa de conversiones GA4. En Tools > UET tags > Import GA4 conversions, autenticar tu propiedad GA4, seleccionar los events a importar (purchase, generate_lead, etc.), y Microsoft los recrea como Conversion Goals. Los datos son retroactivos 30 días. Límites: solo los events GA4 estándar son soportados (los del esquema Google Analytics enhanced ecommerce), los events custom con parámetros complejos no siempre se importan bien. Para importaciones avanzadas o conversiones offline desde CRM, el paso por Offline Conversion Imports sigue siendo más robusto — ver la sección dedicada de este artículo.
¿El UET es compatible con Consent Mode v2?
Sí desde 2024, Microsoft ha desplegado su equivalente Consent Mode v2 para el UET. El tag respeta los flags ad_storage, ad_user_data, ad_personalization y analytics_storage transmitidos por tu CMP. Cuando el consentimiento es denied, UET pasa a modo 'cookieless ping' (sin cookie, sin matching) que permite a Microsoft recibir datos agregados y modelados sin violar el RGPD. En nuestro panel, 30 a 40% de los setups UET auditados no cablean correctamente el Consent Mode v2 y pierden tanto la conformidad como las conversiones modeladas que derivan de ello. Detalles en la sección dedicada.
¿Cuánto tiempo antes de que Smart Bidding Microsoft Ads funcione bien tras la instalación UET?
14 a 21 días mínimo después de que las conversiones suban de forma estable. El tag UET debe generar al menos 30 conversiones en una ventana de 30 días por campaña para que un Target CPA o Target ROAS pueda funcionar correctamente (umbrales Microsoft equivalentes a Google). Por debajo, el algoritmo permanece en exploración, el CPC puede ser errático y el CPA no controlado. Práctica recomendada: empezar en Manual CPC o Maximize Clicks durante 2-3 semanas, validar la estabilidad del tracking, luego cambiar a Smart Bidding. Quemar presupuesto en learning phase sobre un tracking inestable es el error más costoso en migración.