Category Archives: Google Analytics

Nueva herramienta para probar tus filtros de Google Analytics

Todos sabemos el peligro de jugar con los filtros de los perfiles ( ahora llamados vistas ) en Google Analytics, la posibilidad de que los hagamos mal y terminemos con datos con el formato que no queremos o con datos excluidos de forma incorrecta suele ser bastante alta. Además si nos equivocamos no hay manera de echar marcha atrás, los datos de las las horas y o incluso días en los que los filtros hayan estado configurados de manera incorrecta no serán recuperables.

Para paliar en la manera de lo posible este problema acabamos de publicar en Analytics Debugger ( Herramienta online para depurar implementaciones de Analítica Web ) una nueva funcionalidad que nos deja construir nuestros filtros viendo los resultados en tiempo real.  Es decir podremos ver que datos se estarían capturando según las expresiones regulares que estemos utilizando así como podremos simular como quedarían los campos que estemos sobreescribendo.

Podéis ver el siguiente video donde se muestra cómo fácilmente podemos probar nuestros filtros y como ver en tiempo real el resultado que quedaría registrado en Google Analytics.

 

Con este paso Analytics Debugger deja de ser tan solo una herramienta de depurado y añade su primera herramienta que podrán utilizar los analistas para trabajar.  Como hasta ahora esta utilidad es gratuita y podrá ser utilizada por cualquier usuario icon smile Nueva herramienta para probar tus filtros de Google Analytics google analytics analitica web

Introducción al DataLayer de Google Tag Manager

Aunque parezca mentira hace ya casi año y medio que Google hizo público su herramienta de Tag Management. Durante todo este tiempo las actualizaciones de la herramienta ha sido continua aunque por desgracia no haya ningún changelog que reflejen los contínuos añadidos que va recibiendo la herramienta.

Por lo que voy leyendo por ahí, para la gran mayoría de la gente la herramienta no es más que la manera  de moda de configurar Google Analytics ( añado el código de GTM a mi web y añado un tag de pegeview ), sin aprovechar la herramienta lo más mínimo.

Por ello vamos a hablar del dataLayer , que es como su propio nombre indica una “capa” de datos mediante la cual vamos a pasar los datos a Google Tag Manager ( recordar que todo esto será utilizable también con cualquier otra herramienta de Tag Management ) , para poder interactuar en base a esos datos.

