David Vallejo - Web Analyst

Universal Analytics - Guía práctica de migración

Web Analytics

Hace unos días Google anunció la Beta pública de Universal Analytics . Una nueva forma de medir la analítica basada en el usuario y no en las visitas como se realizaba anteriormente.

Es decir, actualmente y sobre todo con el aumento del uso de dispositivos móviles, los usuarios utilizan varios dispositivos para conectarse a una web, y no tan solo dispositivos si no también navegadores.

Podemos tener por ejemplo un usuario que se conecta a nuestra web a través de diferentes navegadores, o incluso desde diferentes dispositivos. Con Universal Analytics la intención en basar la medición en el usuario, pudiendo unificiar todos los medios mediantes los cuales accede a nuestros servicios.

Para ello desde Google han creado un nuevo protocolo, Google Analytics Measurement Protocol, podéis ver hacer click en este Cheatsheet para ver la equivalencia del protocolo actual con el nuevo.

Mediante este protocolo podremos enviar los datos de nuestros usuarios desde un entorno web, desde una aplicación para móviles, o desde cualquier otro entorno que nosotros queramos envíando los datos directamente al endpoint de Universal Analytics.

Tal vez el reto para la gran mayoría de usuarios sea la migración del etiquetado actual de nuestros sitios web al nuevo. Pero si nos fijamos bien, no es tan complicado o trabajoso como pueda parecer en un principio y tan solo conlleva el cambio de cómo lanzamos los datos.

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXXX-Y');
ga('send', 'pageview');

</script>
<!-- End Google Analytics -->

La siguiente tabla nos muestra los cambios a la hora de hacer nuestras llamadas, comparando como lo haríamos con Google Analytics a cómo debemos hacerlo con Universal Analytics. Esto es un 80% de lo nuevo que debemos aprender para realizar nuestras nuevas implementaciones.

AntesAhora
_gaq.push(['_trackPageview','mipagina.html'])ga('send', 'pageview','/mipagina.html');
_gaq.push(['_trackEvent', category, action, opt_label,opt_value,opt_noninteraction])ga('send', event, category, opt_action, opt_label, opt_value, {'nonInteraction': 1});
_gaq.push(['_trackSocial', network, socialAction, opt_target, opt_pagePath]);ga('send', 'social', 'socialNetwork', 'socialAction', 'socialTarget', {'page': '/my-new-page'});
_gaq.push([‘_trackTiming’, category, variable, time, opt_label, opt_sample]);ga('send', 'timing', 'timingCategory', 'timingVar', timingValue);
_gaq.push(['_addTrans', trans_id,store_name,total,tax,shipping,city,state,country]);ga('ecommerce:addTransaction',{'id':'1234','affiliation':'Acme Clothing','revenue':'11.99','shipping':'5','tax':'1.29'});
_gaq.push(['_addItem', trans_id,sku,product_name,category,unit_price,quantity]);ga('ecommerce:addItem',{'id': '1234','name':'Fluffy Pink Bunnies','sku':'DD23444','category':'Party Toys','price':'11.99','quantity':'1'});
_gaq.push(['_trackTrans']);ga('ecommerce:send');

Universal Analytics carga algunas funcionalidades como el seguimiento de ecommerce de manera externa con el fin de poder mantener el código principal lo más liviano posible. Es decir si queremos realizar la medición de un ECommerce deberemos especificar que queremos cargar el plugin para trabajar con transacciones.

Para hacerlo, tan solo deberemos añadir una línea de código a la etiqueta que tengamos en nuestra página de la siguiente forma:


ga('require''ecommerce''ecommerce.js'); 

Listo, ya podemos enviar nuestras transacciones, sencillo no ?.

A su vez, el nuevo analytics.js , añade dos nuevos tipos de hits, que para los entornos web habituales no nos van a ser de mucha utilidad pues está centrado en las aplicaciones. Se trata de las Excepciones y los vistas de aplicación (appview y exception), ámbos se envian de igual manera que los anteriores mediante el método "send".

Con el primer tipo de hit, podremos enviar que pantalla de nuestra aplicación se está visualizando ( el equivalente a una página vista ), y con el siguiente las excepciones/problemas con lo que se encuentre el usuario, por ejemplo un problema de la base de datos.

Configuración de un perfil en Universal Analytics

Sin duda alguna este es uno de los dos mayores cambioes, puesto que a partir de ahora el control de sesiones (visitas) y de fuentes, se realiza desde los propios servidores de Google Analytics.

Añadir nuevos motores de búsqueda para que se muestren como resultados orgánicos, el tiempo de duración de una visita (por defecto 30min), el tiempo de duración de las campañas (por defecto 6 meses), ahora se realiza desde la interfaz web de Google Analytics. No es necesario añadir configuraciones a nuestra página.

Las siguientes acciones se realizan ahora desde el interfaz:

  • _addIgnoredOrganic
  • _addIgnoredRef
  • _setCampaignCookieTimeout
  • _setSessionCookieTimeout
  • _addOrganic
  • _clearIgnoredOrganic
  • _clearIgnoredRef
  • _clearOrganic

El otro cambio importante es que desaparecen las variables personalizadas (custom variables) en favor de las dimensiones personalizadas (custom dimensiones) .

Ahora se crean en el interfaz y los enviaremos los datos en base al índice de nuestra dimensión, por ejemplo dimension1, dimension2 (dimension[0-9]+) . Tanto el nombre de la variable como el alcance ( scope ) , se fija durante la creación de la dimensión.

A pesar de parecer algo más laborioso de implementar tiene una gran ventaja sobre la versión anterior de Google Analytics, Universal Analytics permite crear 20 dimensiones personalizadas (y otras tantas métricas) , en la versión Premium este límite se amplía a 200 por propiedad.

Hay algunos pequeños cambios en los límites y quotas, si antes el límite era de 10M de hits por mes y propiedas, con Universal Analytics este límite será 200.000 hits por visitante al día. Lo que mejora el límite anterior sin duda alguna.

El límite de hits por sesión se sigue manteniendo en 500.

Como podemos ver, los cambios para la medición de nuestras webs, no son tan complicados, y básicamente en la mayoría de situaciones se basa en cambiar el típico _gaq.push(), por ga('') .

A nivel de las cookies se simplifica todo de manera enorme puesto que pasamos de utilizar cuatro cookies, a utilizar tan solo una que tiene por defecto el nombre de "_ga " (podremos cambiar el nombre en la configuración del tag si fuese necesario),  y la cual contiene el básicamente el ID de usuario .

NOTA
Actualmente no hay documentación sobre cómo realizar al medición entre dominios con Universal Analytics. En los foros por parte de ingenieros de Google, se ha comentado que la documentación se haría pública a finales de este mes.

La forma de configurar nuestro dominio para funcione, es fijar el allowlinker a true, y poner también el dominio para las cookies (antiguo _setDomainname).


ga('create''UA-286304-9', {'cookieDomain''yourdomain.com','allowLinker'true}); 

Falta saber como pasar las cookies entre los dominios ( antiguo _link ).