Analytics

Cómo Rastrear Eventos de Test A/B en GA4 (Paso a Paso)

Aprende a rastrear un test A/B en GA4: evento personalizado, dimensiones, Google Tag Manager, informe de Exploración y los errores que distorsionan.

Ilustración abstracta de nodos geométricos interconectados y flujos de datos convergiendo hacia un embudo, representando el rastreo de eventos

Rastrear un test A/B en GA4 no es un informe listo para usar: es una estructura que tienes que montar, porque GA4 no nació como herramienta de experimentación (ese es el tema de la guía completa de GA4 y test A/B). Esta guía muestra el paso a paso práctico: el evento personalizado que registra la variación vista, cómo convertir eso en una dimensión dentro de GA4, cómo disparar todo vía Google Tag Manager y cómo montar un informe de Exploración que compare la conversión por variación sin engañarte.

Por qué rastrear un test A/B en GA4 exige una estructura propia

Google Optimize (discontinuado desde septiembre de 2023) tenía el experimento como concepto nativo: brazo de control, variaciones, división de tráfico y lectura de significancia, todo dentro de la propia herramienta. GA4 no tiene nada de eso. Es una herramienta de análisis de comportamiento, no de experimentación: mide lo que pasó, pero no decide quién ve qué ni calcula un ganador por sí sola.

Eso significa que, para usar GA4 como fuente de datos de un test A/B, tres responsabilidades quedan separadas:

La estructura recomendada: un evento personalizado de “visualización de variación”

El punto de partida es un evento personalizado disparado en el momento exacto en que el usuario ve la variación, nunca después de que ya interactuó con la página (más sobre ese error adelante). Un nombre común en la práctica es experiment_impression (o ab_test_view), llevando dos parámetros fijos:

Del snippet al informe: el camino del evento de test A/B en GA4El snippet de test asigna la variación y empuja un evento a la dataLayer; el Gestor de Etiquetas dispara una etiqueta de evento de GA4; GA4 registra el evento con los parámetros; las dimensiones personalizadas exponen esos parámetros en el informe de Exploración.Snippet deltest A/Basigna la variacióndataLayer.push()evento + parámetrosGestor deEtiquetastrigger + etiqueta GA4GA4experiment_impression+ dimensionesInforme de Exploraciónconversión por variación, lado a lado
El nombre del experimento y el nombre (o id) de la variación viajan como parámetros del evento hasta convertirse en columnas del informe de Exploración.

Una tabla ayuda a fijar la estructura antes de implementar:

Elemento Nombre sugerido Dónde vive
Evento de impresión experiment_impression Disparado en el momento en que la variación aparece en pantalla
Parámetro: experimento experiment_name Valor fijo por test (ej.: checkout_envio_gratis)
Parámetro: variación variation_name Valor por brazo (ej.: control, variacion_b)
Dimensión personalizada 1 Nombre del experimento Admin > Custom definitions, ámbito de evento
Dimensión personalizada 2 Nombre de la variación Admin > Custom definitions, ámbito de evento (o de usuario)

Un detalle que pasa desapercibido y tumba el análisis: una dimensión personalizada con ámbito de evento solo aparece en las filas del evento específico que llevó el parámetro (el experiment_impression en sí), no en los eventos posteriores, como una compra. Si quieres comparar la tasa de conversión por variación en un informe de Exploración, tienes dos salidas: repetir el parámetro de la variación en todo evento de conversión relevante, o registrar la dimensión con ámbito de usuario (vía propiedad de usuario), para que el valor se “pegue” al usuario y aparezca en todos sus eventos posteriores, incluida la conversión.

Cómo registrar las dimensiones personalizadas en GA4

Enviar el parámetro en el evento no basta: GA4 solo convierte un parámetro en columna de informe después de que registras la dimensión personalizada correspondiente. El camino, según la documentación oficial de Google:

  1. Abre Admin, en la propiedad correcta.
  2. En Definiciones personalizadas (Custom definitions), haz clic en Crear dimensiones personalizadas.
  3. Elige un nombre para mostrar (lo que verás en los informes, ej.: “Variación del test”).
  4. Selecciona el ámbito: evento (el estándar para este caso) o usuario (si quieres que el valor persista, como se explicó arriba).
  5. En Parámetro del evento, escribe exactamente el nombre técnico del parámetro que envía tu evento (ej.: variation_name), sin espacios ni acentos.
  6. Guarda. Repite para el parámetro del nombre del experimento.

Dos trampas a considerar: la dimensión solo empieza a contar datos desde el momento en que fue creada (no hay retroactividad, así que créala antes de activar la etiqueta en producción), y, según la documentación oficial de Google, pueden pasar de 24 a 48 horas hasta que la dimensión aparezca disponible para usar en los informes después de que llegue el primer dato. Según la documentación de límites de GA4, una propiedad estándar permite hasta 50 dimensiones personalizadas con ámbito de evento y 25 con ámbito de usuario (125 y 100 en propiedades GA4 360); como cada test reaprovecha las mismas dos dimensiones, ese techo rara vez es un problema.

