Descifrando divergencias en GA4

Cuando empezamos a trabajar con GA4 es común que nos choquen cosas como que los datos no nos cuadran con Universal Analytics o que las filas de una tabla suman más que el total de la misma. En este artículo vamos a ver de forma práctica y sencilla por qué ocurren algunas de estas discrepancias.

Introducción

Sobre las discrepancias con Universal, hay que recordar que hay diferencias en cuanto a criterios y a cómo se procesan los datos: identificación de los usuarios para calcular las métricas, cardinalidad, modelado, algoritmo HyperLogLog++, etc. Algunas de las causas son las mismas de porqué los datos de la IU no coinciden con BigQuery.

Pero, ¿y dentro de la propia interfaz de GA4? ¿Por qué cuando desagregamos por una dimensión, por ejemplo el país, el sumatorio de usuarios de los diferentes países no nos coincide con la métrica de usuarios totales? ¿o por qué la suma de las sesiones de los diferentes canales de atribución da más que el total de sesiones? Esto en Universal no pasaba.

Marco teórico

Pues en realidad, depende de cómo se procesa el ámbito de las dimensiones.

Vamos a centrarnos en el ámbito usuario y dejaremos para otro post el ámbito sesión.

Resulta que no tenemos más usuarios, pero puede haber usuarios que han navegado desde diferentes países en ese rango temporal o tienen eventos atribuidos a varios países. La asignación de valores que la herramienta haga para los valores de ese usuario pueden marcar la diferencia.

En Universal el criterio para para asignar los valores de las dimensiones en los diferentes ámbitos estaba claro.

Un usuario que ha navegado desde diferentes países es clasificado en uno de ellos (si estamos usando una dimensión de ámbito usuario para hacer la desagregación, este usuario pertenece al último país en el que ha estado). El valor del último hit de la sesión se extiende al resto de hits de la sesión, y el valor de la dimensión de ámbito usuario es uno y aplicable a las siguientes sesiones mientras no se actualice.

Sin embargo, en GA4, vamos a ver lo que pasa con un ejemplo práctico.

Clasificando por país, ejemplo práctico

Somos el equipo de Datola y queremos analizar el número de usuarios que nos han visitado desde los diferentes países del globo durante el mes de mayo de 2023.

Para ello vamos tomar las métrica de usuario totales y segmentarlos por la dimensión «Country».

Antes de continuar, vamos a hacer algunos apuntes sobre esta dimensión.

Country (geográfico)

  • Es una dimensión que se registra automáticamente por Google.
  • Es de ámbito usuario como puedes ver en la chuleta.
  • Toma el país en el que está ubicado geográficamente el usuario, siempre que puede.
  • Si el usuario usa VPN´s puede no ser fiable.
  • Va asociado a todos los eventos, incluso a los automáticos.

Si vamos a Universal Analytics obtenemos los siguientes resultados:

CountryUsers
TOTAL962
Spain826
Argentina20
Chile12
United States11
Mexico10
Peru10
United Kingdom9
Colombia6
Brazil5
Germany5
Italy4
Netherlands3
Poland3
El Salvador3
Canada2
Costa Rica2
Ecuador2
Honduras2
Croatia2
Puerto Rico2
Sweden2
Venezuela2
Austria1
Bolivia1
Switzerland1
Dominican Republic1
Egypt1
Finland1
Guatemala1
Israel1
Kenya1
Cambodia1
Lithuania1
Malaysia1
Nicaragua1
Norway1
Panama1
Portugal1
Paraguay1
Romania1
Taiwan1

Podemos ver como el sumatorio de todos los países nos cuadra con la métrica total de usuarios (962).

«La cosa concuerda»

Hacemos el mismo ejercicio para GA4:

CountryTotal users
TOTAL1025
Spain889
Argentina20
Chile12
United States12
Mexico10
Peru10
United Kingdom10
Colombia7
Germany5
Italy4
Brazil3
Ecuador3
El Salvador3
Netherlands3
Poland3
Canada2
Costa Rica2
Croatia2
Honduras2
India2
Puerto Rico2
Sweden2
Venezuela2
Austria1
Bolivia1
Cambodia1
Dominican Republic1
Egypt1
Finland1
France1
Indonesia1
Iraq1
Ireland1
Israel1
Kenya1
Lithuania1
Malaysia1
Moldova1
Nicaragua1
Norway1
Panama1
Paraguay1
Portugal1
Romania1
Russia1
Switzerland1
Taiwan1

