Temps utilisateur

Ce guide explique comment mesurer des périodes à l'aide d'analytics.js.

Présentation

Des études ont montré que la réduction du temps de chargement des pages améliore l'expérience utilisateur globale d'un site. Google Analytics inclut un certain nombre de rapports performants qui mesurent et enregistrent automatiquement le temps de chargement des pages. Toutefois, vous pouvez également mesurer les informations de délai personnalisé afin de mesurer les performances spécifiques à votre site.

Les temps utilisateur permettent aux développeurs de mesurer des périodes à l'aide de la bibliothèque analytics.js. Cela s'avère particulièrement utile pour les développeurs, qui souhaitent mesurer la latence, c'est-à-dire le temps passé à effectuer des requêtes AJAX et à charger des ressources Web.

Implémentation

Les appels de temps utilisateur peuvent être envoyés à l'aide de la commande send et en spécifiant un hitType de timing. La commande send a la signature suivante pour le type d'appel timing:

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

Champs "Temps utilisateur"

Le tableau suivant récapitule les champs de temps utilisateur:

Nom du champ Type de valeur Obligatoire Description
timingCategory text oui Chaîne permettant de catégoriser toutes les variables de temps utilisateur en groupes logiques (par exemple, 'JS Dependencies').
timingVar text oui Chaîne permettant d'identifier la variable enregistrée (par exemple, 'load').
timingValue integer oui Nombre de millisecondes écoulées pour créer un rapport à Google Analytics (par exemple, 20).
timingLabel text no Chaîne permettant de visualiser plus facilement le temps utilisateur dans les rapports (par exemple, 'Google CDN').

Exemples :

La commande suivante envoie un hit de temps utilisateur à Google Analytics, indiquant que 3 549 millisecondes ont été nécessaires pour que la page Web actuelle charge toutes ses dépendances JavaScript externes:

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

Notez que, comme pour toutes les commandes send, les champs transmis dans les paramètres de commodité peuvent également être spécifiés dans fieldsObject. La commande ci-dessus peut être réécrite comme suit:

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

Mesure du temps

Lorsque vous envoyez des données de temps utilisateur, vous spécifiez le nombre de millisecondes passées dans le paramètre timingValue. C'est à vous d'écrire le code permettant de capturer cette période.

Pour ce faire, le moyen le plus simple consiste à créer un code temporel au début d'une période et à créer un autre code temporel à la fin de celle-ci. Ensuite, vous pouvez prendre la différence entre les deux horodatages pour obtenir le temps passé.

La plupart des navigateurs récents sont compatibles avec l'API Navigation Timing, qui inclut des méthodes sur l'objet window.performance permettant de mesurer les performances des pages Web à l'aide de données de temps haute résolution.

L'exemple suivant utilise la méthode performance.now(), qui renvoie le temps écoulé depuis le premier chargement de la page:

// 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);
}

Remarques concernant l'échantillonnage

Google Analytics échantillonne les appels temporels pendant leur traitement afin d'assurer une répartition équitable des ressources système pour cette fonctionnalité.

La fréquence d'échantillonnage des appels est déterminée par le nombre total d'appels de page vue reçus la veille pour la propriété. Le tableau suivant indique comment le taux d'échantillonnage temporel est déterminé:

Nombre total d'appels de page vue (jour précédent) Nombre maximal d'appels temporels qui seront traités
0 – 1 000 100
1 000 – 100 000 10% du nombre total d'appels de pages vues
100 000-1 000 000 10 000
+ de 1 000 000 1% du nombre total d'appels de pages vues

Limitation du nombre d'appels envoyés

Pour éviter d'envoyer des appels Google Analytics qui ne seront pas traités, analytics.js vous permet de contrôler le pourcentage d'appels envoyés via les options de configuration sampleRate et siteSpeedSampleRate. Par défaut, ces champs sont définis sur 100% et 1%, respectivement. Vous pouvez ajuster ces valeurs afin de mieux estimer le nombre d'appels temporels que Google Analytics traitera en fonction du nombre moyen de pages vues par jour.