Google Tag Manager como capa de disparo

En la práctica, la mayoría de las implementaciones no escribe gtag() directamente en el código: usa Google Tag Manager (GTM) como intermediario, porque eso separa “qué disparar” de “dónde vive la lógica de negocio”. La pieza central es la propia dataLayer, el array global que GTM y gtag.js leen para recibir eventos y variables. Tu snippet de test A/B (o la herramienta que uses) debe empujar algo como:

dataLayer.push({ event: ‘experiment_impression’, experiment_name: ‘checkout_envio_gratis’, variation_name: ‘variacion_b’ })

A partir de ahí, la configuración dentro de GTM sigue tres piezas que encajan entre sí:

Anatomía de la configuración en Google Tag ManagerUn activador de evento personalizado escucha el evento experiment_impression en la dataLayer; dos variables de capa de datos leen los parámetros experiment_name y variation_name; la etiqueta de evento de GA4 usa el activador y envía los valores de las variables como parámetros del evento.Activadorevento personalizado = experiment_impressionVariables de dataLayerexperiment_namevariation_nameEtiqueta: GA4 Eventnombre + parámetros del eventoPropiedad GA4evento registrado con parámetros
El activador decide cuándo disparar; las variables leen lo que llegó en la dataLayer; la etiqueta GA4 Event junta ambos y envía.
  1. Activador (trigger) de evento personalizado, configurado para escuchar exactamente el nombre experiment_impression que llega a la dataLayer.
  2. Variables de capa de datos (Data Layer Variable), una para experiment_name y otra para variation_name, que leen los valores empujados en el dataLayer.push.
  3. Etiqueta del tipo “Google Analytics: Evento de GA4”, configurada con el nombre del evento y los dos parámetros anteriores (usando las variables creadas), disparada por el activador del paso 1.

Ese es el patrón documentado por Google Tag Manager para eventos personalizados: un activador del tipo “Evento personalizado” escuchando el nombre enviado vía dataLayer.push, con variables de capa de datos leyendo los parámetros. Si ya usas una variable de “Configuración de evento” (Event Settings) para reaprovechar parámetros entre varias etiquetas, los dos parámetros de este test también pueden entrar ahí, evitando repetición.

Montando el informe de Exploración para comparar variaciones

Con el evento llegando y las dimensiones registradas, el informe que compara conversión por variación vive en Explorar. Los informes predefinidos incluso aceptan una dimensión personalizada como dimensión secundaria, pero no montan la tabla lado a lado (variación en las filas, métricas en las columnas) que necesitas para esa comparación, así que en la práctica Explorar es el camino:

  1. En Explorar, crea una exploración en blanco (Formato libre, o una “Tabla dinámica” simple).
  2. En Dimensiones, importa la dimensión personalizada de variación (y la de experimento, si acumulas varios tests en la misma propiedad).
  3. En Métricas, importa conversiones (la que representa tu métrica primaria) y usuarios activos o vistas del evento de impresión.
  4. Arrastra la dimensión de variación a Filas y las métricas a Valores. Si acumulas varios experimentos, arrastra la dimensión de experimento a un filtro fijo, seleccionando el test que quieres analizar.
  5. Agrega una métrica calculada (o divide manualmente) para ver la tasa de conversión lado a lado entre las variaciones, no solo el volumen bruto.
Columna en el informe De dónde viene
Variación del test Dimensión personalizada variation_name
Usuarios (impresiones) Conteo del evento experiment_impression
Conversiones Evento de conversión (ej.: purchase), filtrado o ya llevando la dimensión
Tasa de conversión Conversiones ÷ usuarios, calculada en la propia tabla

El resultado es una tabla simple: cada fila una variación, con volumen y tasa de conversión lado a lado, lista para comparar visualmente antes de llevar los números a una calculadora de significancia.

La limitación real: muestreo en volumen alto

Aquí vive una trampa que solo aparece en sitios de tráfico alto. Según la documentación oficial de Google sobre muestreo de datos, los informes de Exploración en propiedades GA4 estándar pasan a estimar por muestra cuando la consulta supera los 10 millones de eventos en el período seleccionado (en propiedades GA4 360 el techo sube a cerca de 1.000 millones). Los informes predefinidos (fuera de Explorar) nunca se muestrean, pero tampoco te dejan cruzar una dimensión personalizada específica como la variación de un test, así que la comparación por variación pasa casi siempre por Explorar.

En la práctica: si tu test corre en una página de alto volumen y el período de análisis acumula decenas de millones de eventos, el número de conversiones por variación que ves en Explorar puede ser una estimación, no un conteo exacto, lo que resulta peligroso justamente a la hora de decidir un ganador ajustado. La salida documentada por Google es el BigQuery Export: exporta cada evento bruto de la propiedad a un data warehouse, sin muestreo y sin el techo de retención de 14 meses de la interfaz, y la exportación en modo streaming no tiene límite de eventos (el modo diario tiene un techo de 1 millón de eventos por propiedad estándar). Una vez en BigQuery, la misma comparación por variación se vuelve una consulta SQL exacta, el dato bruto que alimenta el análisis más riguroso de la guía completa de GA4 y test A/B.

