Référence

API JavaScript

L'objet window.Sessio, disponible sur toutes les pages qui portent le tracker.

Une fois le tracker chargé, l'objet window.Sessio est disponible.

#Méthodes

Méthode Rôle
Sessio.customEvent(nom, données?) Envoie un événement personnalisé. Voir Événements personnalisés.
Sessio.identify(label) Associe un identifiant lisible (prénom, email…) au visiteur ; Sessio.identify(null) l'efface. Voir Identifier un visiteur.
Sessio.getVisitorToken() L'identifiant anonyme du visiteur.
Sessio.getPageviewId() Le numéro de la page vue en cours, une fois connue du serveur.
Sessio.stop() Arrête l'enregistrement de l'écran sur la page en cours.
Sessio.record() Relance l'enregistrement de l'écran après un stop().
Sessio.config La configuration lue dans window.TrackerConfig.
Sessio._debug() L'état interne du tracker, pour le dépannage.

#Exemples

Lier un ticket de support à la session en cours :

js
const ticket = {
  sujet: 'Paiement impossible',
  visiteur: Sessio.getVisitorToken(),
  page: Sessio.getPageviewId(),
};

Suspendre l'enregistrement de l'écran pendant une étape sensible :

js
Sessio.stop();
// … étape sensible …
Sessio.record();
Note

stop() arrête l'enregistrement de l'écran ; les statistiques de la page continuent d'être relevées.

#Identifier un visiteur

Par défaut, chaque visiteur n'est identifié que par un jeton aléatoire, illisible pour un humain. Sessio.identify(label) associe un identifiant lisible — prénom, nom, adresse email… — à ce jeton, pour suivre un utilisateur précis d'une page à l'autre.

L'usage typique vient juste après la connexion :

js
Sessio.identify(user.email);
// ou littéralement
Sessio.identify('[email protected]');

Le libellé est conservé dans le localStorage du navigateur : il survit aux changements de page et aux sessions suivantes, et repart automatiquement au prochain chargement de la page. Il est limité à 200 caractères (au-delà, il est tronqué).

Pour effacer un identifiant — sur une déconnexion, par exemple :

js
Sessio.identify(null);

Où le libellé apparaît :

  • dans la liste des visiteurs du dashboard (pastille à côté de la visite) et sur la fiche du visiteur ;
  • dans l'API REST publique, sous le champ identified_label des visiteurs (scope visitors:read) et des sessions (scope sessions:read).

#Identification automatique

Sans aucun appel à Sessio.identify, le tracker cherche l'utilisateur connecté là où les sites le rangent d'habitude : localStorage, sessionStorage et cookies lisibles en JavaScript. Il reconnaît :

  • les clés directes : email, username, user_email, userName, displayName… ;
  • les objets JSON d'un utilisateur (user, currentUser, profile, account, auth, la session Supabase, Firebase ou Auth0…), lus en profondeur : user.email, user.username, user.name, firstName + lastName, given_name + family_name…

Il écoute aussi :

  • les requêtes de compte (fetch et XMLHttpRequest) dont l'adresse parle de connexion, d'inscription ou de profil (/login, /register, /signup, /auth, /profile, /me…) : le corps envoyé et la réponse, si elle réussit (2xx) ;
  • les formulaires envoyés : leurs champs email, name, nom, username, pseudo…

Le libellé affiché est « Nom · email » quand les deux sont trouvés, sinon l'email, le nom d'utilisateur ou le nom. Si l'utilisateur change de compte, le nouveau libellé remplace l'ancien dans les 15 secondes. La recherche a lieu au chargement, puis toutes les 15 secondes, pour une connexion faite sans recharger la page.

Les secrets ne sont jamais lus : une clé qui parle de mot de passe ou de jeton, ou une valeur qui ressemble à un jeton (JWT, longue chaîne aléatoire), est ignorée.

Un Sessio.identify(...) explicite l'emporte toujours sur la détection. Pour la couper :

html
<script>window.TrackerConfig={token:"VOTRE_CODE_DE_SUIVI",autoIdentify:false}</script>
Attention

L'identification automatique collecte l'email ou le nom de vos utilisateurs connectés : ce sont des données personnelles. Voir Identification et données personnelles.

Attention

Ne transmettez que ce que vous avez le droit de traiter : une adresse email est une donnée personnelle. Le tracker masque déjà les saisies de formulaire dans les replays ; le libellé, lui, est enregistré tel quel — préférez un identifiant interne quand l'adresse n'est pas nécessaire.