Gestión eficiente de Perfiles en Google Analytics

Haz como el carpintero: medir dos veces, para cortar una vez
(Anónimo)

La gestión de los perfiles es el punto de partida para configurar la analítica web de cualquier web. Sin embargo no es fácil encontrar una guía sencilla y clara sobre cómo hacerlo.

Soy de los que piensan que el éxito (o fracaso) de una buena medición pasa por tener presente desde el inicio algunas cuestiones esenciales:

  • ¿Cómo gestionaremos la analítica Web? -> Administración de Cuentas y Perfiles
  • ¿Quién se encargará de realizar el seguimiento de la analítica web? -> Roles de Usuario
  • ¿En qué Webs vamos a configurar la analítica Web? -> Configuración del Código de Seguimiento
Cuentas y Perfiles de Google Analytics

Veamos estos puntos con más detenimiento:

Administración de Cuentas y Perfiles.

A la hora de gestionar sus cuentas de GA es importante que tenga claro tres conceptos: Cuenta, Propiedades Web y Perfiles.

Una cuenta de Analytics es un concepto organizativo; Una forma de asignar un nombre y organizar el seguimiento de una o varias páginas web.

Cuentas de Google Analytics

El nombre de la cuenta puede ser el dominio principal del Site “www.hellogoogle.com” o un nombre genérico que describa a los perfiles que contiene: “Webs de Ignacio Gorostiza”.

Dentro de una cuenta encontramos una o varias propiedades web. Una propiedad web engloba un conjunto de páginas relacionadas. Es muy importante destacar que todas las webs pertenecientes a una propiedad web comparten el mismo identificativo UA.

El ID de propiedad web consta de dos partes:

  • (UA-XXXXX-YY) número de cuenta
  • (UA-XXXXXX-YY) Números de perfil dentro de la cuenta.
Perfiles en Google Analytics

La cadena completa (UA-XXXXX-YY) se conoce indistintamente como el ID de propiedad web o número UA y podemos encontrarla en el código de seguimiento que insertamos en las páginas:

var pageTracker = _gat._getTracker("UA-10655-1");

Las propiedades webs contiene uno o varios perfiles que son la pasarela a los informes del sitio web y determinan qué datos del sitio aparecen en los informes.

Dentro de una propiedad web podemos encontrar perfiles de diferente naturaleza:

  • Dominios de primer nivel relacionados: www.hellogoogle.com www.hellogoogle.fr
  • Submominios de un dominio prinicipal: tienda.hellogoogle.com blog.hellogoogle.com
  • Subcarpetas de un mismo dominio: www.hellogoogle.com/tienda/ www.hellogoogle.com/privado/
  • Segmentación según el perfil del visitantes: procedentes de buscadores, visitantes recurrentes, visitantes de china, etc..

Cada perfil se crea aplicando uno o varios filtros. Existen algunos filtros predeterminados que nos permiten realizar de manera sencilla las segmentaciones más habituales:

  • Excluir/incluir tráfico de los dominios
  • Excluir/Incluir tráfico de las direcciones IP
  • Excluir/Incluir tráfico a los subdirectorios

También podemos crear filtros personalizados para realizar segmentaciones más complejas. Uno de los filtros personalizados más utilizados es el llamado “Añadir el Nombre del Host o Add Host Name“:

Tipo de filtro: Filtro personalizado-> “Avanzado”
Campo A -> Extracto A : Seleccionamos “Nombre del Host” y en el campo ponemos (.*)
Campo B-> Extracto B : Seleccionamos “URL de la solicitud” y en el campo ponemos (.*)
Enviar resultados a -> Constructor: Seleccionamos “URI de la solicitud” y en el campo /$A1$B1

Este filtro se utiliza cuando queremos medir en la misma propiedad web diferentes dominios o subdominios.

Tenga en cuenta que GA por defecto no reporta el hostname de la url una página web, por ejemplo cuando un usuario visita este artículo:

www.hellogoogle.com/gestion-perfiles-google-analytics/

La página se reporta en nuestros informes como:

/gestion-perfiles-google-analytics/

En el caso de que tuviéramos una versión francesa del artículo en la siguiente url:

www.hellogoogle.fr/gestion-perfiles-google-analytics/

La pagina se reportaría también como:

/gestion-perfiles-google-analytics/

Para evitar esta inconsistencia en el trackeo Cross Domain es necesario incluir este filtro de tal manera que las páginas se reporten en los informes con el hostname ya incluido:

www.hellogoogle.com/gestion-perfiles-google-analytics/
www.hellogoogle.fr/gestion-perfiles-google-analytics/

Otro filtro personalizado interesante es el que se utiliza para segmentar por subdominio

Tipo de filtro: Filtro personalizado-> “incluir”
Campo del filtro: Nombre del host
Patrón del filtro: misubdominio\.midominio\.es
Distinción entre mayúsculas y minúsculas: No

Nota importante: El perfil que se crea por defecto en la propiedad web, llamado perfil Master o Maestro, debe mantenerse siempre como copia de seguridad sin aplicar ningún filtro.

Gestión de Roles

La gestión de Roles de Google Analytics es muy simple pero también muy limitada.

Se utilizan direcciones de correo asociadas a cuentas de Google para identificar los usuarios de GA.

No es posible dar permisos de administración a un sólo perfil de una cuenta de GA. Dicho de otra forma, cuando otorgamos permisos de administración a un usuario para un perfil concreto, de manera indirecta estamos dándole permisos de administración a todos los perfiles que contenga la cuenta.

Así que antes de crear un perfil deberíamos conocer quién se encargará de administrarlo:

  • En el caso de que vaya a ser administrado por otro usuario distinto a nosotros es recomendable crear una Cuenta independiente para el dominio.
  • En el caso de que seamos nosotros los encargados de administrarlo, podemos ubicarlo dentro de nuestra Cuenta principal.

Best Practices: Si tiene dudas sobre quién administrará el perfil en un futuro cree una cuenta independiente y se ahorrará problemas.

Configuración del Código de Seguimiento

Para determinar qué código de seguimiento hay que incluir en nuestra web debemos tener claro en qué escenario nos encontramos:

¿Vamos a medir un único dominio o subdominio?

Se trata de la configuración predeterminada de GA, está pensada para hacer el seguimiento de un único dominio (o subdominio), por ejemplo, www.hellogoogle.com.

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-YY']);
_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);
})();

Podemos crear nuevos perfiles en diferentes propiedades sebs para medir más dominios de manera independiente. Cada dominio tendrá asociado un UA diferente.

La cosa se complica un poco cuándo queremos medir dentro de la misma propiedad varios dominios o subdominios. A continuación veremos por qué.

Separar dominios no implica separar contenido

En ocasiones tenemos varias webs relacionadas y queremos centralizar la gestión analítica en una misma propiedad web.

Es el caso, por ejemplo, si tenemos varios dominios geográficos para un mismo Site: www.hellogoogle.com, www.hellogoogle.fr o si trabajamos con subdominios para ciertas secciones del Site: shop.hellogoogle.com o blog.hellogoogle.com