Errores comunes que distorsionan la lectura en GA4

Un ejemplo trabajado, con los números exportados del informe

Supongamos que montaste el informe de Exploración como se describió arriba y exportaste los siguientes números, agrupados por la dimensión de variación: la variación control (A) tuvo 9.000 usuarios con el evento de impresión y 360 conversiones (evento purchase); la variación B tuvo 9.000 usuarios y 410 conversiones.

Con un valor p de 0,066 (por encima del corte de 0,05) y un intervalo de confianza del 95% de la diferencia que va de aproximadamente −0,04 a +1,15 puntos porcentuales (cruzando el cero), el resultado no es estadísticamente significativo, aun con un lift relativo de casi 14% en el número crudo. Es exactamente el escenario en que declarar un ganador temprano, solo porque la tabla de GA4 “se ve bien”, se convierte en el error más común de la lista anterior. La lectura honesta aquí es: sigue recolectando, o acepta que, con esa muestra, la diferencia observada todavía puede ser ruido. Comprueba la misma cuenta en la calculadora de abajo, pegando los números exportados de tu informe:

Calculadora de significancia estadística
Control (A)
Variación (B)
Control (A) · Tasa-
Variación (B) · Tasa-
Mejora relativa-
valor-p-
IC 95% de la diferencia-

Test z bilateral de dos proporciones. "Sin significancia" casi siempre significa que falta muestra, no que las versiones sean iguales.

Hazlo automático en Donnu

El trabajo que cubrió esta guía (diseñar el evento, registrar dimensiones, configurar GTM, montar Explorar y no engañarte con muestreo ni peeking) es real, y GA4 por sí solo no hace nada de eso por ti. Donnu se ocupa de la otra mitad del problema: la división de tráfico 50/50 estable y el cálculo de significancia honesto ocurren automáticamente dentro de la propia herramienta, sin necesidad de montar un evento personalizado ni un informe de Exploración para saber quién va ganando. GA4 sigue siendo útil como fuente complementaria de comportamiento e ingresos, pero la decisión del test no depende de él.

Empieza una prueba gratuita en Donnu y deja la división de tráfico y la significancia en manos de la herramienta, mientras GA4 queda libre para lo que hace mejor: contar la historia del comportamiento de tu usuario. Para el panorama completo de cómo encajan GA4 y el test A/B, mira la guía completa de GA4 y test A/B.

Referencias

Preguntas frecuentes

¿GA4 tiene una función nativa para correr tests A/B, como tenía Google Optimize?
No. GA4 es una herramienta de análisis, no de experimentación: no tiene el concepto nativo de "experimento" con brazo de control y variación, ni divide el tráfico por sí solo. Para rastrear un test A/B en GA4 necesitas modelarlo manualmente con un evento personalizado que lleva el nombre del experimento y de la variación como parámetros, y la división del tráfico sigue siendo responsabilidad de tu herramienta de test (o de un snippet propio).
¿Qué nombre de evento debo usar para rastrear la variación vista por el usuario?
GA4 no exige ningún nombre en particular. Lo habitual es un evento personalizado como experiment_impression o ab_test_view, disparado en el momento en que el usuario efectivamente ve la variación, con parámetros como experiment_name y variation_name (o variation_id). Lo importante es mantener el mismo nombre de evento y de parámetros en todos los tests, para que los informes queden comparables a lo largo del tiempo.
¿Cuántas dimensiones personalizadas puedo crear en GA4 para rastrear tests A/B?
Según la documentación oficial de Google, una propiedad GA4 estándar permite hasta 50 dimensiones personalizadas con ámbito de evento (event-scoped) y 25 con ámbito de usuario. En propiedades GA4 360 esos límites suben a 125 y 100. Cada test A/B suele consumir solo dos dimensiones (nombre del experimento y nombre de la variación), reutilizadas por todos los tests siguientes.
¿Por qué mi informe de Exploración en GA4 muestra números distintos de los esperados?
Un motivo frecuente es el muestreo: según Google, los informes de Exploración en propiedades GA4 estándar pasan a estimar por muestra cuando la consulta supera los 10 millones de eventos en el período seleccionado, mientras que los informes predefinidos (fuera de Explorar) nunca se muestrean. Si tu test corre en un sitio de alto tráfico, eso puede distorsionar la comparación entre variaciones, y la salida recomendada es exportar los datos brutos vía BigQuery Export.
¿El Consent Mode puede estropear la lectura de un test A/B en GA4?
Sí, de forma indirecta. El Consent Mode en sí no altera la división de tráfico de tu test, pero si la implementación del banner de consentimiento no es idéntica en las dos variaciones (por ejemplo, si una de ellas retrasa la carga del banner o de gtag), el conteo de eventos registrado en GA4 puede quedar desproporcionado entre A y B aunque la división real de visitantes haya sido 50/50. Eso se parece a un Sample Ratio Mismatch (SRM), solo que viviendo en la capa de medición y no en la de asignación.