События

Определяйте и управляйте суперсвойствами для событий аналитики трекера OpenReplay.

События

Этот модуль позволяет управлять событиями и свойствами — постоянными парами ключ/значение, которые автоматически добавляются к каждому отслеживаемому событию.

Суперсвойства хранятся локально и объединяются с полезной нагрузкой каждого события, когда вы отслеживаете события.

Чтобы узнать больше об управлении событиями в интерфейсе OpenReplay, посетите Data Management.

Доступно по адресу:

tracker.analytics.events

Суперсвойства хранятся в SDK и объединяются с каждым событием в разделе properties.

Свойства события

Section titled Свойства события

Свойства события передаются только для одного вызова track/sendEvent и не сохраняются как суперсвойства.

Зарезервированные ключи

Section titled Зарезервированные ключи

Эти ключи зарезервированы и не могут быть созданы/удалены с помощью вспомогательных функций для суперсвойств:

  • properties
  • token
  • timestamp

Сигнатуры верхнего уровня

Section titled Сигнатуры верхнего уровня
// 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

Отслеживание событий со свойствами

Section titled Отслеживание событий со свойствами

Свойства для отдельного события (не сохраняются)

Section titled Свойства для отдельного события (не сохраняются)
tracker.analytics.events.sendEvent("Button Clicked", {
  button_text: "Start",
  page: "home",
})

Эти свойства применяются только к данному событию.

Суперсвойства + свойства для отдельного события (объединённые)

Section titled Суперсвойства + свойства для отдельного события (объединённые)

Когда вы задаёте суперсвойства, они автоматически включаются в каждое событие, а затем объединяются со свойствами для отдельного события:

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", 
})

Порядок объединения:

  • суперсвойства добавляются первыми
  • свойства для отдельного события объединяются поверх них

Таким образом, при коллизии ключей побеждают свойства для отдельного события.

Создаёт или перезаписывает суперсвойства.

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

// key/value form
tracker.analytics.events.setProperty("build_sha", "3f2c9a1")
  • Ключи по умолчанию/внутренние (отслеживаемые SDK) игнорируются и не будут добавлены как суперсвойства.
  • Изменения сохраняются локально только в том случае, если что-то действительно изменилось.

Создаёт суперсвойства только в том случае, если они ещё не существуют.

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

// key/value form
tracker.analytics.events.setPropertiesOnce("initial_referrer", document.referrer)
  • Свойства задаются только в том случае, если ключ отсутствует.
  • Зарезервированные ключи (properties, token, timestamp) игнорируются.

Удаляет одно или несколько суперсвойств.

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

// multiple
tracker.analytics.events.unsetProperties(["app_version", "build_sha"])
  • Зарезервированные ключи удалить нельзя.
  • Удаление сохраняется.

Очищает все суперсвойства.

tracker.analytics.events.reset()

Отправить немедленно

Section titled Отправить немедленно

По умолчанию события ставятся в очередь/группируются в пакеты. Вы можете запросить немедленную отправку события:

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

Псевдонимы, совместимые с Mixpanel

Section titled Псевдонимы, совместимые с Mixpanel

Все методы поддерживают слой совместимости, предоставляемый для удобства перехода:

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

Если вы столкнётесь с какими-либо проблемами, присоединяйтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.