¿Cómo funciona Google Analytics?

¿Cómo funciona Google Analytics?

Google Analytics es una herramienta que ayuda a los propietarios de sitios web a medir cómo los usuarios interactúan con el contenido de dicho sitio. Google Analytics proporcionará una serie de etiquetas de página (librerías) JavaScript para registrar información sobre la página que un usuario ha visto, como por ejemplo la dirección URL de la página. Estas etiquetas deben colocarse en todas las páginas que se desean rastrear. Las librerías de JavaScript de Google Analytics, o Código de seguimiento de Google Analytics (GATC), utilizan cookies http para “recordar” lo que un usuario ha hecho en las páginas anteriores y sus interacciones con el sitio web.

Es importante destacar que Google Analytics no recoge ninguna información personal acerca de sus usuarios de la web.

Google Analytics es compatible con dos librerías de JavaScript (tags) para medir el uso del sitio web: analytics.js y ga.js. A continuación hablaremos únicamente de ga.js, que es la que nos ocupa en este capítulo.

¿Cómo funciona Google Analytics?

Como hemos indicado con anterioridad, Google Analytics inserta un bloque de código javascript en las páginas de nuestra web. Cuando alguien que visita nuestra web solicita una página, el código javaScript referencia a un fichero javascript el cual ejecuta el código de seguimiento de GA. Esta operación recupera los datos acerca de la solicitud de página a través de diversos medios y envía esta información al servidor de análisis a través de una lista de parámetros unidos a una solicitud de imagen de un solo píxel (también llamadas etiquetas de internet).

Podemos ver el flujo de procesamiento de Google Analytics (GA) en la siguiente imagen

Funcionamiento de GA

Esquema del funcionamiento de Google Analytics.

1. El visitante solicita una página al servidor web, que responde enviando dicha página al solicitante. Cuando el navegador del visitante alcanza el código de seguimiento de Google Analytics este comienza entonces a ejecutarse, identificando atributos del visitante y su entorno de navegación (de dónde viene, número de veces que ha estado en el sitio, sistema operativo, navegador, etc).

2-3. Después de recoger los datos, el GATC instala (o actualiza, dependiendo de la situación) una serie de cookies de primera parte (3). Estas cookies almacenan información sobre el visitante, que es devuelta al servidor de Google Analytics.

Mientras los datos son recogidos y las cookies instaladas, el navegador se descarga de forma activa un fichero llamado ga.js desde el servidor de Google Analytics. Todo el código que GA necesita para funcionar está contenido en ese ga.js

4. Una vez se carga el ga.js en el navegador, los datos recogidos son enviados a Google en forma de pageview. Una pageview indica que un visitante ha visto una determinada página en el site. Existen también otra serie de datos que se envían a Google, como eventos, datos de comercio electrónico, etc.

La pageview es enviada al servidor de GA mediante una petición invisible llamada fichero GIF, llamado _utm.gif. Cada trozo de información que el GATC ha recogido es enviado como un parámetro query-string en la petición _utm.gif como ser muestra a continuación:

http://www.lametrica.com/__utm.gif?utmwv=4.6.5&utmn=1881501226&utmhn=cutroni.com&utmcs=UTF-8
&utmsr=1152×720&utmsc=24-bit&utmul=en- s&utmje=1&utmfl=10.0%20r42
&utmdt=Analytics%20Talk%20by%20Justin%20Escudero&utmhid=465405990&utmr=-utmp=%2Fblog%2F
&utmac=UA-XXXX-1&utmcc=__utma%3D32856364.1914824586.1269919681.1269919681.1269919681.1%3B%2B__utmz %3D32856364.1269919681.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&gaq=1

5. Cuando el servidor de Google Analytics recibe este pageview, almacena los datos de manera temporal en bruto como un archivo de log.

Cada línea en este log contiene numerosos atributos de la visita que son enviados a Google, tales como:

  • Cuando se recogieron los datos (fecha y hora).
  • De dónde vino el visitante (referencias, buscadores, etc).
  • Cuantas veces nos ha visitado (número de visitas).
  • Dónde se encuentra el visitante (ubicación geográfica).
  • Quién es el visitante (dirección IP).

