Google Analytics es sin duda una de las mejores herramientas de analítica digital que existen en la actualidad. Sí, tenemos alternativas como Kissmetrics, Adobe Analytics y Matomo, pero Google Analytics es de lejos la más utilizada, desde los pequeños hasta los grandes proyectos ya sean de web o apps.

Más allá de entrar en una discusión tecnológica sobre «qué herramienta es mejor» o «qué podemos medir» me gustaría dedicar este artículo a la simple comprensión de cómo Google Analytics funciona, esto debido a que siento que muchas personas saben utilizarlo, pero no entienden qué hay detrás de la tecnología de esta herramienta, y aunque algunos puedan tener una opinión contraria a la mía, yo considero que el mejor camino para mejorar el uso que damos a nuestras herramientas o incluso de diagnosticar problemas es el entender cómo funcionan.

Cliente y servidor

Cuando daba clases en la Universidad Pontificia Bolivariana, en Medellín, y expliqué a mis alumnos cómo realizar su primera instalación de Google Analytics me llamó mucho la atención que uno de ellos me dijera que por algún motivo su instalación de Google Analytics no funcionaba, insistió en que intentó con varios sitios web, y que en ninguno podía obtener información de tráfico, comportamiento, conversiones, etc. Cuando ingresamos a su cuenta pude observar que el estaba intentando obtener datos de adidas.com, nike.com y apple.com, este alumno en cuestión pensaba que con tan solo crear una propiedad en Google Analytics ya podría ver toda la información del sitio web que el indicase. Es un claro error, y evidentemente había ignorado por completo mi explicación sobre la inyección del código javascript en cada sitio web para el correcto funcionamiento de esta herramienta.

Mi estudiante no hizo más que cometer un error de principiante que cualquiera podría cometer, y este error se deriva de algo que incluso muchos analistas e implementadores web hoy en día ignoran (lo cual es una sorpresa para mi): la diferencia entre cliente y servidor. El primer paso para entender el comportamiento de Google Analytics es establecer la diferencia entre estos dos elementos.

A server is a computer that is meant to be a dedicated service provider, and a client is a computer that requests services.

Microsoft Server Administration Fundamentals, John Wiley & Sons 2011, ISBN 978-0-470-90182-3.

Como muchos saben, la relación entre cliente y servidor es simplemente la citada por este libro de Microsoft: el servidor se encarga de proveer servicios y el cliente se encarga de requerir estos servicios. En este caso debemos definir cuál o cuáles son los servidores en un uso hipotético de una herramienta de analítica y cuál es el cliente (y en efecto cuál es su rol).

En este sentido, creo que este diagrama explica a la perfección cuál es el primer paso :^)

Esquema de interacción cliente servidor
diagrama básico de interacción cliente – servidor

Este esquema es una representación demasiado simple y sencilla de cómo funciona la carga de un sitio web, en donde un cliente, en este caso un teléfono móvil, hace un requerimiento solicitando el contenido de la URL «https://misitioweb.com», este requerimiento tiene una respuesta por parte del servidor, y esta respuesta incluye hipotéticamente tres archivos: home.html, styles.css y analytics.js. Hasta este momento lo único que ha hecho el clientes preguntar al servidor qué información hay en una dirección específica, y lo único que ha hecho el servidor es responder con los archivos necesarios para visualizar esta dirección en específico. En este instante no existe ninguna medición, carga debido a que no se ha cumplido con un proceso crucial llamado «renderizado».

Motor de renderizado, o «rendering engine»

Un cliente no solo necesita recibir los archivos por parte del servidor, también necesita leer e interpretar su contenido para poder visualizar el contenido. Por este motivo cada navegador web tiene su propio motor, y este motor se encarga de interpretar el contenido de los archivos HTML, CSS y JS (y otros que puedan aplicar). Es en el proceso de renderizado donde el navegador debe interpretar cada elemento recibido del servidor.

proceso de renderizado web

Una vez renderizada la página requerida por parte del motor del navegador web podremos encontrarnos con una página interactiva. Consideremos cuál era la función de cada archivo enviado por el servidor:

  • HTML: Integrar todos los contenidos generales de la página (texto, enlaces, imágenes, etc.) e integrar archivos complementarios, como css y js.
  • CSS: Es la hoja de estilos, es la encargada de asignar propiedades visuales a los elementos de la página.
  • Javascript: Se encarga de añadir elementos funcionales a la página web, en este caso hipotético solo incluye un archivo llamado Analytics.js, el cual contiene las instrucciones necesarias para que Google Analytics comience a funcionar.

Lo primero que es importante entender es que Google Analytics no inicia sus funciones en Google o en un servidor externo, inicia en el dispositivo del usuario mediante el navegador web, debemos observar que el contenido del archivo Analytics.js contiene toda la cadena de instrucciones necesarias para enviar la información de la sesión a los servidores de Google. Sin este archivo nunca será posible obtener información sobre las sesiones de una web.

Así que, tras renderizar la web y tener procesado el archivo Analytics.js Google Analytics ya se encuentra funcionando. Esta es la primera conclusión que cualquier primerizo que se encuentre leyendo este artículo puede llevarse: la primera parte funcional de Google Analytics obedece a un archivo javascript el cual debe de ser procesado e interpretado por el navegador web. Si este archivo no es procesado por el navegador, Google Analytics no va a funcionar.

Google Analytics y el Javascript

Envío de información a Google Analytics

La última parte del proceso corresponde al envío de información, lo cual ocurre únicamente tras el proceso de renderizado. Como podemos observar, los servidores de Google en su relación con el cliente (dispositivo móvil y su navegador web) cumplen un papel pasivo: se dedican a recibir la información que el cliente envía. Google Analytics solo determina la información disponible de esta manera. Por este motivo no es suficiente con crear una cuenta en Google Analytics, es importante editar los archivos necesarios para incluir las funciones js necesarias en el proceso (afortunadamente este procedimiento es cada vez más sencillo).

Resumen

Finalmente, el proceso no es más que eso:

  1. El cliente solicita al servidor web la información de una página específica.
  2. El servidor web responde con los recursos necesarios para interpretar el contenido.
  3. El cliente mediante el motor de renderizado del navegador procesa los archivos necesarios.
  4. Uno de los archivos corresponde a Analytics.js, el cual indica al cliente que debe enviar información específica a los servidores de Google Analytics.
  5. El cliente inicia el envío de información a los servidores de Google Analytics, quienes de forma pasiva almacenan la información que envía el cliente.

La idea de este artículo no es explicar a expertos cómo funciona esto (claramente ya saben), pero, para muchos que desean iniciar su carrera en la analítica digital o desean comprender mejor estos procesos podrían sacar provecho de esta explicación.

Share post with: