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.

13 thoughts on “Gestión eficiente de Perfiles en Google Analytics”

  1. Hola:

    Un excelente artículo, junto al resto de la serie ideal para imprimir y bajar a la playa. Un poco de lectura interesante y desenfadada no hace mal a nadie ni interfiere con la ingestión de abundante cerveza helada.

    Un saludote. Huberto.

  2. Muy buen artículo, aunque quizás tendrá que modificarse tras la implementación de Analytics 5 con el que también se tienen que modificar los códigos de seguimiento.

  3. Hola NexDat

    Por lo que yo se los códigos de Seguimiento en la nueva versión de GA no han variado. Incluye alguna funcionalidad extra como los tiempos de carga y el trackeo de Google+, Twitter y Facebook, pero la base sigue siendo el código asíncrono.

    Tienes tu otra información al respecto?

    Un saludo.

  4. Buenos días Ignacio, en el blog de Juan Merodio se menciona la modificación de código. http://www.juanmerodio.com/2011/google-analytics-5-una-mejora-en-su-sistema-de-estadisticas/

    Extracto del artículo.

    «Esto son sólo algunas de las funcionalidades del nuevo Google Analytics 5 que personalmente me resulta muy interesante, aunque si le veo una cosa que no me gusta, y es que para obtener algunos de los datos es necesario actualizar el código de analytics que ya tenemos en nuestra web y en este caso además se coloca en una posición totalmente distinta, por lo que requiere de modificaciones en algunos casos algo más complejas.»

    Cuidate

  5. Hola NexDat. Gracias por la indicación. Las modificaciones que menciona son las relacionadas con el tracking de Social Media y los tiempos de carga. El código de seguimiento sigue siendo el asíncrono. Un saludo!

  6. Hola, primero que nada felicitarte por este post y pues pedirte si no es mucha molestia que me actualices en cuanto a la forma actual, es posible que actualmente existan cambios en google analytics de hecho creo que es así, por ejemplo creo que ya es posible asignar permisos de administrador a un solo Usuario, por favor corrígeme si no es así, por otro lado que recomendarías en la actualidad para un website que maneja un domino Global como Portada y desde esta portada se da acceso a los website regionales Ejemplo (www.hellogoogle.com) desde esta portada se da acceso a los website regionales (www.hellogoogle.com.ar) para argentina (www.hellogoogle.com.br) para Brasil y pues en esta portada no se manejaría mas contenido solo se utiliza como dominio global para la construcción de la marca, por otro lado los website regionales manejan subdominos como (www.blog.hellogoogle.com.ar) y (www.blog.hellogoogle.com.br) que seria lo mas recomendable en la actualidad? agredeceria tu consejo, saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *