Tiempos de usuario

En esta guía, se describe cómo medir períodos con analytics.js.

Descripción general

Los estudios demuestran que reducir el tiempo de carga de las páginas mejora la experiencia general del usuario de un sitio. Google Analytics cuenta con varios informes eficaces que miden el tiempo de carga de la página y generan informes sobre ellos automáticamente. Sin embargo, también es posible medir información de tiempo personalizada para medir el rendimiento específico de tu sitio.

Los tiempos de los usuarios permiten a los desarrolladores medir los períodos usando la biblioteca analytics.js. Esto es particularmente útil para que los desarrolladores midan la latencia (o el tiempo dedicado a realizar solicitudes AJAX) y cargar recursos web.

Implementación

Los hits de sincronización del usuario se pueden enviar con el comando send y especificando un hitType de timing. El comando send tiene la siguiente firma para el tipo de hit timing:

ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]);

Campos de tiempos del usuario

En la siguiente tabla, se resumen los campos de tiempos de los usuarios:

Nombre del campo Value Type Obligatorio Descripción
timingCategory text Es una cadena para categorizar todas las variables de tiempo del usuario en grupos lógicos (p.ej., 'JS Dependencies').
timingVar text Es una cadena para identificar la variable que se está registrando (p.ej., 'load').
timingValue integer Es la cantidad de milisegundos en el tiempo transcurrido que se informa a Google Analytics (p.ej., 20).
timingLabel text no Es una cadena que se puede usar para agregar flexibilidad en la visualización de los tiempos de los usuarios en los informes (p.ej., 'Google CDN').

Ejemplos:

El siguiente comando envía a Google Analytics un hit de tiempo del usuario indicando que la página web actual tardó 3,549 milisegundos en cargar todas sus dependencias externas de JavaScript:

ga('send', 'timing', 'JS Dependencies', 'load', 3549);

Ten en cuenta que, al igual que con todos los comandos send, los campos pasados en los parámetros de conveniencia también se pueden especificar en fieldsObject. El comando anterior se podría reescribir de la siguiente manera:

ga('send', {
  hitType: 'timing',
  timingCategory: 'JS Dependencies',
  timingVar: 'load',
  timingValue: 3549
});

Medición del tiempo

Cuando envías datos de tiempos del usuario, debes especificar la cantidad de milisegundos dedicados al parámetro timingValue. Depende de ti escribir código para capturar este período.

La manera más fácil de hacerlo es crear una marca de tiempo al comienzo de un período y crear otra marca de tiempo al final de este. Luego, puedes hacer la diferencia entre ambas marcas de tiempo para ver el tiempo dedicado.

La mayoría de los navegadores modernos admiten la API de Navigation Timing, que incluye métodos en el objeto window.performance para medir el rendimiento de las páginas web mediante datos de tiempo de alta resolución.

En el siguiente ejemplo, se usa el método performance.now(), que muestra la cantidad de tiempo transcurrido desde que la página comenzó a cargarse por primera vez:

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing hit to Google Analytics.
  ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}

Consideraciones de muestreo

Google Analytics tomará muestras de los hits de tiempo durante el procesamiento a fin de garantizar una distribución equitativa de los recursos del sistema para esta función.

La tasa a la que se muestrean los hits de tiempo se determina según la cantidad total de hits de vista de página recibidos durante el día anterior para la propiedad. En la siguiente tabla, se describe cómo se determina la tasa de muestreo de sincronización:

Recuento total de hits de vistas de página (día anterior) Cantidad máxima de hits de tiempo que se procesarán
Entre 0 y 1,000 100
Entre 1,000 y 100,000 El 10% del recuento total de hits de vistas de página
Entre 100,000 y 1,000,000 10,000
Más de 1,000,000 1% del recuento total de hits de vistas de página

Limitar la cantidad de hits enviados

Para evitar enviar hits de Google Analytics que no se procesarán, analytics.js te permite controlar el porcentaje de hits que se envían a través de las opciones de configuración sampleRate y siteSpeedSampleRate. De forma predeterminada, estos campos están configurados en 100% y 1%, respectivamente. Puedes ajustar estos valores para aproximarte más a la cantidad de hits de tiempo que Google Analytics procesará según tus recuentos diarios de vistas de página promedio.