Hacks y trucos en Google Analytics 4: parte II

Segunda recopilación de hacks y trucos con los que llevaremos Google Analytics 4 al siguiente nivel de personalización.

No te olvides de visitar los otros dos artículos relacionados:

Ya sabemos que Google Analytics 4 es esa herramienta con dos caras: una te abraza y la otra te golpea. Y de estos golpes, de esta necesidad y de esta desesperación terminan surgiendo los hacks y trucos. No hay más, esto es así.

Con trucos o sin ellos GA4, seguirá siendo la herramienta de referencia por su versión gratuita, sus integraciones con el ecosistema de Google y otras muchas cosas como es o tiene que ser su interfaz. Si una interfaz gusta, resuelve y nos es útil. A priori, bastaría.

En un primer vistazo, la interfaz de Universal Analytics es mucho más fea y ruidosa. ¿Podéis hacer esta prueba con cualquier persona ajena a ambas herramientas y pedirle feedback? A todo el mundo le gustará más GA4.

Personalmente, le veo posibilidades, le veo escalabilidad y esto me ilusiona, pero igual que os pasa a muchos de vosotros también me frustra sobre todo en aquellas tareas un poco más avanzadas. Avanzadas, pero tampoco mucho eh.

Eso sí, lo bueno y maravilloso de la interfaz de GA4 es que viene sin muestreo y muestra los mismos datos que nos escupe la API de GA4 o el conector de Data Studio. Y esto es fantástico para validar nuestros informes. Algo que todo el mundo hace, ¿no?

Y como siempre decimos no hay herramienta perfecta, pero intentaremos poco a poco mejorarla o adaptarnos.

Comparaciones en Google Analytics

Y algo que nos puede ayudar tanto a validar como a analizar son las comparaciones de GA4.

Las comparaciones nos pueden gustar o no como ya nos pasa con cada una de las diferentes partes de esta herramienta…
Pero están aquí y nos pueden ser útiles y prácticas para determinados usos y sin duda son una forma muy cómoda de compartir con otras gentes y sobre todo para comparar usuarios por: países, plataforma o la adopción de una versión de la aplicación, plataforma

Infinidad de posibilidad que un analista más experimentado podrá exprimir con mayor acierto que este servidor que os escribe.

A mi solo me gustaría que después de este artículo puedas hacer las comparaciones por los criterios que tú consideres y que sí, Google por alguna extraña razón no le quita estas vayas al campo, nosotros las seguiremos saltando que para eso somos de Datola. Y no queremos que las absurdas limitaciones de GA4 maten nuestra creatividad o nos creen todavía más problemas.

Y como dijimos, muchas veces, la documentación de Google es orientativa y sus restricciones, a veces, tenemos la suerte que también, menos mal.

Y si volvemos a hablar de las comparaciones recordemos que las podemos compartir entre los diferentes equipos, guardar en los marcadores del navegador y si les pudiéramos dar permisos funcionarían un poco salvando las distancias como las vistas de Universal Analytics. Quién sabe, pero igual llegamos a esto.

Mientras tanto, vamos a diseccionar las comparaciones.

¿Cómo hacemos para filtrar por cualquier dimensión en las comparaciones de GA4?

Nos vamos a la chuleta de dimensiones y métricas de GA4 buscamos la dimensión por la que nos gustaría filtrar y que todavía no tenemos disponible en la interfaz de comparaciones y copiamos el nombre del campo Frontent Name.

Chuleta de dimensiones y métricas de GA4 -> Copiamos el parámetro Frontend Name que necesitemos.
Chuleta de dimensiones y métricas de GA4 -> Copiamos el parámetro Frontend Name que necesitemos.

Para probar todos los pedazos de código que aparecen a continuación hemos usado la cuenta demo de GA4 – Google Merchandise Store y GA4 – Flood It y a esas URLs principales (cuadros azules) les concatenamos el parámetro de consulta params (cuadros amarillos).

GA4 – Google Merchandise Store

https://analytics.google.com/analytics/web/#/p213025502/reports/reportinghub

