Analítica web
Reflexiones desde el mercado español de Analítica Web

Conociendo el orden de las operaciones en Tealium IQ (utag.js)

Se lee en 3 minutos

En el siguiente post trataré de explicar el orden en el cual se ejecuta la librería Javascript de Tealium (utag.js) y su relación con los componentes configurados en el Tag Manager Tealium IQ.

Antes de comenzar, sería bueno hacer un repaso sobre cómo se procesa el código HTML de una página web.

En primer lugar, el navegador hace una petición del documento HTML de la página, éste comienza a descargarse y se va analizando de arriba abajo y de izquierda a derecha. El Navegador se encuentra con varios elementos que componen el contenido de la página web. Los elementos pueden ser enlaces, textos, imágenes o trocitos de código como el código de Tealium (utag.js).

A medida que el navegador va descargando elementos puede encontrarse con scripts síncronos, en este caso, el navegador dejaría de descargar el documento HTML e interpretaría el script antes de continuar con el resto de código. Pero para el caso de utag.js, que es un script asíncrono, el navegador puede continuar descargando el HTML e interpretar el script una vez la descarga haya finalizado y el DOM (Document Object Model) esté completamente listo. Una vez realizado esto, el navegador muestra la página web por pantalla.

Veremos ahora el orden de las operaciones más en detalle.

Primero: Extensiones Pre Loader

Lo primero en ejecutarse siempre serán las extensiones Pre Loader, por este motivo es muy importante que no dependan de ninguno de los elementos de Tealium (data layer, otras extensiones, etc.) que se ejecutan a posteriori. Intentar hacer esto podría hacer que la página no se cargara, o no lo hiciera de forma correcta. El orden de las extensiones Pre Loader sigue el orden de colocación en la consola de Tealium IQ. La cookie de privacidad de Tealium se establece en este punto si es que aún no existe.

Segundo: Procesamiento del Data Layer o de la capa de dato

El objeto utag_data, también llamado UDO (Universal Data Object), pasa los datos de la página web a Tealium IQ. Las variables y los datos contenidos en utag_data se combinan con los del resto de la página web, la cookie de primera parte y el DOM para crear el objeto utag.data. Este objeto contendrá todos los datos de la página web, pero Tealium IQ solo utilizará para su mapeo los datos identificados como variables.

order_tealium

Tercero: Extensiones “All Tags” con orden de ejecución “Before Load Rules”

Todas las extensiones con scope “All Tags” con ejecución “Before Load Rules” se ejecutan en este punto. Lo hacen en el orden que aparecen en Tealium IQ. Este ámbito indica que  los datos que provienen de estas extensiones estarán disponibles para todas las etiquetas del perfil y pueden afectar a las reglas de carga.

Cuarto: Evaluar las “Load Rules”

Ahora toca es el turno de las reglas de carga. Las reglas de carga determinan si ciertas etiquetas se cargan en una página web. Si una regla de carga dice que una etiqueta no debe cargarse en una web, esa etiqueta y sus correspondientes extensiones no se cargarán. Dicho esto, es posible que en algún caso no estén disponibles todos los datos de la página, ya que el navegador no ha terminado de analizarla. Es por eso que las reglas de carga se evalúan más adelante, cuando todos los datos de la página están disponibles y así asegurarse de que se evalúan correctamente.

Quinto: Extensiones “All Tags” con ejecución “After Load Rules”

Todas las extensiones con scope “All Tags” y ejecución “After Load Rules” se ejecutarán en este momento. Lo hacen en el orden en el que aparecen en Tealium IQ. Este ámbito indica que los datos provenientes de estas extensiones están disponibles para todas las etiquetas del perfil.

Sexto: Etiquetas agrupadas (Bundle Tags) y etiquetas con “Wait Flag” a “Off”

Ahora es el turno de estos dos tipos de etiquetas, son las etiquetas agrupadas y las etiquetas con indicador de espera puesto a “Off”. Las etiquetas incluidas tienen el código insertado directamente en utag.js. El indicador de espera es un ajuste avanzado que controla si la etiqueta ha de dispararse junto con el evento DOM-Ready o inmediatamente con la carga de utag.js.

Este tipo de etiquetas se lanzan en base a la evaluación inicial de la reglas de carga.

Septimo: Carga de “Vendor Tags”

Basándose en el estado de las reglas de carga, se ejecutan etiquetas adicionales de los diferentes “vendors” a través de solicitudes a sus ficheros utag.#.js. Estos se cargan de forma asíncrona para optimizar el endimiento de la página y la experiencia del visitante.

Octavo: Extensiones con ámbito “DOM Ready”

Cuando el navegador envía la señal DOM Ready, se ejecutan estas extensiones. Estas extensiones no suelen afectar directamente a los tag de los proveedores ya que se ejecutan en paralelo con las etiquetas, por ello, no es posible asegurar el orden exacto de las operaciones entre las extensiones y las etiquetas de DOM Ready.

Noveno: Extensiones con alcance “All Tags” y “After Tags”

Todas las extensiones con ámbito “All Tags” y con ejecución “After Tags” se ejecutarán en este punto. Nuevamente se ejecutarán en el orden en el que aparecen en Tealium IQ. Las acciones tomadas en estas extensiones normalmente no afectan a los datos enviados al proveedor.

¿Y vosotros, sabíais el orden de las operaciones en Tealium IQ?

Escribe tu comentario

dos + 2 =

Navegar