Retour au blog

Comment un Traceur Analytics de 2 KB Garde Vos Core Web Vitals au Vert

Les scripts analytics traditionnels sont assez lourds pour dégrader votre score Lighthouse. Voici ce qu'un traceur léger fait différemment — et pourquoi cela compte pour les vrais utilisateurs.

Les Core Web Vitals sont désormais un signal de classement. Un script analytics lent n'est plus un simple désagrément — c'est un coup direct porté à votre SEO et à l'expérience de chaque visiteur sur une connexion lente. L'ironie de mesurer le trafic de votre site avec un script qui le dégrade est bien réelle.

Ce que les scripts analytics traditionnels vous coûtent

La balise globale de Google Analytics 4 pèse environ 45 KB transférés. Elle déclenche plusieurs requêtes réseau au chargement — vers collect.js, vers le protocole de mesure, et parfois vers des scripts de fonctionnalités supplémentaires. Sur un appareil mobile en 4G, cela représente un délai mesurable avant que votre page ne devienne interactive.

L'impact se manifeste de trois façons. Premièrement, la requête de script elle-même entre en concurrence avec votre contenu pour la bande passante réseau. Deuxièmement, toute exécution synchrone bloque le thread principal. Troisièmement, chaque événement analytics ultérieur (session start, page_view, engagement) déclenche des requêtes sortantes supplémentaires.

Comment un traceur léger change la donne

Le traceur de Monoid fait moins de 2 KB minifié et gzippé. Il se charge avec un simple attribut async, ce qui signifie que le navigateur le télécharge en arrière-plan sans bloquer l'analyse du HTML ni le rendu. Le Largest Contentful Paint n'est pas affecté car le script ne se trouve jamais dans le chemin critique de rendu.

Lorsqu'un pageview est déclenché, le traceur envoie un unique POST vers l'endpoint de collecte :

fetch('/collect', {
  method: 'POST',
  keepalive: true,
  body: JSON.stringify({ site_id, path, referrer, ... })
})

Le drapeau keepalive: true est le détail clé. Il indique au navigateur de maintenir la requête active même si l'utilisateur quitte la page avant qu'elle ne se termine — le même mécanisme qu'utilise l'API navigator.sendBeacon, mais avec le support complet du JSON. Vous obtenez une livraison fiable sans bloquer la navigation.

Les trois Core Web Vitals, un par un

Largest Contentful Paint (LCP) mesure quand le contenu principal devient visible. Un script async qui n'est pas dans le chemin critique ne retarde pas du tout le LCP. Le traceur ne manipule pas le DOM et ne charge aucune image.

Interaction to Next Paint (INP) mesure la réactivité aux entrées utilisateur. Les écouteurs d'événements du traceur sont en lecture seule et légers — un unique écouteur popstate pour la navigation SPA. Pas de tâches longues, pas de layout thrashing.

Cumulative Layout Shift (CLS) mesure les mouvements de mise en page inattendus. Le traceur n'ajoute aucun élément au DOM, il contribue donc à zéro décalage de mise en page.

Lancer un audit Lighthouse

Si vous voulez quantifier la différence, lancez un audit Lighthouse sur une page avant et après l'ajout du traceur. Vous ne devriez constater aucun changement dans le score Performance. Le traceur apparaîtra dans la cascade réseau comme un script async chargé tardivement — petit, rapide et hors du chemin critique.

Comparez cela à un audit GA4, où Lighthouse signalera souvent la balise analytics sous « Réduire l'impact du code tiers » et rapportera une contribution au temps de blocage du thread.

La performance est aussi un argument de vie privée

Il existe un lien entre le poids des scripts et la vie privée qu'il vaut la peine d'énoncer clairement : les scripts analytics lourds sont lourds parce qu'ils font davantage. Plus de suivi, plus d'identification d'appareil, plus de profilage comportemental. Le traceur de 2 KB est petit parce qu'il ne collecte que ce dont il a besoin — une poignée de signaux non personnels par pageview. La famille de navigateur et le type d'appareil sont dérivés côté serveur depuis le User-Agent de la requête, tandis que les chaînes User-Agent complètes, les versions de navigateur, les cookies, les identifiants persistants et les empreintes d'appareil ne sont jamais stockés.

Choisir des analytics légers n'est pas un compromis entre performance et insight. C'est reconnaître que le poids supplémentaire des outils traditionnels provient d'une collecte de données que vous n'avez probablement pas demandée.