pornance.net
www.fuck-videos.net
zettaporn.com

Tealium iQ debugging snippet: audita el payload de las llamadas utag.view() y utag.link()

En este post te voy a enseñar un método muy sencillo y práctico para auditar el payload de las llamadas utag.view() y utag.link() de tu implementación de Tealium iQ. No es ni mucho menos la única manera de hacer esto, pero sí creo que es un método de debugging muy fácil de usar y muy limpio. Además, como verás a continuación, te va a servir para conocer mejor el funcionamiento del objeto utag. Consiste básicamente en añadir una línea de código a estas llamadas para logar su contenido en la consola de tu navegador. Así podrás ver su payload en el momento en que se ejecuten.

utag.view y utag.link: dos métodos del objeto utag de Tealium iQ

Cuando implementas Tealium iQ en un site, la librería utag.js crea el objeto utag y lo asigna al global namespace. Siendo así, puedes acceder a este objeto escribiendo window.utag o simplemente utag. Fíjate:
Para ilustrar este post voy a trabajar con react.tealiumdemo.com, una SPA desarrollada en ReactJS
Las propiedades y métodos del objeto utag reflejan y articulan la configuración Tealium iQ que tengas implementado en ese momento. utag.cfg contiene, por ejemplo, datos relativos a la configuración del profile vigente. Mientras que utag.data, por otra parte, es un objeto que contiene los valores del objeto utag_data con otros elementos del site (cookies, elementos de DOM, metaetiquetas, etc.)

Los métodos view y link del objeto utag albergan las funciones de tracking de Tealium iQ: utag.view() y utag.link(). La primera sirve para notificar a Tealium iQ de una página vista (se ejecuta de forma automática cuando se carga la librería utag.js), mientras que la segunda para notificar de una interacción que tiene lugar en una página (un evento, vaya). Tanto utag.view() como utag.link() aceptan tres argumentos:

  1. Un objeto que contiene el valor de las variables del data layer que se van a informar con la llamada. Este parámetro es obligatorio.
  2. Una función callback. Se ejecutará cuando la llamada view() o link() termine, a su vez, de ejecutarse. Este parámetro es opcional.
  3. Un array que contenga una colección de id’s de tags. Si se incluye este argumento en la función (es opcional), las etiquetas a las que hagan referencia los id’s se activarán, con independencia de la configuración de sus load rules.

Puedes ver estos argumentos si imprimes los métodos utag.view y utag.link en tu consola, o localizando las funciones en la librería utag.js, fíjate:

El argumento a es el objeto que se envía a Tealium, ell argumento c es la función callback opcional y el d es el array de id’s de etiquetas.

Pues bien, yo te propongo un sencillo ejercicio de Javascript que consiste en añadir una línea de código a los métodos utag.view() y utag.link() para logar su contenido en la consola de tu navegador cuando se ejecuten. Para ello he desarrollado un simple script que se encargará de:

  • Alojar las funciones utag.view() y utag.link() en dos variables añadiendo una línea de código para logar su contenido a la consola de tu navegador.
  • Asignar cada una de estas funciones como el nuevo valor de los métodos view y link del objeto utag.

El código es el siguiente:

(function () {
    let viewLogger = function(a, c, d) {
            //Adding this line of code will log argument a to the browser's console
            console.table(a);
            //Original, unmodified code of utag.view() function
            return this.track({
                event: 'view',
                data: a || {},
                cfg: {
                    cb: c,
                    uids: d
                }
            })
        };
let linkLogger = function(a, c, d) {
            //Adding this line of code will log argument a to the browser's console
            console.table(a);
            //Original, unmodified code of utag.link()
            return this.track({
                event: 'link',
                data: a || {},
                cfg: {
                    cb: c,
                    uids: d
                }
            })
        };
utag.view = viewLogger;
utag.link = linkLogger;
})();

Dos apuntes:

  1. Llamo al método console.table() para logar el contenido de las llamadas a la consola de mi navegador en formato tabla. Me gusta el output, me resulta más fácil de leer que console.log() para casos como este. Además, si usará el método console.log() tendría que usar el método JSON.stringify() para convertir el objeto a un string.
  2. Ejecuto la función en un IIFE, es decir, en una Immediately Invoked Function Expression. De esta forma el script se ejecute inmediato, no tengo que invocarlo.

El contenido de las llamadas utag.view() y utag.link(), en la consola de tu navegador

Bien, a continuación te muestro algunos pantallazos del output de este script en mi consola de depuración. Como verás, las capturas de pantalla son del site de prueba https://react.tealiumdemo.com He elegido este site porque es una SPA (desarrollada en ReactJS), y puedo ver las llamadas utag.view() sin necesidad de recargar la página, y por lo tanto sin tener que ejecutar el script de nuevo.
Para ejecutar el snippet de bebugging de Tealium iQ basta con que lo copies y pegues en la consola de depuración de tu navegador.
Detalle del payload de una llamada utag.view(). La función se ejecuta, y el método console.table() loga el objeto en la consola en formato de tabla.
El detalle de dos llamadas utag.link(), en la consola de depuración de mi navegador. ¿Ves lo bien que se pueden auditar estas llamadas?
Detalle de una llamada utag.link() ejecutada en una ficha de producto del site de pruebas de Tealium https://ecommerce.tealiumdemo.com/ Se aprecia la estructura del data layer de Enhanced Ecommerce de eTalium iQ.

El contenido de la llamada de tracking, procesado

¿Te has dado cuenta de cómo, además de su propio payload, estás llamadas incluyen un objeto? Fíjate en su contenido:
Además del payload, esta llamada incluye un objeto.
Si despliegas el objeto verás que contiene el payload de la llamada utag.view() o utag.link() procesado y fusionado con otras variables que utag.js incorpora: variables DOM, variables JS, cookies, etc.

¿Lo ves? El payload de estas llamadas utag.view() y utag.link() se procesa y se fusiona con otras variables que utag.js incorpora: variables DOM, variables Meta, variables JS, cookies, etc. Así es, de hecho, cómo se constituye el objeto b de Tealium iQ. Esto es especialmente interesante si tienes en cuenta que el objeto utag.data procesado en la carga de página sigue igual, no ha cambiado. Esto tiene sentido, el site en el que estoy haciendo las pruebas es una SPA, y por lo tanto no hay una recarga real de página. Te explico esto con detalle en el post ‘Cómo procesan las llamadas de tracking el dataLayer de Google Tag Manager (GTM) y la librería utag.js de Tealium iQ’.

Fíjate en el anterior ejemplo. Verás que aún a pesar de haberse lanzado tres llamadas utag.link() el objeto utag.data inicial (el procesado en la carga inicial de la página) sigue sin cambiar. El valor de la propiedad ut.event sigue siendo 'view. 

Ojo, esto no es una extensión

Es un sencillo snippet pensado para que lo ejecutes en la consola de tu navegador. Técnicamente podrías desarrollar una extensión en Tealium iQ para logar de alguna forma el contenido de tus llamadas. Pero para eso probablemente tendrías que referenciar al objeto b, una copia local del data layer de Tealium que referenciar desde tus tags y extensions. Pero esa es otra historia. Espero que este script te ayude en tus implementaciones. 

https://www.mrleaked.net big tits dark haired babe fucks in fake taxi.
www.omgbeeg.com hot massage with girlfriend.