Guía: Activadores Google Tag Manager
Index: Todo lo que necesitas saber sobre Triggers en GTM
- Qué es un activador de Tag Manager y para qué sirve
- Cómo crear un activador en Google Tag Manager
- Activadores de Evento Automático
- Activadores de Eventos Personalizado
- Importante: Sobre los activadores y la relación entre ellos
- Configuración avanzada de activación dentro de las propias Etiquetas de Google Tag Manager
Qué es un activador o trigger y para qué sirve
Los Activadores de Google Tag Manager son las condiciones que hacen que se activen las etiquetas en diferentes partes del sitio web o eventos clave, en donde nosotros decidamos y cuando nosotros decidamos. Por tanto, las etiquetas se dispararán (o no) si se cumplen los activadores de cada una de ellas. Cada etiqueta ha de tener como mínimo un activador o trigger para que se ejecute.
Por otro lado, los triggers o activadores también pueden definirse como “Excepciones” o reglas de bloqueo, en cuyo caso, si se cumplen las condiciones del activador, lo que conseguiremos es que no se ejecute la etiqueta. Por ej. podríamos seleccionar el trigger All Pages y crear excepciones donde no queremos que salte la etiqueta.
*All Pages es el único activador por defecto en GTM y hará que la etiqueta se active en todas las páginas que tengan el snippet de código de Tag Manager insertado (y el contenedor publicado). Es el que usaremos para trackings de Google Analytics, Hotjar, píxeles de remarketing, etc.
**Para poder generar una excepción debemos haber seleccionado previamente sí o sí un activador o más. Si no, no tiene sentido.
Cada activador está compuesto como mínimo por un evento (que indica cuándo queremos activar), más opcionalmente, por una condición o varias (que limitan el evento a los casos concretos donde queremos que se active la etiqueta)
Las condiciones, a sus vez, están formadas cada una por una variable de GTM que comparamos con un valor.
*Y adicionalmente vemos que algunos activadores tienen configuraciones adicionales, ahora ahondaremos…
Cómo crear un activador o trigger en Google Tag Manager
Podemos crearlos como atajo y con ciertas simplificaciones desde la propia interfaz de creación de la etiqueta. Pero también tienen su menú exclusivo: Activadores, con unas opciones de configuración más completas.
Desde la interfaz de creación de etiqueta pinchando en Más / Nuevo también podemos llegar al mismo sitio:
Si vamos de cualquiera de las dos formas a la opción más completa, lo primero al crear un activador es seleccionar el tipo de evento, en función de esto la configuración podrá ser diferente:
Después la configuración de cada tipo de activador será diferente en función del evento seleccionado. Vamos por partes:
Activadores de evento automático
En este tipo de activadores son los más usados frecuentemente y se basan en eventos automatizados de GTM. Estos eventos ya se han “estandarizado” y están disponibles para todo el mundo, incluidos dentro de la programación del propio Google Tag Manager para que podamos usarlos sin tener unos conocimientos de desarrollos muy altos. Una de las grandes ventajas de usar Google Tag Manager es precisamente que podemos medir y activar códigos y etiquetas en eventos de tipo:
- página vista (activar por reglas de página, de toda la vida)
- clic en enlaces (ejemplos: descargas PDF, enlaces externos, enlaces clave puntuales, etc.)
- clic en elementos (en buttons por ej.)
- formularios (algunos tipos solo)
- temporizadores (lanzar una etiqueta al pasar X segundos)
- errores JS (enviar a Google Analytics los errores de JavaScript)
- cambios de historial (para detectar la navegación del usuario sin cambios de URL)
Y normalmente podremos hacerlo sin añadir nada de código adicional en la página (salvo algún identificador ID o Class), solo con las lógicas de activación y las variables existentes, y las que pueden ser creadas en Google Tag Manager.
Activador de evento Page View o Página vista
Está basado en la carga de una URL concreta o varias. Lo más común para cargar etiquetas sencillas de conversión es que usemos el evento Page View o Página vista.
Si configuramos el activador desde el menú Activadores o desde “More/New“, encontramos que tenemos tres eventos de activación diferentes en la carga de página: gtm.js (cuando comienza la carga – Page View o Página Vista -), gtm.dom (cuando se ha cargado el HTML – DOM Ready o DOM Preparado -) y gtm.load (cuando se han cargado también todos los archivos externos – Window Loaded o La ventana se ha cargado -). Estos tres eventos se envían siempre en la dataLayer inicial de carga de página de GTM:
Cuando seleccionamos desde este menú se activará en la opción por defecto: Page View.
Debemos decidir si la etiqueta se activa en todas las cargas de página o solo en algunas de ellas.
Al seleccionar algunas páginas, aparecerán los filtros o condiciones:
Para entender las condiciones y poder marcar convenientemente en qué página o páginas concretas activar una etiqueta, nos serviremos de las variables predefinidas de tipo página (que deberemos activar previamente en el menú Variables), y también de variables personalizadas que podemos crear a nuestro antojo. Pero empecemos por lo más sencillo, éstas son las variables de página predeterminadas:
- Page URL: Para crear comparaciones con la URL completa de página
- Page Hostname: Para comparar con el nombre de dominio únicamente.
- Page Path: Para comparar con la ruta o path (lo que va tras el hostname.com, desde la barra)
- Referrer: Para filtrar por la página anterior desde la que se llegó. Por ej. para activar una etiqueta solo si el tráfico vino de AdWords.
¡Ojo! Si seleccionamos Algunas páginas desde la interfaz de creación de la Etiqueta nos saldrá una configuración más sencilla y solo para el evento estándar de Page View, momento de carga: Página Vista.
Activador de evento Clic y Clic en Enlaces
También podemos cargar etiquetas de seguimiento o de HTML personalizado al hacer clic en elementos o enlaces. Al elegir esta opción, tenemos primero que decidir entre clics Solo en enlaces / Just Links (<a href>…) o en Todos los elementos / All Elements (cualquier etiqueta <html>).
A continuación decidiremos si lanzar en cualquier clic o en alguno/s concreto/s (opción más normal).
Al seleccionar Algunos clics, aparecerán los filtros o condiciones. ¡OJO! Para crear filtros de clics, primero hemos de ir a Variables y activar las variables predefinidas de clic (Click ID, Classes, Element, Text). También podemos crear personalizadas.
En caso de elegir Segmentación: Clic en enlaces tenemos un paso adicional (antes de las condiciones) para configurar el activador que se llama Habilitar cuando / Enable when:
*Por lo general, dejamos que mida clic en enlaces en Todas las Páginas (expresión regular .* ).
Este campo SOLO para filtros de página.
Activador de evento ‘Envío de Formulario’
Teóricamente este activador debería servir para activar una etiqueta al enviarse correctamente un formulario. La configuración es parecida a la de Clic. Hemos de decidir primero si queremos medir todos los formularios o solo algunos.
Campos de configuración adicional:
- Comprobar validación / Check Validation: Si hay alguna operación Javascript previa unida al formulario (operaciones de validación), las ejecuta antes y, si dan error, el activador no se cumple. No funciona en muchos casos, como por ejemplo con los formularios que utilizan AJAX o validación del lado del servidor. Este trigger de evento de GTM es bastante limitado.
- Esperar por las etiquetas / Wait for Tags: Espera a que se carguen el resto de etiquetas, o un tope de 2 segundos, antes de ejecutar el envío del formulario.
En la vida real, en la mayoría de los casos, recurriremos a eventos personalizados para trackear los envíos correctos de formularios. Puedes hacer la prueba con los formularios de tu página. Y si no, mandar la dataLayer, como os contamos en este otra artículo sobre Google Tag Manager y WordPress. Si utilizas el contact Form 7, ¡estás de suerte! Ahí te damos la solución.
Activador de evento Temporizador / Timer en Google Tag Manager
Podemos medir, contar y mandar eventos. Válido para personalizar la tasa de rebote, lanzar llamadas a la acción, formularios, encuestas… Muy sencillo de configurar, solo necesitamos un nombre de evento, el número de milisegundos y cuántas veces queremos que se ejecute el timer. Por ej. para crear un activador de temporizador a los 30 segundos de la carga de página:
Configuramos 30.000 milisegundos y límite 1 para que no se esté repitiendo el conteo periódicamente, sino solo 1 vez.
Activadores de evento Error de JavaScript
Muy sencillo. Un detector de errores de código JS. Si quieres un ejemplo, prueba a activar el código de ejemplo y la etiqueta del artículo: simoahava.com/analytics/fun-with-google-tag-manager-part-1. Verás que es fácil 🙂
Básicamente trataría de configurar una etiqueta de evento de Google Analytics con la que poder recopilar estos errores, siguiendo de nuevo a Simo y perfeccionando a nuestro gusto la definición de los campos de evento, podríamos hacerlo así:
– En Categoría de evento tendríamos nuestra categoría de Errores genérica.
– En Acción el tipo de Error concreto: Error JS.
– En Etiqueta la info del error desglosada: {{Error URL}} – {{Error Message}} – {{Error Line}}.
– En Valor si queremos podemos poner algo… pero al no poder usarse enteros negativos, no le veo mucho sentido.
– Fundamental: Evento sin interacción / Non-Interaction Hit – True -> para no generar hits con los errores que nos puedan distorsionar la tasa de rebote.
https://support.google.com/analytics/answer/1033068#Anatomy
Activador de evento Cambio de Historial
Para seguir la navegación HTML5 y AJAX en una página sin cambios de URL, para ello activamos las variables y etiquetas del siguiente post: simoahava.com/analytics/google-tag-manager-history-listener.
Queda pendiente un post actualizado sobre este tema para un futuro…
Activadores de Evento Personalizado en Google Tag Manager
Permiten crear un nuevo activador a medida, para cuando no funcionan los eventos automáticos. Los utilizamos para enviar acciones a mano con dataLayer, por ej. para Formularos AJAX, interacciones con formularios, tracking de erroes en procesos de compra / registro / login…
Si queremos, podemos mandar valores asociados como parámetros de evento o dimensiones personalizadas, aprovechando la misma dataLayer. Es más, visto desde la otra dirección: siempre que queramos mandar valores personalizados en una dataLayer es aconsejable no está de más, mandar también un evento personalizado, así tendremos un punto concreto a partir del cual podremos disponer de esos valores y donde podremos activar etiquetas en un futuro.
Código de dataLayer de ejemplo y cómo crear un activador basado en un evento personalizado que enviamos por dataLayer:
<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'myCustomEvent',
'eventAction': 'eventData',
'productID': 'A345789',
'language': 'es'
});
</script>
Importante: Sobre los activadores y la relación entre ellos
1. Activador VS Excepción/Bloqueo: Cómo crear una excepción en una etiqueta
Los triggers pueden ser de activación o de bloqueo (excepciones).
Para crear una excepción o trigger de bloqueo, primero hemos de seleccionar algún activador para la etiqueta:
El proceso de creación es idéntico al de cualquier trigger.
Si una etiqueta tiene activadores y excepciones (triggers de activación y bloqueo) sus condiciones “se suman” entre sí. Es decir, han de cumplirse las condiciones de inclusión y las de bloqueo a la vez, para que se active la etiqueta.
– En bbb.com/gracias/ se activará la etiqueta
– Pero no se activará en aaa.com/gracias/
Por otro lado, el bloqueo tendría prioridad sobre la activación, si es que entran en conflicto triggers de distinto tipo. Ejemplo: incluir en URI “/contacto/gracias/” (inclusión), excepto si la URI contiene “/gracias/” (bloqueo), el trigger de bloqueo “ganaría” y se bloquearía la etiqueta en ese caso.
2. Varios Activadores frente a varias Condiciones: Activador VS Condición
Se pueden definir diferentes activadores o triggers para una misma etiqueta.
En caso de tener más de un trigger de activación/bloqueo para la misma etiqueta, entre sí son opcionales/alternativos. Es decir, si se cumple uno o se cumple el otro, se activa/bloquea la etiqueta en consecuencia.
Un ejemplo de 2 activadores conflictivos, y una curiosidad sobre cómo evitar rebote 0 en Google Analytics:
En este caso, hemos definido dos activadores separados, uno de tipo Pageview (All Pages: el único activador creado por defecto en GTM, pero que si tuviésemos que definir sería como en el pantallazo izquierdo de abajo) y otro de tipo DOM, con lo que se genera un rebote 0% en Google Analytics, porque el código de la etiqueta se carga dos veces y en dos eventos distintos** (dos páginas vistas en cada URL = rebote 0%); como cuando está dos veces repetido el mismo UA- en una página web.
Insistimos, con dos activadores separados, estamos diciendo que se ejecute la etiqueta CUANDO se visualice una página por completo (evento gtm.dom), O CUANDO se empiece a cargar la página (evento gtm.js), una cosa O la otra. Y como dijimos antes, los eventos gtm.js -> gtm.dom -> gtm.load, van en secuencia y se producen en todas las cargas de página uno tras otro. Por tanto, la etiqueta en cuestión se cargará 2 veces, es decir: gtm.js (1a vez) -> gtm.dom (2a vez) -> gtm.load
Conclusión importante: no confundir el trigger All Pages (todas las páginas en evento Pageview o gtm.js), con la condición todas las páginas – por ej. {{Page URL}} regEx .* – que pondremos en muchas etiquetas. Son cosas totalmente diferentes. Una es un activador completo con su momento de activación “Página vista” o “Pageview” y lo otro es una condición que puede ir en cualquier activador y puede ir unida a cualquier otro evento.
**IMPORTANTE: Eventos distintos** >>solo una matización y vuelta de tuerca más: si ponemos 2 activadores alternativos a la vez pero que hacen referencia al mismo evento (ej. un activador con condición de {{Click Classes}} y otro con condición de {{Click ID}} para el mismo evento Click – gtm.click -) esto no hará saltar 2 veces la etiqueta, es la única excepción y un caso bastante avanzado.
3. Varias Condiciones dentro de un Activador (ejemplos)
Sin embargo, si tenemos varias condiciones dentro de un mismo Activador, deben cumplirse simultáneamente para que se dispare la etiqueta (como cuando arriba en el punto 1) “sumábamos” condiciones de activación y bloqueo).
Fire this trigger when all of these conditions are true
Como vemos arriba, dentro de un mismo activador, pueden existir diferentes condiciones, las cuales siempre han de cumplirse a la vez, para que el trigger active/bloquee la etiqueta.
Ejemplo 1:
Resultado:
– haciendo clic en <button action=”/buy-product-872.php”>Buy now!</button> se activará
– haciendo clic en <button action=”/buy-next-week.php”>Buy next week</button>NO se activará
Ejemplo 2:
- en mydomainname.com/uoipjasfjaf se activará.
- en anotherdomainname.com no se activará.
Configuración avanzada de activación dentro de las propias etiquetas de Tag Manager
Hay ciertos aspectos que están dentro de la configuración avanzada de todas las etiquetas de Google Tag Manager que afectan en la activación de éstas con independencia de los triggers o activadores asociados a las etiquetas:
Advanced Settings
Todas las etiquetas independientemente de su tipo incluyen unos campos comunes de configuración avanzada. En todos los casos, el uso de estas opciones avanzadas es opcional y en la mayoría de ocasiones no las necesitaremos. Son los siguientes:
1. Programación de activación de la etiqueta
Para definir un intervalo de fechas y horas dentro de los cuales la etiqueta estará disponible – fuera del intervalo no se activará. Nos puede servir para dejar creada y publicada con antelación una etiqueta que no queremos que esté en activo hasta un día y hora exactos.
2. Activar solo en contenedores publicados
Hace que la etiqueta no se active si estamos en modo de pruebas/depuración. Ya solamente se activará cuando el contenedor que la incluya esté publicado. Puede ser útil para casos de etiquetas cuya activación durante pruebas puede suponer un coste económico o generación de estadísticas incorrectas.
3. Prioridad de activación de la etiqueta
El campo Prioridad de activación de etiqueta permite introducir un valor numérico para controlar la prioridad relativa de activación de una etiqueta. Las etiquetas con mayor valor se activan primero. Para que sea efectivo las etiquetas ordenadas/priorizadas deben activarse en un mismo momento/evento. Documentación >
Se trata solo de un control parcial sobre el orden de ejecución. Se define el orden en que empieza la carga pero no el orden en que termina, ni si una etiqueta ha de terminar o no cuando empieza otra.
Es importante saber que todas las etiquetas de Google Tag Manager se ejecutan de forma asíncrona.
4. Secuenciación de etiquetas
Podemos definir una etiqueta que sea setup (y se active justo antes) o cleanup de otra (y se active justo depués). De nuevo, lo tienes explicado al máximo nivel de detalle en este post de Simo Ahava sobre Tag Squencing in Google Tag Manager.
A continuación de la secuenciación de etiquetas, corresponde hablar de las opciones de activación, ya que están muy relacionadas. Puedes ver un ejemplo de secuenciación de etiquetas en este otro post.
5. Opciones de activación de etiqueta
Respecto a las opciones de activación de etiqueta:
- La opción por defecto es “una vez por evento”, común en todas las etiquetas. Por ello, en cada evento de activación que se genere en GTM -ya sea de tipo página, clic, etc.- solo se activará una vez cada etiqueta, incluso aunque existan varios activadores que se cumplan a la vez para ese evento. Por lo general, en un mismo evento nunca se activará dos veces una etiqueta. La única excepción son las secuencias de etiquetas comentadas anteriormente.
- “Una vez por página”, aunque el evento de activación de la etiqueta se produzca más de una vez para una misma URL, tan solo se activará una única vez la etiqueta (una vez por cada carga de página).
- “Ilimitada”, anula las restricciones anteriores, opción planeada y válida casi exclusivamente para el caso de las secuencias de etiquetas, cuando es posible que en un mismo evento o carga de página se active varias veces una etiqueta. Esto solo ocurrirá si, además de cumplirse sus activadores, se cumple la secuencia (la etiqueta previa) que la activa. Por defecto, la etiqueta saltará solo una vez por evento, pero si ponemos “ilimitada” saltará dos veces.
Documentación oficial de Google >
Cap. 25 – Revisa tu seguimiento multidominio con Google Tag Assistant
Cap. 27 – Mútiples Seguimientos de Google Analytics con Google Tag Maanager
Muuuuy buen artículo y completo! Gracias por describirlo en los dos idiomas.
Enhorabuena!
Gracias a ti por leernos, Sandra!
hola es muy bueno tu post pero no entiendo algo esta herramienta de tag manager sirve para cargar fragmentos de html o javascript o yo podría cargar mis .CSS O .JS desde tag manager y dejar mi sitio web solo en html que tag manager se encargue de traer estilos y controladores JS??
Hola Hand! Gracias por tu comentario.
No, Tag Manager no está pensado para realizar llamadas a archivos CSS o JS que sean necesarios para el funcionamiento/visualización de la página. Por ejemplo, esto ralentizaría el tiempo de carga del sitio web, posiblemente. Por poder, podríamos hacerlo con una etiqueta HTML personalizada + código JS para hacer que se inserten cosas en el head, pero sería inadecuado e ineficiente. Solo como último recurso.
Hola,
Acabo de leer vuestro articulo y es realmente interesante de hecho puse en marcha alguna de las acciones que enseñáis. Sin embargo me ha surgido la siguiente pregunta que no he conseguido solucionar buscando información y veréis que seguro que es una chorrada…me gustaría insertar un pixel.jpg en un email de forma que me permita saber con un activador asociado a una etiqueta en tag manager quien ha abierto ese email simplemente por la visualización de la imagen en la pantalla a través del gestor de correo correspondiente. Es decir mis campañas de link traqueados funcionan muy bien pero me faltaría saber el dato de quien mira el email. Agradezco por adelantado toda la ayuda que me podáis brindar. Un saludo.