Ya hago yo la suma de todos los países: 1.034 usuarios (≠ 1.025 usuarios que nos marca el total)

«La cosa no tiene pies ni cabeza»

Pues resulta que si un usuario ha visitado Datola en el mes de mayo desde Irlanda pero también lo ha hecho desde Países Bajos, porque estaba allí de vacaciones, dicho usuario se contará dentro del subconjunto de datos de Irlanda y también dentro del subconjunto de datos de Países Bajos. Si no desagregamos por países, para el total, contará como un único usuario.

Me podéis decir que estos son casos residuales, la mayoría de activos digitales no tienen muchos usuarios que se vayan conectando y cambiándose de país pero…

«Vamos a complicar la cosa»

Imaginémonos, que por lo que sea, algunos eventos de la navegación de un usuario no consiguen establecer el país. Puede que ese usuario tenga «Country = (not set)» (como muestra la tabla anterior). Si en el resto de eventos el país sí se establece, por ejemplo Irlanda, al final del mes, ese usuario estará contabilizado en la fila «(not set)» y también saldrá en la fila «Irlanda».

Esto es más habitual cuando tenemos dimensiones personalizadas.

country_user (de ámbito usuario)

Supongamos también que los usuarios de Datola navegan de forma logada y les hemos preguntado a qué país pertenecen. En este caso no estaremos midiendo el país desde el que navega el usuario, sino el país donde reside habitualmente el usuario y que este ha tenido a bien facilitarnos.

Las características de esta dimensión son las siguientes:

  • Es una dimensión personalizada de ámbito usuario.
  • Los eventos automáticos no registran este country_user personalizado.
  • Una vez que se establece un country_user para un usuario este se mantiene en el tiempo para ese usuario en los eventos posteriores.

El segundo punto es especialmente relevante, ya que en las navegaciones del usuario podrá haber eventos automáticos de GA4 que lleven el valor de country igual a «(not set)», mientras el resto de eventos registrarán el país que el datolista nos ha indicado.

Evento automático sin propiedad de usuario «country»:

Evento personalizado con propiedad de usuario «country»:

La suma de todas las filas desagregadas por country será diferente al total de usuarios sin segmentar por país. Además la diferencia será más pronunciada que con la dimensión Country geográfica que GA4 registra por defecto. Habrá muchos usuarios contabilizados en la fila (not set) que también lo estarán en la fila de algún otro país.

Hay que matizar que sólo reflejará el valor (not set) en los primeros eventos automáticos de la primera sesión del usuario, pero cuando se setee un país este ya se mantendrá para los siguientes eventos.

Como consecuencia de esto el valor del país establecido no propagará a los eventos ocurridos antes aunque sean de la misma sesión como sí ocurría en Universal. La suma de usuarios de todas las filas dará, una vez más, un número mayor que el total de usuarios agregado.

Conclusiones

En Universal, cuando una dimensión de ámbito usuario tiene un valor en una sesión, este valor se extiende a todos los hits de la sesión, incluso a los anteriores a informarse el valor:

En GA4, podemos tener diferentes valores para esa dimensión en la misma sesión, y por tanto diferentes valores para un mismo usuario.

Esto hace que, a la hora de utilizar la métrica usuarios, un mismo usuario pueda estar clasificado en dos grupos diferentes (en este caso en dos países distintos).

Si yo navego como usuario no registrado y luego me registro en la misma sesión, cuando pregunte a GA4 por los usuarios totales me dirá 1. Cuando pregunte por los usuarios no registrados me dirá 1. Y cuando pregunte los usuarios registrados también me dirá 1.

Es cierto que ha habido 1 usuario no registrado que ha navegado, y 1 usuario registrado que ha navegado, aunque ambos fueran el mismo. Para Universal yo sería tan sólo 1 usuario registrado.

No hay un criterio bueno ni malo, lo importante es saber cómo funciona la herramienta antes de analizar los datos. Espero que este artículo te haya hecho reflexionar y que si tienes alguna aportación al respecto estaremos muy agradecidos de que nos la comentes.

Víctor Corral
Víctor Corral

Me pasé de la consultoría de negocio a la tienda física y luego de la tienda física a la consultoría online de datos, pero siempre hice lo mismo: analizar la información para adoptar las mejores estrategias. Al menos decisiones más razonadas, el mundo es un lugar demasiado complejo para predecirlo todo.

Deja un comentario