Cómo configurar GA4 ecommerce en Shopify sin que los datos te mientan

Pegas el measurement ID, activas el «ecommerce mejorado» y das GA4 por configurado. Tres semanas después abres los informes y el revenue no cuadra con Shopify: la mitad de tus ventas figuran como «directas» y aparecen compras duplicadas que nunca existieron. Bienvenido al GA4 de juguete que rankea en medio internet.

Esto no es otra guía de «crea la propiedad y copia el código». Es el checklist que usamos en la agencia para dejar GA4 ecommerce midiendo de verdad en tiendas Shopify de seis cifras, donde un dato equivocado se convierte en una decisión equivocada y en dinero mal invertido. Si quieres que tus números aguanten una auditoría, sigue el orden. Saltártelo se paga.

GA4 para ecommerce: qué tienes que medir antes de tocar nada

Recoger pageviews no es medir un negocio. Con el snippet pegado, GA4 cuenta visitas, pero eso no te dice cuánto vendes, ni dónde se cae la gente, ni qué canal te trae clientes que pagan. Medir ecommerce es otra cosa.

Cada lunes, un ecommerce manager mira tres números: revenue (cuánto entró), tasa de conversión (cuánta gente compró de la que entró) y embudo (en qué paso se atasca la gente por el camino). Esos tres no salen de pageviews, salen de eventos concretos: sobre todo de purchase y de la cadena view_itemadd_to_cartbegin_checkoutpurchase.

Lo que vas a montar, en un minuto: GA4 recibe los datos, Google Tag Manager (GTM) los envía, el dataLayer es de donde GTM saca la información de cada compra y Consent Mode v2 decide qué se manda según el consentimiento del usuario. Cuatro piezas. El error más común es montar solo la primera y creer que ya está.

Aviso honesto: GA4 ecommerce no es plug and play. Si lo haces en el orden correcto, lo montas una vez. Si vas pegando parches, lo rehaces tres.

Paso 1: propiedad, GTM y configuración base

Crea la propiedad GA4 y su flujo de datos web. En lugar de pegar el snippet directo en el tema, usa GTM: es la única forma de controlar cuándo y con qué datos disparas cada evento, y de no acabar con código tocado a mano en sitios que luego no recuerdas.

En las mediciones mejoradas, deja activo el pageview, pero revisa el resto. El scroll tracking y los clics en enlaces salientes generan ruido que ensucia tus informes sin aportar nada al ecommerce. Actívalos solo si los vas a usar.

Tres ajustes que la gente olvida y que falsean los datos desde el primer día:

  • Excluye tu propio tráfico y el de tu equipo o agencia con un filtro de tráfico interno por IP. Si no, tus visitas inflan las sesiones y hunden la conversión.
  • Pon bien la zona horaria y la moneda (Europa/Madrid y euros). Vender en euros y reportar sin moneda definida es garantía de descuadre.
  • Deja la retención de datos en 14 meses, el máximo. Si está en 2 meses, súbela: con el mínimo pierdes el histórico para comparar campañas año contra año.

Paso 2: el dataLayer, donde se gana o se pierde la medición

El dataLayer es, en cristiano, una cajita de información que tu tienda rellena cada vez que pasa algo relevante (alguien ve un producto, lo añade al carrito, compra) y de la que GTM lee para mandárselo a GA4. Sin dataLayer no hay ecommerce fiable: GTM no tiene de dónde sacar el importe, los productos ni el ID de la compra.

El flujo correcto va en este orden y no al revés: ocurre la compra, la tienda escribe el evento en el dataLayer, GTM lo lee y GTM lo envía a GA4. Mucha guía te vende que con el tag de GA4 ya recoges compras «automáticamente». En una tienda real no es así, y por eso ves revenue a cero o a medias.

La estructura mínima del objeto de compra que necesitas:

dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "1234",      // el número de pedido real de Shopify
    value: 89.90,                 // total que quieres medir como ingreso
    currency: "EUR",
    tax: 15.60,
    shipping: 4.95,
    items: [{ item_id, item_name, price, quantity }]
  }
});

El campo que evita el 90% de los desastres es transaction_id. Tiene que ser único por pedido y coincidir con el número real de Shopify. ¿Por qué importa tanto? Porque GA4 deduplica por ese ID: si una compra llega dos veces con el mismo transaction_id, solo cuenta una. Sin él, cada refresco de la página de gracias es una venta nueva inventada.

Paso 3: los eventos que de verdad importan

GA4 trae una lista larga de eventos recomendados. No necesitas los quince el primer día. Empieza por los cuatro que dibujan el embudo:

Evento Cuándo dispara Para qué decisión sirve
view_item Al ver una ficha de producto Qué productos atraen y cuáles no
add_to_cart Al añadir al carrito Interés real frente a simple curioseo
begin_checkout Al iniciar el checkout Dónde empieza la fuga grave
purchase Al confirmar la compra Revenue y conversión