Es posible utilizar el mismo código de seguimiento (con el mismo ID de propiedad web) en distintos dominios y ver los datos del contenido para todos ellos en el mismo perfil de informe. Sin embargo hay varios aspectos a tener en cuenta y es conveniente conocer cómo funciona internamente GA.

GA utiliza Cookies, en concreto cuatro cockies __utma, __utmb, __utmc, __utmz, para definir algunas funciones claves en su gestión analítica:

  • información sobre los usuarios (páginas vistas, visitantes únicos, número de visitas, etc…)
  • fuentes de tráfico (referencias, búsquedas y campañas)

GA asocia cada paquete de cookies de manera exclusiva a un dominio a través de la propiedad document.domain y no podrán ser compartidas por otro dominio. Este tipo de Cookies se denominan First Party Cookies.

Cookies Google Analytics

GA considera que los dominios www.hellogoogle.com y www.hellogoogle.fr son distintos pero también los subdominios como shop.hellogoogle.com los considera distintos al dominio principal www.hellogoogle.com. Este hecho puede generar ciertos problemas cuando trabajamos con varios dominios. Veamos un ejemplo:

Imagínese que desde nuestra web www.hellogoogle.com decidimos vender gatos siameses. Para ello creamos también una tienda en shop.hellogoogle.com a la que dirigimos a los visitantes una vez que acceden al carrito de compra.

Aunque incluyamos en ambas webs el mismo código de seguimiento (con el mismo UA), al ser subdominios diferentes cualquier visitante que acuda a la tienda desde www.hellogogole.com se contabilizará como si viniera de una web externa. Además cuando un visitante cometa la osadía de navegar desde una web a otra, GA lo contabilizará automáticamente como dos sesiones distintas y por tanto como una visita adicional.

Como ya hemos comentado GA por defecto maneja Cookies diferentes para cada dominio y subdominio y por este motivo con el código de seguimiento por defecto no es posible identificar correctamente a los usuarios que viajan de una web a otra.

Como veremos a continuación, para trackear correctamente el tráfico entre dominios y subdominios es necesario personalizar el código de seguimiento e incluir algunas líneas de javascript en los enlaces que relacionan las webs.

Nota: Los subdirectorios de un dominio comparten las cookies del dominio, por este motivo si nuestra tienda estuviera ubicada en www.hellogoogle.com/shop/ no tendríamos que enfrentarnos a la problematica anterior.

Cómo medir varios subdominios

Es el caso en el que nos encontraríamos si queremos medir dentro de la misma propiedad web varios subdominios. Por ejemplo: blog.hellogoogle.com o shop.hellogoogle.com.

En este caso es necesario incluir una línea extra en el código de seguimiento de ambos subdominios:


var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-YY]);
_gaq.push(['_setDomainName', '.hellogoogle.com']);
_gaq.push(['_trackPageview']);
(...)

La función _setDomainName(newDomainName) define el nombre de dominio de las cookies. Al indicar que ambas webs utilicen el dominio “.hellogoogle.com” se contabilizarán de manera correcta los visitantes que navegen por nuestros subdominios.

Importante: Es recomendable utilizar un “.” inicial delante del nombre de dominio. El punto inicial garantiza que se utilizarán las mismas cookies en todos los subdominios.

Cómo medir Varios dominios de nivel superior

Por ejemplo, cuando trabajamos con varios dominios geográficos: www.hellogoogle.com www.hellogoogle.fr. En este caso es necesario añadir en nuestro código de seguimiento una llamada a la función _setAllowLinker y establecer _setdomainName como none.

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-YY]);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);

_gaq.push(['_trackPageview']);
(...)

El método _setDomainName(“none’) permite que se cree un conjunto de Cookies independiente de cualquier dominio de tal forma que puedan ser compartidas por varios dominios de nivel superior.

Para permitir que se compartan los datos que recogen las cookies, debe personalizar también todos los enlaces o formularios que conectan las webs. Esto se hace incluyendo una llamada al método _link en los enlaces:

<a href="http://www.hellogoogle.fr"
onclick="_gaq.push(['_link', 'http://www.hellogoogle.fr']); return false;">Visite la versión francesa de hellogoogle</a>

Para los formularios se debe incluir una llamada al método _linkByPost:

<form name="f" method="post" onsubmit="_gaq.push(['_linkByPost', this]);">

Varios Dominios y Subdominios relacionados.

Es el caso más complejo en el que nos podemos encontrar. Queremos medir dentro de una misma propiedad web varios dominios y subdominios relacionados. Pongamos por ejemplo que trabajamos con dos dominios de nivel superior: www.hellogoogle.com y www.hellogoogle.uk, y el subdominio: shop.hellogoogle.com.

En este caso el código de seguimiento para cada web es el siguiente:

