Aller au contenu

Suivi

SPA et routage par hash

Comment le tracker suit la navigation côté client, les routeurs à hash, le cache précédent/suivant et les pages prérendues.

Le tracker suit seul la navigation côté client. Une fois la balise script installée, inutile d’écouter le routeur dans Next.js, React Router, TanStack Router, Vue Router, SvelteKit ou Angular.

Routage par l’historique

  • history.pushState, replaceState et popstate sont surveillés. Une navigation compte comme une page vue au bout de 100 ms, et un second changement vers la même URL est ignoré.
  • Chaque page vue reçoit son propre identifiant. Un heartbeat clôt la vue précédente avec son temps d’engagement et sa profondeur de défilement.
  • Le référent n’est envoyé qu’avec la première page vue d’un chargement de page : la navigation interne ne ressemble donc jamais à du nouveau trafic.

Routage par hash

Si votre application route avec le fragment d’URL (/#/settings), ajoutez data-hash. Les changements de hash deviennent des pages vues et la route est conservée dans le chemin : /#/users/42 est rapporté comme /users/42. Sans data-hash, le fragment est supprimé, car il peut contenir des jetons (OAuth, liens magiques), et les simples ancres comme #pricing ne changent jamais la page.

<script defer data-site="SITE_ID" data-hash src="…/script.js"></script>

Pages vues manuelles

Pour envoyer vous-même les pages vues (pages virtuelles, modales en plusieurs étapes), désactivez les pages vues automatiques avec data-auto="false" (tous les attributs sont décrits dans l’API du tracker) :

globatics('pageview');                      // URL courante
globatics('pageview', '/checkout/step-2');  // une page virtuelle

Cache précédent/suivant et prérendu

  • Une page restaurée depuis le cache précédent/suivant compte comme une nouvelle page vue, et les Web Vitals sont mesurés à nouveau.
  • Une page prérendue (Speculation Rules) n’est comptée que lorsque le visiteur la voit réellement.
  • Un onglet masqué envoie leave : le visiteur disparaît du globe. Il revient dès que l’onglet redevient visible.

Vous testez en local ? Gardez la page suivie visible à côté de la vue en direct : changer d’onglet est un vrai « leave ».