Zenovay affiche l'un des trois badges à côté de chaque visiteur — Anonymous, Identified ou Paying. Les badges apparaissent sur le globe 3D (dans une popup au survol du visiteur) et dans l'onglet Journeys → Users. Cet article explique ce que signifie chaque état, comment un visiteur passe de l'un à l'autre et comment masquer les données lors du partage externe du tableau de bord.
Les trois badges
| Badge | Signification | Quand le visiteur l'obtient |
|---|---|---|
| Anonymous (gris) | Le visiteur navigue sans se connecter. Zenovay connaît son appareil, son pays et son comportement, mais pas son identité. | Par défaut pour toute page vue non identifiée. Aucun cookie n'est posé en mode cookieless. |
| Identified (bleu) | Le visiteur est connecté à votre produit. Zenovay connaît son e-mail, son nom et tous les traits personnalisés que vous avez envoyés. | Après que votre site ait appelé zenovay('identify', userId, { email, name }) — généralement juste après la connexion ou l'inscription. |
| Paying (vert) | Le profil du visiteur est lié à un abonnement payant ou possède un revenu cumulé supérieur à zéro. | Automatiquement, quand Zenovay reçoit un webhook de paiement de Stripe, LemonSqueezy, Polar ou PayPal — aucun appel tracker supplémentaire requis. |
Comment marquer des visiteurs comme "Identified"
L'identification est opt-in : votre site doit appeler zenovay('identify', ...) quand un utilisateur se connecte. L'appel le plus simple :
// Juste après login, signup ou dès qu'un utilisateur est connu
zenovay('identify', user.id, {
email: user.email,
name: user.name
});
C'est tout. La page vue suivante est associée à cette identité, et le badge passe d'Anonymous à Identified. Piège fréquent : appelez identify() uniquement avec des IDs stables (clé primaire de votre base) — n'utilisez pas l'e-mail ou le nom d'utilisateur comme userId, car les utilisateurs peuvent les changer.
Pour une mise en place pas-à-pas avec exemples de code pour Next.js, React, Vue, HTML simple, Shopify et WordPress, consultez la documentation Visitor Identification.
Vous travaillez avec Claude Code, Cursor, ChatGPT ou GitHub Copilot ? Pointez votre assistant IA sur la doc Visitor Identification et demandez-lui de câbler zenovay('identify') pour votre stack. La documentation contient des extraits prêts au copier-coller pour les principaux frameworks.
Comment des visiteurs deviennent "Paying"
Vous ne marquez pas un visiteur comme Paying via le tracker. Zenovay reçoit les événements webhook des fournisseurs de paiement que vous connectez (Stripe, LemonSqueezy, Polar, PayPal) et lie le profil client automatiquement. Dès qu'un paiement est reçu, le badge du visiteur passe à Paying. Son revenu cumulé et son nombre de commandes apparaissent dans le panneau de détail du visiteur.
Si un visiteur annule son abonnement plus tard, il garde le badge Paying tant que total_revenue reste supérieur à zéro — la valeur client passée reste pertinente pour votre équipe.
Et si je n'ai qu'un customer ID, sans e-mail ?
Certaines intégrations (par exemple des apps mobiles avec un user ID interne mais sans e-mail) peuvent appeler :
zenovay('identify', user.id, {
customer_id: 'cus_internal_123'
});
Ce visiteur compte comme Identified — le badge apparaît, et la carte de détail visiteur affiche ID only dans la ligne e-mail. Il devient Paying dès qu'un webhook de paiement lie ce customer ID à un compte Stripe / LemonSqueezy / Polar / PayPal.
Masquer les identifiants dans les captures d'écran et démos
Ouvrez /profile → Preferences → activez Blur identifiers. Les e-mails s'affichent avec tout sauf les premiers caractères et le domaine de premier niveau masqués (par exemple jo••••@ex••.com) et les noms gardent uniquement la première lettre de chaque partie (par exemple J••• D•) partout sur le tableau de bord. Le toggle est persistant par navigateur — pas besoin de le réactiver après un rechargement.
Le flou est une aide à la présentation, pas un contrôle d'accès. Un utilisateur avec les DevTools du navigateur peut toujours voir les données non masquées même si le toggle est ON. Pour vraiment restreindre l'accès aux identifiants, gérez votre équipe dans Settings → Team.
Les tableaux de bord publics floutent toujours
Quand vous partagez un tableau de bord public en lecture seule, les identifiants sont masqués quel que soit l'état du toggle. Les e-mails s'affichent avec tout sauf les premiers caractères et le domaine masqués (par exemple jo••••@ex••.com) et les noms comme J••• D•, même pour le propriétaire du tableau de bord s'il consulte via l'URL publique. L'API Globe omet aussi entièrement les champs identity_email, identity_name et identity_plan de la réponse publique — les données ne sont pas seulement masquées dans l'UI, elles ne sont jamais transmises.
C'est une garantie ferme : vous pouvez partager un lien public sans laisser fuiter les vraies adresses e-mail clients vers le destinataire.
Où apparaissent les badges
- Globe 3D : cliquez sur un marqueur visiteur pour ouvrir sa popup — la popup affiche le badge (vert pour Paying, bleu pour Identified).
- Onglet Journeys → Users : chaque ligne de la liste Users affiche le badge, plus une carte d'identité complète dans le panneau de détail visiteur montrant e-mail, nom, plan et tous les traits personnalisés envoyés avec
identify(). Vous pouvez affiner la liste avec les filtres de goal, device, OS, pays et source au-dessus du tableau.
Foire aux questions
Q : Ai-je besoin de cookies pour utiliser identify() ?
R : Non. Le mode cookieless de Zenovay utilise un visitor ID en mémoire scoped sur la fenêtre — identify() lie la session existante à l'utilisateur sans poser de cookie ni d'entrée localStorage.
Q : identify() nécessite-t-il un consentement RGPD / ePrivacy ?
R : Cela dépend de votre base de traitement. Le tracker cookieless lui-même ne stocke rien sur l'appareil de l'utilisateur, donc il ne déclenche pas l'article 5(3) ePrivacy. Cependant, l'appel identify() traite des données personnelles (e-mail, nom) — vous avez besoin d'une base légale au titre de l'article 6 RGPD pour cela. Pour la plupart des produits, "exécution d'un contrat" (l'utilisateur est connecté à votre produit) est la base.
Q : Puis-je utiliser identify() pour marquer un visiteur comme payant directement, sans webhook ?
R : Pas par conception. Le statut Paying dérive de total_revenue > 0 ou d'un customer ID de fournisseur de paiement, tous deux définis par les webhooks. Cela garde la valeur vérifiable — votre équipe finance fait confiance au badge parce qu'il est lié à de l'argent réel. Si vous avez besoin de marquer un visiteur manuellement pour les tests, lancez un paiement de test à $0 via Stripe Test Mode.
Q : Que se passe-t-il si j'appelle identify() avec un ID différent pour la même session navigateur ?
R : Zenovay le traite comme un changement de compte — la nouvelle identité remplace l'ancienne pour cet enregistrement visiteur. L'événement identify précédent reste dans la timeline pour que vous puissiez auditer les changements de compte.
Articles connexes
- Comment partager un tableau de bord public ? — masquage et contrôle d'accès des liens partagés
- Zenovay utilise-t-il des cookies ? — comment l'identification fonctionne sans cookies
- Intégration Stripe Revenue — connecter les webhooks de paiement pour les badges Paying