Así pues el dataLayer no es más que un objeto que contendrá la información ( formato JSON ‘clave’:'valor’ ) que queramos tener accesible desde el Tag Manager.

Para ellos deberemos inicializarlo antes del tag de Google Tag Manager ( si bien el propio gtm lo inicializará de forma implícita ) de la siguiente manera:

<script>
  var dataLayer = datalayer || [];
</script>

Con esto inicializaremos nuestro objecto tan solo si no lo estaba ya anteriormente, es decir si ya tuviese algún valor en el momento de ejecutarse este código se mantendrían los valores que tenga.

Por poner un ejemplo ilustrativo de esto pongamos un post de un blog, por ejemplo este mismo post

<script>
dataLayer.push({
    'categoria' : 'Google Analytics',
    'titulo' : 'Introducción al dataLayer de Google Tag Manager',
    'autor' : 'David Vallejo',
    'fecha' : '2014-02-08',
    'lenguaje' : 'es',
    'logeado': true,
    'event' : 'pageview'
 });
</script>

Bien ya tenemos toda la info de la página que se está visualizando, ahora lo que tenemos que hacer es crear macros para poder acceder a los datos disponibles en el dataLayer desde nuestros tags.

Por lo tanto crearíamos una macro por cada uno de datos que tenemos de la siguiente manera:

datalayer macros Introducción al DataLayer de Google Tag Manager google analytics

Continue reading

Aprende a utilizar el hitCallBack en Universal Analytics

Ya desde la versión anterior de Google Analytics ( ga.js ), existe una función que si no está muy documentada si que se podría utilizar, estamos hablando del método hitCallback .

Esta función lo que nos permite ( tal y como claramente indica el nombre de la función es realizar una acción solo y tan solo después de que se haya enviado un hit de forma correcta a los servidores de Google Analytics.

Desde que se publicó Universal Analytics, esta función es todavía más flexible puesto que nos permite de forma sencilla aplicar está función a cualquier tipo de hit de forma independiente. Seguramente en algúna ocasión habremos leído posts o visto plugins para hacer seguimiento de enlaces salientes ( eventos onClick o onMousedown ), o cuando se envíe un formulario ( evento onSubmit ) , pero a la hora de implementarlos también se nos habrá dado la situación de que tal vez el usuario llegué a la página de destino antes de que se lleguen a enviar los datos de forma correcta a Google Analytics, perdiendo con ellos estos datos.

Aquí es donde entra en escena la función hitCallback, puesto que nos va a permitir saber cuando se han terminado realmente de enviar los hits y con ello una manera de poder asegurarnos de que siempre se envíen los datos.

El funcionamiento sería el siguiente:

  1. Paramos la acción por defecto ( bien el click del usuario, o bien por ejemplo la acción de enviar el formulario ).
  2. Enviamos los datos a Universal Analytics.
  3. Utilizamos el hitCallback para una vez que estamos seguros los datos se han enviados continuar con la acción que empezó el usuario.

Como ejemplo os pongo un pequeño fragmento de código que se encargaría de todo esto, y que os servirá de guía para cualquier otra implementación más avanzada que queráis realizar ( comprobar si el enlace es saliente, etc, etc ). Más abajo comentaremos el script línea por línea:

<script>
function doLink(event,href){
event.preventDefault();
ga('send', 'pageview', {
'page': location.pathname,
'hitCallback': function() {
location.href = href;
}
});
}
</script>
<a href="http://www.google.es/" onClick="doLink(event,this.href);">TEST</a>

Vamos a comentar paso a paso lo que sucede:

<a href="http://www.google.es/" onClick="doLink(event,this.href);">TEST</a>

Aquí tan solo tenemos un enlace ( href ), al cual le estamos diciendo que cualquier un  usuario pinche en el enlace ( evento onclick ), lance la función doLink(), con los parémetros del evento como primer parámetro y en enlace en el cual ha hecho click el usuario. Entonce veamos que pasa después.

event.preventDefault();

event.preventDefault(). Lo que va a hacer es detener la acción por defecto que realizaría el nevagador en el evento en cuestión, en este caso el evento sería el click y lo que haría es llevarnos al enlace que tengamos. Pues ahora mismo esto no sucederá y no redigirá al usuario, no nos preocupemos esto lo forzaremos  depués para que el usuario termine yendo a donde marca el enlace icon smile Aprende a utilizar el hitCallBack en Universal Analytics google analytics analitica web

ga('send', 'pageview', {
'page': location.pathname,
'hitCallback': function() {
location.href = href;
}
});

Aquí tenemos lo que sería el _trackPageview de toda la vida en formato Universal Analytics. Al estar pasándole unos parámetros deberemos pasarle obligatoriamente el parámetro ‘page’ , o no nos recogerá bien los datos, por ello le pasamos la URI actual del usuario ( location.href ), o bien podríamos incluso personalizarla.

Y seguido le estamos pasando el hitCallback, ¿qué quiere decir esto? , le estamos diciendo a Universal Analytics, mira cuando hayas enviado el hit de la página vista, haz esto. Por lo tanto una vez los datos se hayan enviado vamos a redigir al usuario a su página de destino.

Pues es tan sencillo como esto, de esta forma, el usuario no se redigirá al enlace hasta que los datos e hayan enviado correctamente. Por supuesto esto es extrapolable al enviar un evento, social hit, hit de ecommerce, o cualquier otro tipo de hit disponible en Universal Analytics, así como a cualquier otro evento de JavaScript ( Form submits, etc ).

A partir de ahora podremos estar seguros que los datos se van a enviar cuando el usuario realice una acción concreta.

 

Cómo hacer tracking de la actividad de comentarios en Disqus con Universal Analytics

Actualmente Disqus goza de una gran aceptación en muchísimas webs, por lo que resulta realmente interesante el hecho de poder enviar eventos a nuestro perfil de Google Analytics para por ejemplo poder medir una micro-conversión cada vez que alguen usuario de nuestra web nos deja un comentario en nuestro Blog.

disqus Cómo hacer tracking de la actividad de comentarios en Disqus con Universal Analytics google analytics analitica web

Disqus es un sistema de comentarios externo, que se puede añadir por ejemplo a nuestro WordPress fácilmente mediante un simple plugin, y permite a los usuarios de nuestra web realizar comentarios logeando a través de Facebook o de Twitter.

Actualmente Disqus proporciona un sistema de callbacks bastante limitado, este es el listado de callbacks disponible a día de hoy:

                callbacks: {
                    preData: [],
                    preInit: [],
                    onInit: [],
                    afterRender: [],
                    onReady: [],
                    onNewComment: [],
                    preReset: [],
                    onPaginate: [],
                    onIdentify: []
                }

Pero nosotros vamos a utilizar únicamente, los de nuevos comentarios, paginación, identificación. Para lo cual tendramos que añadir el siguiente código a vuestras páginas.

window.onload = function(){
    if(window.DISQUS){
        DISQUS.reset({
              reload: true,
              config: function () {
              this.callbacks.onNewComment = [function(){ ga('send', 'event', 'Disqus', 'New Comment', window.location.href); }];
              this.callbacks.onPaginate = [function(e){ ga('send', 'event', 'Disqus', 'Pagination', window.location.href); }];
              this.callbacks.onPaginate = [function(e){ ga('send', 'event', 'Disqus', 'User Logged', window.location.href); }];
              }
         });
    }
};

Os sugiero que copieis el código directamente desde Github para evitar problemas, podéis acceder al código fuente en la siguiente dirección:

https://github.com/thyngster/universalanalytics

La configuración de callbacks se ha de realizar antes de que este se haya cargado, por lo que de forma habitual, deberiamos añadir la configuración antes del código principal de Disqus, sin embargo lo que vamos a hacer es utilizar la función reset para reiniciar Disqus con los nuevos valores. Esto lo hacemos tan solo cuando la página esté totalmenta cargada para ello utilizamos el evento window.onload

El código actualmente lanza los eventos con el formato de Universal Analytics, pero se puede utilizar sin ningún problema un push al objeto _gaq como se ha hecho siempre para lanzar eventos a Google Analytics

 

Analytics Debugger recibe su primera “gran” actualización

Hace un tiempo comentaba en este mismo blog que habíamos lanzado una utilidad para auditar implementaciones de analítica web , se trataba de Analytics Debugger .

La herramienta ha estado funcionando unos meses y esta semana le ha tocado su primera gran actualización. Han sido muchos meses, días y horas, pero ha merecido la pena y por ello estamos contentos, puesto que se trata de un gran paso hacia adelante. La herramienta sigue siendo gratuíta, y para realizar la auditoría de tus páginas sigues sin necesitas nada más que tu navegador consiguiendo toda la información necesaria que de otra manera te llevaría mucho tiempo conseguir y además tenían que invertir tiempo en instalar aplicaciones o plugins externos.

Han sido muchísimos cambios, en el core de la herramienta, cambios visuales, optimizaciones, nuevas features. Aquí os dejamos el listado de los cambios realizados.

  • Nuevo site con toda la información de la herramienta www.analytics-debugger.com
    ad new home Analytics Debugger recibe su primera gran actualización urchin piwik open web analytics google analytics countly angelfish stats analitica web
  • Rediseño del interfaz de la herramienta, haciéndola más simple y sencillo de utilizar.
  • Se ha reescrito el motor de depurado, ahora soporta todos los métodos que se pueden utilizar en Google Analytics así como detacta cualquier tipo de hit enviado.
  • Simulación de tag, si utilizas Google Analytics ó Universal Analytics te muestra un tag simulado para que sepas con exactitud como se está ejecutando analytics en tu página.
    ad sim Analytics Debugger recibe su primera gran actualización urchin piwik open web analytics google analytics countly angelfish stats analitica web
  • Se ha añadido soporte de depurado avanzado para Universal Analytics.
  • Se ha añadido un módulo nuevo para poder monitorizar en tiempo real los eventos que se generan en tu página web, por ejemplo al hacer click en un enlace, cuando se hace scroll en la página o cualquiera que sea la implementación que tengas realizada en tu web.
  • A partir de ahora puedes añadir tu web, y Analytics Debugger te avisará diariamente si detecta algún cambio en la configuración de Google Analytics en tu página web,
  • Antes se mostraba tan sólo el último hit envíado por cada herramienta detectada, desde ahora se pueden ver los datos de todos los hits enviados por las herramientas soportadas actualmente.
    ad hits debug Analytics Debugger recibe su primera gran actualización urchin piwik open web analytics google analytics countly angelfish stats analitica web
  • Mejorado el soporte de errores, cualquier error que tenga tu tag se mostrará, por ejemplo si utilizas llamadas a funciones que ya no son válidas, si utilizas una cadena cuando deberías utilizar un número entero, etc.
    ad errors Analytics Debugger recibe su primera gran actualización urchin piwik open web analytics google analytics countly angelfish stats analitica web
  • Ahora la herramienta está bajo SSL para asegurar la privacidad de tus datos.

Lo mejor de todo es que estamos encantados de anunciaros es que no vamos a parar aquí, en las próximas semanas habrá muchas más novedades, muchas más herramientas detectadas y quien sabe si alguna otra sorpresa más icon smile Analytics Debugger recibe su primera gran actualización urchin piwik open web analytics google analytics countly angelfish stats analitica web

Enviando eventos o páginas a todos los trackers de Google Analytics activos en una página

A veres se puede dar el caso de que estemos utilizando una medición dual ( o incluso triple ) en nuestros sitios webs, o lo que es lo mismo envíando los datos a más de una cuenta de Google Analytics al mismo tiempo.

Por lo que nos interesa por ejemplo si estamos haciendo un seguimiento de enlaces salientes en nuestra web, estamos midiendo algunos elementos en Ajax o tal vez estemos modificando el bounce rate lanzando un evento de forma automática, que este evento se lance en todos los trackers que tengamos configurados en nuestro sitio web.

Se podría hacer haciendo un _trackEvent para cada nombre de forma manual que tengamos configurado,  pero si cambia por lo que sea puede haber algún problema. Por ello el API del JavaScript de Google Analytics nos ofrece algunos métodos de los que podemos hacer uso para hacerlo todo de forma automática sin tener que andar introduciendo los nombres de los trackers a mano.

Imaginemos que tenemos una implementación del tipo:

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['first._setAccount', 'UA-XXXXX-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['second._setAccount', 'UA-XXXXX-2']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

Y queremos enviar nuestros eventos a las 2 cuentas a la vez ( se podría crear una función para las páginas, los tracking sociales, o los tiempos de usuario si fuese necesario )

Para ello crearemos una función como la siguiente:
Continue reading

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

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

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

Aprende a medir tus eventos con Google Tag Manager y su dataLayer

A raiz de una conversión el día de hoy me ha dado por ponerme un poco al día con el Google Tag Manager . Por lo cual he estado revisando cuales han sido las mejoras que se han incorporado desde su salida y cómo aprovecharlas.

Concretamente voy a explicar cómo utilizar el dataLayer. Muchos tal vez os estéis preguntando que esto, y en resumen no se trata más que de un objeto que podemos utilizar para pasarle los datos que queramos al Google Tag Manager. Y es imprescidible para la utilización de eventos.

He leído estos meses algunos posts, donde para explicar como utilizar eventos simplemente se limitan a inyectar un código en javascript que hace un push al objeto de google analytics ( _gaq ) , y esta no es de ninguna manera la forma correcta de hacerlo, más bien lo considero una forma de desaprovechar el poder del Tag Manager.

ATENCIÓN: Para poder utilizar el dataLayer debemos declarar el objeto antes de incluir el tag del Google Tag Manager. Este se suele situar justo al inicio de la etiqueta <body>, por lo que podremos poner nuestro código en el <head> de nuestra web.

El código es el siguiente:

<script>
dataLayer = [];
</script>

Vamos a tratar el ejemplo de la medición de enlaces salientes mediante un onclick , por lo que en lugar del código habitual, utilizaremos la siguiente llamada en nuestros enlaces ( al final del artículo incluyo un pequeño snippet en javascript utilizando JQuery que nos automatizará todo el trabajo )

onclick="dataLayer.push({'event' : 'outgoing-click','event-value' : this.href});"

Con esto lo que estamos haciendo es enviar 2 variables al Tag Manager, para después en el interfaz y a través de macros poder lanzar los eventos con estos datos que estamos enviando.

Continue reading

Soporte multi-divisa en Google Analytics

Desde hace años los usuarios llevan pidiendo a Google la posibilidad de poder realizar el seguimiento de los E-Commerce en diferentes monedas y hoy  acaban de anunciar que en unas semanas será posible enviar a Google Analytics los datos de nuestro de nuestras transacciones en la moneda local utilizando tan sólo un perfil.

Cómo funciona la conversión.

Google Analytics se encargará de realizar al convesión a la moneda configurada en el perfil utilizando para ello los mismos valores utilizados en Google Billing.

Para el funcionamiento del soporte multi-moneda se han añadido las siguientes dimensiones y métricas al sistema:

DimensiónDescripciÓn
Tipo de MonedaMoneda de la transacción
MétricaDescripCiÓn
Local Transaction RevenueTotal de la transacción en la moneda local.
Local Transaction ShippingTotal coste de envio en la moneda local.
Local Transaction TaxTotal Impuestos en la moneda local.
Local Item RevenueIngreso Producto en la moneda local.

Actualmente esta opción está disponible tanto el tracking web ( incluído el Measurement Protocol ) , como en el SDK para Android, en breve estará disponible.

Como fijar la moneda local en Google Analytics

_gaq.push(['_set', 'currencyCode', 'EUR']); // ga.js
ga('set', 'currencyCode', 'EUR'); // analytics.js
cu=EUR // Google Analytics Measurement Protocol
setCurrencyCode("EUR"); // Android SDK

IMPORTANTE: Hay que tener en cuenta que hay que enviar el valor de la moneda local de la transacción antes de la llamada al _trackTrans.

Hay que enviar la divisa es formato ISO 4217 , soporta actualmente todas las monedas disponibles en el interfaz de Google Analytics, podéis ver el listado completo en:
Listado completo de monedas soportado por Google Analytics