GA4 no coincide con Shopify: por qué y cómo solucionarlo

cPixel

¿Por qué GA4 no coincide con los pedidos de Shopify?

GA4 y Shopify cuentan cosas distintas: Shopify registra cada pedido, mientras que GA4 solo registra los eventos de compra que le envía un navegador o un servidor. GA4 se queda corto cuando los compradores rechazan las cookies de analítica, bloquean la etiqueta de Google o falla una etiqueta de compra, y se pasa cuando dos etiquetas informan de un mismo pedido con ID distintos. Compara pedidos, no sesiones, y revisa los ID de transacción.

Una diferencia de cierto tamaño es normal. La propia página de discrepancias de Shopify enumera las causas habituales: Google solo puede contar a los visitantes cuyos navegadores ejecutan JavaScript y aceptan cookies, las extensiones del navegador pueden impedir que Google Analytics registre sesiones y compras, y las dos herramientas pueden informar en zonas horarias distintas.

Shopify GA4
Qué cuenta Cada pedido, a partir del registro del pedido Eventos de compra que envía una etiqueta o un servidor
Compradores que rechazan las cookies de analítica Contados No contados donde se exige consentimiento
Bloqueadores de anuncios y extensiones de privacidad Sin efecto Pueden bloquear la etiqueta de Google
Ingresos Total sales suma impuestos, aranceles, envío y comisiones Lo que la etiqueta envíe como valor de la compra
Reembolsos Se resta el día en que se procesan Se resta solo si se envía un evento de reembolso

Fuentes: los informes de ventas de Shopify y la referencia del evento de compra de Google, revisado el 24 de septiembre de 2026.

¿Cómo envía Shopify las compras a GA4?

A través de la app Google & YouTube, si usas la vía propia de Shopify. Conectas una propiedad de GA4 en la app (Shopify), y la etiqueta de Google que instala envía a GA4 los eventos de tu tienda, carrito, checkout y compra desde el navegador del comprador (Google).

La lista de eventos que envía la app de Google (actualizada por última vez el 28 de julio de 2026) va desde page_view y view_item hasta begin_checkout y add_payment_info, pasando por purchase. No incluye ningún evento de reembolso. El píxel de la app aparece en Settings → Customer events, y Shopify carga los píxeles en la tienda, el checkout, la página de agradecimiento y la página de estado del pedido (resumen de píxeles).

La propia compra depende del evento checkout_completed de Shopify. Se dispara una vez por checkout, normalmente en la página de agradecimiento, o en la primera página de oferta adicional si muestras una. Si esa página no llega a cargar, el evento no se dispara en absoluto.

Una etiqueta de GA4 pegada en Additional scripts ya no llega a la compra. Dejó de funcionar cuando Shopify sustituyó la antigua página de agradecimiento, y el plazo para las tiendas que no son Plus fue el 26 de agosto de 2026 (consulta Additional scripts dejó de ejecutarse). Una etiqueta en tu tema tampoco puede llegar a ella, porque el diseño de un tema solo se aplica a las páginas fuera del checkout. El seguimiento en el checkout actual pasa por los píxeles de apps y los píxeles personalizados, comparados en píxeles de apps y píxeles personalizados.

¿Por qué GA4 no registra algunas compras?

