10 Dec 2015
Guía: triggers o activadores de Google Tag Manager
Lectura: 19 mins.
|
Dificultad:

Guía: Activadores 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.

Triggers google tag manager: exceptions

*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.

Trigger tag manager: evento + condiciones

*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:

Triggers google tag manager (inside tag)

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:

Eventos de Google Tag Manager

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.
Events triggers google tag managerTriggers google tag manager: pageview, dom or load

Debemos decidir si la etiqueta se activa en todas las cargas de página o solo en algunas de ellas.

Triggers google tag manager all or some pages

Al seleccionar algunas páginas, aparecerán los filtros o condiciones:

Triggers page condition google tag manager

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 variables for tag manager triggers

  • 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.

Triggers google tag manager all pages

Triggers google tag manager some pages

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>).

All Elements VS Just Links triggers tag manager

A continuación decidiremos si lanzar en cualquier clic o en alguno/s concreto/s (opción más normal).

All VS some click triggers google tag manager

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.

Click variables for google tag manager triggersVariables for click triggers google tag manager

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:

Triggers linkclick tag manager

*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:

  1. 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.
  2. 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.

Form variables for google tag manager triggers  Form triggers google tag manager

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:

Timer trigger google tag manager

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

Javascript error google analytics tag managerMuy 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

Error variables for google tag manager triggersJavascript error trigger google tag manager Javascript error trigger tag manager

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.

Custom event trigger google tag manager

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:
Exception triggers google tag manager

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.

Por ejemplo: incluir en URI “/gracias/” (inclusión), excepto si nombre de host es “aaa.com” (bloqueo).
Resultado:
– 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:

All pages dom triggers analytcs 0% bounce rateEn 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.

All pages trigger google tag manager DOM ready trigger google tag manager

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).

Triggers google tag manager multiple conditions

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:

Triggers google tag manager click conditions

Evento: Click (gtm.click) / Segmentación: Todos los elementos, se lanza cuando se hace click en cualquier elemento HTML de la página (sean enlaces o no, por ej. en etiqueta <button> o <input>.
Condición 1 – Activar: {{Click Text}} contiene Buy now!, activará la etiqueta si el elemento clicado tiene ese texto
Condición 2 – Activar: {{Click Path}} contiene /buy-, la activará solo si además, la ruta de destino contiene /buy-.

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:

Triggers google tag manager page conditions

Tipo: DOM preparado / ready (gtm.dom): evento que se lanza cuando se ha cargado completamente la página, útil cuando queremos forzar que una etiqueta se active después del resto de código de la página, lo equivalente a insertar un código al final del </body>
Condición 1 – Activar: {{Page Path}} coincide con RegEx (.*) engloba Todas las posibles paths, rutas o URIs  (parte que va tras el nombre de dominio: midominio.com/URI, incluyendo la barra)
Condición 2 – Activar: {{Page Hostname}} contiene mydomainname.com, nos aseguramos de que solo se active en nuestro dominio


Resultado:

  • 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

Google tag manager: tag 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 >