Una vez la pageview es almacenada en el log, el proceso de recogida de datos está completo. La recogida de datos y el procesado de los mismos en GA se hacen por separado. Esto asegura que GA recogerá datos incluso si el motor de procesamiento de datos está en mantenimiento.

6-7-8-9. El siguiente paso es el procesado de datos. Cada tres horas aproximadamente, GA procesa el fichero de log. El tiempo de procesado puede fluctuar, aunque GA no procesa en tiempo real. Mientras los datos son procesados cada tres horas, el procesado completo se “entrega” 24 horas después de la recogida de datos. Debido a esto, los datos en tiempo real o intradía pueden no ser consistentes.

Durante el procesado, cada línea en el fichero de log se divide en piezas, una pieza para cada atributo de la visita de página del siguiente modo:

10.101.250.11 www.lametrica.com – [ 26 / feb / 2014 : 19 : 05 : 06 – 0600 ]
“GET __utm.gif?
utmwv=4.6.5
&utmn=1881501226
&utmhn=cutroni.com
&utmcs=UTF-8
&utmsr=1152×720
&utmsc=24-bit
&utmul=en-us
&utmje=1
&utmfl=10.0%20r42
&utmdt=Analytics%20Talk%20by%20Justin%20Cutroni
&utmhid=465405990
&utmr=-
&utmp=%2Fblog%2F
&utmac=UA-XXXX-11
&utmcc=__utma%3D32856364.1914824586.1269919681.1269919681.1269919681.1%3B%2B__utmz %3D32856364.1269919681.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)
%7Cutmcmd%3D(none)%3B
&gaq=1″ __utma= 32856364.1914824586.1269919681.1269919681.1269919681.1 ; __utmb= 100957269 ; __utmc = 100957269 ; __utmz = 100957269.1164157501 . 1.1 . utmccn=( direct )| utmcsr =( direct )| utmcmd =( none ) “

Mientras que la mayoría de estos datos son difíciles de entender, algunas cosas destacan. La fecha y la hora (26 de febrero 2014 a las 19:05:06) y la dirección IP del visitante (10.101.250.11) son fácilmente identificables. Google Analytics convierte cada pieza de datos en el registro del fichero de log en un elemento de datos llamado campo. Más tarde, los campos se transforman en dimensiones. Por ejemplo, la dirección IP se convierte en el campo IP del visitante. La ciudad desde la cual visitan nuestra web se convierte en el campo Ciudad del Visitante y la dimensión Ciudad.

Es importante entender que cada pageview tiene muchos, muchos atributos y que cada uno se almacena en un campo o dimensión diferente. Más tarde, Google Analytics utilizará campos para manipular los datos y las dimensiones para construir los informes.

Después de que cada línea se ha dividido en campos y dimensiones (pasos 6-9), los valores de configuración se aplican a los datos. Esto incluye características como:

  • Buscar en el sitio
  • Objetivos y embudos
  • Filtros

Esto se muestra en el paso 7.

10. Finalmente, después de todos los ajustes que se han aplicado, los datos se almacenan en la base de datos. Una vez que los datos están en la base de datos, el proceso se ha completado.

Si vemos todo el proceso anterior contemplando únicamente el código de GATC instalado, tendríamos lo siguiente:

  1. Un navegador solicita una página web que contiene el código de seguimiento.
  2. El array de JavaScript _gaq se crea y los comandos de seguimiento se insertan en el array.
  3. Un elemento <script> se crea y habilita para la carga asíncrona (carga en segundo plano).
  4. Se captura el código de seguimiento ga.js, detectándose automáticamente el protocolo adecuado. Una vez que el código se captura y se carga, los comandos del array _gaq se ejecutan y el array se transforma en un objeto de seguimiento. Las llamadas posteriores de seguimiento se harán directamente a Google Analytics.
  5. Se carga el script para el DOM.
  6. Después de que el código de seguimiento recoge los datos, la solicitud de GIF se envía a la base de datos de GA para el registro y procesamiento posterior.

