Discrepancia entre Meta Ads y GA4: por qué tus conversiones no coinciden
Abres Meta Ads Manager, ves 40 compras. Abres GA4, ves 22. Mismo negocio, mismo periodo, dos realidades distintas. Si esto te está pasando ahora mismo, aquí tienes las causas técnicas reales — no la respuesta genérica de «así es la atribución»— y cómo saber si tu caso es normal o si tienes un problema de implementación real.
Por qué Meta Ads y GA4 nunca van a mostrar el mismo número

Antes de buscar el error, entiende esto: un 0% de discrepancia no existe. Meta Ads y GA4 son dos sistemas de medición distintos, con modelos de atribución distintos y fuentes de datos distintas. Una diferencia de 10-20% suele ser normal. El problema real empieza cuando ves diferencias de 40%, 50% o más — ahí ya no es «así funciona la atribución», es que algo está roto.
Las 5 causas más comunes de la discrepancia
1.-Ventanas de atribución distintas
Meta, por defecto, atribuye conversiones dentro de una ventana de 7 días después del clic y 1 día después de la vista. GA4 usa su propio modelo de atribución basado en datos (data-driven), que reparte el crédito distinto. Mismo evento, criterio distinto para contarlo.
2.-Bloqueadores de anuncios y Safari ITP
Si tu medición depende solo del Pixel de Meta o del tag de GA4 en el navegador, los bloqueadores de anuncios y las restricciones de Safari (ITP) cortan esos datos antes de que lleguen a cualquiera de las dos plataformas — pero no las afectan por igual, lo que amplía la brecha.
3.-Medición 100% client-side en lugar de server-side
Si no tienes la API de Conversiones de Meta (CAPI) ni un contenedor server-side conectado a GA4, estás midiendo solo lo que el navegador del usuario permite ver. Es la causa más común de discrepancias grandes.
4.-Eventos duplicados o mal configurados
Un evento de «Purchase» disparado dos veces (por Pixel y por CAPI sin deduplicación correcta), o con un value distinto entre plataformas, infla o distorsiona los números de un lado y no del otro.
5.-Zonas horarias y periodos de reporte distintos
Meta y GA4 pueden estar configurados con zonas horarias diferentes en sus paneles. Comparar «hoy» en ambos puede estar comparando ventanas de tiempo que no son exactamente iguales.
Cómo diagnosticar cuál es tu causa (checklist rápido)
- Entra a Meta Events Manager → pestaña Diagnostics y revisa si hay errores o advertencias en el evento Purchase.
- Revisa tu Event Match Quality (EMQ) en Meta — si está por debajo de 6-7, tu coincidencia de datos es débil.
- Abre GA4 DebugView y confirma que el evento
purchasese está disparando con eltransaction_idcorrecto. - Verifica si tienes CAPI activo en Meta y si está deduplicando correctamente contra el Pixel del navegador.
- Compara la zona horaria configurada en Meta Business Manager vs. tu propiedad de GA4.
La solución técnica real: medición server-side
Ninguna de estas causas se arregla «activando una casilla». La solución estructural es mover tu medición de client-side a server-side: un contenedor (por ejemplo, con Stape.io o Google Cloud) que envía los datos de venta directamente desde tu servidor de WooCommerce hacia Meta y GA4, sin depender del navegador del comprador.
Esto no elimina el 100% de la discrepancia —eso no es realista—, pero sí cierra la brecha de forma significativa y te da una fuente de datos mucho más confiable: la base de datos real de pedidos de tu tienda.
Cuándo necesitas ayuda externa
Si ya revisaste este checklist y sigues con una discrepancia de 30-40% o más, probablemente no es un ajuste menor — es un problema de arquitectura de datos que necesita una implementación técnica completa (servidor puente, DataLayer, eventos correctamente configurados de principio a fin).
Si es tu caso, esto es exactamente lo que resuelvo en el servicio de Implementación de Arquitectura de Datos
Preguntas frecuentes
Entre 10% y 20% se considera dentro de lo esperable por diferencias de atribución. Por encima de 30-40%, ya suele indicar un problema técnico real, no solo diferencias de modelo.
No la elimina al 100%, pero reduce significativamente la pérdida de datos por bloqueadores y restricciones de navegador, que es la causa más común de discrepancias grandes.
Ninguna de las dos es «la verdad absoluta» — ambas dependen de su propio modelo de atribución. La fuente más confiable siempre es la base de datos real de pedidos de tu tienda (WooCommerce), y ambas plataformas deberían acercarse a ese número, no reemplazarlo.
¿Sigues con discrepancias después de revisar esto?
Cuéntame tu caso — reviso tu configuración y te digo exactamente dónde está el problema.