É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 le payload de chaque événement lorsque vous suivez des événements.

Disponible sur :

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 persistante.

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, rejoignez notre Slack ou consultez notre Forum et obtenez de l’aide de notre communauté.