Gráficamente se vería así:

Codigo de seguimiento de GA

Funcionamiento de Google Analytics desde el punto de vista de su código.

Cuando se solicita un informe, los datos que aparecerán en el mismo se recuperan de la base de datos y se envía al navegador.

Una vez que Google Analytics ha procesado los datos y se almacenan en la base de datos, nunca se pueden cambiar. Esto significa que los datos históricos no pueden ser alterados o reprocesados. Cualquier error cometido durante la instalación o la configuración puede afectar permanentemente la calidad de los datos. Es fundamental evitar errores de configuración, ya que no hay manera de deshacer errores en los datos. Los cambios sólo afectarán a los datos futuros, no a los datos pasados.

Aunque existe una configuración estándar, es interesante adaptar la misma a las necesidades que tenemos para que los informes nos ofrezcan los datos tal cual los esperamos recibir.

¿Cómo y de quién recoge los datos Google Analytics?

Los datos que Google Analytics utiliza para proporcionar toda la información en sus informes provienen de las siguientes fuentes:

  • La petición HTTP del visitante.
  • Browser / sistema.
  • Las cookies de origen.

La petición HTTP, para cualquier página web, contiene información sobre el navegador y el ordenador que hace la solicitud, como el nombre de host, el tipo de navegador, la referencia, y el lenguaje. Además, el DOM de la mayoría de los navegadores proporciona acceso a información más detallada sobre el navegador y el sistema, como los soportes de Java y Flash y la resolución de pantalla. Analytics utiliza esta información en la construcción de informes como los de superposición de mapas, navegadores y el informe de Sitios web de referencia.

Analytics también establece y lee las cookies de origen en los navegadores de sus visitantes con el fin de obtener datos sobre las interacciones en nuestra web de los visitantes, así como cualquier información de campañas de publicidad de las páginas solicitada. El código de seguimiento de Google Analytics también lee la cookie doble clic para informar a Google Analytics sobre el display de anunciantes.

Una vez recogida toda la información, ésta se envía a los servidores de Google Analytics como una lista de parámetros vinculados a una imagen GIF de un solo pixel. Los servidores procesarán dicha información y realizarán los informes.

Aquí se puede ver un ejemplo de una parte de una solicitud de GIF:

http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com
&utmcs=ISO-8859-1&utmsr=1280×1024&utmsc=32-bit&utmul=en-us&utmje=1
&utmfl=9.0%20%20r115&utmcn=1&utmdt=GATC012%20setting%20variables
&utmhid=2059107202&utmr=0&utmp=/auto/GATC012.html?utm_source=www.gatc012.org&utm_campaign=campaign+gatc012&utm_term=keywords+gatc012&utm_content=content+gatc012
&utm_medium=medium+gatc012&utmac=UA-30138-1
&utmcc=__utma%3D97315849.1774621898.1207701397.1207701397.1207701397.1%3B…

En este otro ejemplo podemos ver el GIF de un cliente que ha hecho remarketing con Google Analytics , en él vemos como una cookie de tercera parte DoubleClick se utiliza para habilitar remarketing en productos como AdWords en la Red de Display de Google. Cuando se utiliza esta función, la información (incluida la de la cookie de tercera parte de DoubleClick) se envía de manera similar a los servidores de Analytics, viéndose en este caso como se muestra a continuación:

http://stats.g.doubleclick.net/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com&utmcs=ISO-8859-1&utmsr=1280×1024&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r115&utmcn=1&utmdt=GATC012%20setting%20variables&utmhid=2059107202&utmr=0
&utmp=/auto/GATC012.html?utm_source=www.gatc012.org&utm_campaign=campaign+gatc012&utm_term=keywords+gatc012
&utm_content=content+gatc012&utm_medium=medium+gatc012&utmac=UA-30138-1&utmcc=__utma%3D97315849.1774621898.1207701397.1207701397.1207701397.1%3B…

¿Cómo se clasifican las peticiones de GIFs?