Cualquier cosa que impida que el evento de compra salga del navegador del comprador: consentimiento rechazado, una etiqueta bloqueada, una página de agradecimiento que nunca carga, o una etiqueta que ya no se ejecuta.

  • Consentimiento rechazado. Donde exiges consentimiento, normalmente el EEE y el Reino Unido, Shopify ejecuta un píxel solo cuando el comprador ha dado los permisos que necesita, y los píxeles nuevos necesitan permiso de analítica y marketing por defecto (Shopify). Un comprador que rechaza es un pedido en Shopify y nada en GA4.
  • Un banner que nunca avisa a Shopify. Tu banner de consentimiento debe transmitir la elección del comprador a la Customer Privacy API de Shopify. En un hilo de la comunidad de agosto de 2026, una tienda de la UE tenía páginas vistas pero ninguna compra en GA4 tras reinstalar la app Google & YouTube. Las respuestas lo achacaron a un banner que nunca transmitía el consentimiento a Shopify, así que el píxel de la app se quedaba bloqueado en el checkout mientras una etiqueta del tema seguía enviando páginas vistas.
  • Etiquetas bloqueadas. Las extensiones del navegador, incluidos los bloqueadores de anuncios, pueden impedir que Google Analytics registre sesiones y compras, como señala la página de discrepancias de Shopify.
  • La página nunca carga. Un comprador que paga pero nunca llega a la página de agradecimiento, o cuya página de oferta adicional falla, no dispara ningún checkout_completed.
  • Un ID de transacción vacío. GA4 trata cada compra enviada con un transaction_id vacío como una copia de la primera y descarta el resto (Google).
  • Todavía no ha llegado. GA4 puede tardar de 24 a 48 horas en procesar los datos, y los informes pueden cambiar mientras tanto (actualización de los datos).

¿Por qué GA4 cuenta compras de más?

Dos etiquetas que envían la misma compra a una misma propiedad de GA4 con ID de transacción distintos. Google documenta la deduplicación solo para compras que comparten un ID de transacción, y solo en flujos de datos web.

El segundo emisor suele ser uno de estos: la app Google & YouTube más la etiqueta de Google o Tag Manager que quedó en el tema, un píxel personalizado, u otra app que envía al mismo ID de medición. La guía de Google sobre la app indica revisar si hay etiquetas duplicadas cuando tienes conversiones en la app y en la tienda o en un píxel personalizado (Google), y la guía de migración de Shopify señala el seguimiento del mismo evento más de una vez como un problema habitual. En un hilo de la comunidad de 2023, comerciantes que ejecutaban GA4 tanto por Tag Manager como por el canal de Google de Shopify reportaron compras e ingresos duplicados, y uno lo solucionó pausando la copia de Tag Manager.

Dos patrones lo delatan:

  • Un pedido, dos ID de transacción. Por ejemplo, una etiqueta envía el ID del pedido y otra el número de pedido, así que GA4 ve dos ventas.
  • Páginas vistas duplicadas mientras los ingresos parecen correctos. Dos emisores que usan el mismo ID de transacción se deduplican en la compra, pero las páginas vistas y los añadidos al carrito no tienen ID que comparar, así que se duplican.

El mismo problema en Meta y TikTok se trata en por qué Meta cuenta las compras dos veces.

¿Puede el Measurement Protocol cubrir la diferencia?

En parte. El Measurement Protocol de Google permite que un servidor envíe eventos de GA4, como la compra, así que un pedido puede llegar a GA4 cuando la etiqueta del navegador no lo consiguió, pero Google lo diseñó para complementar la etiqueta de Google, no para sustituirla.

Lo que dice la documentación de Google (revisado el 24 de septiembre de 2026):

  • El Measurement Protocol está pensado para complementar la recopilación basada en etiquetas, y enviar eventos solo con él puede dar lugar a informes parciales.
  • Para un flujo de datos web, el client_id debe coincidir con el ID que la etiqueta de Google estableció en tu sitio (envío de eventos).
  • Un evento de servidor solo comparte el origen, el medio y la campaña de la visita si lleva el session_id de esa visita y llega dentro de las 24 horas siguientes al inicio de la sesión (casos de uso).
  • Los eventos se pueden retrofechar hasta 72 horas.
  • El endpoint no devuelve ningún error HTTP, ni siquiera con eventos mal formados, y el servidor de validación de Google no comprueba el secreto de API (validación de eventos). Un secreto incorrecto falla de forma silenciosa.