GA4 – Flood It

https://analytics.google.com/analytics/web/#/p153293282/reports/reportinghub

Ejemplo del parámetro de consulta, params de una comparación sencilla:

?params=_u..comparisons=[{"name":"Country includes Spain","filters":[{"fieldName":"country","expressionList":["Spain"],"isCaseSensitive":true}]}]

Si analizamos el parámetro, params, de la URL anterior, en la que incluimos solo a usuarios de España. Vemos los siguientes parámetros:

  • name: Nombre del filtro. Este parámetro permite introducir la cadena de texto que más nos guste y corresponde con el texto que aparece en la interfaz.
  • fieldName: Es el parámetro por el que se filtra.
    Aquí tendríamos que sustituir country por el parámetro que copiamos de la chuleta de métricas y dimensiones de GA4.
  • expressionList: Lista de valores por los que nos gustaría filtrar. Separamos los valores entre comillas dobles y comas.
    Si no sabemos que posibles valores que tiene la dimensión que seleccionamos tenemos las siguientes opciones: intentar buscarla en el Explorador de informes y ver los valores que devuelve, buscarla en algún informe de la interfaz y ver sus valores, lanzar una consulta a la API o directamente lo más fácil sea aplicar este otro hack.
    Si necesitamos filtrar por una lista de valores tenemos que añadir el siguiente parámetro: "evaluationType":8
  • isCaseSensitive: true. Indica que el filtro distingue entre mayúsculas y minúsculas.

Otros parámetros que veremos más adelante son:

  • evaluationType: Si necesitamos filtrar por una lista de valores valdrá «8», valdrá «3» si queremos que contenga cualquier texto del parámetro expressionList y «2» si queremos usar una expresión regular. Si solo queremos filtrar por un único valor exacto, lo omitimos.
TipoevaluationType
Lista de valores8
Cualquier texto3
Regex2
Coincidencia exacta1
Tipos de evaluationType
  • complement: Este parámetro con valor true nos indica que el filtro será de exclusión.
Nombre de filtro de la comparación totalmente personalizable
El nombre de la comparación es totalmente personalizable

Saber la lista de valores de una dimensión y escribirlos correctamente nos puede resultar más o menos tedioso. Para estos, lo mejor es fijarnos en la siguiente consulta en la que incluiremos cualquier país que contenga «Un» en el nombre y para esto recordamos que tenemos que incluir también el parámetro evaluationType: 3 .

?params=_u..comparisons=[
{"name":"Country no contiene Un","filters":[{"fieldName":"country","evaluationType":3,"expressionList":["Un"],"isCaseSensitive":false}]
}]
Comparación en el que incluimos todos los usuarios de cualquier país que contenga "Un" en el nombre.
Comparación en el que incluimos todos los usuarios de cualquier país que contenga «Un» en el nombre.

Si a la consulta anterior, le añadimos el parámetro complement: true entonces estaremos excluyendo a todos los usuarios que provengan de países que empiecen por «Un» como son United States, United Arab Emirates, United Kingdom.

?params=_u..comparisons=[{"name":"Country no contiene Un","filters":[{"fieldName":"country","evaluationType":3,"expressionList":["Un"],"complement":true
,"isCaseSensitive":false}]
}]
Comparación usuarios de países que no contengan "Un" en el nombre del país
Comparación usuarios de países que no contengan «Un» en el nombre del país.

Podemos tener hasta 4 comparaciones. Intentamos romper la interfaz, pero como suele ser habitual no fuimos capaces. Si lo intentamos con más comparaciones no falla, pero tampoco se nos muestran más resultados. Podéis hacer la prueba añadiendo el siguiente pedazo de código a la url de los cuadros azules.

