En tirant parti de nos années d’expérience, nous allons vous détailler le paramétrage que nous vous conseillons pour analyser la performance de votre site web, grâce à votre Google Analytics.
1. Veillez à analyser des métriques de performance pertinentes sur Google Analytics
Par défaut, Google Analytics ne présente que les métriques disponibles dans votre navigateur via Javascript. Celles-ci sont tirées de la [Navigation Timing].
La métrique mise en avant est le temps de chargement de la page. Or plusieurs études démontrent que celui-ci n’a pas de corrélation forte avec l’expérience utilisateur.
Il faut préférer l’analyse du chemin critique de rendu en s’intéressant au Avg. Document Content Loaded Time et Avg. Document Interactive Time.
2. Méfiez-vous de l’échantillonnage de mesures brutes
Google Analytics ne mesure par défaut que 1% des pages vues traquées sur votre site. Vous avez la possibilité d’augmenter ce nombre. Ce taux d’échantillonnage par défaut peut être augmenté dans la limite de 10 000 mesures par jour. Vous devez donc calculer votre sampling ratio pour mesurer des données tout au long de la journée.
La possibilité d’augmenter ce nombre se fait au niveau du code de tracking :
[pastacode lang= »javascript » manual= »ga(‘create’%2C%20’UA-XXXX-Y’%2C%20%7B’cookieDomain’%3A%20’domain.com’%2C%20’siteSpeedSampleRate’%3A%20100%7D)%3B » message= » » highlight= » » provider= »manual »/]
Ainsi, si vous avez moins de 10 000 pages vues par jour, vous pouvez mettre un ratio de 100%. En revanche, si vous avez 100 000 pages vues par jour, nous vous conseillons de placer votre ratio à 10%. Cela vous permettra de mesurer des données sur une plus longue période pendant la journée, plutôt que de les mesurer seulement sur les premières heures de la journée.
Ces limitations de volume est un point sur lequel nous vous invitons vraiment à porter toute votre attention. Elles peuvent empêcher une utilisation vraiment intéressante de Google Analytics. Nous verrons plus tard comment segmenter vos utilisateurs pour mener une analyse webperf plus fine encore. Attention toutefois, la taille du segment doit rester suffisamment importante pour ne pas être totalement volatile !
3. Intéressez-vous aux distributions plutôt que les moyennes
L’interface de Google Analytics présente par défaut les moyennes des métriques mesurées. Or, celles-ci peuvent être fortement influencées par les valeurs extrêmes et minoritaire, contrairement à la médiane? A ce titre, la médiane est donc plus représentative de la réalité des internautes. Vous pouvez également étudier les percentiles 80, 90 et 95 (la médiane est le percentile 50).
Pour contourner cette moyenne affichée par défaut, vous pouvez regarder directement la courbe de distribution dans l’onglet distribution.
4. Segmentez vos données pour mieux les analyser
Analyser le temps de chargement de vos pages passe par un travail de segmentation des données afin de déterminer les axes de progressions.
Nous vous conseillons de segmenter vos données selon les variables suivantes :
- le pays des visiteurs :
Ce premier filtre va vous permettre de ne regarder que les visites provenant de pays ayant un intérêt pour votre business. Vous pourrez ainsi éliminer des valeurs aberrantes pour votre analyse macro (des bots venant d’autres pays à des heures étranges par exemple).
- le type de device :
Les différences de mesure entre desktop et mobile sont significatives et tendent à être visibles sur l’ensemble des sites que nous suivons. Cela peut facilement s’expliquer par la puissance des téléphones ainsi que la différence entre le réseau mobile et ADSL ou fibre. Voilà pourquoi, il est préférable de les analyser dans des segments différents.
- le type de pages ou autre custom dimension :
Nous vous conseillons aussi de tirer parti de votre plan de taggage pour analyser le temps de chargement de vos pages par type de pages. Pour un site e-commerce, nous distinguons au minimum la page d’accueil, les pages catégories / liste de produits et les pages produits.
5. Le tracking des User-Timing
Ne mesurer que la Navigation Timing est extrêmement limitant. Heureusement, Google Analytics propose aussi la possibilité de tirer parti de la User Timing.
[pastacode lang= »javascript » manual= »ga(‘send’%2C%20’timing’%2C%20%5BtimingCategory%5D%2C%20%5BtimingVar%5D%2C%20%5BtimingValue%5D%2C%20%5BtimingLabel%5D%2C%20%5BfieldsObject%5D)%3B » message= » » highlight= » » provider= »manual »/]
Par exemple :
[pastacode lang= »javascript » manual= »ga(‘send’%2C%20’timing’%2C%20’JS%20Dependencies’%2C%20’load’%2C%203549)%3B » message= » » highlight= » » provider= »manual »/]
Ref : developers.google.com
Cela vous permet de mesurer l’élément important de votre page (Hero image, slideshow…).
Avec cet outil custom, nous pouvons ajouter les métriques qui nous semblent les plus pertinentes tel que le Start Render, le Speed Index, le temps de la première interaction (click, scroll).
6. Comment mesurer le Start Render Le tracking des User-Timing
Le Start Render est une métrique clé de la webperf. Nous en avons déjà parlé à plusieurs reprises dans nos articles.
Vous pourrez la mesurer en vous servant de la Paint API pour mesurer le First Contentful Paint :
[pastacode lang= »javascript » manual= »%3C!–%20Register%20the%20PerformanceObserver%20to%20track%20paint%20timing.%20–%3E%0A%20%20%3Cscript%3E%0A%20%20const%20observer%20%3D%20new%20PerformanceObserver((list)%20%3D%3E%20%7B%0A%20%20%20%20for%20(const%20entry%20of%20list.getEntries())%20%7B%0A%20%20%20%20%20%20%2F%2F%20%60name%60%20will%20be%20either%20’first-paint’%20or%20’first-contentful-paint’.%0A%20%20%20%20%20%20const%20metricName%20%3D%20entry.name%3B%0A%20%20%20%20%20%20const%20time%20%3D%20Math.round(entry.startTime%20%2B%20entry.duration)%3B%0A%0A%20%20%20%20%20%20ga(‘send’%2C%20’event’%2C%20%7B%0A%20%20%20%20%20%20%20%20eventCategory%3A%20’Performance%20Metrics’%2C%0A%20%20%20%20%20%20%20%20eventAction%3A%20metricName%2C%0A%20%20%20%20%20%20%20%20eventValue%3A%20time%2C%0A%20%20%20%20%20%20%20%20nonInteraction%3A%20true%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%20%20%7D)%3B%0A%20%20observer.observe(%7BentryTypes%3A%20%5B’paint’%5D%7D)%3B%0A%20%20%3C%2Fscript%3E%0A » message= » » highlight= » » provider= »manual »/]
Important: you must ensure your PerformanceObserver is registered in the of your document before any stylesheets, so it runs before FP/FCP happens.
Notez toutefois que le First Contentful Paint n’est pas totalement fiable et n’est disponible que sur Chrome.
7. Comment mesurer le Speed Index
Le Speed Index est aussi une mesure très intéressante qui est généralement calculée en analysant la vidéo du chargement de la page. Il est cependant possible de calculer une valeur approchée en se servant de la Resource Timing.
Le script le plus abouti est disponible ici >>
C’est d’ailleurs le script utilisé par Fasterize pour son propre monitoring.
8. Surveillez le taux d’abandon
Nous savons que des utilisateurs quittent souvent une page avant que celle-ci ne soit totalement chargée. Malheureusement, toutes nos mesures sont affectées par le problème du [biais du survivant], où les données n’incluent pas les mesures des personnes ayant quittées la page.
Il est malgré tout possible de mesurer le nombre de sessions abandonnées en utilisant le Measurement Protocol de Google Analytics. Les explications utilisant l’événement visibilitychange sont décrites dans cet article.
Google Analytics peut être un bon outil de mesure (Real User Monitoring) des performances de votre site web, grâce à ses larges possibilités de segmentations, difficiles à répliquer sur un autre outil. Il faut cependant en avoir une utilisation suffisamment mature pour ne pas tomber dans les différents pièges : métriques non significatives, échantillonnage fort, moyenne, etc. En intégrant vos propres métriques et en nettoyant les données via des segments, vous aurez la possibilité de tirer de vraies conclusions de vos chiffres !
Pensez également que cet outil ne remplace pas un outil de surveillance continue (RUM) servant à alerter une équipe en cas d’anomalie.
Vous voilà fin prêt à analyser les performances de votre site 🙂