Events
Events
Section titled Events이 모듈에서는 이벤트와 속성을 관리할 수 있습니다. 속성은 추적되는 모든 이벤트에 자동으로 첨부되는 영구적인 키/값 쌍입니다.
슈퍼 속성(super properties)은 로컬에 저장되며, 이벤트를 추적할 때 각 이벤트 페이로드에 병합됩니다.
OpenReplay UI에서 이벤트를 관리하는 방법을 더 알아보려면 데이터 관리를 참고하세요.
다음 위치에서 사용할 수 있습니다:
tracker.analytics.events
슈퍼 속성
Section titled 슈퍼 속성슈퍼 속성은 SDK에 저장되며 모든 이벤트의 properties 아래에 병합됩니다.
이벤트 속성
Section titled 이벤트 속성이벤트 속성은 단일 track/sendEvent 호출에만 전달되며 슈퍼 속성으로 저장되지 않습니다.
예약된 키
Section titled 예약된 키사용하는 헬퍼에 따라 두 가지 서로 다른 키 집합이 거부됩니다.
기본 속성(Default properties) — SDK가 직접 수집하여 모든 이벤트와 함께 전송하는 속성입니다. setProperty는 이를 조용히 건너뛰므로 슈퍼 속성으로 덮어쓸 수 없습니다:
os, os_version, browser, browser_version, platform, screen_height, screen_width, initial_referrer, utm_source, utm_medium, utm_campaign, user_id, distinct_id, sdk_edition, sdk_version, timezone, search_engine
페이로드 키(Payload keys) — properties, token, timestamp가 해당합니다. 이 키들은 이벤트 엔벨로프의 일부이므로 setPropertiesOnce와 unsetProperties는 이를 건너뜁니다.
최상위 시그니처
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",
})
병합 순서:
- 슈퍼 속성이 먼저 추가됩니다
- 이벤트별 속성이 그 위에 병합됩니다
따라서 키가 충돌하면 이벤트별 속성이 우선합니다.
setProperty
Section titled setProperty슈퍼 속성을 생성하거나 덮어씁니다.
// object form
tracker.analytics.events.setProperty({
app_version: "1.42.0",
region: "eu",
})
// key/value form
tracker.analytics.events.setProperty("build_sha", "3f2c9a1")
- SDK가 수집하는 기본 속성은 무시되며 슈퍼 속성으로 추가되지 않습니다.
- 키/값 형식은
value가undefined이면 무시됩니다. 빈 값을 저장하려면null을 전달하세요. - 변경 사항은 실제로 무언가 바뀐 경우에만 로컬에 저장됩니다.
setPropertiesOnce
Section titled setPropertiesOnce슈퍼 속성이 아직 존재하지 않는 경우에만 생성합니다.
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)는 무시됩니다.
unsetProperties
Section titled unsetProperties하나 이상의 슈퍼 속성을 제거합니다.
// single
tracker.analytics.events.unsetProperties("region")
// multiple
tracker.analytics.events.unsetProperties(["app_version", "build_sha"])
- 예약된 키는 제거할 수 없습니다.
- 제거 결과는 영구적으로 저장됩니다.
reset
Section titled reset모든 슈퍼 속성을 지웁니다.
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
궁금한 점이 있으신가요?
Section titled 궁금한 점이 있으신가요?문제가 발생하면 Slack에 접속하여 커뮤니티의 도움을 받으세요.