Actualizado: 30 de marzo de 2025
Cuando se trata de gestionar etiquetas de marketing digital, Google Tag Manager (GTM) se ha convertido en una herramienta esencial. Para aprovechar al máximo esta plataforma, es crucial entender sus componentes principales: etiquetas, activadores y variables. Sin embargo, hay un cuarto elemento que a menudo se pasa por alto, pero que es fundamental para el funcionamiento efectivo de GTM: el Data Layer.
El Data Layer y Google Tag Manager están intrínsecamente conectados. Juntos, permiten un manejo más eficiente de las etiquetas, facilitando la recolección y el envío de datos a diversas plataformas de análisis y publicidad. Comprender cómo interactúan estos elementos es clave para optimizar tus campañas de marketing y garantizar una implementación sin problemas.
Contexto del Data Layer
El Data Layer es un espacio virtual dentro de un sitio web donde se almacena información vital que puede ser utilizada por diversas herramientas de marketing, como Google Analytics, Google Ads y Mixpanel. Algunos ejemplos de datos que podrías encontrar en el Data Layer incluyen ID de usuario, texto de un botón clicado, total de un pedido, entre otros.
Google Tag Manager proporciona una serie de variables integradas por defecto que facilitan la recolección de estos datos. Puedes acceder a la lista completa y habilitar las que necesites en la sección Variables > Configurar.
Una vez que habilitas estas variables, se reflejan en la pestaña de Vista previa y depuración de GTM, permitiéndote utilizarlas en las condiciones de activadores y etiquetas. No obstante, en ocasiones podrías necesitar variables personalizadas para datos específicos, como el nombre del autor de un blog o el país de registro de un usuario. Aquí es donde entran en juego las Data Layer Variables.
¿Qué es una Data Layer Variable?
Una Data Layer Variable permite extraer un valor del Data Layer y transformarlo en una variable que puede ser utilizada en etiquetas, activadores y otras variables dentro de GTM. Para comprender mejor su funcionamiento, es útil activar el modo de vista previa y depuración de GTM y acceder a la pestaña del Data Layer.
Por ejemplo, si deseas rastrear qué autor tiene más lecturas en un blog, podrías configurar un evento personalizado que se active cada vez que alguien visite una entrada de blog. Supongamos que estás utilizando WordPress con el plugin GTM4WP, que automáticamente envía datos al Data Layer cuando la página se carga.
Si quieres más información personalizada, puedes solicitar a un desarrollador que añada más datos al Data Layer utilizando dataLayer.push. Sin embargo, si los datos están presentes en el Data Layer, pero no se han creado las variables correspondientes, no podrás utilizarlos en GTM. Por defecto, Google Tag Manager no reconoce los datos personalizados sin que se hayan configurado previamente las Data Layer Variables.
Creación de una Data Layer Variable
Imaginemos que quieres rastrear el autor que genera más visitas en tu sitio. Añadirías el siguiente código de Data Layer justo antes del snippet de tu contenedor de GTM:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'pagePostAuthor': 'Julius Fedorovicius',
'pageCategory': 'google-tag-manager-tips',
'pagePostType': 'post'
});
En este caso, los datos que deseas rastrear son:
- Clave: pagePostType, valor: post
- Clave: pageCategory, valor: google-tag-manager-tips
- Clave: pagePostAuthor, valor: Julius Fedorovicius
Ahora, utilizando las Data Layer Variables, puedes acceder a estos valores y reutilizarlos en otras etiquetas o activadores. Por ejemplo, si deseas enviar un evento a Google Analytics cada vez que alguien deje un comentario, podrías incluir el nombre completo del autor del artículo con ese evento, lo que te permitirá analizar qué autores generan mayor compromiso entre los lectores.
Para crear la variable en GTM, accede a la sección Variables, crea una nueva variable y configura los parámetros necesarios. Después de guardar, actualiza el modo de Vista previa y depuración y realiza la acción deseada en una nueva pestaña. Deberías ver tu nueva variable reflejada en la consola.
Versiones de Data Layer
Las Data Layer Variables también tienen una configuración de versión que indica a GTM cómo tratar los valores en el modelo de datos. Las dos versiones principales incluyen:
Versión 1
La principal limitación de la Versión 1 es que no permite acceder a valores anidados. Si intentas acceder a una clave dentro de un objeto anidado, fallarás. Por ejemplo, si tu código de dataLayer.push se ve así:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'attributes': {
'pagePostAuthor': 'Julius Fedorovicius'
}
});
En este caso, no podrías acceder a pagePostAuthor sin que esté en el nivel raíz del objeto. Además, cada vez que envíes datos al Data Layer, se sobrescribirá la clave correspondiente, lo que puede ser problemático si necesitas conservar datos de diferentes envíos.
Versión 2
La Versión 2 es más flexible y permite acceder a valores anidados, trabajar con arreglos y realizar operaciones de combinación de datos. En el mismo ejemplo anterior, si tuvieras dos envíos al Data Layer, podrías conservar todos los valores sin sobrescribir ninguno:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'authorData': {
'pagePostAuthor': 'Julius Fedorovicius'
}
});
window.dataLayer.push({
'authorData': {
'pageCategory': 'google-tag-manager-tips',
'pagePostType': 'post'
}
});
El resultado en el Data Layer sería un objeto que incluye todos los valores, en lugar de perder información.
Valor por defecto
La configuración de Valor por defecto es importante. Si intentas acceder a un valor y la clave no existe en el Data Layer, el resultado será undefined. Si prefieres obtener un valor alternativo, como no establecido o vacío, puedes configurar esto en la variable.
Estructuras de datos en el Data Layer
Los datos pueden almacenarse en el Data Layer utilizando diversas estructuras. Por ejemplo, puedes tener:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'pagePostAuthor': 'Julius Fedorovicius'
});
O, en un formato anidado:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'attributes': {
'pagePostAuthor': 'Julius Fedorovicius'
}
});
Incluso puedes tener estructuras más complejas que incluyan arreglos:
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'transactionProducts': [{
'sku': 'DD44',
'name': 'T-Shirt',
'category': 'Apparel',
'price': 11.99,
'quantity': 1
},{
'sku': 'AA1243544',
'name': 'Socks',
'category': 'Apparel',
'price': 9.99,
'quantity': 2
}]
});
Dependiendo de la estructura, necesitarás definir la clave de manera diferente en la Data Layer Variable para poder acceder a los datos correctamente.
¿Es necesario aprender sobre el Data Layer en la era del tagging del servidor?
Sí, al menos en la mayoría de los casos. Muchas configuraciones de GTM del lado del servidor son híbridas, donde se utiliza un contenedor web que envía datos al contenedor del lado del servidor. Si tu configuración de seguimiento en el navegador aún incluye componentes del lado del cliente, necesitarás trabajar con el Data Layer, lo que hace que este conocimiento sea esencial.
Lecturas adicionales
Este no es el primer ni el último artículo acerca del Data Layer en este blog. Si tienes dudas, consulta estos enlaces o suscríbete a mi boletín para mantenerte al tanto:
- ¿Qué es el Data Layer en Google Tag Manager?
- 3 formas de extraer datos del Data Layer
- Explicación del activador de evento personalizado (ya que todos los eventos del Data Layer pueden convertirse en activadores)

























