Syntaxe
event_name— une chaîne décrivant l’action. Utilisez lesnake_case.metadata— un objet facultatif contenant les données clé-valeur de votre choix. 10 Ko maximum.
scanova('track', ...) à tout moment après l’exécution de scanova('init', ...) : depuis des écouteurs d’événements, des callbacks asynchrones ou tout autre contexte JavaScript.
Sur le réseau, le SDK envoie chaque événement personnalisé avec
event_type à custom et votre nom dans un champ event_name de premier niveau, et non dans metadata. Cela diffère d’un appel direct à POST /ct, où c’est event_type qui porte le nom sémantique. Voir la référence du modèle d’événement.Exemples
Clic sur un bouton
Suivre le clic sur un appel à l’action précis :Inscription terminée
Envoyez ceci une fois l’envoi de votre formulaire d’inscription confirmé côté client :Pour les confirmations d’achat ou d’inscription qui ont lieu côté serveur, utilisez plutôt les événements serveur. Ils sont plus fiables et ne peuvent pas être bloqués par les extensions de navigateur.
Engagement vidéo
Interaction produit
Interaction avec onglets ou accordéons
Clic vers un site externe
Choisir entre événements personnalisés et suivi automatique
Vous pouvez combiner les deux :
autoClicks: true et des événements personnalisés ciblés pour les actions à forte valeur.
Event naming best practices
- Use
snake_case:cta_click, notctaClickorCTAClick - Be specific enough to be self-explanatory in reports:
signup_completedis better thancompleted - Be consistent: pick one name and stick to it. Changing event names later fragments your historical data
- Do not include user-identifying information in the event name
Metadata best practices
- Keep metadata flat where possible — deeply nested objects are harder to query
- Max object size: 10 KB
- Max nesting depth: 5 levels
- Never include raw email addresses, phone numbers, or other PII — use server events with
user_identifiersfor that - Use stable keys — changing key names later fragments your data
When to use server events instead
Use Server-Side Events rather than custom browser events when:- The action happens on your server (payment confirmation, CRM creation, email verification)
- You need to pass a conversion value (order total, subscription price)
- You want to include hashed user identifiers for identity matching
- You need guaranteed delivery (server events cannot be blocked by ad blockers)