Así que una compra enviada desde el servidor ayuda con etiquetas bloqueadas y páginas de agradecimiento que nunca cargan, y puede enviar reembolsos, que no están en la lista de Google para la app Google & YouTube. No puede ayudar con el consentimiento: mover la compra de un comprador que rechazó el consentimiento a un servidor no la convierte en consentida. Además necesita un client ID y un session ID del navegador del comprador para situarse en la visita correcta, lo que lleva al siguiente problema. Para saber cómo funcionan los eventos de servidor en otras plataformas, consulta seguimiento desde el servidor en Shopify.

¿Por qué GA4 muestra (not set) tras el seguimiento desde el servidor?

Porque el servidor envió eventos que GA4 no pudo vincular a ninguna visita. GA4 toma el origen y la campaña de un evento del Measurement Protocol de lo que recopiló la etiqueta de Google en la misma sesión, y su ubicación de los eventos etiquetados anteriores del mismo visitante, salvo que el servidor envíe una. Sin un client ID y un session ID coincidentes, esas columnas aparecen como (not set).

La documentación de Google (revisado el 24 de septiembre de 2026) da las reglas:

  • Para eventos del Measurement Protocol que se reportan como (not set) / (not set), la solución de Google es enviar el session_id con un valor válido tomado del evento del lado del cliente (Google); el límite de 24 horas de arriba se sigue aplicando.
  • GA4 combina la ubicación y la información del dispositivo más recientes del etiquetado con los eventos del Measurement Protocol que comparten el mismo client_id (registro de cambios). Un servidor puede enviar la ubicación por sí mismo en user_location o ip_override; sin ninguno de los dos, GA4 la toma solo del etiquetado (referencia).

Así que la causa habitual es un visitante cuya etiqueta de Google nunca se ejecutó, normalmente porque un bloqueador la detuvo: GA4 no tiene nada con qué combinarla, y si el servidor envía un client ID inventado, GA4 registra un usuario nuevo sin origen ni ubicación. Las soluciones se derivan de las reglas de Google: envía el client ID y el session ID que estableció la etiqueta de Google, envíalos con rapidez y, donde el consentimiento lo permita, envía la ubicación del comprador en user_location o ip_override. Anota la fecha en que cambiaste tu configuración, y deja fuera de las comparaciones de antes y después los días cercanos a ese cambio.

¿Cómo compruebo que GA4 recibe las compras?

Haz un pedido real y observa cómo llega al informe Realtime de GA4, y luego compara un día completo de pedidos de Shopify con las compras de GA4, ID de transacción por ID de transacción.

  1. Haz un pedido en tu tienda con un método de pago real.
  2. En GA4, abre el informe Realtime. La compra suele aparecer en pocos minutos.
  3. Dos días después, una vez asentado el procesamiento, abre Explore y crea una tabla libre con la dimensión Transaction ID y la métrica Ecommerce purchases, que solo cuenta eventos purchase (Google).
  4. Fija la misma fecha en la lista de pedidos de Shopify, limítate a los pedidos de tu tienda online, y comprueba que ambas herramientas usan la misma zona horaria.
  5. Compara las listas.
Qué ves Causa probable
Falta un pedido en GA4 Consentimiento rechazado, una etiqueta bloqueada o una página de agradecimiento que nunca cargó
Los pedidos que faltan se concentran en el EEE o el Reino Unido Un banner de consentimiento que no transmite la elección a Shopify
Dos ID de transacción para un mismo pedido Dos emisores que usan formatos de ID distintos
Muchas menos compras que pedidos, bajo un ID repetido o vacío Un ID de transacción vacío o reutilizado, que GA4 reduce a una sola compra
Páginas vistas duplicadas, ingresos aproximadamente correctos Un segundo emisor en la misma propiedad

¿Dónde encaja cPixel?