Las solicitudes de GIF se identifican por el parámetro utmt. Dependiendo de qué tipo sea, así serán los datos que se envíen a los servidores de GA. Por ejemplo, transacción sólo se envía a los servidores de Google Analytics cuando se hace una compra. Visitantes, página y la información del sistema sólo se envía cuando un evento se registra o cuando se carga una página, mientras que el valor definido por el usuario sólo se envía cuando se llama al método _setCustomVar.

Vemos en la siguiente tabla como se clasifican las peticiones GIF:

Tipo de solicitud

Descripción

Clase

Page Se solicita una página Web en su servidor. Interacción
Event Un evento se activa a través de la configuración de seguimiento de eventos. Interacción
Transaction Una transacción de compra se produjo en su sitio. Interacción
Item Cada elemento de una transacción se registra con una solicitud GIF. Interacción
Var Un segmento de usuario personalizado se determina y se inicia por un visitante. No interacción

Las solicitudes clasificadas como de interacción impactarán en los cálculos de la Tasa de rebote.

¿Qué parámetros contiene un GIF?

La tabla que mostraremos a continuación nos muestra la lista de los parámetros que se pasa en medio de la solicitud de un GIF. No todos los parámetros se pasan con cada ejecución del código de seguimiento, ya que algunos sólo se aplican a ciertas condiciones, tales como los de referencias de campaña o carritos de la compra.

Variable Descripción Valor ejemplo
utmac Cadena de Cuenta. Aparece en todas las solicitudes. utmac = UA-2202604-2
utmcc Valores de cookie. Este parámetro envía todas las cookies solicitados a la página. utmcc = __ utma% 3D117243.1695285.22% 3B% 2B%
__ utmz 3D117945243.1202416366.21.10.
utmcsr% 3Db% 7C utmccn% 3D (referencia)% 7C%
utmcmd 3Dreferral utmcct% 7C% 3D% 3B% 2B%
252Fissue
utmcn Inicia una nueva sesión de campaña. utmcn o utmcr estará presente en cualquier
solicitud entregada. Cambia los datos de seguimiento de campañas, pero no se inicia una nueva sesión
utmcn = 1
utmcr Indica una repetición de visita de campaña. Esto se establece cuando se produce algún clic
subsiguiente en el mismo enlace.  utmcn o utmcr estará presente en cualquier solicitud entregada.
utmcr = 1
utmcs Codificación del idioma para el navegador. Algunos navegadores no lo establecen,
en cuyo caso se establecerá en “-“
utmcs = ISO-8859-1
utmdt Título de la página. Es una cadena con codificación URL. utmdt = analytics% 20page% 20Test
UTME Parámetro Extensible El valor está codificado. Se utiliza para eventos y variables personalizadas.
utmfl Versión de Flash utmfl = 9,0% 20r48 y
utmhn Nombre de host. Es una cadena con codificación URL. utmhn = x343.gmodules.com
utmhid Un número aleatorio utilizado para conectar el GIF de Analytics con AdSense. utmhid = 2059107202
utmipc Código del producto. Este es el código sku para un producto determinado. utmipc = 989898ajssi
utmipn Nombre del producto. Es una cadena con codificación URL. utmipn = T% 20shirt
utmipr Precio unitario. Establecido a nivel de artículo. El valor se establece en formato número sólo para el formato de moneda de EE.UU.. utmipr = 17100.32
utmiqt   utmiqt = 4
utmiva Variaciones sobre un tema. Por ejemplo: grande, mediano, pequeño, rosa, blanco, negro, verde.
La cadena es una URL codificada.
utmiva = rojo;
utmje Indica si el navegador está habilitado para Java. 1 es verdadero. utmje = 1
utmn ID único generado para cada solicitud GIF.Evitar el almacenamiento en caché de la imagen GIF. utmn = 1142651215
utmp Solicitud de página de la página actual. utmp = / TestDirectory / myPage.html
utmr Referencia, URL completa. utmr = http://www.example.com/aboutUs/index.php?var=selected
utmsc Profundidad de color de la pantalla. utmsc = 24 bits
utmsr Resolución de pantalla. utmsr = 2400×1920 y
utmt Indica el tipo de solicitud, que será uno de los siguientes :  event, transaction, item, or custom variable
Si este valor no está presente en la solicitud de GIF, la solicitud se escribe como la página .
utmt = evento
utmtci Ciudad de facturación utmtci=San%20Diego
utmtco  País de facturación utmtco = United% 20Kingdom
utmtid ID del pedido, cadena con codificación URL. utmtid = a2343898
utmtrg Región facturación, cadena con codificación URL. utmtrg = New% 20Brunswick
utmtsp Coste de envío. Valores como para la unidad y el precio. utmtsp = 23.95
utmtst Afiliación. utmtst = google% 20mtv% 20store
utmtto Total. Valores como para la unidad y el precio. utmtto = 334,56
utmttx Impuestos. Valores como para la unidad y el precio. utmttx = 29.16
utmul Idioma del navegador. utmul = pt-br
utmwv Código de seguimiento de versión. utmwv = 1

