26/6/12

Usando Variables Personalizadas de Universal Analytics

Código Actualizado a Universal Analytics.

Google Analytics es una tremenda herramienta para conocer a tu audiencia, qué contenidos son los que las atraen a tu sitio y desde dónde acceden a leerte. Hay otras herramientas similares, pero ésta es la mejor. Y es gratis.

A través de algunos filtros se pueden reconocer patrones de visita específicos. Por ejemplo, si la URL de mis post incluyen el año en que fueron publicados, puedo filtrar todas las URL más vistas este mes y reconocer de qué año son y, tal vez, ofrecer una actualización con contenido fresco sobre esos mismos contenidos.

Pero no hay manera de filtrar los post por autor. Si los post más leídos son de tal autor o autora, pues sería interesante analizar los temas en que obtiene mejores resultados y en los que no, y tomar decisiones editoriales para esa persona.

Google Analytics permite personalizar cierto tipo de valores y almacenarlos en su base de datos para usarlos luego en sus reportes. Acá dejo un ejemplo:


En este caso, las noticias más visitadas son de este mismo año, por razones obvias de actualización diaria de contenidos y envío de Newsletters. Las de 2011 son accedidas en 95% vía buscadores. Pero son las de 2006, que están en tercer lugar, las que más me intrigan. ¿Qué tienen esas noticias tan antiguas que atrajeron el 11% de todas las visitas del mes analizado?

Ese tipo de información es la que hace la diferencia entre un buen análisis de audiencias de uno deficiente. Y las variables personalizadas me dan justo ese dato que no es posible saber a través de los métodos tradicionales.

Y por supuesto puede ser muy útil en un sitio web de e-commerce, pero en nuestro caso lo usamos para analizar tendencias de lectura.

Ejemplo


<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-XXXX-1', {'cookieDomain': 'sitioweb.cl'});
 ga('require', 'displayfeatures');
 ga('require', 'linkid', 'linkid.js');
 ga('set', 'dimension1', '%%Categoría%%');
 ga('set', 'dimension2', '%%Año-De-Publicación%%');
 ga('set', 'dimension3', '%%Autor%%');
 ga('send', 'pageview');
</script>

Éste es un código de Universal Analytics con plugins agregados (Display Features y Link Id), que incluye tres variables personalizadas. Cada una está incluida en una casilla distinta y todas almacenan datos a nivel de la página. A continuación explico cómo funciona.


NAME es el nombre de la variable.
SCOPE es en nivel de datos que almacena la variable.

SCOPE es el que me costó más entender.

El nivel User, persiste durante 24 meses en una cookie y si el visitante vuelve a ingresar al sitio, este valor no cambia y se vuelve a ingresar a la base de datos con su valor original.
El nivel Session, persiste durante la sesión completa del visitante y tiene una duración máxima de 30 minutos.
El nivel Hit, persiste solo durante el tiempo que el visitante está en la página donde se estableció a la variable personalizada. Éste es el nivel que uso en el ejemplo.

Una vez creada la Dimensión Personalizada, Analytics entrega el código que se debe aplicar en la página.

Cómo aplicarlo en un blog o sitio de noticias


Con PHP. Y si usas Wordpress, será relativamente fácil. Sólo tienes que incluir las variables personalizadas dentro del código de Analytics e imprimir dichas variables con PHP. Acá un pequeño ejemplo:

<?php
echo " ga('set', 'dimension2', '. get_the_time('Y', $post->ID) ."');\n";
?>


2 comentarios:

  1. Yo tb lo hize, con el sistema antiguo funcionaba "en el apartado Personalizado/variables personalizadas" pero con el nuevo no sé que tengo que hacer para ver los datos de estas variables :/

    ResponderEliminar
  2. Ahora está en Público->Personalizado
    Si estás usando el código antiguo de Analytics, recomiendo que te pases al nuevo.

    ResponderEliminar