Google Tag Manager (GTM) es la herramienta con la que una web carga sus códigos de medición y publicidad sin tocar el código de la web. Es gratis, lo usan millones de sitios y casi todas las agencias lo instalan el primer día. También es la pieza por la que más empresas creen que miden cuando no miden nada, o miden sin permiso.
Esta guía está escrita para quien tiene una empresa y quiere entender qué le han instalado, qué hace y qué debería hacer. No hace falta saber programar. Sí hace falta leer la parte de consentimiento y la de ventas, porque son las dos donde se pierde el dinero: la primera por una multa, la segunda por decidir a ciegas.
Qué es Google Tag Manager y qué no es
GTM es un cargador de scripts con interfaz. Pones un fragmento de código en tu web una sola vez y, a partir de ahí, añades, cambias y quitas etiquetas (Google Analytics, Google Ads, el píxel de Meta, TikTok, Clarity) desde un panel en tagmanager.google.com, sin volver a tocar la web. Para una pyme que paga a un desarrollador por cada cambio, eso es la diferencia entre medir una campaña hoy o dentro de tres semanas.
Lo que no es, y aquí empiezan los malentendidos: no es analítica. GTM no guarda ningún dato ni tiene informes; eso lo hace Google Analytics, que es otra herramienta. No es un banner de cookies, aunque tenga que entenderse con él. Y no es magia: lo que mide «solo» (clics, formularios enviados, hasta dónde baja la gente) lo deduce de cómo está construida la página, y cuando la página cambia, deja de medir sin avisar.
Tampoco sustituye la medición desde el servidor. Un pedido confirmado en la pasarela de pago, un presupuesto aceptado o una cita reservada son hechos que pasan fuera del navegador del cliente, y GTM vive dentro del navegador. Volveremos a esto, porque es donde se juega la parte que importa.
Las tres piezas: etiquetas, activadores y variables
Todo lo que hay dentro de un contenedor de GTM se reduce a tres cosas. La etiqueta es el código que se ejecuta: «manda este evento a Analytics», «carga el píxel de Meta». El activador es cuándo se ejecuta: en todas las páginas, al hacer clic en un botón, al enviar un formulario. La variable es de dónde sale el dato: la URL, el texto del botón, el importe de la compra.
El importe de la compra no está en la URL ni en un botón. Para que GTM lo lea, la web tiene que ponerlo en un sitio acordado, que se llama capa de datos (dataLayer). Es una lista en la página donde la web escribe «se ha visto el producto X», «se ha añadido al carrito», «se ha comprado por 84,90 €», y GTM lee de ahí. Construir esa capa es trabajo de quien hace la web, no de quien configura GTM, y es la confusión más cara de todas: muchas agencias instalan el contenedor, ven que «funciona» porque cuenta visitas, y nadie escribe nunca en la capa de datos. Resultado: una tienda que sabe cuánta gente entra y no sabe cuánta compra.
- Etiqueta: qué se ejecuta (Analytics, Ads, Meta, TikTok, Clarity).
- Activador: cuándo (en todas las páginas, en un clic, al enviar un formulario, cuando la capa de datos dice «compra»).
- Variable: con qué dato (la URL, el importe, el nombre del producto).
- Capa de datos: donde la web deja los datos que GTM no puede adivinar. La escribe la web.
Cómo se instala bien, y en qué orden
El fragmento de GTM va en todas las páginas, lo más arriba posible. Pero antes de él tiene que ir otra cosa: la declaración de consentimiento por defecto, que le dice a Google «hasta que el usuario no acepte, no guardes cookies de analítica ni de publicidad». Si el orden es al revés, las etiquetas de Google pueden dispararse antes de saber si tenían permiso. Es una línea de código y es la que más webs se saltan.
Después, el identificador. Un contenedor de Tag Manager empieza por GTM-. Desde julio de 2026, Google restringe lo que puede ejecutar un contenedor según su identificador: con GTM- se ejecuta todo; con un identificador de Analytics (G-) o de Ads (AW-) solo se ejecutan etiquetas de Google. Una web que cargue el script con el identificador equivocado deja de disparar Meta, TikTok y todo lo que no sea de Google, en silencio, sin error. Si tu agencia no sabe qué identificador lleva tu web, que lo mire hoy.
Dónde se pone depende de la plataforma. En WordPress, en la cabecera del tema o con un plugin, y el banner de cookies tiene que saber que GTM existe (siguiente sección). En Shopify, en el tema, y la compra no se mide desde ahí porque el pago ocurre en otro dominio. En una web a medida (Next.js, por ejemplo), en el layout raíz, con el consentimiento por defecto declarado antes y el contenedor cargado después de que la página sea interactiva. En nuestras webs usamos exactamente ese orden, por módulo, para no repetir el error en cada proyecto.
Y una regla que ahorra disgustos: GTM se instala una vez y las etiquetas se mantienen dentro. Si además alguien pega Analytics directo en el tema, o instala la aplicación de Google en Shopify junto al contenedor, se mide dos veces: dos visitas por cada visita, dos compras por cada compra, con identificadores distintos que no se pueden deduplicar. Medir dos veces es peor que medir poco, porque las cifras parecen buenas.
Gratis · sin compromiso
Te revisamos gratis la medición de tu web: qué dispara, con qué permiso y si la venta llega.
Solo usamos tus datos para responderte. Nada de listas ni de cesión a terceros. Política de privacidad.
Lo que ha cambiado en 2025 y 2026
GTM está en mitad del cambio más grande de su historia. El 20 de agosto de 2026 Google anunció que las Google Tags (el código de Analytics o Ads que muchas webs llevan sin contenedor) se convertirán en contenedores de Tag Manager completos, con panel, depuración y versiones. Cada destino de Google tendrá su propia etiqueta, los fragmentos nuevos ya no llevan el comando de configuración antiguo y el contenedor habla con Analytics directamente, sin cargar un segundo script. Google dice que no cambia nada automáticamente y que se elige si adoptar la configuración nueva.
Dos detalles de ese anuncio que conviene saber antes de pulsar «optimizar»: al hacerlo se enlaza el contenedor con las cuentas de destino y se concede acceso de lectura por defecto, y ese permiso es el que aparece seis meses después en una auditoría sin que nadie recuerde haberlo dado. Nuestro criterio es no pulsarlo en producción sin haberlo probado antes en una web pequeña y sin leer el detalle de la vista previa.
- Julio de 2026: interfaz nueva. Activadores, variables y plantillas están ahora dentro de una pestaña «Avanzado». Si «han desaparecido», están ahí.
- Julio de 2026: el identificador manda. GTM- ejecuta todo; G- y AW- solo etiquetas de Google (lo de arriba).
- Febrero de 2026: Google Ads recoge automáticamente más eventos. Verás peticiones de red que tú no configuraste; no es un virus, pero hay que saberlo al auditar.
- Abril de 2025: los contenedores con Google Ads cargan una Google Tag automáticamente antes de enviar eventos, con toda su configuración activa. Si tenías activados los datos proporcionados por el usuario, se activan también ahí.
- Noviembre de 2024: el enlazador de conversiones guarda el clic del anuncio también en localStorage, no solo en una cookie. A efectos legales, localStorage no es «sin cookies».
- Etiquetado visual (beta): seleccionas un botón en la web y GTM crea el activador. Solo para conversiones de compra de Google Ads. Para medir dinero no lo usamos: cuando cambia el diseño, se rompe.
Una aclaración que ahorra discusiones con proveedores: a fecha de esta guía no hay inteligencia artificial dentro de Tag Manager. Ni asistente, ni configuración en lenguaje natural. Quien venda lo contrario no ha abierto el producto.
Consentimiento: lo que el banner de cookies no bloquea
Aquí es donde se suspende, y lo contamos con un caso nuestro. En septiembre de 2026 revisamos una web de formación que llevamos, hecha en WordPress. Tenía banner de cookies, uno de pago que ya ni existía como servicio, así que la web cargaba Tag Manager y el píxel de Meta sin pedir permiso a nadie. Lo cambiamos por Complianz, lo configuramos para España (la AEPD exige que rechazar sea tan visible como aceptar) y comprobamos: el píxel de Meta, bloqueado hasta aceptar. Bien. Google Analytics seguía cargando sin consentimiento.
No era un fallo de configuración. Un plugin de cookies bloquea los scripts que están en el HTML de WordPress; no tiene forma de meter la mano dentro de un contenedor de GTM. Analytics, Google Ads y Pinterest vivían dentro del contenedor, y desde dentro disparaban igual. La propia Complianz lo explica en su ayuda: si GTM se carga, cada etiqueta del contenedor tiene que configurarse para dispararse solo cuando su categoría de consentimiento haya sido aceptada, y eso se hace a mano en el panel de Tag Manager, etiqueta por etiqueta.
La parte técnica tiene tres piezas. Primera, el modo de consentimiento de Google (Consent Mode v2), con cuatro permisos: almacenamiento publicitario, datos de usuario para publicidad, personalización de anuncios y almacenamiento analítico. Las etiquetas de Google los respetan solas. Segunda, el activador «Inicialización de consentimiento», que según la ayuda oficial se dispara siempre antes que todos los demás: es el que debe llevar la etiqueta del banner, y ponerle «Todas las páginas» es el error más repetido del sector, porque Analytics puede ganar la carrera. Tercera, y esta es la que salva a Meta, TikTok, Clarity y Hotjar: en cada etiqueta que no sea de Google, la casilla «Requerir consentimiento adicional». Sin ella, Consent Mode no las frena. Consent Mode no bloquea nada que no sea de Google.
Y en España tiene precio. La guía de la AEPD sobre cookies analíticas (enero de 2024) solo exime de consentimiento la analítica que se trata en nombre exclusivo del editor, con datos anónimos, sin cruzarlos con otros tratamientos ni transmitirlos a terceros. Google Analytics transmite a un tercero y permite cruces: en una web española necesita consentimiento. Una analítica sin cookies (Vercel Analytics, Plausible) sí puede caber en la exención, y por eso en nuestras webs va encendida por defecto y Analytics solo tras aceptar.
El dinero no se mide desde el navegador
Segundo caso nuestro, el que más nos costó. En septiembre de 2026 abrimos una tienda online nueva que llevamos: Shopify con la web a medida delante. Diez días después había seis pedidos en Shopify y cero compras, cero productos vistos y cero cestas en Google Analytics. Sin un solo error en ningún sitio. Diez días antes habíamos auditado la medición con cuatro guías y la habíamos dado por buena leyendo el código.
Fallaban dos cosas. La primera: la web escribía en la capa de datos, pero Analytics estaba instalado directo, sin Tag Manager, y la capa de datos solo la lee Tag Manager. Escribir en ella con Analytics directo no manda nada. La segunda, y esta vale para cualquier tienda: el pago ocurría en el dominio de Shopify, y el píxel que Shopify ejecuta en el pago no corre sin consentimiento. España lo exige, la web tenía su propio banner y no se lo pasaba a Shopify, así que el píxel no corría nunca. Las ventas existían; la medición no.
La solución no fue más GTM. Fue mandar la compra desde el servidor: cuando Shopify confirma un pedido, avisa a nuestro sistema (un webhook), y nuestro sistema se la envía a Analytics por su protocolo de medición, con el identificador de sesión que viajó con el carrito solo si el visitante había aceptado la analítica. Un solo camino para la compra. Si hay píxel y servidor a la vez, cuentan dos ventas.
De ahí sale la regla que aplicamos en todos los proyectos: lo que es dinero (pedidos, ingresos, conversiones que alimentan las pujas de Google Ads o de Meta) se mide desde el backend. Lo que es comportamiento (qué páginas, qué botones, hasta dónde bajan) se mide con GTM. Y el panel interno, el área privada y el administrador no se miden: no se manda a Meta lo que hace una clienta dentro de su cuenta.
Server-side: cuándo tiene sentido y cuándo te lo están vendiendo
Server-side GTM es un segundo contenedor en un servidor tuyo: el navegador manda el evento a tu dominio y desde allí se reparte a Analytics, Ads y Meta. Google le atribuye tres ventajas: rendimiento de la página, más control de privacidad y mejor calidad del dato. Las tres son ciertas con matices. Las cookies puestas desde el servidor viven más (Safari recorta a siete días las que pone JavaScript); se recupera parte del tráfico que los bloqueadores tapan; y se pueden filtrar o recortar datos antes de que salgan, que es el argumento de privacidad más sólido.
Lo que no resuelve: no te exime del consentimiento, porque el dato ya ha salido del navegador; no arregla una capa de datos mala; y no es invisible, porque el subdominio se bloquea igual. Y una cosa que rara vez se dice al venderlo: según el registro de versiones oficial, desde julio de 2025 las etiquetas de Floodlight en server-side transmiten peticiones sin consentimiento de servidor a servidor para conversiones modeladas. Hay que saberlo antes de contárselo a un cliente europeo como «mejor para la privacidad».
El alojamiento es lo barato: los propios proveedores lo cifran entre 10 y 25 dólares al mes para decenas de miles de eventos diarios, o gratis hasta diez mil peticiones al mes en los servicios gestionados. Lo caro es el montaje y el mantenimiento, y en eso coinciden hasta quienes lo venden: para una web pequeña y con poca inversión publicitaria, el coste supera la ganancia. Nuestro criterio: server-side solo si el cliente invierte más de unos dos mil euros al mes en publicidad y la atribución le cambia decisiones, si hay una obligación de privacidad concreta que exige recortar datos antes de que salgan, o si hay un problema de rendimiento medido en campo por las etiquetas. Antes de eso, la API de conversiones de Meta desde tu propio backend y la compra medida desde el servidor dan lo que casi todo el mundo busca, sin un contenedor nuevo que mantener.
Cómo comprobar que mide de verdad
Una medición se comprueba en el destino, nunca leyendo el código que la envía. Es la lección de los seis pedidos: el código estaba bien escrito y no llegaba nada. El método, válido para cualquier web, no necesita programar:
- Abre la web en una ventana de incógnito limpia y no toques el banner. En las herramientas del navegador (F12), pestaña Red, filtra por «collect», «facebook», «tiktok» o «clarity». No debe salir ninguna petición de medición. Si aparece, algo dispara sin permiso.
- Rechaza las cookies. Repite. Sigue sin salir nada. Mira también en Aplicación → Almacenamiento: ni _ga, ni _fbp, ni _gcl_au, y tampoco en localStorage.
- Acepta. Ahora sí: busca las peticiones a «collect» y mira el parámetro «en=». Si solo sale «page_view», tu tienda no se mide: faltan «view_item», «add_to_cart», «purchase».
- Recarga. Lo aceptado debe persistir; eso lo guarda tu banner, no GTM.
- Haz el mismo recorrido en producción, no solo en la web de pruebas. Funcionar en desarrollo no es funcionar.
- A la semana, cruza los pedidos reales con las compras que Analytics dice haber visto. Si no cuadran, algo de arriba está roto.
Dos trampas que nos han hecho perder horas. El informe de tiempo real de Analytics marca cero usuarios cuando pruebas en incógnito, porque Chrome bloquea ahí las cookies de terceros aunque la petición llegue; la prueba fiable es ver la petición con estado 204 en la pestaña Red, no el contador. Y las cookies de una visita anterior parecen un fallo del bloqueo cuando solo son residuo: se borran siempre antes de juzgar.
Los errores que más vemos al auditar
- El contenedor cuenta visitas y nadie escribe en la capa de datos: la tienda sabe cuánta gente entra y no cuánta compra.
- Analytics dos veces: uno en el tema y otro dentro de GTM. Las cifras salen dobladas y parecen buenas.
- Banner de cookies con GTM dentro sin configurar: el banner bloquea lo que ve y GTM dispara lo que no ve.
- La etiqueta del banner con el activador «Todas las páginas» en vez de «Inicialización de consentimiento».
- Etiquetas de Meta o TikTok con la casilla de consentimiento «Sin definir»: Consent Mode no las frena.
- La compra medida con un activador sobre la página de «gracias», que se rompe en cuanto el diseño cambia o el pago sale a otro dominio.
- El contenedor cargado con identificador G- o AW- y las etiquetas de terceros muertas desde julio de 2026 sin que nadie lo note.
- Un contenedor sin versiones con nombre ni descripción: nadie sabe qué cambió ni cuándo, y el día que algo deja de medir no hay a dónde volver.
Hacerlo tú o con alguien
Instalar GTM lo puede hacer cualquiera en una tarde, y por eso está en casi todas las webs. Hacer que mida lo que importa, con permiso, y que siga midiendo cuando la web cambie, es otro trabajo: capa de datos escrita por quien hace la web, consentimiento secuenciado antes del contenedor, cada etiqueta de terceros con su requisito, la venta desde el servidor y una comprobación en el destino cada vez que se toca algo. Si tu web la mantiene alguien que publica cambios cada mes, GTM le ahorra despliegues. Si nadie la toca y solo hay una etiqueta, cargar un contenedor para eso es mal negocio: se pone la etiqueta directa y se acabó.
Lo que no conviene es lo intermedio: un contenedor instalado hace tres años por alguien que ya no está, con veinte etiquetas de las que nadie sabe cuáles disparan. Es el estado en el que encontramos la mayoría de las webs que revisamos, y es el que cuesta dinero en las dos direcciones: en lo que se mide de más sin permiso y en lo que no se mide y hace falta.