Actualidad

Implementando (y entendiendo) Google Analytics 4 con Google Tag Manager

Como ya sabéis y de acuerdo con la documentación oficial, Universal Analytics será “deprecado” y dejará de procesar datos en julio de 2023.

Universal Analytics will stop processing data

No solo eso, sino que en sucesivos meses llegará un momento en que los datos ni siquiera serán accesibles. Ni a través de la interfaz de Google Analytics, ni a través de la API.

Las recomendaciones que hacemos desde Improving Metrics son muy claras y van en la línea de las recomendaciones del propio fabricante Google:

  • Implementa Google Analytics 4 lo antes posible
    • De esta manera dispondrás de datos y de histórico, así como de experiencia de primera mano sobre el uso de la herramienta.
  • Olvídate de comparativas con Universal Analytics
    • Se trata de una herramienta y un modelo nuevos, así que céntrate en asegurar la calidad de los datos de esta nueva implementación y olvídate de comparativas entre herramientas que técnicamente funcionan diferente.

A fecha de escritura de este post faltaría un año para dicho acontecimiento, así que cuanto antes implementes Google Analytics 4, mejor.

¿Por dónde empezar a implementar GA4 con Google Tag Manager?

De acuerdo con la documentación oficial, la implementación consta de dos tipos de etiquetas:

  1. Etiqueta de configuración
  2. Etiqueta de evento

Para aquellas personas acostumbradas al viejo Universal Analytics será muy fácil caer en la tentación de pensar que la etiqueta de configuración viene a ser análoga a la vieja variable de configuración de Google Analytics.

Nada más lejos de la realidad.

Y las repercusiones son importantes.

Si nos olvidamos de Google Tag Manager y revisamos la documentación pensando en una implementación en página basada en gtag.js (Global Site Tag) observamos que de acuerdo con dicha documentación, la implementación básica también consta de dos tipos de comandos:

  1. gtag config

Comando gtag config

Es importante mencionar que el comando ‘config’ no solo sirve para inicializar las diferentes herramientas del ecosistema Google a través del parámetro <TARGET_ID>, también sirve para establecer algunas opciones de configuración y para establecer una serie de valores fijos que se van a enviar con cada evento.

Un ejemplo de dicha inicialización sería el siguiente:

Ejemplo de ejecución de comando gtag config

2. gtag event

Comando gtag event

Una vez realizada la inicialización, el comando ‘event’ sirve para enviar los datos de los eventos propiamente dichos.

Un ejemplo de medición sería el siguiente:

Ejemplo de ejecución de comando gtag event

En el ejemplo expuesto, el evento ‘video_auto_play_start’ heredará las variables ‘page_title’ y ‘currency’ de la etiqueta de configuración. Lo hará además con los valores definidos en dicha inicialización.

Si volvemos a Google Tag Manager y una vez que conocemos el funcionamiento de la etiqueta gtag.js (Global Site Tag) es muy fácil entender qué representa en realidad cada una de las etiquetas: la etiqueta de configuración y la etiqueta de evento existentes en Google Tag Manager.

No son más que interfaces que implementan por detrás y de una manera transparente y amigable la etiqueta gtag.js

Así pues, la etiqueta de configuración no funciona como si de una variable de configuración de Google se tratara, sino que serviría para establecer unos valores por defecto que heredarán de manera estática el resto de los eventos ejecutados con posterioridad a dicha inicialización.

¿Y si el valor de la variable definida cambia y queremos que en el siguiente evento se recoja el valor correcto de dicha variable y no un valor obsoleto?

¿Cuál es la solución a este problema? Básicamente, podemos distinguir dos planteamientos:

a. Secuenciación

Este planteamiento consiste en secuenciar la ejecución de nuestras etiquetas de tal manera que siempre se ejecute la etiqueta de configuración como si de una etiqueta de configuración del propio evento se tratara.

b. Configuración manual de todos los parámetros de evento en todas las etiquetas de evento

Este planteamiento nos llevaría de vuelta a los orígenes de Google Tag Manager, en dónde no existían las variables de configuración y había que configurar una a una todas las variables para cada una de las etiquetas de evento que pudiéramos tener configuradas dentro de Google Tag Manager.

Vamos a verlo con un ejemplo:

Supongamos que nuestra página es un SPA y que en aterrizaje ejecutamos la etiqueta de configuración.

En dicha etiqueta de configuración configuramos el campo ‘usuario_logado’ que recoge si el usuario está o no logado.

Etiqueta de configuración con parámetro usuario_logado

De esta manera según aterrice se realizará la inicialización, se enviará la vista de página por defecto y asociado se enviará el parámetro ‘usuario_logado’ = ‘falso’

Posteriormente, el usuario se autentifica y ve un producto.

Como consecuencia la variable ‘usuario_logado’ debería de adquirir el valor ‘verdadero’.

Sin embargo, cuando el usuario visualice un producto y se registre el evento ‘view_item’ asociado y salvo que se esté sobreescribiendo dicho parámetro de manera explícita en la etiqueta de evento asociada al evento ‘view_item’, el parámetro ‘usuario_logado’ seguirá teniendo el valor inicial de falso.

Etiqueta de evento
Ejemplo de ejecución de la etiqueta de configuración citada anteriormente
Señalización de usuario logado
Visualización de producto posterior a la autentificación del usuario
Petición de red de evento ‘view item’ asociado a visualización de producto

Las soluciones, como bien hemos comentado, pasan por configurar todos los parámetros manualmente uno a uno en todas las etiquetas de evento o en obligar a que la etiqueta de configuración se ejecute siempre antes de la propia etiqueta de evento de manera secuenciada.

Opción a. Secuenciación
Opción b. Configuración manual de todos los parámetros de evento en todas las etiquetas de evento

Vistas estas opciones, esperamos que te sea sencillo la implementación de tus etiquetas de GA4 en GTM. En Improving Metrics podemos ayudarte, somos expertos en GA4 y estamos acompañando a nuestros clientes en la migración a esta nueva plataforma, y a entender su implementación a través de Google Tag Manager. Pincha en el botón de abajo y te contactaremos ?.