?params=_u..comparisons=[
{"name":"Country includes Spain","filters":[{"fieldName":"country","expressionList":["Spain"],"isCaseSensitive":true}]},
{"name":"Country includes Canada","filters":[{"fieldName":"country","expressionList":["Canada"],"isCaseSensitive":true}]},
{"name":"Country includes France","filters":[{"fieldName":"country","expressionList":["France"],"isCaseSensitive":true}]},
{"name":"Country includes Portugal","filters":[{"fieldName":"country","expressionList":["Portugal"],"isCaseSensitive":true}]},
{"name":"Country includes Italy","filters":[{"fieldName":"country","expressionList":["Italy"],"isCaseSensitive":true}]},
{"name":"Country includes Germany","filters":[{"fieldName":"country","expressionList":["Germany"],"isCaseSensitive":true}]
}]
Solo podemos tener cuatro comparaciones simultáneas en GA4.
Solo podemos tener cuatro comparaciones simultáneas.

Una comparación también puede tener varios filtros. Por ejemplo, usuarios de los países España y Francia que no naveguen ni desde Chrome ni desde Safari.
Acordarse que para excluir el parámetro que habría que añadir al filtro es «complement«:true y si queremos filtrar una lista de valores tenemos que añadir también el parámetro «evaluationType«:8» como se puede ver a continuación:

?params=_u..comparisons=[
{"name":"Country includes Spain, France; Browser excludes Chrome, Safari",
"filters":[
{"fieldName":"country","evaluationType":8,"expressionList":["Spain","France"],"isCaseSensitive":true},
{"fieldName":"browser","evaluationType":8,"expressionList":["Chrome","Safari"],"complement":true,"isCaseSensitive":true}]
}]

Lo bonito de esto es la flexibilidad que tenemos para poder cambiar, por ejemplo country (país) por isConversionEvent, eventName, los parámetros de producto, de campaña o cualquier otro parámetro que todavía no tengamos disponibles en esta parte de la interfaz.

La potencia y la magia era esto.

A continuación, un ejemplo de comparativa de usuarios que han hecho una compra en la aplicación en libras y usuarios que lo han hecho en dólares. El parámetro currencyCode no lo tenemos todavía disponible en la interfaz.

?params=_u..comparisons=[
{"name":"CurrencyCode contiene USD","filters":[{"fieldName":"currencyCode","expressionList":["USD"],"isCaseSensitive":false}]},
{"name":"CurrencyCode contiene GBP","filters":[{"fieldName":"currencyCode","expressionList":["GBP"],"isCaseSensitive":false}]}
]
Comparativa usuarios que han hecho una compra en la aplicación en dólares vs usuarios que han comprado en libras
Comparativa usuarios que han hecho una compra en la aplicación en dólares vs usuarios que han comprado en libras

Otro ejemplo, podría ser comparar usuarios que han realizado un determinado evento. Actualmente, en la interfaz tampoco podemos filtrar por nombre de evento(eventName).

En este caso, hemos elegido 3 comparaciones: todos los usuarios, usuarios que han hecho un evento view_item y usuarios han realizado un add_to_cart.

?params=_u..comparisons=[
{"name":"Nombre del Evento contiene add_to_cart","filters":[{"fieldName":"eventName","expressionList":["add_to_cart"],"isCaseSensitive":false}]},
{"name":"Nombre del evento contiene view_item","filters":[{"fieldName":"eventName","expressionList":["view_item"],"isCaseSensitive":false}]},
{"name":"All Users","filters":[{"isCaseSensitive":true,"expression":"0","fieldName":"audience"}]}
]
Comparativa de adquisición de tráfico de los grupos de usuarios que han realizado un evento view_item, add_to_cart y de todos los usuarios de la web.
Comparativa de adquisición de tráfico de los 3 grupos de usuarios.

Las posibilidades son infinitas y quizás los ejemplos elegidos no sean ni los más útiles ni los más ilustrativos, pero sirven para tener una idea de las posibilidades que ofrece modificar unos parámetros en la URL.

Y estaremos encantados de escuchar mejores ejemplos y mejores usos.

Aplicación para generar URL de comparaciones en GA4 de forma sencilla

Sí, si has llegado hasta aquí es un milagro y ahora que ya comprendes los parámetros de las comparaciones como adaptarlos/modificarlos a tu gusto. Pues vayamos a los fácil, hemos creado esta herramienta para hacer esta tarea un poco más sencilla e intuitiva.

