El mapa de conceptos, sin mezclar capas
| Concepto | Qué es | Qué no es |
|---|---|---|
| Google tag | Una etiqueta que se instala de forma sitewide y puede enviar datos a varios destinos de Google | No es GA4, Google Ads ni un contenedor |
gtag.js | Framework JavaScript que recibe comandos como config y event y los envía a Google | No es una cuenta, un destino ni el contenedor GTM |
| Google Tag Manager | Sistema de gestión para administrar, probar, versionar y publicar tags en contenedores web o server | No es el producto que reporta los datos |
| Contenedor web de GTM | El conjunto de configuración que se carga en el navegador y contiene tags, triggers y variables | No es un ID de medición |
| Contenedor server de GTM | Contenedor que recibe solicitudes mediante clients y ejecuta tags server hacia destinos | No sustituye la captura en el sitio o backend |
| Destino | Producto o configuración que recibe los datos, como GA4, Google Ads o Floodlight | No es sinónimo de tag |
| Data layer | Contrato estructurado de eventos y datos que el sitio expone para que el tagging los consuma | No reemplaza al tag ni envía datos por sí mismo; un dataLayer.push({event: ...}) necesita un listener de GTM u otro código que lo traduzca a gtag('event', ...) |
Los identificadores ayudan a reconocer la capa correcta:
| Prefijo habitual | Qué identifica | Ejemplo de uso |
|---|---|---|
G- | ID de medición de una propiedad web de GA4 | Google tag conectado con GA4 |
AW- | ID de conversión o configuración de Google Ads | Conversión o configuración de Ads |
DC- | Configuración de Floodlight | Actividades de Campaign Manager 360 y sus destinos de GMP |
GTM- | ID de un contenedor de Google Tag Manager | Snippet que carga el contenedor en el sitio |
Los prefijos son una guía, no una razón para copiar cualquier ID en cualquier campo. Si un tag pide un Tag ID, usa el identificador del destino que ese tag debe configurar. GTM-XXXXXXX sirve para cargar el contenedor; no sirve como ID de medición de GA4 ni como ID de conversión de Ads.
El flujo completo: del sitio al destino
El sitio genera el dato y una ruta de tagging por evento/destino lo envía. Si usas GTM web, dataLayer.push({event: ...}) puede activar un trigger. Si usas gtag.js directo, una llamada gtag('event', ...) emite el evento: un objeto arbitrario en dataLayer no se convierte automáticamente en ese comando. Google explica el data layer y su uso por GTM.
Sitio (evento generate_lead)
│
├─ ruta A: gtag('event', ...) con Google tag directo (gtag.js)
│ └─ endpoint Google o endpoint sGTM configurado
│
└─ ruta B: dataLayer.push({ event: 'generate_lead', ... })
└─ GTM web: trigger → tag Google / tag de conversión
└─ endpoint Google o endpoint sGTM configurado
Endpoint sGTM (si se eligió): client → tags server → destinos configurados
El diagrama muestra dos rutas alternativas, no dos emisores que deban convivir para un mismo evento y destino. sGTM es una capa adicional opcional: recibe lo que la ruta elegida le envía y puede reenviarlo a destinos configurados; no obliga a usar GTM web. Ejemplo oficial con gtag.js directo y contenedor server.
El data layer es el contrato del evento
El sitio debe exponer nombres y valores estables, independientemente de que la implementación final sea directa o mediante GTM:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'generate_lead',
lead_id: 'L-10492',
lead_type: 'demo',
value: 1,
currency: 'USD'
});
En GTM, un trigger de evento personalizado escucha generate_lead, y las variables leen lead_id, lead_type y value. En una integración directa, el equipo de desarrollo debe transformar ese contrato en una llamada gtag('event', ...): publicar sólo el objeto en dataLayer no dispara por sí mismo un comando gtag. Lo importante es acordar primero el nombre del evento, sus parámetros y la regla de cuándo ocurre; el tag no debería adivinar datos leyendo el DOM.
El data layer no persiste automáticamente entre páginas. Decláralo antes de cargar el contenedor si GTM necesita valores iniciales, y vuelve a escribir en cada página los datos que sean necesarios para esa vista. Para el detalle de variables, triggers y publicación, consulta la guía de Google Tag Manager.
Ordena tu tagging para que tus datos vuelvan a servir
Revisamos tu relación entre Google tag, GTM, eventos y destinos para definir una fuente de verdad que tu equipo pueda sostener.
- 1
Diagnóstico gratuito de tu stack GMP
Un especialista revisa tu implementación actual (GA4, GTM, DV360, Ads) y te dice qué priorizar primero.
- 2
Plan de acción a medida
Sales de la llamada con next steps concretos para tu cuenta, no con una plantilla genérica.
- 3
Sin compromiso, sin venta forzada
Hablas con un especialista técnico, no con un vendedor. Si no encajamos, te lo decimos.
Respuesta a la brevedad
Ordenar mi arquitectura de tagging
Completa el form y coordinamos una asesoría sobre tu caso.
Cargando el formulario seguro de HubSpot…
No pudimos cargar el formulario. Puedes escribirnos a hola@leadaki.com .
Este formulario lo provee HubSpot y los datos que envíes se procesan allí. Consulta nuestra política de privacidad .
Sin compromiso · Google Marketing Platform Sales Partner
Ruta A: Google tag directo con gtag.js
Esta ruta agrega el framework de Google al código del sitio. Es adecuada cuando la medición es simple, el equipo de desarrollo controla los cambios y los destinos son principalmente productos de Google.
El patrón mínimo para una propiedad de GA4 es:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
G-XXXXXXXXXX es un ejemplo de ID de destino, no un valor para copiar literalmente. La configuración debe quedar en la plantilla o mecanismo sitewide del sitio, no sólo en la home. Las cuentas de Google pueden mostrar configuraciones adicionales según el producto y los destinos vinculados; sigue el código que genera la interfaz y documenta qué envía cada comando.
Para un evento de negocio, la implementación directa requiere que el equipo de desarrollo escriba la llamada y mantenga sus parámetros:
gtag('event', 'generate_lead', {
lead_type: 'demo',
value: 1,
currency: 'USD'
});
Ventajas: menos piezas, buen encaje con un sitio pequeño y cambios controlados por código. Límites: cada modificación requiere un deploy, los tags de terceros no entran en el mismo modelo y la gobernanza depende del repositorio y del proceso de desarrollo.
Ruta B: Google tag administrado por GTM
En esta ruta instalas los dos snippets del contenedor web de GTM una sola vez. A partir de ahí, el equipo administra el Google tag desde la interfaz de Tag Manager:
- Crea o identifica el contenedor web que corresponde al sitio.
- Instala su ID
GTM-XXXXXXXen todas las páginas según la documentación de instalación de GTM. - Dentro del contenedor, crea un Google tag e indica el ID del destino que debe recibir la configuración.
- Usa el activador de todas las páginas sólo para la configuración sitewide; reserva los eventos y conversiones para triggers específicos del data layer.
- Prueba en Vista previa, crea una versión con una nota clara y publica sólo después de validar.
GTM puede administrar el Google tag y además tags de eventos, conversiones, Floodlight o terceros. Esa flexibilidad no cambia la responsabilidad de la base: el contenedor debe tener un único emisor para cada configuración y una convención de nombres que permita auditarlo.
Ventajas: workspaces, permisos, versionado, Preview, integración con el data layer y despliegue de tags de terceros o personalizados. Límites: agrega una capa de operación que hay que gobernar y no evita que una mala configuración duplique eventos o envíe datos sin consentimiento.
¿Cuál ruta elegir?
| Si tu situación es… | Ruta que suele encajar | Motivo |
|---|---|---|
| Sitio simple, pocos destinos de Google y cambios poco frecuentes | Google tag directo con gtag.js | Menos superficie operativa y cambios dentro del ciclo de código |
| Varios equipos, una agencia o necesidad de aprobaciones y rollback | Google tag dentro de GTM | Workspaces, permisos, historial y versiones publicables |
| Tags de terceros, Floodlight, píxeles o lógica por eventos | GTM | Un mismo contenedor administra tags, triggers y variables |
| Data layer ya definido y eventos que deben reutilizarse | GTM o una integración directa bien documentada | Las dos rutas pueden consumir el contrato; GTM reduce cambios de código |
| Plan de pasar a server-side tagging | gtag.js directo o GTM web + contenedor server | Ambos pueden enviar al endpoint server; GTM web no es requisito. Ejemplo de Google |
| CMS que no permite instalar un contenedor | Google tag o integración nativa del CMS | La plataforma puede soportar el snippet directo aunque no soporte GTM |
No hay una ventaja de medición por usar GTM automáticamente. La calidad depende de la cobertura sitewide, los eventos, el consentimiento y la validación. GTM aporta control operativo; no convierte por sí solo un tagging incompleto en uno correcto.
Migrar una implementación existente sin perder datos
La migración segura no empieza pegando otro snippet. Empieza haciendo un inventario de lo que ya dispara:
- Haz inventario de los emisores actuales. Busca snippets de
gtag.js, contenedoresGTM-, tags de Google, plugins del CMS, scripts hardcodeados y configuraciones duplicadas en plantillas. - Haz un mapa de destinos. Para cada
G-,AW-yDC-, anota qué producto recibe datos, qué eventos espera y cuál es hoy su único emisor. - Elige la ruta canónica. Decide si cada destino quedará directo o dentro de GTM. No mantengas dos implementaciones sólo porque ambas parecen funcionar.
- Define el contrato del data layer. Alinea nombres de eventos, parámetros, tipos y reglas de negocio con desarrollo, analítica y medios.
- Ordena consentimiento antes de enviar. El estado por defecto de Consent Mode v2 debe estar disponible antes de cualquier comando o tag que envíe datos; su actualización llega cuando el usuario decide.
- Prueba sin doble envío de producción. Replica la nueva configuración en staging, con propiedad/acción de prueba o eventos segregados que no alimenten conversiones reales ni pujas. No actives a la vez las dos rutas hacia el mismo destino productivo para comparar.
- Cambia la ruta de forma coordinada. Desactiva el emisor anterior al activar el nuevo para cada evento/destino; comprueba en Preview y Tag Assistant el disparo, parámetros y requests. Si interviene sGTM, revisa también client, evento y request saliente en Preview server. Verifica recepción en los destinos de prueba y luego observa producción sin duplicar conversiones.
- Documenta la versión y monitorea. Registra qué se cambió, qué IDs se probaron, quién aprobó y qué métrica de paridad se seguirá durante los días posteriores.
La paridad no significa que todos los destinos deban recibir exactamente los mismos campos: significa que el evento de negocio que corresponde a cada destino llega una vez, con el identificador, valor y consentimiento que ese destino requiere. Compara métricas agregadas antes/después sólo como monitoreo, no como permiso para dejar dos emisores productivos activos.
Controles antes de publicar
Un emisor por destino
Para cada destino, responde tres preguntas:
- ¿Qué implementación lo envía:
gtag.jsdirecto o GTM? - ¿Qué evento o configuración dispara el envío?
- ¿Dónde puedo comprobar que ocurrió una sola vez?
Una implementación puede tener un Google tag sitewide y tags de evento adicionales en GTM. Lo que no debe tener es el mismo Google tag sitewide cargado desde el código y desde GTM al mismo tiempo, ni la misma conversión disparada por un trigger de todas las páginas y por el evento real.
Eventos desde el data layer
Un evento como purchase o generate_lead debe ocurrir cuando sucede la acción de negocio, no cuando una URL contiene una palabra o cuando un usuario aterriza en cualquier página. Usa un ID de transacción o de lead para deduplicar donde el destino lo soporte, y evita leer valores críticos desde el texto visible de la página.
Consentimiento antes de la medición
La integración entre Google tag y GTM no decide la política de consentimiento. Los tags tienen que respetar el estado que comunica tu banner o CMP. Consulta la guía de Consent Mode v2 para el orden de implementación y la diferencia entre modo básico y avanzado.
Preview, Tag Assistant y Tag Diagnostics
- Preview de GTM: qué tag disparó, con qué trigger y qué variables tenía en ese momento.
- Tag Assistant: qué etiquetas detecta la sesión y si hay una instalación duplicada o incompleta.
- Tag Diagnostics: problemas de cobertura, configuración, consentimiento o calidad del Google tag en producción.
- Destino: DebugView de GA4, diagnóstico de conversiones de Google Ads y reportes de Floodlight deben confirmar que el evento llegó con la semántica esperada.
- Si hay sGTM: en Preview server, comprueba request entrante, client que lo reclama, evento, tags disparados, request saliente y respuesta; no basta ver un
dataLayer.pusho el disparo del tag web. Depuración oficial.
Una prueba en un navegador no reemplaza la observación posterior al deploy. Revisa también el primer ciclo real de conversiones y compara con la línea de base, teniendo en cuenta que los reportes de cada producto tienen ventanas y criterios propios.
Errores que producen doble medición o datos incompletos
| Error | Qué ocurre | Corrección |
|---|---|---|
| Google tag directo y Google tag en GTM para el mismo destino | Dos inicializaciones y, con frecuencia, dos page_view | Elige una vía y elimina la otra |
Confundir GTM- con G-, AW- o DC- | El contenedor carga, pero el destino no queda configurado | Usa el ID que corresponde al campo y producto |
| Tag de conversión con trigger de todas las páginas | Una visita se cuenta como conversión | Dispara desde el evento de negocio del data layer |
| Evento hardcodeado y evento de GTM para la misma acción | El mismo lead o compra llega dos veces | Define un único emisor y conserva un ID para deduplicar |
dataLayer.push después de que el tag ya se ejecutó | La variable llega vacía o con un valor anterior | Publica el estado inicial antes del contenedor y el evento en el momento correcto |
| Consent Mode se configura después del primer envío | Parte del tráfico se mide con un estado incorrecto | Define el estado por defecto antes de tags y comandos de medición |
| Se publica sin Preview ni versión documentada | El error llega a producción sin rollback claro | Prueba, anota, crea versión y publica con aprobación |
| Se migra sin retirar el snippet anterior | Ambas rutas parecen “activas” y no hay una fuente de verdad | Haz inventario y comprueba la red, el source y el contenedor publicado |
Qué queda fuera de esta integración
El Google tag y GTM son la base de captura y gestión, no toda la arquitectura de medición:
- GA4 recibe y analiza eventos; GTM no reemplaza la propiedad ni define por sí solo el modelo de negocio.
- Consent Mode v2 comunica decisiones de consentimiento y habilita comportamientos de medición compatibles con ellas.
- Enhanced Conversions agrega una señal first-party hasheada a conversiones elegibles; no corrige un evento duplicado.
- Server-side tagging suma un contenedor de servidor para procesar y reenviar solicitudes; necesita una fuente configurada (GTM web,
gtag.jsdirecto, app o backend), pero no obliga a instalar GTM web. - Google Tag Gateway mejora el transporte y la forma de servir el tag desde infraestructura first-party; no reemplaza GTM ni ordena los triggers.
Estas capas pueden combinarse, pero conviene agregarlas en ese orden mental: primero una señal sitewide única y comprensible; después consentimiento, calidad de eventos, transporte o procesamiento adicional.
Próximo paso
Si tu operación tiene varios snippets, destinos o equipos tocando el tagging, el problema no suele ser sumar otra etiqueta sino definir una fuente de verdad y recuperar control sobre la señal. En Leadaki podemos ordenar tu arquitectura de Google tag, GTM, eventos y conversiones para que tu equipo pueda mantenerla y tus plataformas reciban datos confiables.
Empieza con la auditoría de tagging y Consent Mode para detectar duplicados y brechas, o revisa la implementación y arquitectura de datos si necesitas convertir el diagnóstico en un plan de trabajo.