Universal Analytics – Medición entre dominios ( Cross-Domain Tracking )

Si hace un par de días comentabamos en nuestro post de migración a Universal Analytics , que estabamos pendientes de la información de cómo realizar la medición entre dominios con Universal Analytics. Por fin ya tenemos esa información disponible.

Para la realizar la medición entre dominios (o cross-domain tracking) con universal analytics, el principio sigue siendo el mismo, es decir pasar el valor de las cookies entre los dominios. En este caso tan solo hay que pasar el valor de una cookie “_ga” .

ua logo Universal Analytics   Medición entre dominios ( Cross Domain Tracking ) google analytics analitica web

Hay un cambio importante, y es que los links utilizados para pasar los datos entre los dominios tienen una caducidad, por lo que a partir de ahora no deberíamos modificar todos los enlaces a nuestro segundo dominio al imprimir la página, por que pasados 2 minutos estos no serán válidos. Con lo cual nos toca trabajar con Event Listeners para modificar el link cuando se haga click en algún enlace o bien en cualquier otro evento que queramos.

El primer paso que debemos hacer es fijar el allowLinker a true, tal y como ya había que hacer en la versión anterior, para realizar este paso, crearemos el tracker de la siguiente manera.

ga('create', 'UA-XXXX-Y', {'allowLinker': true});

El módulo “linker” se carga de forma automática, así que ahora tan solo nos queda añadir a nuestros enlaces la información de las cookies.

Universal Analytics nos ofrece 2 formas de conseguir este dato, una es conseguir el valor del linker que tendremos que utilizar para que lo podamos añadir nosotros, o bien la función decorate que se encargará de darnos el link final que tendremos que utilizar.

Cómo saber los parámetros para en linker

Para ello tendremos que poner el siguiente código:

ga(function(tracker) {
var linker = new window.gaplugins.Linker(tracker);
var linkerParam = tracker.get('linkerParam');
});

Entonces tendremos en la variable linkerParam el valor del linker, que debería tener este formato:

_ga=1.38895075.1749825416.1359153636

Ahora tan solo tendríamos que poner ese valor en los enlaces a nuestro segundo dominio, bien por querystring (?) ó utilizando un hash (#) .

Si hemos habilitado el allowlinker en nuestro dominio de destino, este actualizará los datos de las cookies del dominio con las que le estamos enviando, consiguiendo con ello la continuidad de la visita y del usuario.

Utilizando el método Decorate

Se trata de una utilidad que nos devolverá en enlace con el valor del linker añadido al enlace que le hayamos proporcionado.

ga(function(tracker) {
  var linker = new window.gaplugins.Linker(tracker);
  var salida= linker.decorate('http://www.google.com');
});

A partir de este momento en la variable salida, tendríamos el siguiente valor:

http://www.google.com?_ga=1.38895075.1749825416.1359153636

El método decorate, acepta un segundo parámetro, y que si se lo pasamos como true, nos devolverá nuestro enlaces pero utilizando el hash.

ga(function(tracker) {
  var linker = new window.gaplugins.Linker(tracker);
  var salida= linker.decorate('http://www.google.com',true);
});

Nos devolvería en la varible salida, lo siguiente:

http://www.google.com#_ga=1.38895075.1749825416.1359153636

Bien, pues básicamente estas son las maneras que tenemos para obtener la información que necesitamos para poder pasar los valores de nuestras cookies entre nuestros dominios.

Os propongo un pequeño snippet para JQuery, que os ayudará a etiquetar los enlaces de forma automática y cada vez que se hace click en los enlaces a nuestro segundo dominio, recordemos que se debe hacer así porqué si se hace al cargar la página y el usuario no hace click antes de 2 minutos la página de destino no aceptará los valores de la cookie

ga(function(tracker) {
// Corremos todo dentro de una llamada de Universal Analytics
// para asegurarnos que de que se ejecu si se ha cargado.

// El dominio externo, modificar segun necesidades
var externalDomain = 'thyngster.com';

// Iniciamos la utilidad del linker
var linker = new window.gaplugins.Linker(tracker);

// Monitorizamos todos los clicks de nuestro site
$('a').click(function() {
// Si el enlace incluye el dominio que hemos definido arriba
// modificamos el enlace con los parametros de las cookies
href = $(this).attr('href');
if(href.indexOf(externalDomain)>-1)
{
// Generamos nuestro enlace
var linked_url = linker.decorate($(this).attr('href'));
// Actualizamos el enlace
$(this).attr('href',linked_url);
}
});
});

Para la medición entre dominios con formularios sería básicamente lo mismo, pero deberemos cambiar la dirección a la cual apunta el formulario, basándonos por ejemplo en el evento “onSubmit”.

Y esto es todo lo que debemos saber para poder medir diferentes dominios de forma conjunta con Universal Analytics.

Si tienes alguna duda o problema, deja un comentario o contáctame por medio del formulario.

Información Oficial sobre la medición entre dominios: https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain

  • Ana Berges

    Hola David, me ha resultado super útil el post, la verdad es que la documentación de Analytics es un poco confusa en este tema.

    Tengo una pregunta, si utilizamos linkerParam después debemos hacer un script que incorpore el valor del linker ¿es así? ¿debo aplicarlo a cada enlace saliente entre dominios o sólo en los enlaces que apunten al segundo dominio?

    Saludos y gracias