Esperamos que os guste y la disfrutéis.

¿Cómo saber cuánta gente tiene instalada nuestra app en GA4?

Para saber cuánta gente tiene instalada nuestra aplicación tenemos que hacer lo siguiente:

Crear audiencia > Elegimos Plataforma > Seleccionamos iOS y Android > Creamos el trigger de la audiencia con el nombre del evento que queramos registrar en GA4 y pum, magia.

Al revisar nuestros datos en días posteriores veremos un incremento considerable de usuarios totales. Eso sí, veremos que la métrica usuarios activos se mantiene.

GA4 trabaja, por defecto, con la métrica usuarios activos, pero, quizás, nuestros informes de Data Studio o de otras herramientas estén tirando de la métrica usuarios totales y la creación de esta audiencia os podría causar ruido o «incongruencias» en los datos.

También es una fantástica forma de entender y ver la diferencia entre las métricas usuarios totales vs usuarios activos.

Le puedes echar un vistazo a este hilo:


Bonus I: ¿Crear un flujo de datos sin establecer el dominio o la URL?

La URL del flujo de datos es un campo descriptivo y no tiene mayor utilidad que esa y eso no es poco, pero a nivel técnico no sirve para nada.

Y a veces nos pasa que en el momento de creación del flujo de datos no sabemos cuál será el dominio final o podría pasar que ese flujo de datos va a aplicar a N dominios/urls y para esos casos el siguiente truquillo no está nada mal, cortesía del Lurático Txema.

Le damos un nombre al flujo de datos y lanzamos por consola el siguiente comando que nos habilita el botón de creación y ya estaría:

$('.save-button[debug-id=create-stream-button]').removeAttr('disabled')

Acordarse que tener varios flujos de datos web en una misma propiedad no es recomendable y que puede darnos problemas e inconsistencias en los datos.

Más información en formato hilo:

Bonus II: ¿Cómo acceder rápidamente a la gestión y configuración de alertas de GA4?

La pantalla de gestión y creación de alertas en GA4 se encuentra un poco oculta.

Una forma fácil y sencilla de acceder a ella es poniendo después del / del id de la propiedad de GA4 lo siguiente: /insights/hub

Manejo y creación de alertas.
Acceder a la gestión y creación de alertas en GA4.

La forma clásica sería accediendo a través de la Página Principal > Ver todas las estadísticas.

Bonus III: Reutilización de informes de la biblioteca entre propiedades

Sí, podemos crear un informe en la biblioteca de una propiedad de GA4 y reutilizarlo en otra propiedad en la que tengas permisos.

Como posible buena práctica se nos ocurre tener una propiedad de GA4 de colecciones , dónde tengamos todas estas colecciones de informes, configuraciones y después desde ahí las llevamos a las otras propiedades.

¿Cómo se hace?

Lo simplificó muy bien el mago, Iñaki Huerta en Twitter:

  1. Editas tu informe.
  2. Cambias de propiedad (el informe se mantiene en edición porque se mantiene la URL).
  3. Guardas (ya en la nueva propiedad)

Y como anticipo al tema biblioteca os dejamos el siguiente vídeo, dónde podemos ver un número de dimensiones mucho mayor de las que trae por defecto GA4, entre ellas el término de la campaña. Y venga Google, no nos limites de forma absurda que ya bastante tenemos con las problemáticas habituales de GA4.

Permaneced atentos.

Y hasta aquí, hemos llegado.

Ahora que sé lo que es la libertad
Voy a juntar poder para comprármela
Y cuando la tenga, la voy a encerrar
Tengo gente contratada, me la van a vigilar

Sara Hebe – El Marginal
Brais Calvo
Brais Calvo

Con más de 8 años en el mundo de la analítica, sigo aprendiendo cada día. Me apasiona y divierte explorar la parte más técnica de los datos: los entresijos, las anomalías y las automatizaciones. Lo que sí, en este arte de los datos, la culpa casi siempre es del aparato.

Deja un comentario