En purchase, no olvides value, tax, shipping y coupon. Si mapeas mal los impuestos o metes el envío dentro del valor del producto, tu revenue miente y todas tus decisiones de margen salen torcidas. El error típico: sumar el IVA al value, con lo que reportas más ingresos de los reales y cada cálculo de ROAS que hagas encima sale inflado.

Configurar GA4 es el paso 0. Aprende a leer los informes y a tomar decisiones con ellos en el minicurso práctico «GA4 para ecommerce». Apúntate a la lista de espera de Minicursos.

Configurar GA4 en Shopify: la página de gracias y otros campos minados

Aquí es donde se rompe casi todo. El checkout de Shopify vive en un dominio aparte y la página de gracias (thank-you page) es terreno especial. Si confías en que el snippet «lo pille solo», te quedas sin la mitad de los purchase.

El problema clásico: el cliente refresca la página de gracias o vuelve a ella desde el email de confirmación y se dispara otro purchase. Resultado: transacciones duplicadas y revenue inflado. Lo detectas comparando el número de transacciones de GA4 con los pedidos reales de Shopify; lo cortas con el transaction_id único del Paso 2, que hace que GA4 ignore el duplicado.

En 2026, lo limpio es usar los Customer Events / Web Pixels de Shopify (Checkout Extensibility) para capturar el checkout_completed y empujarlo al dataLayer, en lugar de editar el checkout.liquid, que Shopify ya retiró para la mayoría de tiendas. Y no necesitas Shopify Plus: los pixels del panel de administración te dan ese mismo evento. Ese es el atajo realista.

Atribución: por qué tus ventas aparecen como «PayPal» o «directo»

Cuando el cliente paga con PayPal, Stripe o Redsys, el navegador sale a la pasarela y vuelve. Si no lo evitas, GA4 lee esa vuelta como una visita nueva desde paypal.com y le atribuye la venta a la pasarela. Te roba la atribución de tu campaña de Google Ads o de tu email de Klaviyo.

Se arregla añadiendo los dominios de las pasarelas a la lista de referencias excluidas en la configuración del flujo de datos. Cinco minutos que salvan toda tu atribución. Mantén además los UTM limpios en tus campañas: un parámetro mal puesto rompe el origen de la venta tan bien como una pasarela sin excluir.

Y lo no negociable en España: Consent Mode v2 y RGPD. No es opcional. Necesitas un banner de consentimiento que comunique a Google si el usuario acepta o no, y GA4 ajusta lo que mide en consecuencia. Cuando alguien rechaza cookies, verás menos ventas directas y más datos modelados: es normal y es legal. Medir saltándote esto no es medir mejor, es exponerte a una sanción.

Verifica antes de fiarte de un solo informe

Nada de dar GA4 por bueno porque «ya salen números». Antes de confiar, valida:

  1. Abre DebugView en GA4 y haz una compra de prueba real (con un código de descuento del 100% si hace falta).
  2. Confirma que llega el purchase con transaction_id, value, currency e items. Si falta uno, no está listo.
  3. Usa Realtime y la extensión Tag Assistant para cazar los eventos que no aparecen.
  4. Cuadra GA4 contra el panel de pedidos de Shopify. Un descuadre del 2-5% es normal (consentimiento, bloqueadores). Más del 10% es un problema: revisa duplicados e impuestos.

Errores que vemos una y otra vez: revenue inflado por duplicados, eventos disparados dos veces porque conviven GTM y el snippet directo (elige uno) y currency mismatch por vender en euros sin declarar la moneda. Y uno mental: dar por buenos los datos sin dejar una o dos semanas de calibración tras cada cambio.

De medir a vender más

Con esto montado, dejas de ir a ciegas. Un ecommerce manager mira el informe de embudo, ve que de cada cien que inician checkout solo treinta compran y ataca ese paso con mejoras de CRO en Shopify en lugar de tocar a ojo. Medir bien es el paso 0 de cualquier estrategia seria, también del email marketing con Klaviyo: sin datos fiables, segmentas a ciegas. Y es, al final, buena parte del trabajo de un ecommerce manager.

En el Máster Ecommerce Manager Profesional trabajamos GA4, CRO y Klaviyo sobre tiendas reales, con un año de minicursos incluido. Pero no necesitas esperar al Máster para profundizar en esto.

Si lo que quieres es ir directo a leer los informes y decidir con ellos, ese terreno lo cubre el minicurso práctico «GA4 para ecommerce» (unas 3 h, nivel intermedio).

Quiero el minicurso de GA4 — apúntate a la lista de espera de Minicursos.

Deja un comentario