www.hellogoogle.com

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-YY']);
_gaq.push(['_setDomainName', '.hellogoogle.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]);
(...)

www.hellogoogle.fr

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12345-1']);
_gaq.push(['_setDomainName', '.hellogoogle.fr']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]);
...

shop.hellogoogle.com

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-YY']);
_gaq.push(['_setDomainName', '.hellogoogle.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]);
(...)

El método _setAllowHash(false) desactiva la función de hash en Google Analytics que se encarga de incluir una cadena numérica única en el campo contenido de la Cookie. Cuando se llama a este método el campo contenido se establece con el valor 1 y conseguimos que la cookie de cada visitante pueda ser compartida entre los tres dominios.

Deberemos incluir una llamada al método _link en los enlaces que relacionan www.hellogoogle.fr con www.hellogoogle.com y shop.hellogoogle.com.

www.hellogoogle.com

<a href="http://www.hellogoogle.fr"
onclick="_gaq.push(['_link', 'http://www.hellogoogle.fr']); return false;">Visite la versión francesa de hellogoogle</a>

www.hellogoogle.fr

<a href="http://www.hellogoogle.com"
onclick="_gaq.push(['_link', 'http://www.hellogoogle.com']); return false;">Visite la versión española de hellogoogle</a>

<a href="http://shop.hellogoogle.com"
onclick="_gaq.push(['_link', 'http://www.hellogoogle.fr']); return false;">Visite la tienda de hellogoogle</a>

shop.hellogoogle.com

<a href="http://www.hellogoogle.fr"
onclick="_gaq.push(['_link', 'http://www.hellogoogle.fr']); return false;">Visite la versión francesa de hellogoogle</a>

En el caso de los enlaces que apuntan desde el subdominio al dominio principal no es necesario hacer nada.

Conclusiones

Un comienzo no desaparece nunca, ni siquiera con un final.
(Harry Mulisch)

Como comentaba al comienzo del artículo la gestión de cuentas y perfiles en GA es el primer paso a la hora de realizar correctamente el seguimiento de nuestras páginas webs.

Antes de comenzar piense con detenimiento quién se encargará de administrar sus perfiles y cómo quiere que se reporte la información analítica de sus webs. De este manera podrá organizar eficientemente sus perfiles y configurar correctamente sus códigos de seguimiento.

Le recomiendo la lectura de los siguiente artículos para profundizar en la naturaleza y características del código de trackeo y el Seguimiento entre dominios con GA.

Tutorial Cache Web: cómo gestionar el cacheo de nuestros contenidos

El concepto de cache (sin acento, a no confundir con la palabra caché que significa distinción o elegancia) es ampliamente utilizado en todos los campos de la informática. De manera general podríamos definirlo como el proceso en el que un conjunto de datos son duplicados con el fin de reducir el tiempo de acceso a la información original y optimizar el rendimiento de un sistema.

En el terreno web, el cacheo es el proceso de almacenamiento de documentos web (una página html, una imagen, una librería javascript, etc) con el objetivo de reducir el ancho de banda consumido por los visitantes, la carga de los servidores que atienden peticiones web y el retardo de una descarga. Una cache web almacena una copia de los documentos que son devueltos por un servidor de de tal forma que el mismo se encarga de atender las peticiones siguientes.

A la hora de definir una web en la que se espera un tráfico elevado cobra especial relevancia establecer una política de cacheo que permita crear un sistema escalable y evitar problemas a la hora de atender las peticiones de nuestros usuarios.

Existen tres tipos de caches que pueden actuar durante el proceso de solicitud de un documento web:

  1. Cache de Agente de Usuario (User-Agent): Está presenten en los navegadores web y lógicamente sólo funcionan para un único usuario.
  2. Cache Compartida o proxy-cachés directos: Este tipo de cache son utilizados por los proveedores de servicios de Internet y empresas para ahorrar ancho de banda. La comparten todos los usuarios que accedan.
  3. Cache pasarela o proxy-cachés inversos: Funcionan como respaldo de un servidor web de tal forma transparente para los usuarios. Es posible trabajar con varias cache pasarela de manera conjunta para implementar una Content Delivery Network (CDN) (pjem: Akami)

Tipo de Cache
Si planificamos correctamente un Site, la cache nos ayudará a mejorar el tiempo de carga y a gestionar de manera eficiente el ancho de banda de nuestro servidor. El incremento de rendimiento puede ser excepcional y la experiencia de nuestros visitantes mejorará notablemente sin necesidad de invertir ni un sólo euro.

Cómo se gestiona una petición web

Para comprender el proceso de cacheo es indispensable entender qué ocurre durante la carga de una web. El siguiente gráfico muestra como se comunican un navegador y un servidor web durante la solicitud y envío de una página no cacheada:

1. Navegador: Hola!, ¿podrías mandarme el archivo ejemplo.htm?

2. Servidor: Claro, espera un momento que lo busco en mi disco duro.

3. Servidor: Aquí esta!

4. Servidor: Te lo mando chico, cuidado que es un poco pesada 100kb y mi ancho de banda es limitado.

5. Navegador: Mucha gracias ya lo estoy descargando y mostrándoselo al usuario.

Si la página se encuentra cacheada el proceso podría ser similar el siguiente:

1. Navegador: Hola!, ¿podrías mandarme el archivo ejemplo.htm?

2. Servidor: Claro, espera un momento estoy comprobando la fecha de modificación del archivo.

3. Servidor: Aquí está!, y veo que no se ha modificado el fichero desde la última vez que lo solicitaste.

4. Servidor: Estás de suerte, la versión que tienes en tu cache es la última.

5. Navegador: Genial, entonces no hace falta que me la envíes ya estoy mostrando al usuario la página que tengo cacheada.

Qué métodos de cacheo existen.

Existen tres tipos de mecanismos que permiten gestionar el cacheo de un contenido:

1. Mecanismos por Validación (validation): En este mecanismo el servidor comprueba si la respuesta que mantiene cacheada el navegador sigue siendo válida. Existen dos variantes:

Last-Modified

Cuando el servidor devuelve un documento por primera vez a un navegador adjunta también la fecha de modificación del fichero (Last-modified):

<meta http-equiv="last-modified" content="Fri, 14 Dec 2007 12:58:00 GMT" />

La próxima vez que el navegador solicite el documento, el servidor enviará como respuesta el mensaje “Not Modified” en el caso de que el documento no haya sido modificado desde su última petición. El navegador mostrará entonces al usuario el documento que tiene almacenado en su cache.

ETag (Entity Tag)

El método Last-Modified no es infalible y puede presentar problemas si existen desajustes en el reloj interno del servidor Web.

ETag es un identificador único (un hash MD5) que se identifíca de manera única cada fichero cada vez que se crea o modifica. De esta manera, en vez de comprobar la fecha de modificación se chequea su ETag para conocer si ha cambiado respecto a la versión cacheada:

ETag: h3110g00g13

Contenido del fichero solicitado.

Más adelante podrá ver como realizar se puede realizar esta comprobación en el servidor.

2. Mecanismos por Frescura (freshness): Tanto el método Last-Modified como ETag requieren que el navegador se comunique con el servidor para comprobar la versión del fichero. En los mecanismos por frescura en cambio cada repuesta lleva asociada una fecha de caducidad (como un yogurt) y puede ser utilizada sin necesidad de que el servidor compruebe su validez. Existen dos formas de implementar este mecanismo:

Expires.

El Método Expires consiste en asignar una fecha de caducidad al fichero, el navegador no solicita al servidor una versión nueva hasta que no se traspasa la fecha de expiración del archivo.

<meta http-equiv="Expires" content="Mon, 14 Dec 2007 12:58:00 GMT">

De esta forma la comunicación se reduce a un monólogo entre el navegador que no solicita una nueva versión al servidor mientras no se exceda el periodo de expiración del fichero.

Max-age

Es un método similar a Expires con la particularidad de que la fecha de caducidad del documento se establece de manera relativa, es decir, “Este documento expirara dentro de x segundos a partir de hoy”.

<meta http-equiv="Cache-Control" content="max-age=3600“>

Recuerde que el tiempo se debe establecer en segundos, un año por ejemplo serían 31.536.000 de segundos.

3. Mecanismo por Invalidación: Este mecanismo se deriva de otra petición que pasa por la caché. Por ejemplo, si la url asociada con una respuesta cacheada es solicitada más tarde a través de una petición POST, PUT o DELETE, la respuesta que se encontraba cacheada quedará invalidada. Esto es lo que ocurre por ejemplo cuando intenta navegar hacia atrás en su historial tras haber enviado los datos de un formulario.

Además tenga en cuenta que existen una serie de reglas que también aplican al cacheo de contenidos y deben tenerse en cuenta:

  • Bajo determinadas circunstancias, como por ejemplo, cuando un equipo se desconecta de la red, la cache puede servir páginas sin consultar con el servidor de origen.
  • Un documento nunca se cachea si la cabecera del documento indica de manera explicita que no es cachee.
  • Si se utiliza un protocolo seguro ((HTTPS) la página nunca será cacheada.

Cómo evitar el cacheo de nuestros contenidos

En ocasiones el cacheo de contenidos puede interferir con el correcto funcionamiento de la web y por tanto debemos evitarlo. El funcionamiento de la cache se puede controlar con las siguientes directivas:

  • Cache-control: max-age – Especifica el número máximos de segundos en los que el contenido sera considerado como fresco
  • Cache-control: s-maxage – Similar a la directiva max-age, pero aplicable solo para caches compartidas (pejm: un proxy).
  • Cache-control: public – indica que la versión cacheada puede ser guardada por proxies y otros servidores intermedios para que todo el mundo tenga acceso a ella..
  • Cache-control: private – indica que el archivo no es el mismo para usuarios diferentes. De esta manera el archivo puede ser cacheado por el navegador del usuario pero no debe ser cacheado por proxies intermedios.
  • Cache-control: no-cache – Significa que el archivo no debe ser cacheado, esto puede ser necesario en casos en los que una misma url pueda devolver diferentes contenidos.
  • Cache-control: no-store – Indica al navegador que sólo guarde el documento el tiempo necesario para mostrarlo. Le recomiendo la lectura del siguiente artículo dónde se alerta sobre el peligro de utilizar la directiva no-store en situaciones no adecuadas.
  • Cache-control: must-revalidate – Indica a la cache que deben hacer caso a cualquier directiva de cacheo que le indiquemos. Tenga en cuenta que la especificación HTTP permite a las caches atender de manera automática a las peticiones bajo determinadas circustancias. ¨La directiva must-revalidete obliga a la cache a seguir nuestras directivas de manera estricta. La forma de utilizarla es la siguiente:

    <meta http-equiv="Cache-Control" content="max-age=3600, must-revalidate“>

  • Cache-control: proxy-revalidate – Similar a must-revalidate pero sólo aplicable a proxy caches.

Como ve no existe una única forma que indicar que una página no sea cacehada por un navegador. Generalmente se utiliza la siguiente cabecera:

<meta http-equiv="Cache-Control" content="max-age=0, no-cache, no-store, private">

<meta http-equiv="Pragma" content="nocache">

La directiva Pragma tiene el mismo significado que Cache-control: no-cache y se suele incluir para asegurarnos la compatibilidad con versiones anteriores a HTTP/1.0. ( Debe tener en cuenta que alguna de estas directivas sólo funcionan con las navegadores modernos.)

En lugar de utilizar el tag meta también puede crear las cabeceras HTTP para sus documentos con cualquier lenguajes de scripting de servidor: PHP, ASP, .NET, etc. Recuerde que cualquier directivas de cacheo deben incluirse al principio del documento, incluso antes del tag html. Aquí le muestro algunos códigos de ejemplo:

php:

header("Cache-Control:...");

header("Pragma:...");

Cold Fusion

<CFHEADER NAME="Expires" VALUE="...">

ASP

<% Response.CacheControl="..." %>

ASP. net

Response.Cache.SetExpires (... )

Tipo de páginas en función de su cacheabilidad

Una web puede ofrecer tres tipos de contenidos en función de su cacheabilidad.

  1. Contenidos estáticos: Son aquellos contenidos que ya existen físicamente en el servidor, tienen un tamaño fijo y una fecha determinada. Una página html, una imagen o un documento pdf son ejemplos de contenidos estáticos. Este tipo de contenidos son firmes candidatos a ser cacheados.
  2. Contenidos dinámicos: Son contenidos que se crean en el momento en el que se solicitan accediendo, por ejemplo, a una base de datos. Este tipo de páginas son independientes del perfil del usuario que las visita y por tanto son potencialmente cacheables.
  3. Contenidos personalizados: Este tipo de contenidos se crean a medida en base a las características de la petición y pueden ser diferentes en función de quién, cuándo, o cómo es solicitada. Por este motivo este tipo de contenidos no son buenos candidatos a ser cacheados, aunque como veremos más adelante hay técnicas que permiten cachearlos de manera parcial o total. El área privada de la web de un banco, o un carrito de la compra son dos ejemplos de páginas personalizadas.

Es muy importante que entendamos qué contenidos pueden y deben cachearse y cuales no. Si no gestionamos eficientemente el cacheo corremos el riesgo de servir a nuestros usuarios un contenido que no está actualizado o por otro lado saturar nuestro servidor con peticiones innecesarias.

Estrategias de cacheo

Para optimizar la eficiencia del cacheo de contenidos tanto en el navegador como en los servidores proxy existen una serie de estrategias que podemos tener en cuenta:

1. Evite utilizar Query String

Utilizar Friendly URLs en lugar de query strings facilita el cacheo de los contenidos. Algunos navegadores y muchos proxies cache no cachean contidos que lleven una query string en la URL.

Recuerde que puede utilizar mod_rewrite en Apache Web Server para implementar friendly urls.

2. Organice eficientemente sus contenidos

Puede organizar sus contenidos en cacheables y no cacheables, ubicándolos en diferentes rutas dentro del servidor.

Por ejemplo es una práctica habitual ubicar los contenidos no cacheables de una web en /cgi-bin/ y configurar el servidor para que informe a los navegadores con las cabeceras HTTP necesarias de que este contenido no sea cacheado.

3. Envíe la cabecera Last-Modified

Incluya en sus documentos la información Last-Modified. De esta manera los navegadores podrán hacer peticiones condicionales del tipo if-Modified-Since (IMS) para que el servidor le entregue el contenido sólo en el caso de que su cache haya caducado.

Para las páginas estáticas no existen ningún problema ya que existen físicamente el el servidor y tienen un time stamp asociado, pero en el caso una página dinámica donde el contenido no existe fisicamente, es la propia aplicación la que debe preguntar si el contenido ha cambiado.

Una gestión eficiente de las solicitudes condicionales tiene una repercusión muy positiva en el ahorro de ancho de banda del servidor web.

Estratégias de cacheo para páginas personalizadas

Aquellas contenidos que se deben mostrar de manera personalizada para cada usuario también pueden ser objeto de cacheo si tenemos en cuenta las siguientesconsideraciones:

1. Evite incluir fragmentos dependientes de la sesión HTTP del usuario

Cuando un documento web se crea dinámicamente en el servidor web, evite que alguno de los elementos que componen la página dependa de la sesión HTTP del usuario. De esta manera conseguirá optimizar el cacheo de cada elemento y se podrá integrar más fácilmente en sistemas externos como Akamai que proporcionan gran escalabilidad.

2.Gestione eficiente la información en Cookies en el navegador

Las cookies permiten almacenar de manera local la información personalizable de casa usuario de tal manera que el resto de contenidos de la página pueden ser objeto de cacheo.

Por ejemplo, si queremos mostrar un mensaje de bienvenida personalizado podríamos almacenar este mensaje un una cookie local de tal manera que el resto del contenido pudiera cachearse.

3. Muestre el perfil del usuario en la URL

Podemos recurrir a técnicas de URL rewriting para mostrar en la url elementos que indiquen el país o el tipo de usuario. Por ejemplo:

http://www.hellogoogle.com/es/home-user/welcome/

Luego por técnicas de url rewriting podrían convertirse en una url dinámica del tipo:

http://www.hellogoogle.com/welcome/?country=es&usertype=home-user

Como ya vimos este tipo de friendly urls pueden ser cacheadas por los navegadores de los usuarios.

4. Gestione de manera independiente la información personalizada

Técnicas como AJAX o Adobe Flex nos permiten mostrar al usuario información personalizada mediante peticiones GET o POST una vez cargada la página. Esto nos abre la posibilidad de cachear el documento html sin que ello interfiera con la información que se muestra de manera personalizada a cada usuario.

5. Utilice la cabecera ETAG para gestionar el cacheo de contenidos dinámicos

Como ya vimos anteriormente ETAG (Entity Tag) es un sistema que permite identificar a un contenido de manera unívoca, Los servidores Web pueden realizar validaciones de contenido basándose en esta información al igual que hacen con la información Last-Modified.

Obtener un ETAG a partir del contenido dinámico es sencillo y pemite minimizar el tiempo de respuesta en las revalidaciones de estos contenidos.

Dentro del ciclo de vida de la petición dentro del servidor, tras la generación del contenido, la aplicación puede obtener una hash MD5. La MD5 sería el ETAG que representa a esa petición. Si es igual a la ETAG enviada por el navegador, se indica al usuario final que el contenido no ha cambiado para que la cargue de su cache local (HTTP/1.x 304)::

var contenido = response.buffer

var path = request.header("PATH")

var ETAG = funcion-MD5 (path, contenido) //Obtenemos el ETAG de la petición

var request-ETAG = request.header("if-none-match") //Obtenemos el ETAG del navegador

Si ETAG = request-ETAG Entonces //Comparamos ambos ETAG

response.status = 304 //Si son iguales el contenido no ha variado.

response.buffer = ''

return

Si No

response.addheader("ETAG", ETAG)

Fin Si

Utilizar ETAG junto con las directrices de Cache Cache-Control o Expires, permite ahorrar peticiones innecesarias y ancho de banda de nuestro servidor.

La cache universal: la solución a todos nuestros males

Como hemos podido ver en este artículo de hellogoogle.com la gestión eficiente de la cache es fundamental en el desarrollo y mantenimiento de un Site. Si puliéramos trabajar con una cache nuestra vida sería mucho más sencilla: Por ejemplo, no  haría falta pedir cita con el  médico, éste quedaría cacheado tras la primera visita del día y cada ciudadano tendríamos un médico en cache a nuestra disposición las 24h del día. Tampoco tendríamos que hacer cola en el autobús o en el cine: una vez que hubiera accedido el primer usuario el resto tendría un autobús y un cine cacheado al instante.

Me temo que aún queda mucho tiempo para que la ciencia ponga a nuestra disposición un mundo cacheado en el que todos los seres humanos podamos vivir en paz sin necesidad de competir por un puesto de trabajo, una mujer o un trozo de pastel de chocolate. Mientras tanto seguiremos enfrentándonos a la cruda realidad de un mundo con recursos limitados, guerras, muerte y enfermedad.

¿Quien sabe?, después de todo quiza no sea tan malo tener que esperar un ratito en la cola del dentista, yo al menos, no tengo ninguna prisa.

Tutorial sobre Google Analytics: 4. Objetivos, Conversiones, Ruta de redireccionamiento y Funnels

Tutorial sobre Google Analytics

Viene de la tercera parte del tutorial de Google Analytics.

“Una web sin objetivos es errática como una persona sin ilusiones, como un barco sin rumbo perdido en la inmensa calma del mar.” (Sí, podía ser perfectamente la frase de un gran pensador del siglo XXI pero reconozco que es de cosecha propia).

Los objetivos o Goals constituyen un mecanismo para medir las conversiones de un Site. Una conversión es el proceso en el que un visitante realiza una acción de especial interés para nuestro negocio.

En esta cuarta parte del tutorial de HelloGoogle sobre Google Analytics veremos qué son los objetivos, cómo funcionan, cómo configurarlos desde el panel de control y como interpretar un informe de objetivos.

Qué es un objetivo

A efectos prácticos un objetivo es simplemente una página vista. Podría tratarse de un artículo específico, o de la página que el usuario llega tras completar un proceso de compra satisfactoriamente. Un objetivo se define precisamente indicando la URL de esta página.

A nivel de negocio, un objetivo representa una acción de especial interés para nuestro negocio que puede ser acometida por nuestros visitantes. A modo de ejemplo podríamos citar los siguientes objetivos:

  • Registrarse como usuario.
  • Inscribirse en un Newsletters.
  • Realizar con éxito una compra
  • Realizar una consulta.
  • Finalizar correctamente una descarga.
  • Leer un artículo clave.
  • etc.

El indicador Conversiones de objetivos mide la capacidad de nuestra web para lograr los objetivos comerciales para los que fue concevida. Estos objetivos representan una página a la que nuestros visitantes acceden tras completar una tarea clave como puede ser realizar una compra con éxito, completar una suscripción, o finalizar una descarga.

Cómo se define un objetivo

Actualmente Google Analytics sólo permite establecer 4 objetivos (G1, G2, G3, G4) por web por lo que se hace altamente necesario elegirlos cuidadosamente.

Podemos definir un objetivo en:  Ajustes de Google Analytics > Configuración del perfil desde aquí accedemos a la sección Objetivos de conversión y redireccionamiento

A continuación tras pulsar en “editar” podemos indicar la información del objetivo.

Por cada objetivo podemos especificar los siguientes parámetros.

1. Objetivo activo: Por defecto los objetivos aparecen como Desactivados. Activelo para comenzar a trabajar con él.

Es muy importante que se acuerde de desactivar el objetivo una vez que la campaña asociada a él haya finalizada. Tenga en cuenta que Google Analytics calcula el ratio de conversión global del website a partir de todos los objetivos que se hayan definido en él, si una vez finalizada la campaña el objetivo asociado a ella no se desactiva, podría desvirtuar el ratio de conversión global.

2. Tipo de concordancia: Como ya hemos comentado anteriormente los objetivos se asocian con una URL. El parámetro “tipo de concordancia” indica cómo vamos a definir esta dirección. Existen 3 tipos de concordancia:

  • Concordancia exacta: Indicamos una url exacta asociada al objetivo. Por ejemplo: www.hellogoogle.com/subscribe/gracias_por_suscibirse.htm, también podemos omitir el dominio: ^/subscribe/gracias_por_suscibirse.htm.
  • Concordancia principal: Este tipo de concordancias es útil cuando la url del objetivo es dinámica y puede variar en función del usuario que está navegando. Por ejemplo si tuvieramos un objetivo con la url: www.hellogoogle.com/subscribe/gracias_por_suscibirse.php?auth=true&id=9982251615, en la que varía el parámetro ID en función del usuario, podríamos indicar la siguiente concordancia principal: www.hellogoogle.com/subscribe/gracias_por_suscibirse.php?auth=true
  • Concordancia de expresiones regulares: Las expresiones regulares permiten definir un objetivo que abarca múltiples URLs. Este tipo de oncordancia es útil cuando se trabaja con múltiples subdominios y/o páginas dinámicas. Por ejemplo podríamos definir un objetivo que corrsponda con urls del tipo:

    rss.hellogoogle.com/subscribe/gracias_por_suscibirse.php?auth=true&id=6687639082

    mail.hellogoogle.com/subscribe/gracias_por_suscibirse.php?auth=false&id=2389098822

    Con esta expresión regular: ^/subscribe/gracias_por_suscibirse.php\?id=true|false&id=.*

    Recuerde que tiene a su disposición varias herramientas para testar expresiones regulares.

3. Url del objetivo: En este campo indicaremos la Url del objetivo o la expresión regular que lo abarca.

4. Nombre del objetivo. El nombre del objetivo es útil para identificarlo posteriormente en los informes de Google Analytics. Es recomendable elegir un nombre corto y descriptivo.

5. Distincion entre mayúsculas y minúsculas. Poco más que añadir.

6. Valor del objetivo. A cada objetivo es posible asignarle un valor de objetivo para calcular posteriormente con mayor precisión el retorno de la inversión, la puntuación media y demás parámetros.

Una forma inteligente de asignar un valorar a cada objetivo consiste en evaluar la frecuencia con la que los visitantes que alcanzan este objetivo se convierten en clientes. Por ejemplo, si sus comerciales logra cerrar una ventas de 500 euros de media con el 10% de personas que solicitan información desde su formulario de contacto, podríamos estimar al valor asociado al objetivo “contacto informativo” 50 euros (el 10% de 500 euros ). En cambio si sólo el 1% de sus suscriptores rss realizan una compra, podríamos asignar 5 euros al objetivo “suscripción rss“.

Cómo se define un objetivo una ruta de redireccionamiento

Opcionalmente es posible definir una ruta de redireccionamiento que consiste en indicar las páginas que deben visitar nuestros visitantes hasta lograr la coversión de un objetivo.

Una ruta de redireccionamiento se define de manera análoga a un objetivo, indicando las urls de cada uno de los pasos que dirigen al visitante hacia la meta.

Podemos establecer como obligatorio el primer paso del redireccionamiento, marcando el checkbox “Paso obligatorio”. De esta menera los usuraios que no comiencen el proceso de conversión por la página inicial no se contabilizarán a la hora de calcular las conversiones.

Informe de Objetivos

Tras definir los objetivos Google Analytics le ofrecerá información sobre el rendimiento de su web. La información que nos ofrece los informes de la sección Objetivos le permiten a comprender:

  • cómo llegan los usuarios a su sitio
  • por qué no completan los objetivo.
  • Porcentajes de conversión
  • Valor económico del tráfico que recibe su sitio.

Los puntos principales que nos ofrece el informe son:

1. En “Visión General” podrá observar un resumen del rendimiento de los objetivos:

  • Número de objetivos realizados.
  • Porcentaje de conversiones obtenidas.
  • Valor total de los objetivos realizados.

2. En la sección “Verificación de Objetivos” podemos ver qué páginas son las que mayores ratios de conversión consiguen (El ratio de conversión es el tanto por ciento de visitantes que completan un objetivo).

3. El apartado “Ruta de objetivo invertida” nos permite conocer que páginas dirigieron a los usuarios hacia el objetivo.

4. La sección “Visualización de redireccionamiento” nos ofrece la gráfica de redireccionamiento o Funel de nuestros objetivos donde podemos conocer los porcentajes de abandono.

Qué es un Funnel

La ruta de redireccionamiento se denomina habitualmente  “funnel” (embudo) en honor a la  forma que toma el gráfico que representa a los usuarios que navegan por las páginas que forman parte del proceso de conversión. Generalmente a la primera página acceden la totalidad de los usuarios para ir disminuyendo el número en las sucesivos pasos, esto confiere al diagrama la apariencia de un embudo.

El estudio del funnel nos permite conocer a fondo qué ocurre durante el proceso de conversión.

  • Si uno de los pasos es poco claro o difícil de usar, muchos usuarios abandonaran el proceso en ese punto, incidiendo negativamente en los porcentajes de conversión.
  • Gracias las rutas de redireccionamiento es posible determinar que porcentaje de usuarios que inician un proceso de conversión lo completan correctamente y en qué páginas se produce el mayor porcentaje de abandonos.

Casos especiales

Objetivos que no pueden asociarse a una url.

En algunas ocasiones nos encontraremos con el caso de un objetivo que no se puede asociar a una URL concreta.

Este caso puede encontrarlo en esta misma web en la que incluyo dos botones para que el usuario pueda suscribirse ya sea a través de su herramienta de sindicación o  correo electrónico. Al hacer click en estos botones el usuario es redirigido a la web de feedburner que es donde se gestiona la suscripción. Por este motivo no es posible definir la url de la página de conversión del objetivo.

Este tipo de casos se gestionan definiendo urls virtuales (direcciones que no existen físicamente) y recurriendo a la función urchinTracker():

  • Indique en la url del objetivo una dirección que no exista por ejemplo: http://www.hellogoogle.com/goal/subscribe/
  • Este objetivo se activará cuando el usuario haga click en los botones de suscripción, para ello deberá incluir el siguiente código javascript al evento onclick de cada enlace:<a onClick='javascript:urchinTracker("/goal/subscribe/mail")' href="...

    <a onClick='javascript:urchinTracker("/goal/subscribe/rss")' href="...

  • El objetivo se activará cuando el usuario pinche en alguno de los dos botones de suscripción. Es importante tener en cuenta que esto no significa necesariamente que el proceso de suscripción se haya completado correctamente, ya que delegamos el resto de la gestión a una web externa, en este caso feedburner, y a partir de este punto no podemos tener conocimiento de qué ocurre.

Cuidado con los filtros

Es importante tener presente que los filtros pueden interferir con el correcto funcionamiento de los objetivos.

Por ejemplo un filtro que modifique la visualización de la  URL de una página puede colisionar con la correcta identificación de la URL que define un objetivo

¿Objetivo alcanzado?

Si después de leer este artículo, he coseguido despertar una irrefrenable necesidad de definir objetivos para su web, creo que el propio objetivo de este artículo se habrá alcanzado con éxito.

Nada más, nos vemos pronto en la siguiente entrega de este tutorial sobre el maravilloso mundo de Google Analytics.

Tutorial sobre Google Analytics: 3. Etiquetado o Tagging en campañas de Marketing

Tutorial sobre Google Analytics: 3. Etiquetado o Tagging en campañas de Marketing

Viene de la segunda parte del tutorial de Google Analytics.

Qué es el etiquetado

Etiquetar algo en el contexto de analítica de web, consiste en añadir información adicional a un enlace que apunta hacia nuestro Site.

Google Analytics utiliza esta información para clasificar los enlaces entrantes: De dónde proviene el enlace, cuál es la naturaleza del link (pejm: Adwords o SERP), a qué campaña de Marketing pertenece el enlace, etc.

Imagine un banner de HelloGoogle situado en la página principal de Microsoft (Soñar es libre, ¿no?) un enlace sin etiquetar tendría la siguiente url:

  • http://www.hellogoogle.com

El mismo enlace etiquetado podría ser:

  • http://www.hellogoogle.com?utm_src=xxx&utm_medium=yyy&utm_campaign=zzz

Como veremos a continuación Google Analytics utiliza el etiquetado para identificar de manera muy precisa a los visitantes que conseguimos a través de nuestras campañas de marketing.

Para qué se utiliza el etiquetado

El etiquetado es un recurso imprescindible en cualquier herramienta de analítica web para poder testar y medir de manera adecuada nuestras campañas de Marketing. La información que obtenemos nos ayuda a tomar decisiones bien fundadas sobre nuestra inversión en marketing.

Si no etiquetamos los enlaces entrantes a nuestra web, Google Analytics sólo puede clasificar a nuestros visitantes en uno de estos tres segmentos:

  • Orgánico: aquellos visitantes que provienen de la página de resultados de búsqueda (Serp) de un buscador.
  • Referral o sitio web de referencia : visitantes que llegan desde un link externo ubicado en un sitio web.
  • Directo: aquellos usuarios que acceden tecleando la url de nuestra web directamente.

Aunque esta segmentación puede ser muy útil, no permite medir nuestras acciones de marketing, es decir, conocer cuánto tráfico y cuántos objetivos produce cada elemento de la campaña. Por ejemplo, posiblemente le gustaría saber cuántos ingresos ha conseguido gracias a los visitantes que vinieron a través del banner en la web de Microsoft.

Con esta información de negocio, Google Analytics puede crear una serie de informes llamados "Marketing Campaign Results Reports” (Informes de Campañas de Marketing). Estos informes son extremadamente útiles porque permiten analizar los datos estadísticos bajo un prisma de negocio:

  • Visitas: Qué interés generó la campaña.
  • Ratio de conversión de objetivos (G1/Visitas): ¿Se comportaron los visitantes de la campaña tal y como se esperaba?
  • Media de transacciones (T/Visitas): Cuántas transacciones ha generado la campaña
  • Ingresos por visita ($/Visitas): Cuanto dinero se ha ingresado por cada visita de la campaña.

En el siguiente artículo puede conocer mucha más información sobre este tipo de informes de campañas de Marketing.

Cómo se realiza el etiquetado

El etiquetado consiste en añadir a la url del enlace de un anuncio una información adicional y descriptiva compuesta por varios parámetros separados por un carácter &. Esta información adicional que se añade a la url se denomina técnicamente query string. Por ejemplo

www.hellogoogle.com/como-posicionar-pagina-web-en-google/?utm_campaign=hellogoogle_un_millón_al_mes&utm_medium=banner&utm_source=microsoft.com&utm_content=solo-texto

Si la campaña de marketing se realiza con Google Adwords no es necesario etiquetar las urls ya que Adwords realiza internamente esa tarea por nosotros. En cambio si la campaña se realiza desde otro medio: banners, campañas de emailing o enlaces en portales de terceros es necesario etiquetar los enlaces para que Google Analytics pueda interpretar correctamente los datos y manejarlos como campañas.

Los parámetros que podemos utilizar para etiquetar un enlace se denominan dimensiones de marketing. Existen cinco dimensiones de marketing que pueden combinarse para realizar el seguimiento de las campañas online.

  1. Campaña – utm_campaign
    Esta dimensión indica el nombre de la campaña de marketing que englobar todas las acciones que se vayan a iniciar en ella. Por ejemplo, si estuviéramos pensando en una campaña de marketing orientada a conseguir un trafico de un millón de visitantes al mes, podría ser: hellogoogle-un-millón-al-mes
  2. Medioutm_medium
    El medio es muy útil para determinar el origen y, el origen y el medio juntos ofrecen información específica sobre el origen de una referencia. Por ejemplo, en el caso del origen de un motor de búsqueda de Google, el medio podría ser “coste por click”, que indica un enlace patrocinado por el anunciante, u “orgánico”, que indica un vínculo gratuito en los resultados del motor de búsqueda. En el caso del origen de un boletín de noticias, el medio podría ser “correo electrónico” o “impresión”.
    Indica cuál es el medio de distribución por el cual nos comunicamos con nuestros clientes. Podríamos tener diferentes valores en función del medio:

    • En el caso de un newsletter podría ser: "email".
    • Para un banner en un portal externo podría ser: "banner".
    • Para un enlace patrocinado, podría ser: "CPC" (Coste per Click).
    • Para un enlace procedente de la página de resultados de búsqueda: "orgánico".
  3. Origen – utm_src
    Identifica en quién nos estamos apoyando para mandar el mensaje. Si estuviéramos etiquetando enlaces CPC el origen podría ser: el motor de búsqueda de Google, Yahoo o MSN. También podríamos identificar con un nombre un newsletter (pejm: newsletter-conozca-hellogoogle) o un sitio web de referencia (pejm: microsoft.com).
  4. Contenidoutm_content
    La dimensión del contenido identifica en qué versión de un anuncio o banner ha hecho click un usuario. Se utiliza para realizar pruebas del contenido (A/B) en publicidad orientada por contenido con el fin de conocer cual es la versión más efectiva de un anuncio a la hora de atraer clientes potenciales que resulten rentables. Tenga en cuenta que sólo es posible identificar 2 versiones de un mismo anuncio utilizando esta dimensión.
  5. Término – utm_term
    El término es la palabra o frase que un usuario introduce al realizar una búsqueda orgánica. No suele ser necesario indicar esta dimensión ya que se realiza automáticamente.

El proceso de etiquetado es sencillo si tenemos en cuenta una serie de consideraciones:

  1. Etiquete sólo los links que realmente necesita.
  2. Para evitar errores cree los links utilizando la utilidad URL Builder.
  3. Utilice sólo las dimensiones de marketing que realmente necesita.
  4. Elija un nombre corto.
  5. Usar solo caracteres alfanuméricos.
  6. Los nombres deben ser comprensibles por todos los que consulten los informes de Google Analytics.

¿Cómo funciona el seguimiento de campañas?

Tras etiquetar los enlaces entrantes a nuestra web Google Analytics puede realizar un seguimiento preciso de los usuarios que visitan su sitio:

  • Qué elemento de la campaña de marketing ha conseguido atraer al visitante.
  • Qué conversiones y transacciones se han acometido

Cuando un usuario hace click en un link etiquetado, por ejemplo en un newsletter que le hemos enviado, Google Analytics almacena todos los parámetros en una cookie (un archivo de texto que se almacena en la propia máquina del usuario).

  • Esta cookie persiste en el equipo del visitante durante 6 meses, de esta manera si el usuario vuelve a acceder cualquier otro día a nuestra web, tecleando la url directamente por ejemplo, esta cookie permite saber a Google Analytics que se trata del mismo usuario que conoció nuestra web a través del newsletter.
  • Es posible modificar el tiempo de vida de la cookie de campañas añadiendo la variable _ucto al código de seguimiento de la campaña.
  • Por otro lado si este mismo usuario accede a nuestra web en otro momento a través de un enlace patrocinado de Adwords, Google Analytics actualiza la información de la cookie para atribuir su visita a CPC.
  • Es posible indicar a Google Analytics que no actualice la información de la cookie de un usuario añadiendo a la url destino el parámetro utm_nooverride=1

En la ayuda de Google Analytics puede encontrar toda la información que necesite sobre Etiquetado.

Ver la cuarta parte del tutorial de Google Analytics.

Tutorial sobre Google Analytics: 2. La interfaz de Google Analytics

Tutorial sobre Google Analytics: 2. La interfaz de Google Analytics

Viene de la primera parte del tutorial de Google Analytics.

Una de las principales bazas de Google Analytics frente a su competencia es su aspecto visual. Las gráficas, animaciones y efectos, lejos de ser algo anecdótico forman la columna vertebral del sistema y representan la principal fuente de información para los usuarios. En la segunda parte del tutorial veremos qué nos ofrece y cómo desenvolvernos en el entorno. Creo que en esta ocasión no tendría sentido escribir un tutorial que no fuera también muy visual.

Trendalyzer: Un mundo en movimiento.

La interfaz utiliza el software Trendalyzer desarrollado por el organismo sin ánimo de lucro sueco Gapminder. Es un motor desarrollado en flash que permite generar todo tipo de gráficas, animaciones y efectos.

Trendalyzer

Según palabras del propio Hans Rosling creador del software, "Trendalyzer se diseñó para crear animaciones muy diferentes a las “aburridas estadísticas” y hacer que la mayoría de la gente comprenda los datos".

No debemos pasar por alto el ingente trabajo y recursos que son necesarios para recoger todos los datos estadísticos de los millones de webs que utilizan Google Analytics y crear a partir de ellos estadísticas y gráficas,

Cómo utilizar el interfaz de Google Analytics

La interfaz de Google Analytics ha sido diseñada de tal modo que sea sencillo de utilizar e interpretar por

webmasters, anunciantes, editores.

En contraposición a la figura del experto en Google Analytics, es recomendable distribuir el acceso y uso de las analytics entre todos los miembros del equipo implicados en el desarrollo, edición, mantenimiento y promoción de una web.

Desde el panel de control podemos conocer la siguiente información:

  • Cómo son los visitantes que de su web. (Usuarios)
  • Cómo llegan los visitantes a su web. (Fuentes de tráfico)
  • Cómo navegan por su web. (Contenido)
  • Cómo se convierten en usuarios.(Objetivos)
  • Cómo compran en nuestra web. (Comercio electrónico)

La forma de interactuar con las Analytics es tan simple como formular preguntas y analizar sus respuestas.

La página inicial llamada Panel nos ofrece una visión global del Site y acceso a todas las funcionalidades del sistema. Por ejemplo podríamos conocer de un vistazo cuantas visitas ha tenido nuestra web en los últimos 30 días:

Google Analytics

El panel esta formado por un conjunto personalizable de resúmenes de informes. Ha sido diseñado de forma modular de tal forma que cada usuario puede añadir, elminar y arrastrar los diferentes informes hasta adaptarlo a sus necesidades. Cada informe puede ser examinado en detalle pulsando sobre el enlace "ver informe".

Google Analytics Modular

Cualquier métrica puede verse con mayor detalle en un sólo click de ratón. Por ejemplo podemos desglosar las visitas de un mes, para conocer las visitas de cada día.

Interfaz de Google Analytics

Cada métrica mostrada en el panel de control esta relaciona con otras métricas que pueden ser objeto de una nueva consulta. Por ejemplo: Si se nos indica que nuestra web ayer tuvo 1000 visitas, podríamos conocer de que fuentes provino ese tráfico pulsando en fuentes.

Las métricas pueden segmentarse. Por ejemplo: es posible segmentar el tráfico proveniente de buscadores para conocer cual es de pago (adwords) y cual es gratuito (posicionamiento orgánico). Estos datos también pueden ser objeto de una segunda segmentación, si por ejemplo establecimos varias páginas de destino (Más adelante veremos en qué consisten) podríamos segmentar el trafico de pago proveniente de buscadores por página de destino

Google Analytics nos pemite distinguir nuestros visitantes por su ubicación geográfica de, es lo que se denomina Geolocalización o Geotargeting.

Google Analytics

El motor Trendalyzer se utiliza para crear los Gráficos de visitas por ubicación o Visitors Maps Overlay que muestran de manera gráfica las fuentes de visitantes. Podemos conocer tanto el país como la ciudad de procedencia. Para realizar la geolocalización, se analiza la IP del visitante y se determina la ubicación geográfica del ISP que da servicio esa IP.

La Geolocalización es especialmente importante para empresas que actúan internacionalmente y a la hora de medir campañas de posicionamiento en buscadores con keywords en diferentes idiomas.

Es posible exportar con un sólo click cualquier informe de Google Analytics a diferentes formatos para su procesamiento por otra aplicación o simplemente para realizar una presentación en papel:

Google Analytics
  • Documento en formato portable (PDF)
  • Valores separados por comas (CSV)
  • Valores separados por tabulación (TSV)
  • Lenguaje de marcado extensible (XML)

Información básica

Google Analytics nos ofrece una seríe de indicadores básicos que pueden servirnos para observar la situación general de una web.

  1. Visitas: Corresponde con el número de personas han accedido a nuestra web en un periodo de tiempo. Sólo se contabiliza una visita por cada sesión, independientemente del número de páginas a las que haya accedido durante la sesión. Así tendríamos que un usuario que visite diariamente nuestra web contabilizará como 30 visitas a lo largo de un mes.

    Esta estadística nos permite conocer cuál es el nivel de fidelización de nuestra web.

  2. Usuario único absoluto: Se trata del número de individuos únicos que visitan nuestra web durante un periodo de tiempo. Un visitante que visite diariamente nuestra web durante un mes sólo contabilizará como una visita única.

    Este estadística nos permite conocer cuál es el alcance de nuestra página web.

  3. Páginas vistas: Es el número total de páginas que han sido visionadas durante un periodo de tiempo. Si el último mes tuvimos 100 visitantes y cada uno leyó 10 artículos, tendríamos 1000 páginas vistas para ese periodo de tiempo.

    Esta estadística refleja el interés que generan nuestros contenidos entre nuestros público.

  4. Fuentes de entrada: Nos ofrece información detallada sobre la procedencia de nuestras visitas: desde qué páginas se nos enlaza, por qué keywords nos encontraron, etc…
  5. Tiempo en el sitio: Indica el tiempo medio que dedican nuestros visitantes a navegar por la web en cada visita. Es un dato que puede conllevar a confusión ya que es frecuente que los usuarios no cierren la pestaña del navegador aunque ya no estén visitando el sitio.

    Refleja la calidad de las visitas de una web.

  6. Porcentaje de abandonos: Muestra que porcentajes de usuarios se ha limitado a visitar una sóla página, o lo que es lo mismo, qué porcentaje de usuarios salieron del Site por la misma página que entraron.

    Este dato refleja el interés que despiertan las páginas de acceso a nuestro Site. Para mejorar este indicador es importante que nos esforcemos por ofrece a nuestros visitantes aquello que buscan cuando acceden a nuestra web.

  7. Nuevas visitas: Refleja el número de usuario que acceden por primera vez a nuestra web.

    Es un dato que debe ser medido con especial cuidado para evitar caer en contradicciones. Un porcentaje alto de usuarios nuevos refleja que la web tiene un poder de atracción de tráfico alto, ya sea por buscadores, publicidad o sites de referencia. Por otro lado un porcentaje alto de usuarios recurrentes indica que nuestra web fideliza de manera exitosa a sus visitantes ya sea por ofrecer un contenido atractivo, de mucha utilidad, muy actualizado, etc… Los comportamientos de un usuario nuevo y uno recurrente pueden ser muy distintos. Un usuario que accede por primera vez desconoce los flujos de navegación de una web, no está familiarizado con la forma en la que se muestran los conenidos, ni las "llamadas a la acción" de la web. Por este motivo, este tipo de usuarios abandonan la web con más facilidad y muestran un comportamiento diferente al de los usuarios recurrentes.

    Ver la tercera parte del Tutorial sobre Google Analytics: 3. Etiquetado o Tagging en campañas de Marketing .