Hemos hecho varias referencias al DOM, pero ¿qué es?

El DOM es la estructura de objetos que genera el navegador cuando se carga un documento y se puede alterar mediante Javascript para cambiar dinámicamente los contenidos y aspecto de la página. Realmente es una estructura jerárquica donde existen varios objetos y unos dependen de otros.

Los objetos del DOM modelizan tanto la ventana del navegador como el historial, el documento o página web, y todos los elementos que pueda tener dentro la propia página, como párrafos, divisiones, tablas, formularios y sus campos, etc. A través del DOM se puede acceder, por medio de Javascript, a cualquiera de estos elementos, es decir a sus correspondientes objetos para alterar sus propiedades o invocar a sus métodos. Con todo, a través del DOM, queda disponible para los programadores de Javascript, cualquier elemento de la página, para modificarlos, suprimirlos, crear nuevos elementos y colocarlos en la página, etc.

Librería ga.js JavaScript

Esta librería utiliza first-party cookies para:

  • Determinar qué dominio medir
  • Distinguir usuarios únicos
  • Registrar el número y hora de las visitas anteriores
  • Registrar la información de fuentes de tráfico
  • Determinar el inicio y el final de una sesión
  • Registrar el valor de las variables personalizadas a nivel de visitante

De forma predeterminada, esta librería pondrá las cookies en el dominio especificado en el document.host propiedad del navegador, estableciendo por defecto la ruta de cookies al nivel raíz (/).

Esta librería instala las siguientes cookies

Cookies ga

Cookies instaladas por la librería ga.js

¿Cómo se pueden personalizar las cookies?

Con los siguientes métodos podemos personalizar como se instalan las cookies:

_setDomainName – Establece el dominio en el que se instalarán todas las cookies.

_setDomainName ( NewDomainName )

Establece el nombre de dominio para las cookies GATC. Existen tres modos para este método: (“Auto ” | ” none” | [ domain ] ). Por defecto, el método está definido en auto, que intenta resolver el nombre de dominio que se define en el document.domain del DOM.

– Especificar un dominio (para ejemplo.com)

_gaq.push ( [‘ _setDomainName ‘, ‘ ejemplo.com ‘]);

Nota: El uso de un punto inicial al establecer el dominio también funcionará. Lo que es importante es que _setDomainName está configurado de forma idéntica en todos los dominios que participan en la vinculación de dominio. Esto asegura que las cookies están disponibles para todos los sitios participantes, evitando así errores e inconsistencias en los datos del informe.

Aislar a dominios de nivel superior

Establecer este método a none asegura que los cookies en un dominio dado no son accesibles con cualquiera de los sub -dominios .

_gaq.push ( [‘ _setDomainName ‘ , ‘none ‘]);

_setCookiePath – Establece la ruta en la que se instalarán todas las cookies.

_setCookiePath(newCookiePath)

De forma predeterminada, Google Analytics establece la ruta de cookie en el nivel de la raíz (/). En la mayoría de situaciones, esto es la opción adecuada y funciona correctamente con el código de seguimiento que se instala en su sitio web, blog, o un directorio web corporativa. Sin embargo, en unos pocos casos en los que el acceso del usuario se limita a sólo un sub-directorio de un dominio, este método puede resolver los problemas de seguimiento mediante el establecimiento de un sub- directorio como la ruta por defecto para todo el seguimiento .

