Customer behavior and user events
Use the search bar or the checkboxes below to find the events you need to use Currents effectively.
These schema include other App or Website activity such as Sessions, Custom Events, and Purchases tracked through the platform.
추가 이벤트 자격에 대한 액세스가 필요한 경우 Braze 담당자에게 문의하거나 지원 티켓을 개설하세요. 이 페이지에서 필요한 정보를 찾을 수 없다면 메시지 참여 이벤트 라이브러리 또는 커런츠 샘플 데이터 예시를 확인하세요.
Explanation of customer behavior and user event structure and platform values
이벤트 구조
이 고객 행동 및 사용자 이벤트 분석은 일반적으로 고객 행동 또는 사용자 이벤트에 어떤 유형의 정보가 포함되는지 보여줍니다. 구성 요소에 대한 확실한 이해를 바탕으로 개발자와 비즈니스 인텔리전스 전략 팀은 수신되는 Currents 이벤트 데이터를 사용하여 데이터 기반 보고서와 차트를 만들고 다른 유용한 데이터 메트릭을 활용할 수 있습니다.

고객 행동 및 사용자 이벤트는 사용자별 속성, 행동별 속성, 기기별 속성으로 구성됩니다.
플랫폼 가치
특정 이벤트는 사용자 기기의 플랫폼을 지정하는 platform 값을 반환합니다.
다음 표에서는 반환 가능한 값을 자세히 설명합니다:
| 사용자 디바이스 | 플랫폼 가치 |
|---|---|
| iOS | ios |
| Android | android |
| FireTV | kindle |
| Kindle | kindle |
| 웹 | web |
| tvOS | tvos |
| Roku | roku |
저장 스키마는 우리가 데이터 웨어하우스 저장 파트너(예: Google Cloud Storage, Amazon S3 및 Microsoft Azure Blob Storage)로 보내는 평면 파일 이벤트 데이터에 적용됩니다. 여기에 나열된 일부 이벤트와 목적지 조합은 아직 일반적으로 사용할 수 없습니다. 다양한 파트너가 지원하는 이벤트에 대한 자세한 내용은 사용 가능한 파트너 목록을 참조하여 각 페이지를 확인하세요.
또한, 커런츠는 페이로드가 900KB를 초과하는 지나치게 큰 이벤트는 삭제한다는 점에 유의하세요.
무작위 버킷 번호 업데이트 이벤트
이 사용자 이벤트는 워크스페이스 내에서 새 사용자가 생성될 때마다 발생합니다. 이 이벤트 동안, 각 신규 사용자는 무작위 버킷 번호가 할당되며, 이를 사용하여 무작위 사용자들의 균일하게 분포된 세그먼트를 생성할 수 있습니다. 이를 사용하여 무작위 버킷 번호 값의 범위를 그룹화하고 캠페인 및 캠페인 변형 간의 성능을 비교할 수 있습니다.
이 커런츠 이벤트는 “모든 이벤트 커넥터”를 구매한 고객만 사용할 수 있으며, Amazon S3, Microsoft Azure 및 Google Cloud Storage와 같은 저장 이벤트 커넥터에만 사용할 수 있습니다.
이 이벤트를 활성화하고 워크스페이스에서 기존 사용자의 무작위 버킷 번호에 대한 백필을 예약하려면 고객 성공 관리자에게 문의하세요.
1
2
3
4
5
6
7
8
9
10
11
// users.RandomBucketNumberUpdate
{
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"prev_random_bucket_number" : "(optional, int) Previous random bucket number",
"random_bucket_number" : "(required, int) New random bucket number",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
커스텀 이벤트
이 이벤트는 특정 사용자 지정 이벤트가 트리거될 때 발생합니다. 이를 사용하여 사용자가 애플리케이션에서 커스텀 이벤트를 수행하는 시기를 추적할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// users.behaviors.CustomEvent
{
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"device_model" : "(optional, string) Model of the device",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"name" : "(required, string) Name of the custom event",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"properties" : "(required, string) Custom properties stored as a JSON encoded string",
"time" : "(required, int) UNIX timestamp at which the event happened",
"timezone" : "(optional, string) Time zone of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// [Braze Custom Event] (users.behaviors.CustomEvent)
{
"adid" : "(optional, string) [PII] Advertising identifier",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_model" : "(optional, string) Model of the device",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"idfa" : "(optional, string) [PII] Advertising identifier",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// [Braze Custom Event] (users.behaviors.CustomEvent)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"$device" : "(optional, string) Model of the device",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"$os" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// users.behaviors.CustomEvent
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : {
"model" : "(optional, string) Model of the device",
"type" : "(optional, string) Platform of the device"
},
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"name" : "(required, string) Name of the custom event"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
부동산 세부 정보
- For Custom Events, the payload will also be populated with any custom event properties that are associated with the event.
ad_id,ad_id_type, 및ad_tracking_enabled의 경우, 네이티브 SDK를 통해 iOS IDFA 및 Android Google 광고 ID를 명시적으로 수집해야 합니다. Learn more about them here: iOS, Android.- Kafka를 사용하여 커런츠 데이터를 수집하는 경우, 고객 성공 매니저 또는 계정 매니저에게 연락하여
ad_id전송을 위한 기능 플리퍼를 활성화하십시오.
설치 경로 이벤트
이 이벤트는 앱 설치가 소스에 어트리뷰션될 때 발생합니다. 이를 사용하여 앱 설치의 출처를 추적할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
// users.behaviors.InstallAttribution
{
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"source" : "(required, string) The source of the attribution",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Install Attribution (users.behaviors.InstallAttribution)
{
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"source" : "(optional, string) The source of the attribution"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Install Attribution (users.behaviors.InstallAttribution)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"source" : "(optional, string) The source of the attribution",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Install Attribution (users.behaviors.InstallAttribution)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : { },
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"source" : "(required, string) The source of the attribution"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
위치 이벤트
이 이벤트는 사용자가 지정된 위치를 방문할 때 트리거됩니다. 이를 사용하여 앱에서 위치 이벤트를 트리거하는 사용자를 추적할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// users.behaviors.Location
{
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"alt_accuracy" : "(optional, float) Altitude accuracy of recorded location",
"altitude" : "(optional, float) [PII] Altitude of recorded location",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(required, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"device_model" : "(optional, string) Model of the device",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"latitude" : "(required, float) [PII] Latitude of recorded location",
"ll_accuracy" : "(optional, float) Accuracy of the latitude and longitude of recorded location",
"longitude" : "(required, float) [PII] Longitude of recorded location",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Location (users.behaviors.Location)
{
"adid" : "(optional, string) [PII] Advertising identifier",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"alt_accuracy" : "(optional, float) Altitude accuracy of recorded location",
"altitude" : "(optional, float) [PII] Altitude of recorded location",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_model" : "(optional, string) Model of the device",
"latitude" : "(required, float) [PII] Latitude of recorded location",
"ll_accuracy" : "(optional, float) Accuracy of the latitude and longitude of recorded location",
"longitude" : "(required, float) [PII] Longitude of recorded location",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"idfa" : "(optional, string) [PII] Advertising identifier",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Location (users.behaviors.Location)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"alt_accuracy" : "(optional, float) Altitude accuracy of recorded location",
"altitude" : "(optional, float) [PII] Altitude of recorded location",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"$device" : "(optional, string) Model of the device",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"latitude" : "(required, float) [PII] Latitude of recorded location",
"ll_accuracy" : "(optional, float) Accuracy of the latitude and longitude of recorded location",
"longitude" : "(required, float) [PII] Longitude of recorded location",
"$os" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Location (users.behaviors.Location)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : {
"model" : "(optional, string) Model of the device",
"type" : "(optional, string) Platform of the device"
},
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"alt_accuracy" : "(optional, float) Altitude accuracy of recorded location",
"altitude" : "(optional, float) [PII] Altitude of recorded location",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"latitude" : "(required, float) [PII] Latitude of recorded location",
"ll_accuracy" : "(optional, float) Accuracy of the latitude and longitude of recorded location",
"longitude" : "(required, float) [PII] Longitude of recorded location"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
부동산 세부 정보
구매 이벤트
이 이벤트는 사용자가 구매할 때 발생합니다. 이 데이터를 사용하여 사용자가 애플리케이션에서 상품을 구매한 시점을 추적합니다.
구매는 특별한 사용자 지정 이벤트이며, 사용자 지정 이벤트와 동일한 방식으로 JSON으로 인코딩된 사용자 지정 이벤트 속성 문자열이 함께 제공됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// users.behaviors.Purchase
{
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"currency" : "(required, string) Currency of the purchase",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"device_model" : "(optional, string) Model of the device",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"price" : "(required, float) Price of the purchase",
"product_id" : "(required, string) ID of the product purchased",
"properties" : "(required, string) Custom properties stored as a JSON encoded string",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Purchase (users.behaviors.Purchase)
{
"adid" : "(optional, string) [PII] Advertising identifier",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"currency" : "(required, string) Currency of the purchase",
"device_model" : "(optional, string) Model of the device",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"idfa" : "(optional, string) [PII] Advertising identifier",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"price" : "(required, float) Price of the purchase",
"productId" : "(required, string) ID of the product purchased",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Purchase (users.behaviors.Purchase)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"currency" : "(required, string) Currency of the purchase",
"$device" : "(optional, string) Model of the device",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"$os" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"price" : "(required, float) Price of the purchase",
"product_id" : "(required, string) ID of the product purchased",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Purchased (users.behaviors.Purchase)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : {
"model" : "(optional, string) Model of the device",
"type" : "(optional, string) Platform of the device"
},
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"ad_id" : "(optional, string) [PII] Advertising identifier",
"ad_id_type" : "(optional, string) One of ['ios_idfa', 'google_ad_id', 'windows_ad_id', 'roku_ad_id']",
"ad_tracking_enabled" : "(optional, boolean) Whether advertising tracking is enabled for the device",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"currency" : "(required, string) Currency of the purchase",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"price" : "(required, float) Price of the purchase",
"product_id" : "(required, string) ID of the product purchased"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
부동산 세부 정보
- For Purchase events, the payload will also be populated with any purchase event properties that are associated with the event.
ad_id,ad_id_type, 및ad_tracking_enabled의 경우, 네이티브 SDK를 통해 iOS IDFA 및 Android Google 광고 ID를 명시적으로 수집해야 합니다. Learn more about them here: iOS, Android.- Kafka를 사용하여 커런츠 데이터를 수집하는 경우, 고객 성공 매니저 또는 계정 매니저에게 연락하여
ad_id전송을 위한 기능 플리퍼를 활성화하십시오.
첫 세션 이벤트
이 이벤트는 사용자가 애플리케이션에서 첫 세션을 시작할 때 발생합니다. 이 데이터를 사용하여 사용자가 세션을 시작하는 시점을 추적합니다.
사용자가 첫 세션을 시작하면 FirstSession 이벤트와 SessionStart 이벤트가 모두 발생합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// users.behaviors.app.FirstSession
{
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(required, string) API ID of the app on which this event occurred",
"country" : "(optional, string) [DEPRECATED]",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"device_model" : "(optional, string) Model of the device",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"gender" : "(optional, string) [DEPRECATED]",
"id" : "(required, string) Globally unique ID for this event",
"language" : "(optional, string) [DEPRECATED]",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"sdk_version" : "(optional, string) [DEPRECATED]",
"session_id" : "(required, string) UUID of the session",
"time" : "(required, int) UNIX timestamp at which the event happened",
"timezone" : "(optional, string) Time zone of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// First Session (users.behaviors.app.FirstSession)
{
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_model" : "(optional, string) Model of the device",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(optional, string) UUID of the session"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// First Session (users.behaviors.app.FirstSession)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"$device" : "(optional, string) Model of the device",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"$os" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(optional, string) UUID of the session",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// First Session (users.behaviors.app.FirstSession)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : {
"model" : "(optional, string) Model of the device",
"type" : "(optional, string) Platform of the device"
},
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"session_id" : "(required, string) UUID of the session"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
세션 종료 이벤트
이는 사용자가 애플리케이션을 종료하여 현재 세션이 종료될 때 발생합니다. 이 데이터를 사용하여 세션이 종료되는 시점을 추적하고 적절한 세션 시작 이벤트와 함께 세션의 지속 시간을 계산합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// users.behaviors.app.SessionEnd
{
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(required, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"device_model" : "(optional, string) Model of the device",
"duration" : "(optional, float) Duration of the session in seconds",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(required, string) UUID of the session",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Session End (users.behaviors.app.SessionEnd)
{
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_model" : "(optional, string) Model of the device",
"duration" : "(optional, float) Duration of the session in seconds",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(optional, string) UUID of the session"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Session End (users.behaviors.app.SessionEnd)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"$device" : "(optional, string) Model of the device",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"duration" : "(optional, float) Duration of the session in seconds",
"$insert_id" : "(required, string) Globally unique ID for this event",
"$os" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(optional, string) UUID of the session",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Session Ended (users.behaviors.app.SessionEnd)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : {
"model" : "(optional, string) Model of the device",
"type" : "(optional, string) Platform of the device"
},
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"duration" : "(optional, float) Duration of the session in seconds",
"session_id" : "(required, string) UUID of the session"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
세션 시작 이벤트
이 이벤트는 사용자가 세션을 시작할 때 발생합니다. 이 데이터를 사용하여 사용자가 세션을 시작하는 시점을 추적합니다.
사용자가 첫 세션을 시작하면 FirstSession 이벤트와 SessionStart 이벤트가 모두 발생합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// users.behaviors.app.SessionStart
{
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(required, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"device_model" : "(optional, string) Model of the device",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(required, string) UUID of the session",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Session Start (users.behaviors.app.SessionStart)
{
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_model" : "(optional, string) Model of the device",
"os_version" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(optional, string) UUID of the session"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Session Start (users.behaviors.app.SessionStart)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"$device" : "(optional, string) Model of the device",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"$os" : "(optional, string) Version of the operating system of the device",
"platform" : "(optional, string) Platform of the device",
"session_id" : "(optional, string) UUID of the session",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Session Started (users.behaviors.app.SessionStart)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : {
"model" : "(optional, string) Model of the device",
"type" : "(optional, string) Platform of the device"
},
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"session_id" : "(required, string) UUID of the session"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
라이브 활동 푸시 시작 토큰 변경 이벤트
이 이벤트는 Braze가 사용자와 함께 라이브 활동 푸시 시작 토큰을 동기화할 때 발생합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// users.behaviors.liveactivity.PushToStartTokenChange
{
"activity_attributes_type" : "(optional, string) Live Activity attribute type",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_to_start_token" : "(optional, string) Live Activity push to start token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"sdk_version" : "(optional, string) Version of the Braze SDK in use during the event",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Live Activity Push To Start Token Change (users.behaviors.liveactivity.PushToStartTokenChange)
{
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"activity_attributes_type" : "(optional, string) Live Activity attribute type",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_to_start_token" : "(optional, string) Live Activity push to start token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Live Activity Push To Start Token Change (users.behaviors.liveactivity.PushToStartTokenChange)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"activity_attributes_type" : "(optional, string) Live Activity attribute type",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_to_start_token" : "(optional, string) Live Activity push to start token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Live Activity Push To Start Token Changed (users.behaviors.liveactivity.PushToStartTokenChange)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : { },
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"activity_attributes_type" : "(optional, string) Live Activity attribute type",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_to_start_token" : "(optional, string) Live Activity push to start token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
라이브 활동 업데이트 토큰 변경 이벤트
This event occurs when Braze syncs Live Activity update token with the user
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// users.behaviors.liveactivity.UpdateTokenChange
{
"activity_id" : "(optional, string) Live Activity identifier",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"sdk_version" : "(optional, string) Version of the Braze SDK in use during the event",
"time" : "(required, int) UNIX timestamp at which the event happened",
"update_token" : "(optional, string) Live Activity update token",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Live Activity Update Token Change (users.behaviors.liveactivity.UpdateTokenChange)
{
"device_id" : "(optional, string) ID of the device on which the event occurred",
"event_properties" : {
"activity_id" : "(optional, string) Live Activity identifier",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"update_token" : "(optional, string) Live Activity update token"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Live Activity Update Token Change (users.behaviors.liveactivity.UpdateTokenChange)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"activity_id" : "(optional, string) Live Activity identifier",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"time" : "(required, int) UNIX timestamp at which the event happened",
"token" : "(required, string) The Mixpanel API token",
"update_token" : "(optional, string) Live Activity update token"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Live Activity Update Token Changed (users.behaviors.liveactivity.UpdateTokenChange)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : { },
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"activity_id" : "(optional, string) Live Activity identifier",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"device_id" : "(optional, string) ID of the device on which the event occurred",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"update_token" : "(optional, string) Live Activity update token"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
푸시 알림 토큰 상태 변경 이벤트
이 이벤트는 푸시 토큰이 삽입, 업데이트 또는 제거될 때 발생합니다. Use this to track the states of push tokens.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// users.behaviors.pushnotification.TokenStateChange
{
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"id" : "(required, string) Globally unique ID for this event",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"platform" : "(optional, string) Platform of the device",
"push_token" : "(optional, string) Push token of the event",
"push_token_created_at" : "(optional, int) UNIX timestamp at which the push token was created",
"push_token_device_id" : "(optional, string) Device id of the push token",
"push_token_foreground_push_disabled" : "(optional, boolean) Foreground push disabled flag of the push token",
"push_token_provisionally_opted_in" : "(optional, boolean) Provisionally opted in flag of the push token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"push_token_updated_at" : "(optional, int) UNIX timestamp at which the push token was last updated",
"sdk_version" : "(optional, string) Version of the Braze SDK in use during the event",
"time" : "(required, int) UNIX timestamp at which the event happened",
"time_ms" : "(optional, long) Time in millisecond when the event happened",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event",
"web_push_token_public_key" : "(optional, string) Public key of the push token, only applies to web push tokens",
"web_push_token_user_auth" : "(optional, string) User auth of the push token, only applies to web push tokens",
"web_push_token_vapid_public_key" : "(optional, string) VAPID public key of the push token, only applies to web push tokens"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Push Notification Token State Change (users.behaviors.pushnotification.TokenStateChange)
{
"event_properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"platform" : "(optional, string) Platform of the device",
"push_token" : "(optional, string) Push token of the event",
"push_token_created_at" : "(optional, int) UNIX timestamp at which the push token was created",
"push_token_device_id" : "(optional, string) Device id of the push token",
"push_token_foreground_push_disabled" : "(optional, boolean) Foreground push disabled flag of the push token",
"push_token_provisionally_opted_in" : "(optional, boolean) Provisionally opted in flag of the push token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"push_token_updated_at" : "(optional, int) UNIX timestamp at which the push token was last updated",
"time_ms" : "(optional, long) Time in millisecond when the event happened",
"web_push_token_public_key" : "(optional, string) Public key of the push token, only applies to web push tokens",
"web_push_token_user_auth" : "(optional, string) User auth of the push token, only applies to web push tokens",
"web_push_token_vapid_public_key" : "(optional, string) VAPID public key of the push token, only applies to web push tokens"
},
"event_type" : "(required, string) The event type name, as it is exported to Amplitude",
"insert_id" : "(required, string) Globally unique ID for this event",
"library" : "Braze",
"time" : "(required, int) UNIX timestamp at which the event happened",
"user_id" : "(optional, string) [PII] External ID of the user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Push Notification Token State Change (users.behaviors.pushnotification.TokenStateChange)
{
"event" : "(required, string) The event type name, as it is exported to Mixpanel",
"properties" : {
"$partner_id" : "braze",
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"distinct_id" : "(required, string) [PII] External ID of the user",
"$insert_id" : "(required, string) Globally unique ID for this event",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"platform" : "(optional, string) Platform of the device",
"push_token" : "(optional, string) Push token of the event",
"push_token_created_at" : "(optional, int) UNIX timestamp at which the push token was created",
"push_token_device_id" : "(optional, string) Device id of the push token",
"push_token_foreground_push_disabled" : "(optional, boolean) Foreground push disabled flag of the push token",
"push_token_provisionally_opted_in" : "(optional, boolean) Provisionally opted in flag of the push token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"push_token_updated_at" : "(optional, int) UNIX timestamp at which the push token was last updated",
"time" : "(required, int) UNIX timestamp at which the event happened",
"time_ms" : "(optional, long) Time in millisecond when the event happened",
"token" : "(required, string) The Mixpanel API token",
"web_push_token_public_key" : "(optional, string) Public key of the push token, only applies to web push tokens",
"web_push_token_user_auth" : "(optional, string) User auth of the push token, only applies to web push tokens",
"web_push_token_vapid_public_key" : "(optional, string) VAPID public key of the push token, only applies to web push tokens"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Push Notification Token State Changed (users.behaviors.pushnotification.TokenStateChange)
{
"anonymousId" : "(required, string) [PII] Braze user ID of the user who performed this event",
"context" : {
"device" : { },
"traits" : { }
},
"event" : "(required, string) The event type name, as it is exported to Segment",
"messageId" : "(required, string) Globally unique ID for this event",
"properties" : {
"app_group_id" : "(optional, string) API ID of the app group this user belongs to",
"app_id" : "(optional, string) API ID of the app on which this event occurred",
"ios_push_token_apns_gateway" : "(optional, int) APNS gateway of the push token, only applies to iOS push tokens, 1 for development, 2 for production",
"push_token" : "(optional, string) Push token of the event",
"push_token_created_at" : "(optional, int) UNIX timestamp at which the push token was created",
"push_token_device_id" : "(optional, string) Device id of the push token",
"push_token_foreground_push_disabled" : "(optional, boolean) Foreground push disabled flag of the push token",
"push_token_provisionally_opted_in" : "(optional, boolean) Provisionally opted in flag of the push token",
"push_token_state_change_type" : "(optional, string) A description of the push token state change type",
"push_token_updated_at" : "(optional, int) UNIX timestamp at which the push token was last updated",
"time_ms" : "(optional, long) Time in millisecond when the event happened",
"web_push_token_public_key" : "(optional, string) Public key of the push token, only applies to web push tokens",
"web_push_token_user_auth" : "(optional, string) User auth of the push token, only applies to web push tokens",
"web_push_token_vapid_public_key" : "(optional, string) VAPID public key of the push token, only applies to web push tokens"
},
"timestamp" : "(required, int) UNIX timestamp at which the event happened",
"type" : "track",
"userId" : "(optional, string) [PII] External ID of the user"
}
부동산 세부 정보
push_token_foreground_push_disabled필드는 푸시 토큰이 포그라운드 또는 백그라운드 푸시를 받을 수 있는지를 나타냅니다.- 사용자가 자신의 기기에서 푸시 알림 권한을 명시적으로 허용한 경우, 이는
false이 되며, 토큰은 포그라운드 푸시 알림을 받을 수 있습니다. - 사용자가 자신의 기기에서 푸시 알림 권한을 명시적으로 거부한 경우, 이는
true이 되며, 토큰은 백그라운드 푸시 알림만 허용됩니다. - 푸시 권한이 알려지지 않은 경우, 이는 비어 있습니다. 기본적으로 Braze는 토큰에 포그라운드 푸시 알림을 보내려고 시도합니다.
- 사용자가 자신의 기기에서 푸시 알림 권한을 명시적으로 허용한 경우, 이는
push_token_provisionally_opted_in필드는 iOS 푸시 토큰에만 적용됩니다.- 임시 승인이 설정되어 있으면, 임시 토큰은 이 필드가
true로 설정됩니다. 모든 다른 푸시 토큰은false이 됩니다.
- 임시 승인이 설정되어 있으면, 임시 토큰은 이 필드가
sdk_version필드는 토큰 상태 변경이 SDK에 의해 시작된 경우에만 채워집니다.- 토큰이 한 사용자에서 다른 사용자로 이동하도록 트리거하는
changeUserSDK 이벤트가 있는 경우,sdk_version필드가 채워집니다. - 푸시 바운스가 발생하면(예: 제거로 인한 경우),
sdk_version필드는 비어 있습니다.
- 토큰이 한 사용자에서 다른 사용자로 이동하도록 트리거하는
- 푸시 토큰이 Braze에 들어올 때마다, 그 생애 주기 이벤트가 기록됩니다.
push_token_state_change_type필드에는 세 가지 유형의 토큰 변경 이벤트(“추가”, “업데이트”, “제거”)가 기록됩니다.
이벤트 유형
추가
새 토큰이 등록될 때 “추가” 이벤트가 수집됩니다. 사용자가 새 기기에서 앱을 처음 열거나, 이전에 토큰이 없었던 사용자에 대해 /users/track 엔드포인트를 통해 push_tokens으로 설정될 때 발생합니다.
업데이트
기존 토큰의 속성이 변경되지만 토큰 문자열 자체는 변경되지 않을 때 “업데이트” 이벤트가 수집됩니다. 토큰은 동일한 문자열, 동일한 사용자 및 동일한 앱을 가지지만, 다음 필드 중 하나 이상이 변경되었습니다: foreground_push_disabled, APNs 게이트웨이, 웹 푸시 키, provisionally_opted_in 또는 device_id.
대부분의 경우, 앱 재설치 또는 백업 복원은 새로운 push_token와 새로운 device_id을 가진 새로운 “추가” 이벤트를 발생시킵니다(왜냐하면 SDK가 새로운 device_id를 생성하고 OS가 새로운 푸시 토큰 문자열을 제공하기 때문입니다). 이로 인해 사용자 프로필에 두 개의 별도의 토큰 및 기기 항목이 생성되며, 이전 항목은 제거 추적 또는 캠페인 전송을 통해 나중에 정리됩니다.
오직 device_id만 변경되고 push_token는 변경되지 않는 경우는 극히 드물 것입니다(이 경우 OS가 재설치 후 동일한 토큰 문자열을 반환해야 합니다).
제거
Braze가 토큰을 제거할 때 독립적인 “제거” 이벤트가 수집됩니다. 이는 여러 가지 이유로 발생할 수 있습니다:
- 푸시 바운스(APNs, FCM 또는 HMS가 토큰을 유효하지 않거나 만료된 것으로 보고함)
- 조용한 푸시를 통한 제거 감지
- REST API 또는 APNs 피드백 서비스에 의해 제거된 토큰
쌍을 추가하고 제거하기
쌍을 추가하고 제거하는 것은 두 가지 범주로 나뉩니다:
토큰 문자열 새로고침 (동일한 사용자): 운영 체제는 동일한 기기에서 토큰 문자열을 회전시킵니다 (예: APNs 또는 FCM 토큰 회전). “추가” 이벤트 (새 토큰)와 “제거” 이벤트 (오래된 토큰)는 동일한 user_id, 동일한 device_id, 다른 push_token, 그리고 동일한 time_ms를 가집니다.
토큰이 사용자 간에 이동: 토큰이 한 사용자에서 다른 사용자로 이동합니다. “추가” 이벤트 (새 사용자)와 “제거” 이벤트 (오래된 사용자)는 다른 user_id, 동일한 device_id, 동일한 push_token, 그리고 다른 time_ms를 가집니다 (일반적으로 100밀리초 미만의 간격). 다음 중 하나에 의해 트리거됩니다:
- SDK는 익명 프로필에서 식별된 프로필로
changeUser을 호출합니다. “제거” 이벤트는 빈external_user_id를 가집니다. - SDK는 한 식별된 프로필에서 다른 식별된 프로필로
changeUser을 호출합니다. 두 이벤트 모두 비어 있지 않은external_user_id를 가집니다. /users/merge엔드포인트 또는 중복 사용자 정리는 고아 사용자의 토큰을 생존 사용자에게 이동시킵니다.
익명 프로필이 /users/identify 엔드포인트를 통해 식별되면, user_id는 변경되지 않으며 토큰 상태 변경 이벤트가 발생하지 않습니다.
최신 활성 토큰 상태 쿼리
각 사용자의 현재 푸시 토큰 상태를 결정하기 위해, 토큰 상태 변경 이벤트를 push_token, user_id, 및 app_id으로 분할한 다음, time_ms를 내림차순으로 정렬하고 “제거” 이벤트를 필터링합니다. 내부적으로, 토큰은 사용자당 토큰 문자열과 app_id로 키가 지정됩니다. device_id을 파티션 키로 사용하는 것은 권장되지 않습니다. 왜냐하면 device_id은 변경 가능한 속성이며, 이를 기준으로 파티션을 나누면 단일 토큰의 생애 주기가 여러 파티션에 걸쳐 나뉘어질 수 있기 때문입니다.
다음 SQL 쿼리는 Snowflake에서 사용자별로 최신 활성 토큰 상태를 반환합니다:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
WITH latest_token_state AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY PUSH_TOKEN, USER_ID, APP_ID
ORDER BY COALESCE(TIME_MS, TIME * 1000) DESC
) AS rn
FROM USERS_BEHAVIORS_PUSHNOTIFICATION_TOKENSTATECHANGE
)
SELECT
PUSH_TOKEN, USER_ID, EXTERNAL_USER_ID, PUSH_TOKEN_DEVICE_ID,
PUSH_TOKEN_STATE_CHANGE_TYPE, PUSH_TOKEN_FOREGROUND_PUSH_DISABLED,
TIME_MS, PLATFORM, APP_ID
FROM latest_token_state
WHERE rn = 1
AND PUSH_TOKEN_STATE_CHANGE_TYPE != 'remove';
GitHub 에서 이 페이지를 편집합니다.