anonymousId
stable (stocké dans le localStorage). Quand l’utilisateur se connecte, vous
appelez identify() pour que les événements suivants portent aussi son userId
et ses traits (rôle, plan, …).
Prérequis
- Le SDK est installé et le provider est monté (Démarrage rapide).
- Vous avez accès à l’utilisateur courant côté client (session, contexte d’auth).
Avec React : useIdentify (recommandé)
useIdentify(userId, traits) appelle identify() dès que userId est défini, et
le rappelle si userId ou les traits changent. Si userId vaut null ou
undefined, il ne fait rien.
components/IdentitySync.tsx
AnalyticsProvider, là où l’utilisateur courant est
disponible (par exemple dans le layout de l’espace connecté).
Sans React : identify()
Ce que fait identify()
- Il enregistre
userIdet les traits dans lelocalStorage(analytics_user_id,analytics_user_traits). Ils survivent au rechargement de la page. - Il envoie un événement
identify, avec les traits dansproperties.user. - Tous les événements suivants portent
userIdetproperties.user.
anonymousId. L’anonymousId est conservé après identify(),
ce qui permet de relier le parcours anonyme au parcours connecté.
Appeler
identify() plusieurs fois avec les mêmes valeurs est sans danger, mais
envoie un événement à chaque appel. useIdentify évite les appels répétés tant
que userId et les traits ne changent pas.Choisir les traits
Envoyez uniquement ce qui sert à segmenter vos analyses :
Les clés
password, token, accessToken, refreshToken, secret,
creditCard, cardNumber et cvv sont retirées automatiquement
(Filtrage automatique). Ce filtre est un filet de
sécurité, pas une politique de confidentialité.
Déconnexion
Le SDK n’a pas encore de méthodereset(). Sans action de votre part,
l’utilisateur reste identifié après la déconnexion : son userId est relu depuis
le localStorage à chaque chargement.
Pour repartir sur un visiteur anonyme, effacez l’identité stockée puis recréez
l’instance du SDK. Avec React, changez la key du provider pour forcer son
remontage :
app/analytics-root.tsx
resetAnalytics() dans votre action de déconnexion. Si la
déconnexion recharge la page (redirection serveur), effacer les deux clés avant la
redirection suffit.
Vérifier
Dans l’onglet Network, la requêtePOST /v1/events suivant la connexion
contient un événement "eventName": "identify". Les événements suivants ont un
champ userId. Après la déconnexion, les nouveaux événements n’en ont plus.
