Temps utilisateur

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

Présentation

Des études ont montré que réduire le temps de chargement des pages améliore l'expérience utilisateur globale sur un site. Google Analytics propose un certain nombre de rapports performants qui mesurent automatiquement le temps de chargement des pages et génèrent des rapports les concernant. Toutefois, vous pouvez également mesurer des informations personnalisées afin d'évaluer 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 consacré à l'envoi de requêtes AJAX et au chargement 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 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 le reporting à Google Analytics (par exemple, 20).
timingLabel text non Chaîne permettant de visualiser plus facilement les temps utilisateur dans les rapports (par exemple, 'Google CDN').

Exemples :

La commande suivante envoie un appel de temps utilisateur à Google Analytics, indiquant qu'il a fallu 3 549 millisecondes 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 pour 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 un autre à la fin de la période. Vous pouvez ensuite 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 comprend des méthodes sur l'objet window.performance permettant de mesurer les performances des pages Web grâce à des données temporelles en 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);
}

Considérations relatives à l’échantillonnage

Lors du traitement, Google Analytics échantillonne les appels temporels 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 explique 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 respectivement sur 100% et 1 %. Vous pouvez ajuster ces valeurs afin de vous rapprocher du nombre d'appels de temps que Google Analytics traitera en fonction de votre nombre moyen de pages vues par jour.