Enviar la compra desde el registro del pedido de Shopify ayuda cuando la compra del navegador nunca se dispara. Empieza por la app Google & YouTube, que basta para muchas tiendas, y recuerda que ninguna herramienta debería cubrir una diferencia que viene de un consentimiento rechazado.

cPixel, que desarrollamos nosotros, envía las compras y los reembolsos de GA4 desde sus servidores mediante el Measurement Protocol. Los construye a partir del pedido de Shopify, con el pedido como ID de transacción, así que se aplica la propia deduplicación de GA4. Todos los demás eventos de GA4 salen del navegador del comprador a través del píxel de cPixel, y si alguno nunca sale del dispositivo, cPixel envía ese evento por su cuenta desde sus servidores y lo marca en su vista En vivo. cPixel no envía a GA4 la dirección IP ni la ubicación del comprador, así que un evento recuperado obtiene su ubicación solo de las visitas anteriores de ese visitante, y aparece como (not set) cuando no las hubo.

La compra del servidor lleva el client ID y el session ID que cPixel guarda del comprador desde la tienda hasta el checkout, que es lo que Google necesita para atribuir la compra a la visita que la generó. Google conserva esa atribución solo para eventos enviados dentro de las 24 horas siguientes al inicio de la sesión, así que las compras enviadas más tarde, por ejemplo con Cuando el pedido se envía en Configuración de cPixel, pueden perder su campaña. Un checkout sin sesión de navegador no se envía: En vivo muestra No hay datos suficientes para construir el payload de este destino. Un comprador que rechaza las cookies de analítica tampoco se envía a GA4.

La configuración necesita tu Measurement ID y un secreto de API del Measurement Protocol. Sin el secreto, GA4 no recibe ninguna compra de cPixel, y como GA4 nunca informa de un secreto incorrecto, confírmalo con un pedido real: conecta GA4 a cPixel. Envía cada propiedad de GA4 desde una sola herramienta. Si la app Google & YouTube también envía a ella, las páginas vistas y otros eventos del navegador se cuentan dos veces. Más sobre cPixel, que envía las compras de Shopify a siete plataformas publicitarias.

Preguntas frecuentes

¿Por qué los ingresos de GA4 son más bajos que los de Shopify?

Normalmente porque algunas compras nunca llegaron a GA4, y porque los dos totales se construyen de forma distinta. Google pide un valor de compra que cubra los productos sin envío ni impuestos, mientras que Total sales de Shopify suma impuestos, aranceles, envío y comisiones. Comprueba qué envía tu etiqueta como valor, y luego compáralo con la cifra de Shopify construida de la misma forma. Los reembolsos tiran en sentido contrario: Shopify los resta, y GA4 solo cuando se envía un evento de reembolso.

¿El cambio de sesiones de Shopify de septiembre de 2026 afectó a GA4?

No. Entre el 21 y el 23 de septiembre de 2026, Shopify cambió cómo sus propios informes cuentan las sesiones: ahora una sesión termina tras 30 minutos de inactividad en lugar de a medianoche UTC, y las sesiones de bots identificadas se filtran por defecto (Shopify). Shopify dice que los pedidos, las ventas y el recuento de clientes no se ven afectados. GA4 cuenta sus propias sesiones, que por defecto también terminan tras 30 minutos de inactividad (Google). Si las sesiones de Shopify cayeron a partir del 21 de septiembre mientras las de GA4 no lo hicieron, ese cambio es la causa más probable.

¿GA4 excluye a los bots?

A los conocidos, de forma automática. GA4 excluye el tráfico de bots y arañas conocidos usando la investigación de Google y la lista International Spiders and Bots List del IAB, y no puedes desactivar eso ni ver cuánto se excluyó (Google). Una lista no puede detectar bots que se hacen pasar por navegadores normales, pero rara vez compran, así que inflan las sesiones más que las compras. Cómo se ven en una tienda de Shopify: tráfico de bots en Shopify.

¿Necesitas ayuda con cPixel? Escribe a support@b2bgold.app.