Variable de la capa de datos en el GTM: ¿Qué, por qué y dónde?
Actualizado: 5 de junio de 2023
Si has hecho algo con el Google Tag Manager, probablemente ya conoces tres conceptos clave: etiquetas, disparadores y variables. Pero, en realidad, deberías saber que hay un ingrediente clave más, la Capa de Datos. Google Tag Manager camina de la mano con la Capa de Datos que asegura máxima flexibilidad, portabilidad y facilidad de implementación. Sin él, no habría variables ni disparadores en el GTM, por lo que no se dispararían las etiquetas. Es lo que mantiene el manejo de las etiquetas funcionando correctamente.
Desafortunadamente, no voy a entrar en lo que es la Capa de Datos porque eso es otra historia. En la entrada de hoy en el blog, echaré un vistazo a lo que es la Variable de la Capa de Datos.
El contexto
Antes de sumergirnos, recordemos rápidamente cómo funciona la capa de datos (DL). DL es una capa virtual de un sitio web donde se almacena información útil, por ejemplo, el ID de usuario, el texto de un botón pulsado, el total del pedido, etc. Estos datos pueden ser transferidos posteriormente a otras herramientas como Google Analytics, Mixpanel, Google Ads, etc.
De hecho, el Google Tag Manager ya soporta un montón de variables incorporadas por defecto. Puedes encontrar una lista completa de ellas en Variables > Configurar.
Después de habilitar estas variables, aparecerán en la pestaña de variables del modo de vista previa y depuración del GTM.
Estos puntos de datos pueden ser usados más tarde en condiciones de disparo, etiquetas, e incluso otras variables (por ejemplo, Lookup o Tablas Regex). Y eso es impresionante! ¿Pero qué pasa si queremos tener algunas variables personalizadas? Por ejemplo, el nombre del autor de la entrada del blog, el país de registro del usuario, etc.?
Ahí es donde las Variables de la Capa de Datos son útiles.
¿Qué es una Variable de Capa de Datos?
La Variable de la Capa de Datos le permite obtener un valor de la Capa de Datos y convertirlo en una variable (que puede ser usada en Tags, Trigger y otras variables). Pero primero, veamos cómo se almacenan los datos en la capa de datos.
Habilita el modo de vista previa y depuración del GTM y ve a la pestaña de la Capa de datos. En la siguiente captura de pantalla estoy viendo los datos de mi blog, los tuyos pueden ser diferentes.
Parece que tengo algunos datos interesantes allí: pagePostType, pagePostType2, pageCategory, pagePostAuthor. Mi blog funciona con WordPress y estoy usando el plugin GTM de DuracellTomi que empuja estos datos a la capa de datos cada vez que se carga la página.
Si quieres obtener más información personalizada, pide a un desarrollador que la añada a la Capa de Datos con la ayuda de dataLayer.push.
De todos modos, volvamos al ejemplo. Como pueden ver en la captura de pantalla de arriba, hay algunos datos interesantes que podría emplear en mis etiquetas y disparadores. Desafortunadamente, si navego a la pestaña Variables de la Consola de Previsualización y Depuración, esas variables no están ahí. ¿Por qué?
De forma predeterminada, Google Tag Manager no reconoce los datos personalizados en la Capa de datos, por lo que no puedes utilizarlos como variables a menos que utilices la Variable de la Capa de datos. Para crear esta variable, necesitarás especificar la clave de la Capa de datos cuyo valor quieres recuperar. Cuando la variable se resuelva, devolverá lo que se haya empujado más recientemente en la clave. Así de fácil!
Si quisiera recuperar el valor de pageCategory, sólo necesitaría establecer la clave pageCategory en la configuración de la variable. Déjame mostrarte cómo funciona en acción.
Vamos a crear una variable de capa de datos
En mi ejemplo anterior, había 4 claves y valores personalizados en la Capa de Datos:
- Clave: pagePostType, valor: post
- Clave: pagePostType2, valor: single-post
- Clave: páginaCategoría, valor: google-tag-manager-tips
- Clave: pagePostAuthor, valor: Julius Fedorovicius
Con la ayuda de la Variable de la Capa de Datos, puedo recuperar fácilmente esos valores y reutilizarlos en otras etiquetas, disparadores o variables.
Digamos que quieres enviar un evento de Google Analytics cuando alguien deja un comentario. Con cada evento, también quieres empujar el nombre completo del autor del artículo. De esta manera verás qué autores impulsan el mayor compromiso de los lectores.
En este ejemplo, no entraré en detalles sobre cómo crear una etiqueta, ya que sólo demostraré cómo extraer los datos de la Capa de datos y convertirlos en una variable (dentro del Administrador de etiquetas de Google).
En la cuenta de Google Tag Manager, debe ir a Variables y crear una nueva con los siguientes ajustes(dlv significa variable de la capa de datos):
Eso es todo. Guarda esta variable, actualiza el modo de vista previa y depuración (P&D) y actualiza el sitio web en el que estás trabajando. A continuación, deberías ver la variable recién creada en la pestaña Variables de la consola P&D.
Versión de la capa de datos
Otro ajuste disponible en la Variable de la Capa de Datos es la Versión. Cuando se selecciona la Versión, se instruye al GTM para que trate los valores del modelo de datos de dos maneras diferentes.
Versión 1
Es bastante limitado y no te permite acceder a los valores anidados. Si creas una variable DL e intentas acceder a la páginaPostAuthor (en el ejemplo de abajo), fallarías porque no está en la raíz del objeto (en cambio, es un hijo directo de la clave de atributos ).
Así que si quieres obtener el nombre del PostAuthor, el objeto en la Capa de Datos debería verse así:
¿Veis? No hay ninguna clave de atributos y pagePostAuthor está en el nivel de la raíz.
Esa no es la única limitación de la Versión 1. Tampoco hay ninguna fusión disponible. Cada vez que empujas los datos a la Capa de Datos, se sobreescribirá toda la clave (a la que estás empujando los datos). Permítame ilustrarlo. Imagine que tenemos dos empujes de la Capa de Datos con datos diferentes. La primera pulsación contiene un objeto post con un solo parámetro, pagePostAuthor, la otra incluye las otras dos claves, pageCategory y pagePostType.
Como resultado final, sólo tendrías dos valores en la Capa de Datos: pageCategory y pagePostType porque la 2ª pulsación ha sobrescrito completamente los datos de la 1ª pulsación.
Entonces, ¿cuál es el sentido de la 1ª versión? Se podría decir que es algoinútil . Definitivamente no. Por ejemplo, en el Comercio Electrónico Mejorado, es muy importante no tener ningún artefacto (retazos) de las pulsaciones anteriores, lo que significa que cada vez que se produce una ventana .dataLayer.push, se reescriben las teclas.
VERSIÓN 2
La segunda versión es mucho más flexible. Le permite acceder a valores anidados, matrices, fusionar datos.
Volvamos al ejemplo anterior con dos posteriores Empujes de Capa de Datos. La primera pulsación sólo contiene la páginaPostAuthor, la otra incluye dos teclas más, la páginaCategory y la páginaPostType.
A diferencia de la Versión 1, en la Versión 2 los tres valores permanecerían en la Capa de Datos porque no eran conflictivos.
{ 'pagePostAuthor': 'Julius Fedorovicius', 'pageCategory': 'google-tag-manager-tips', 'pagePostType': 'post'}
Si la segunda pulsación de la Capa de Datos también tuviera la tecla ‘ pagePostAuthor ‘, como resultado, los datos finales de la Capa de Datos se habrían visto así:
{ 'pagePostAuthor': 'John Doe', 'pageCategory': 'google-tag-manager-tips', 'pagePostType': 'post'}
Esto sucedió porque la páginaPostAuthor de la 2ª pulsación sobrescribió la páginaPostAuthor de la 1ª. Simo Ahava ha publicado una guía detallada sobre las versiones de la capa de datos. Si todavía tienes algunas preguntas, ve a comprobarlo.
Valor por defecto
El último ajuste de la Variable de la Capa de Datos es el Valor por Defecto. Si está intentando acceder al valor de una clave en particular en la Capa de Datos Y esa clave no existe, se devolverá «indefinido«. A veces puede ser necesario obtener un valor predeterminado diferente, por ejemplo (no establecido), vacío o cualquier otra cosa. En ese caso, haga clic en la casilla de verificación y establezca el valor predeterminado.
Diferentes estructuras de datos
Tenga en cuenta que los datos pueden almacenarse en la capa de datos utilizando diferentes estructuras. Aquí hay un ejemplo (la página clavePostAuthor está en el nivel raíz)
O esto( la clave ‘pagePostAuthor’ es ahora un descendiente de la clave de atributos ):
O incluso así (hay dos matrices que son los descendientes de la clave de transacciónProductos ):
Cada estructura requiere una forma un poco diferente de cómo se debe definir la clave en la variable de la Capa de Datos. En el caso del primer ejemplo, la clave debería tener este aspecto:
En el 2º ejemplo el nombre correcto de la variable debería ser:
En el 3er ejemplo, se debe extraer la categoría del primer producto introduciendo el siguiente nombre:
Es posible que la última captura de pantalla te haya confundido un poco. ¿De dónde salió ese 0? Si quieres entender mejor, cómo sacar los datos de la capa de datos, lee esta entrada de blog.
Más información
Esta no es ni la primera ni la última entrada sobre la Capa de Datos en este blog. Así que si tienes alguna pregunta, mira estas entradas (o suscríbete a mi boletín y mantente al día):
Variable de la Capa de Datos: palabras finales
La variable de la capa de datos es una de las más (si no la más) utilizadas en mis cuentas de Google Tag Manager.
Con su ayuda, puedes acceder a los datos almacenados en la Capa de Datos y utilizarlos en tus etiquetas, disparadores o incluso otras variables. En esta entrada del blog, he explicado cómo configurar una variable, cómo acceder a los datos (que se almacenan utilizando diferentes estructuras de datos), cuál es la diferencia entre la Versión 1 y la Versión 2, etc.
Si tienes alguna pregunta, siéntete libre de dejar un comentario a continuación o envíame un tweet o un mensaje de LinkedIn.