Precaución: Cambiar la ruta de la cookie de un valor a otro puede datos de análisis incorrectos.

_gaq.push([‘_setCookiePath’, ‘/myBlogDirectory’]);

_setVisitorCookieTimeout – Establece la caducidad de la cookie de visitantes de Google Analytics en milisegundos.

_setVisitorCookieTimeout(cookieTimeoutMillis)

Establece la caducidad de la cookie de visitantes de Google Analytics en milisegundos. Por defecto, la cookie de visitante caduca a los 2 años. Si se prefiere, podemos cambiar la fecha de caducidad de la cookie de visitante utilizando este método. Poniendo el tiempo de caducidad a 0 indicamos que esta cookie se suprime al cerrar el navegador.

_gaq.push ([‘_setVisitorCookieTimeout’, 63072000000]);

_setSessionCookieTimeout – Establece el nuevo tiempo de espera de cookie de sesión en milisegundos.

_setSessionCookieTimeout(cookieTimeoutMillis)

Define el nuevo timeout de la cookie de sesión en milisegundos. De manera predeterminada se establece en 30 minutos. El Timeout de sesión se utiliza para calcular las visitas , ya que una visita termina después de 30 minutos de inactividad del navegador o al salir del navegador. Si se desea cambiar la definición de una “sesión” para nuestras necesidades particulares, podemos poner el número en milisegundos para definir un nuevo valor. Esto afectará a los informes de las visitas en cada sección donde se calcula el número de visitas, y donde se utilizan en el cálculo de las visitas de otros valores. Por ejemplo, el número de visitas aumentará si acorta el tiempo de espera de sesión, y disminuirá si aumenta el tiempo de espera de sesión. Puede cambiar el tiempo de espera de caducidad a 0 para indicar que esta cookie debería suprimirse cuando se cierra el navegador.

_gaq.push ( [‘ _setSessionCookieTimeout ‘ , 1800000 ]);

_setCampaignCookieTimeout – Establece el tiempo de caducidad de la cookie de seguimiento de campaña en milisegundos

_setCampaignCookieTimeout(cookieTimeoutMillis)

Establece el tiempo de caducidad de la cookie de seguimiento de campaña en milisegundos. De forma predeterminada, el seguimiento de la campaña se fija durante 6 meses. De esta manera, se puede determinar en un período de 6 meses si los visitantes a su sitio convierten en base a una campaña específica. Sin embargo, nuestro negocio puede tener una campaña de plazo más largo o más corto, así que podemos utilizar este método para ajustar el tiempo de seguimiento de campañas.

Podemos cambiar el tiempo de espera de caducidad a 0 para indicar que esta cookie debería suprimirse cuando cerremos el navegador.

_gaq.push ([‘_setCampaignCookieTimeout’, 15768000000]);

Bibliografía:

Sobre José Manuel Escudero

Químico de formación. Máster en Analítica Web por KSchool. Máster en Finanzas y Marketing por ESIC y EOI. Certificado en Google Analytics (GAIQ). Más de 15 años de experiencia en el mundo de Internet y Tecnologías de Información. Primer premio de la XIX Edición premios IDEA (Gobierno de Aragón) en la categoría de Servicios avanzados para empresas.

1 Comentario

  1. que post tan aburrido

    Responder

Trackbacks/Pingbacks

  1. Oscar G. Peinado (@ogpeinado) - RT @la_metrica: ¿Cómo funciona Google Analytics? http://t.co/vyL0AR9RbN
  2. José Manuel Escudero (@jmlametrica) - RT @la_metrica: ¿Cómo funciona Google Analytics? http://t.co/vyL0AR9RbN
  3. twitter analytics no funciona - Search Yours - […] ¿cómo funciona google analytics? – la métrica […]
  4. @Mi_Admi - ¿Cómo funciona Google Analytics? - La Métrica http://t.co/wgZVoQ8fn0

Deja un comentario