Do not speak Spanish? Read this post in English.

Lunes, 22 d junio d 2009.

capturar eventos con Google Analytics ( ajax, clicks, tiempos, formularios, …)

Uno de los capítulos más interesantes de la Google Analytics Tracking Api es la captura de eventos en la página ya que nos permite trackear cualquier cosa que deseemos dentro de nuestras propias funciones javascript. Con un código bien organizado no debe ser difícil para ninguna web añadir a sus funciones este sencillo y claro método del objeto pagetracker de Analytics.

_trackEvent(categoría, accion [[[, etiqueta] , valor] , contador de eventos])

Este es el único método real que usa actualmente la Api de analytics para capturar eventos. Su uso muy sencillo:

Primero definimos nuestro objeto pagetracker de la forma normal y lanzamos sin ninguna consideración especial el método _trackPageview() para guardar la visita de nuestra página.

A partir de ahí, cuando queramos, durante nuestros scripts, podemos lanzar el método _trackEvent() para guardar en analytics un evento especial que ha realizado el usuario. Por lo general estos van a ser o valores concretos que tenía la página cuando el usuario realizó el evento (tiempo transcurrido, eventos lanzados anteriormente, valores rellenados en formularios, ...) o bien la descripción del evento que acaba de provocar en la página (ajax, alteraciones del DOM, links concretos, ...).

Google nos da hasta 4 parámetros distintos para organizar nuestros eventos ya que todos ellos luego solo serán visibles en el informe de eventos y seguramente queramos medir más de un tipo de interacción con en usuario con más de un tipo de valores.

- Categoría

Destinado a que incluyamos el tipo de evento que estamos midiendo: "clicks", "cargas ajax", "visualizaciones de video", "acciones en el mapa de google maps".

Este no es un campo para indicar el evento concreto, sino solo su clasificación. Tenemos que dividir bien nuestras categorías para que luego todos los eventos tengan sentido en los informes por lo que es importante decidir con anterioridad que categorias vamos a usar y siempre usar las mismas.

- Acción

Este valor es el nombre del evento lanzado. Aquí podemos definir exactamente que es lo que ha hecho el usuario: "menu" en el que hizo click, "busqueda" por ajax, "play" del video o "+ zoom" en el mapa de google maps serían ejemplos correspondientes a los que dábamos en el uso del campo Categoría.

La idea es que cuando el usuario de Google Analytics clicke en la categoría que le interesa vea desglosadas dentro de ella todas las acciones que se han ido capturando, así que cuantas más acciones nos molestemos en medir más datos tendremos.

- Etiqueta (opcional)

Este parámetro nos permite delimitar aun más que se hizo con la acción. No es necesario indicarlo puesto que hay acciones únicas que no podemos etiquetar con varios valores, pero en ocasiones puede resultar muy útil y nos va a servir como un sistema más de segmentación.

Por ejemplo, en el click en el menú podemos indicar el elemento o categoría del menú en el que se hizo click, en la búsqueda por ajax indicar que término fue el que se buscó o en el video indicar el nombre de la película a la cual se le dio al play.

- Valor (opcional)

Por último a la etiqueta podemos darle un valor, otra vez, solo si es que tiene sentido dárselo. Es importante entender que esta etiqueta no es una forma de segmentación más sino un valor con el que Google tiene que poder hacer sus medias y porcentajes.

En el menú, por ejemplo, podríamos indicar la posición del link para ver luego como dependen los clicks de su posición. Otra opción sería usar este valor para medir tiempos de carga de la página o de la acción lanzada.

- Contador de eventos (opcional)

Este es el valor más abstracto de todos. Nos sirve para manejar la relación entre eventos lanzados y eventos lanzados por visita.

Supongamos que tenemos varias acciones declaradas, pero cada una de ellas puede lanzarse sobre varios elementos distintos que decidimos guardar como etiquetas. Por defecto Google va a ver que son elementos distintos, puesto que los hemos lanzado con valores distintos pero nosotros sabemos que son el mismo tipo de acción y por tanto al hablar de visitas solo queremos que cuente como que ese usuario si que lanzó esa acción. Aun resulta demasiado abstracto, ¿verdad? Pues pongámosle nombre a todos estos datos y veamos de forma más clara la división que queremos hacer.

Cogemos el ejemplo de los clicks en el menú, que al ser ajax necesitamos capturar sus clicks como eventos. Para simplificar diremos que hablamos de un menú de tan solo 2 elementos: "inicio" y "descripcion". A la hora de capturar el click en este menú tenemos 2 posibles eventos:

- categoría = click | accion = menu | etiqueta = inicio
- categoría = click | accion = menu | etiqueta = descripcion

Si un usuario clica en su visita ambos elementos, se producen 2 eventos diferenciados y en nuestros informes tendríamos que existen 2 acciones de menú distintas. Sin embargo, como nosotros lo que queremos saber es si se usa ese menú o no nos interesaría mucho más que nos diese el valor por visitante, es decir, que nos contabilizase solo una acción de menú para ese usuario (pues solo es una persona la que ha provocado acciones en el menú).

Para hacer esta diferenciación es para lo que necesitamos el contador de eventos. Por defecto, si no se usa esta opción, google va a ir sumando 1 al valor de eventos con cada evento lanzado. Si lo usamos nosotros podemos indicarle la suma de eventos que se provoca al lanzar este nuevo.

Ejemplo de Código para capturar eventos en Analytics

Para incluir los eventos en nuestro código solo hay que definir el objeto pagetracker de analytis de la forma acostumbrada:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
  var pageTracker = _gat._getTracker("UA-12345678-9");
  pageTracker._trackPageview();
} catch(err) {}</script>

Y después en cualquier punto de nuestro script lanzaremos _trackEvent() como método de la variable creada para el objeto pagetracker (normalmente llamada pageTracker).

$("a#mi-link").click(function() {
  pageTracker._trackEvent("mi categoria", "mi accion", "mi etiqueta" );
});

Visualizando los eventos en Google Analytics

Para ver nuestros eventos tenemos que dirigirnos a "Contenido >> Seguimiento de Eventos" y dentro de este veremos distintos informes que nos permitirán ver los eventos por distintas las variables usadas. Los informes no distan demasiado de otros de analytics con lo que va a ser sencillo entenderlos.

google-analytics-event-tracking1

Temas Relacionados: analitica web programacion

Autor:

Anímate y deja tu comentario

Esto son experimentos, no preguntes ;) prueba metadescription Prueba title