Événements

Définissez et gérez les super propriétés pour les événements analytics du tracker OpenReplay.

Événements

Ce module vous permet de gérer les événements et les propriétés — des paires clé/valeur persistantes qui sont automatiquement attachées à chaque événement suivi.

Les super propriétés sont stockées localement et fusionnées dans la charge utile de chaque événement lorsque vous suivez des événements.

Pour en savoir plus sur la gestion des événements dans l’interface d’OpenReplay, consultez Data Management.

Disponible via :

tracker.analytics.events

Les super propriétés sont stockées dans le SDK et fusionnées dans chaque événement sous properties.

Les propriétés d’événement ne sont transmises que pour un seul appel à track/sendEvent et ne sont pas enregistrées en tant que super propriétés.

Ces clés sont réservées et ne peuvent pas être créées/supprimées via les helpers de super propriétés :

  • properties
  • token
  • timestamp
// Track an event.
// The `properties` argument is per-event only (not persisted).
tracker.analytics.events.sendEvent(eventName: string, properties?: Record<string, any>, options?: { send_immediately: boolean })

// Create/update super properties (persisted)
tracker.analytics.events.setProperty(name: string, value: any): void
tracker.analytics.events.setProperty(properties: Record<string, any>): void

// Create super properties only if they don't exist yet (persisted)
tracker.analytics.events.setPropertiesOnce(name: string, value: any): void
tracker.analytics.events.setPropertiesOnce(properties: Record<string, any>): void

// Remove super properties (persisted)
tracker.analytics.events.unsetProperties(name: string): void
tracker.analytics.events.unsetProperties(names: string[]): void

// Clear all super properties
tracker.analytics.events.reset(): void

Suivre des événements avec des propriétés

Section titled Suivre des événements avec des propriétés

Propriétés par événement (non persistantes)

Section titled Propriétés par événement (non persistantes)
tracker.analytics.events.sendEvent("Button Clicked", {
  button_text: "Start",
  page: "home",
})

Ces propriétés ne s’appliquent qu’à cet événement.

Super propriétés + propriétés par événement (fusionnées)

Section titled Super propriétés + propriétés par événement (fusionnées)

Lorsque vous définissez des super propriétés, elles sont automatiquement incluses dans chaque événement puis fusionnées avec les propriétés par événement :

tracker.analytics.events.setProperty({
  app_version: "1.42.0",
  env: "prod",
})

tracker.analytics.events.sendEvent("Signup Started", {
	// per-event, can override a super property with the same key
  plan: "pro", 
})

Ordre de fusion :

  • les super propriétés sont ajoutées en premier
  • les propriétés par événement sont fusionnées par-dessus

Ainsi, les propriétés par événement l’emportent en cas de collision de clés.

Crée ou écrase des super propriétés.

// object form
tracker.analytics.events.setProperty({
  app_version: "1.42.0",
  region: "eu",
})

// key/value form
tracker.analytics.events.setProperty("build_sha", "3f2c9a1")
  • Les clés par défaut/internes (suivies par le SDK) sont ignorées et ne seront pas ajoutées en tant que super propriétés.
  • Les modifications ne sont enregistrées localement que si quelque chose a réellement changé.

Crée des super propriétés uniquement si elles n’existent pas encore.

tracker.analytics.events.setPropertiesOnce({
  first_seen_at: Date.now(),
  signup_source: "docs",
})

// key/value form
tracker.analytics.events.setPropertiesOnce("initial_referrer", document.referrer)
  • Les propriétés ne sont définies que si la clé est absente.
  • Les clés réservées (properties, token, timestamp) sont ignorées.

Supprime une ou plusieurs super propriétés.

// single
tracker.analytics.events.unsetProperties("region")

// multiple
tracker.analytics.events.unsetProperties(["app_version", "build_sha"])
  • Les clés réservées ne peuvent pas être supprimées.
  • La suppression est persistée.

Efface toutes les super propriétés.

tracker.analytics.events.reset()

Par défaut, les événements sont mis en file d’attente/regroupés par lots. Vous pouvez demander un envoi immédiat pour un événement :

tracker.analytics.events.sendEvent(
  "Checkout Completed",
  { value: 199, currency: "EUR" },
  { send_immediately: true },
)

Alias compatibles avec Mixpanel

Section titled Alias compatibles avec Mixpanel

Toutes les méthodes prennent en charge une couche de compatibilité fournie par souci de familiarité :

tracker.analytics.events.register       // setProperty
tracker.analytics.events.register_once  // setPropertiesOnce
tracker.analytics.events.unregister     // unsetProperties
tracker.analytics.events.track          // sendEvent

Si vous rencontrez des problèmes, connectez-vous à notre Slack ou consultez notre Forum et obtenez de l’aide de notre communauté.