Google Ads reportaba ~34% más conversiones de compra que GA4 para el mismo período y canal, sin ninguna pista de causa en el dashboard.
Descenso a la tabla raw de eventos en BigQuery: duplicación de purchase por transaction_id, pérdida de atribución por gclid no capturado, y gap de consentimiento estructural.
Cada causa aislada por separado y cuantificada: ~8% duplicación, ~19% atribución perdida, ~7% consentimiento.
Desglose defendible del 34%, con tres responsables y tres fixes distintos, y la salvedad honesta de que el gap no llega a cero por diseño de ambas plataformas.
Contexto
Una discrepancia del 34% entre dos plataformas que "deberían" contar lo mismo genera desconfianza en ambas fuentes de datos a la vez — nadie sabe cuál creer, y las decisiones de presupuesto de medios se toman con esa incertidumbre de fondo hasta que alguien baja al dato raw.
Cómo se resolvió, en detalle
Por qué el dashboard nunca iba a mostrar la causa
Google Ads y GA4 agregan y atribuyen de formas distintas por diseño — ningún dashboard de ninguna de las dos plataformas expone el detalle de eventos individuales necesario para ver DÓNDE diverge el conteo. Solo bajando a la tabla raw de eventos en BigQuery, evento a evento, se puede reconstruir qué pasó con cada conversión individual y por qué una plataforma la contó y la otra no.
Tres causas, tres mecanismos completamente distintos
La duplicación por transaction_id ocurría cuando un usuario recargaba la página de confirmación de compra, disparando purchase dos veces para la misma transacción real. La pérdida de atribución pasaba cuando el parámetro gclid se perdía en el recorrido del usuario (por ejemplo, al cambiar de HTTP a HTTPS en algún punto del funnel). El gap de consentimiento era el mismo tipo de problema estructural que aparece en otros casos: conversiones reales que GA4 nunca registra porque el consentimiento no estaba resuelto en el momento de la compra.
Por qué cuantificar cada causa por separado importaba más que el número total
Decir "hay un 34% de gap" no le dice a nadie qué arreglar. Aislar cada causa y cuantificarla (~8%, ~19%, ~7%) convierte un número confuso en tres tareas concretas con dueño y solución distintos — y permite decidir con cuál merece la pena empezar según impacto y coste de arreglarlo.
Una discrepancia entre dos plataformas de medición no se explica mirando los dashboards de ninguna de las dos — se explica bajando a los eventos individuales. Y no todas las causas de una discrepancia son errores: parte del gap es una diferencia de diseño legítima entre las plataformas, que nunca va a llegar a cero.
Preguntas frecuentes
¿Es normal que quede un gap después de corregir todo lo corregible?
Sí, y decir lo contrario sería poco honesto. Google Ads y GA4 usan modelos de atribución y ventanas de conversión distintas por diseño — parte de la diferencia es estructural, no un bug que se pueda eliminar del todo.
¿Hace falta acceso a BigQuery para diagnosticar este tipo de discrepancia?
Para el diagnóstico completo, sí — es la única forma de ver el evento individual, no el agregado. Sin BigQuery se puede sospechar que hay un problema, pero no aislar cuál de las causas pesa cuánto.