Esquema de Google Tag Manager: La web informa, dataLayer.push, GTM interpreta.
Esquema de Google Tag Manager: La web informa, dataLayer.push, GTM interpreta.

Qué es el dataLayer

En una implementación web habitual, window.dataLayer es un array al que se añaden mensajes mediante push. GTM los procesa para actualizar su modelo de datos y evaluar las etiquetas que deben ejecutarse.

La información puede describir una página, un producto o una acción. No es una base de datos ni un almacén persistente: al cargar otro documento, la aplicación debe exponer de nuevo los valores que necesite. Tampoco es un lugar privado; el código que se ejecuta en la página puede acceder a él.

Si necesitas situar las piezas, revisa primero cómo funciona Google Tag Manager.

Para qué sirve: un ejemplo de tienda online

Imagina un listado de productos donde cada tarjeta tiene nombre, precio, categoría y un botón para añadir al carrito. El texto visible puede estar abreviado, traducido o incluir descuentos. Intentar reconstruir todos los datos leyendo la pantalla puede producir inconsistencias.

Una capa de datos permite que la aplicación exponga el identificador, el precio y la cantidad del producto cuando confirma que se ha añadido al carrito. GTM puede utilizar ese mismo mensaje para configurar las herramientas que correspondan.

El ejemplo es didáctico: no describe una implementación verificada de una tienda concreta. El contrato debe adaptarse a los datos y a las acciones reales de tu aplicación.

Qué información conviene incluir

Empieza con el plan de medición, no con una lista de todas las variables disponibles.

  • Página: tipo de contenido, idioma o categoría editorial.
  • Acción: nombre del evento, identificador del formulario o ubicación de un elemento.
  • Producto: identificador, nombre, categoría, precio y cantidad.
  • Usuario: únicamente los atributos necesarios y adecuados para los destinos previstos.

Evita emails, teléfonos, contraseñas y textos libres de formularios. No conviertas el dataLayer en un volcado del perfil de cliente. Que una variable esté disponible técnicamente no significa que debas enviarla a todas las herramientas.

Inicializar sin borrar datos

Para exponer información antes de que arranque GTM, coloca la inicialización y los datos que este necesita antes del fragmento del contenedor.

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  page_category: 'formacion',
  page_language: 'es'
});

La primera línea reutiliza el array si ya existe. Evita asignaciones como dataLayer = [] después de cargar GTM: pueden sustituir los mensajes y referencias que ya estaban preparados.

La instalación de un plugin o de una extensión puede generar una capa de datos automáticamente. Antes de añadir otra, revisa qué proporciona, con qué nombres y en qué momentos. Dos integraciones que comunican la misma compra pueden provocar duplicados.

Enviar un evento con push

Este ejemplo corresponde a un único producto añadido al carrito. Se debe ejecutar tras confirmar la acción, usando los datos reales de la aplicación. Las cantidades e importes siguientes son ficticios.

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
  event: 'add_to_cart',
  ecommerce: {
    currency: 'EUR',
    value: 49.90,
    items: [{
      item_id: 'CAMISETA-01',
      item_name: 'Camiseta de ejemplo',
      item_category: 'Ropa',
      price: 49.90,
      quantity: 1
    }]
  }
});

Se limpia primero el objeto de comercio electrónico para evitar reutilizar datos de otra acción. El esquema utiliza items y nombres de GA4; no el antiguo formato products de Universal Analytics. En la guía de ecommerce en GA4 se explica el recorrido completo.

Recoger variables y configurar la etiqueta

Crea una variable de capa de datos para cada valor que necesites, respetando su nombre exacto. Para el importe del ejemplo, la ruta sería ecommerce.value. Para los artículos, ecommerce.items. El nombre interno de la variable en GTM puede ser descriptivo, pero la ruta debe coincidir con la capa de datos.

Después, crea un activador de evento personalizado con nombre add_to_cart y una etiqueta de evento de GA4 que envíe los parámetros adecuados. El event del dataLayer sirve para que GTM reaccione; no es una garantía de que Analytics haya recibido la acción.

Comprobar la implementación

En la vista previa de GTM, reproduce una sola acción y selecciona el evento correspondiente. Comprueba sus variables y las etiquetas ejecutadas. Después revisa la llegada a DebugView o las solicitudes de medición.

Prueba también varias acciones consecutivas: añadir productos distintos, cambiar cantidades y recibir un error. Una acción que no se completa no debería convertirse en una compra o un añadido al carrito correcto. Revisa que no sobrevivan valores del producto anterior.

Puedes inspeccionar window.dataLayer en la consola para ver los mensajes disponibles. Esa consulta ayuda a depurar, pero el contenido del array no sustituye la comprobación de lo que finalmente recibe cada herramienta.

Vídeos del artículo original

Conservo los vídeos que acompañaban esta entrada. Algunos muestran interfaces o funciones de versiones anteriores; utiliza las indicaciones revisadas de esta guía para configurar las herramientas actuales.

Tutorial GTM Parte 3 ¿Qué es el dataLayer de Google Tag Manager? · YouTube

Fuentes y documentación

Documentación revisada el 29 de septiembre de 2026. Los ejemplos ilustran el método; adapta las comprobaciones a tu proyecto.