
Un trigger — o activador, como lo llama GTM en español — define cuándo se dispara una etiqueta. El clic y el pageview son los más básicos. Pero hay comportamientos que no puedes medir con ellos: si el usuario ha visto un elemento concreto, cuánto ha leído, cuánto tiempo ha estado en la página, si ha navegado en una aplicación sin recargar.
Esta guía cubre los seis triggers que necesitas en una implementación web profesional, ordenados por uso real: los que vas a usar en casi todos los proyectos primero, los más específicos después.
Evento personalizado — el más potente
El trigger de Evento personalizado se activa cuando el dataLayer recibe un push con un campo event específico. Es el trigger que conecta tu código con GTM y el que más vas a usar en implementaciones serias.
No confundir con eventos nativos del DOM: este trigger no escucha clics ni scrolls directamente. Escucha el objeto dataLayer — lo que tu web empuja con dataLayer.push({ event: 'nombre' }).
Configuración
En GTM: Activadores → Nuevo → Evento personalizado.
Define el nombre del evento exactamente igual al string que usas en el push. Es case-sensitive: purchase y Purchase son distintos y no funcionará si no coinciden.
Puedes usar expresiones regulares para capturar varios eventos con el mismo patrón. Por ejemplo, video_.* captura video_play, video_pause y video_complete con un solo trigger.
Cuándo usarlo
Eventos de ecommerce: todos los eventos del funnel — view_item, add_to_cart, begin_checkout, purchase — se implementan con este trigger. El desarrollador empuja el evento al dataLayer en el momento correcto y GTM lo recoge.
Formularios AJAX: cuando el formulario se envía sin recargar la página, el trigger nativo de envío de formulario puede fallar. La solución robusta es pedir al desarrollador que empuje un evento al dataLayer cuando el envío sea exitoso:
javascript
dataLayer.push({
'event': 'form_submit_success',
'form_id': 'contacto',
'form_type': 'lead'
});
Interacciones con componentes de la UI: accordions, sliders, modales, reproductores de vídeo — cualquier interacción que no genera un clic estándar.
Estado de autenticación: cuando el usuario inicia sesión, el código empuja { event: 'login', user_id: 'xxx' } y GTM lo recoge para configurar el user_id en GA4.
Consejo clave
Define una nomenclatura de eventos con el equipo de desarrollo antes de empezar. Documéntala en un tracking plan. Un nombre inconsistente entre el push del desarrollador y el trigger de GTM es el error más habitual — y el más fácil de evitar.
Clic con condiciones avanzadas — el más usado en el día a día
El trigger de Clic es el más frecuente en implementaciones reales. La versión básica captura todos los clics de la página — útil para depurar, pero demasiado genérica para producción. La versión avanzada usa condiciones para dispararse solo en el elemento exacto que te interesa.
Tipos de trigger de clic
GTM tiene dos variantes:
- Clic — Solo enlaces: para elementos
<a>. Incluye la variable{{Click URL}}. - Clic — Todos los elementos: para cualquier elemento HTML, incluyendo
<button>,<div>,<span>.
Las variables de clic
Antes de configurar las condiciones, activa las variables integradas de clic en GTM (Variables → Variables integradas → Configurar):
{{Click ID}}— el atributoiddel elemento clicado.{{Click Classes}}— las clases CSS del elemento.{{Click Text}}— el texto visible del elemento.{{Click URL}}— la URL de destino (solo en enlaces).{{Click Element}}— el elemento DOM completo.
Configurar condiciones precisas
Con las variables activadas, añade condiciones al trigger:
Por texto: Click Text equals "Solicitar presupuesto" — preciso si el texto es único en la página.
Por clase CSS: Click Classes contains "cta-primary" — útil cuando tienes varios CTAs con la misma clase y quieres capturarlos todos.
Por ID: Click ID equals "btn-contacto" — el más preciso. Si el elemento tiene ID, úsalo.
Combinando condiciones: Click Classes contains "cta" AND {{Page Path}} contains "/servicios/" — solo los CTAs de la página de servicios.
El problema del bubbling
Cuando haces clic en un elemento hijo (por ejemplo, el icono dentro de un botón), el evento sube por el DOM hasta el padre. GTM puede registrar el clic en el icono en lugar de en el botón. Solución: usa Click Element matches CSS selector "button.cta-principal" en lugar de Click Text — el selector CSS evalúa el elemento y todos sus padres.
Cómo verificar qué elemento está capturando GTM
Activa el modo Vista Previa de GTM, navega a la página y haz clic en el elemento. Tag Assistant te mostrará exactamente qué variables tienen valor en ese clic — Click ID, Click Text, Click Classes — y podrás configurar la condición correcta.
Visibilidad de elemento — saber si el usuario ha visto algo
El trigger de Visibilidad del elemento se activa cuando un elemento HTML específico entra en el viewport del usuario.
Configuración
En GTM: Activadores → Nuevo → Visibilidad del elemento.
- Método de selección: ID del elemento o selector CSS. Usa selector CSS cuando el elemento no tiene ID — que es lo más habitual. Ejemplos:
.form-contacto,[data-tracking="cta"],#seccion-precios. - Cuándo disparar: Primera vez que aparece (lo más habitual) o cada vez.
- Porcentaje mínimo visible: qué porcentaje del elemento debe estar en pantalla. El 50% es un buen punto de partida.
- Tiempo mínimo en pantalla: evita disparos accidentales por scroll rápido. 1.000ms es razonable.
- Observar cambios en el DOM: actívalo si el elemento se carga dinámicamente — componentes React, contenido lazy, modales.
Cuándo usarlo
Medir impresiones de CTA: ¿cuántos usuarios ven tu botón de contacto aunque no hagan clic? El ratio clics/impresiones te dice si el problema es de visibilidad o de mensaje.
Rastrear visibilidad de formularios: si un formulario tiene baja tasa de conversión, lo primero es saber si los usuarios lo están viendo. Si el 80% lo ve y el 2% lo rellena, el problema es el formulario. Si solo el 20% lo ve, el problema es la posición.
Medir exposición a contenido clave: secciones de pricing, testimonios, garantías — cualquier elemento cuya visibilidad quieras cuantificar.
Scroll Depth — medir cuánto lee el usuario
El trigger de Profundidad de desplazamiento se activa cuando el usuario hace scroll hasta un porcentaje determinado de la página.
Configuración
En GTM: Activadores → Nuevo → Profundidad de desplazamiento.
- Porcentajes: define los umbrales — 25, 50, 75, 90. GTM dispara el trigger cada vez que el usuario alcanza uno.
- Una vez por evento: márcalo siempre. Sin él puede dispararse varias veces.
- Condición de página: limítalo a las páginas que te interesan. En un blog, solo en
/blog/. Sin condición se dispara en todas las páginas, incluyendo las que son demasiado cortas para tener scroll significativo.
Cuándo usarlo
Medir engagement de contenido: el scroll al 75% o 90% es un indicador fiable de que el usuario ha leído el artículo. Más útil que el tiempo en página, que puede ser pasivo.
Calificar visitas: una visita al 50% de scroll es cualitativamente diferente de un rebote al 5%. Úsalo como señal de audiencia en GA4.
Variable útil
{{Scroll Depth Threshold}} — el porcentaje exacto alcanzado. Envíalo como parámetro del evento en GA4 para saber hasta dónde llegó cada usuario.
Temporizador — medir tiempo de permanencia
El trigger de Temporizador se activa automáticamente después de un intervalo de tiempo mientras el usuario está en la página.
Configuración
En GTM: Activadores → Nuevo → Temporizador.
- Intervalo: en milisegundos. 30.000 = 30 segundos.
- Límite: número máximo de disparos. Intervalo 30.000 + límite 3 = dispara a los 30s, 60s y 90s.
- Condición de página: añádela siempre. Sin ella, el temporizador se activa en todas las páginas.
Cuándo usarlo
Detectar usuarios de alta intención: en páginas de producto o servicio, un usuario que pasa más de 2 minutos tiene una intención diferente. Úsalo como señal de audiencia en GA4.
Medir engagement en páginas sin scroll: herramientas, calculadoras, configuradores. El temporizador puede ser la única señal de engagement disponible.
Limitación importante
El temporizador cuenta tiempo de página, no tiempo de atención real. Si el usuario abre otra pestaña, el temporizador sigue corriendo.
Cambio de historial — medir navegación en SPAs
El trigger de Cambio de historial es imprescindible para aplicaciones que no hacen carga de página completa — cualquier SPA construida con React, Vue, Angular o similar.
Por qué existe
En una web tradicional, cada navegación carga una nueva página y GTM registra un pageview. En una SPA, la URL cambia y el contenido se actualiza sin recargar el documento. Sin este trigger, GTM no detecta esas navegaciones y GA4 solo ve la página inicial.
Configuración
En GTM: Activadores → Nuevo → Cambio de historial. No necesita configuración adicional.
Lo importante: crea una etiqueta de GA4 Pageview separada para este trigger — no la combines con la etiqueta de All Pages o duplicarás el primer pageview.
Combinar triggers y añadir excepciones
GTM permite añadir condiciones a cualquier trigger para hacerlo más preciso y triggers de excepción para evitar disparos no deseados.
Condiciones: un trigger de scroll al 75% que solo se activa en /blog/. Un trigger de clic que solo funciona en la página de servicios. Cuanto más específico, más limpios los datos.
Excepciones: si una etiqueta debe dispararse en todas las páginas excepto en las de administración, añades un trigger de excepción. Más limpio que añadir condiciones negativas a cada trigger.
Errores habituales con triggers avanzados
Clic que captura el elemento hijo en lugar del padre: usa selector CSS en lugar de Click Text para evaluar el elemento y sus padres correctamente.
Visibilidad que no encuentra el elemento: si el elemento se carga dinámicamente, activa «Observar cambios en el DOM».
Scroll depth en páginas cortas: limita siempre el trigger a las páginas donde tiene sentido medir scroll.
Historial que duplica el primer pageview: separa las etiquetas de All Pages y de Cambio de Historial.
Evento personalizado con nombre inconsistente: los nombres son case-sensitive. Define una nomenclatura, documéntala y compártela con desarrollo antes de empezar.
Formulario AJAX con trigger nativo: usa evento personalizado desde el dataLayer en lugar del trigger de envío de formulario.
Preguntas frecuentes sobre triggers avanzados en GTM
¿Puedo combinar varios triggers para una misma etiqueta en GTM?
Sí. Una etiqueta puede tener múltiples triggers — se dispara cuando cualquiera de ellos se activa. Útil cuando quieres registrar engagement tanto por scroll como por tiempo de permanencia.
¿El trigger de clic y el de evento personalizado son lo mismo?
No. El trigger de clic escucha eventos nativos del DOM (click). El de evento personalizado escucha el objeto dataLayer. Son mecanismos distintos — el primero captura interacciones del navegador, el segundo captura lo que tu aplicación decide comunicar explícitamente.
¿El trigger de visibilidad funciona con elementos que se cargan dinámicamente?
Sí, si activas «Observar cambios en el DOM». Sin esta opción, GTM solo evalúa los elementos presentes en la carga inicial de la página.
¿El temporizador de GTM se pausa cuando el usuario cambia de pestaña?
No. Sigue corriendo aunque el usuario minimice la ventana o cambie de pestaña. No mide atención real, mide tiempo de página.
¿Cómo sé qué variables tiene disponibles un clic antes de configurar el trigger?
Activa el modo Vista Previa de GTM, navega a la página, haz clic en el elemento y revisa Tag Assistant. Te muestra exactamente qué valores tienen Click ID, Click Text, Click Classes y el resto de variables en ese clic concreto.
Conclusión
Los activadores avanzados son lo que convierte GTM en una herramienta de medición de comportamiento real. El evento personalizado y el clic con condiciones son los que más vas a usar. La visibilidad de elemento es la más infrautilizada y una de las más valiosas. El scroll depth, el temporizador y el historial cubren casos específicos pero importantes.
La clave está en elegir el activador correcto para cada caso, añadir condiciones para que los datos sean precisos y verificar siempre en modo Vista Previa antes de publicar.
Para ver cómo conectar estos activadores con variables que capturen datos dinámicos, revisa la guía de variables en GTM y la de dataLayer.
¿Tienes GTM implementado pero no sabes si tus activadores están midiendo lo correcto? Escríbeme y lo revisamos.