Comportamento do cliente e eventos de usuário
Search or filter to find the Currents events you need. These schemas include other app or website activity such as sessions, custom events, and purchases tracked through the platform.
Escopo do esquema e recursos relacionados
Os esquemas de armazenamento se aplicam aos dados de eventos em arquivos simples que enviamos aos parceiros de armazenamento de data warehouse (Google Cloud Storage, Amazon S3 e Microsoft Azure Blob Storage). Algumas combinações de eventos e destinos listadas aqui ainda não estão disponíveis para todos. Para saber quais eventos são compatíveis com cada parceiro, consulte nossa lista de parceiros disponíveis e verifique as respectivas páginas.

Esses eventos também estão disponíveis como tabelas SQL no Criador de consultas, nas extensões de segmento SQL e no Compartilhamento de dados Snowflake. Para esquemas de tabelas SQL e detalhes das colunas, consulte a referência de tabelas SQL.
Fale com seu representante da Braze ou abra um ticket de suporte se precisar de acesso a direitos de eventos adicionais. Se não encontrar o que precisa nesta página, consulte nossa Biblioteca de eventos de engajamento com mensagem ou nossos exemplos de dados de amostra do Currents.
Explicação da estrutura de eventos de comportamento do cliente e de usuário e valores de plataforma
Estrutura do evento
Este detalhamento dos eventos de comportamento do cliente e de usuário mostra que tipo de informação geralmente é incluído nesses eventos. Com uma boa compreensão dos componentes, seus desenvolvedores e a equipe de estratégia de business intelligence podem usar os dados de eventos do Currents recebidos para criar relatórios e gráficos orientados por dados, além de aproveitar outras métricas de dados valiosas.

Os eventos de comportamento do cliente e de usuário são compostos por propriedades específicas do usuário, propriedades específicas do comportamento e propriedades específicas do dispositivo.
Valores da plataforma
Certos eventos retornam um valor platform que especifica a plataforma do dispositivo do usuário.
A tabela a seguir detalha os possíveis valores retornados:
| Dispositivo do usuário | Valor da plataforma |
|---|---|
| iOS | ios |
| Android | android |
| FireTV | kindle |
| Kindle | kindle |
| Web | web |
| tvOS | tvos |
| Roku | roku |
Considerações sobre eventos de comportamento do cliente e de usuário
- O Currents descarta eventos com cargas úteis excessivamente grandes, superiores a 900 KB.
- Muitos dos eventos deste glossário são iniciados pelo SDK. Alguns eventos, como
token_state_change, podem ser iniciados pelo SDK ou pelo backend (por exemplo, em resposta a um bounce de push). Os campossdk_version,gender,languageecountrysão definidos apenas para eventos iniciados pelo SDK. Para eventos iniciados pelo backend, ou quando essas informações não estão disponíveis ou não foram definidas para o usuário, esses campos podem sernull.
Eventos de atualização de número de bucket aleatório
Esse evento de usuário ocorre sempre que um novo usuário é criado no espaço de trabalho. Durante esse evento, cada novo usuário recebe um número de bucket aleatório que você pode usar para criar segmentos de usuários aleatórios distribuídos uniformemente. Use isso para agrupar uma faixa de valores de número de bucket aleatório e comparar o desempenho entre suas Campaigns e variantes de campanha.

Este evento do Currents está disponível apenas para clientes que adquiriram um “conector de todos os eventos” e apenas para conectores de eventos de armazenamento (como Amazon S3, Microsoft Azure e Google Cloud Storage).
Para ativar esse evento e agendar o backfill dos números de bucket aleatórios dos usuários existentes no seu espaço de trabalho, entre em contato com seu gerente de sucesso do cliente.
// 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"
}
Eventos personalizados
Esse evento ocorre quando um evento personalizado específico é disparado. Use isso para rastrear quando os usuários realizam eventos personalizados no seu aplicativo.
// 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"
}
// [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"
}
// users.behaviors.CustomEvent
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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_model" : "(optional, string) Model of the device",
"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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"timezone" : "(optional, string) Time zone of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// [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"
}
}
// 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"
}
Detalhes da propriedade
- Para eventos personalizados, a carga útil também será preenchida com quaisquer propriedades de evento personalizado associadas ao evento.
- Para
ad_id,ad_id_typeead_tracking_enabled, você precisa coletar explicitamente o IDFA do iOS e o ID de anúncio do Google no Android por meio dos SDKs nativos. Saiba mais aqui: iOS, Android. - Se você estiver usando Kafka para ingerir dados do Currents, entre em contato com seu gerente de sucesso do cliente ou gerente de conta para ativar o feature flipper para enviar
ad_id. - O campo
timeé o momento em que o evento personalizado ocorreu, conforme registrado no evento. A Braze não o substitui pelo momento em que o evento foi ingerido ou processado. Para eventos registrados pelo SDK, é o momento em que o SDK registrou o evento. Para eventos enviados pelo endpoint/users/trackou pela ingestão de dados na nuvem, é o valortimeenviado na solicitação.
Eventos de atribuição de instalação
Esse evento ocorre quando a instalação de um app é atribuída a uma fonte. Use isso para rastrear de onde vêm as instalações do seu app.
// 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"
}
// 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"
}
// users.behaviors.InstallAttribution
{
"event_type" : "(required, string) The name of the event type",
"id" : "(required, string) Globally unique ID for this 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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Eventos de localização
Esse evento é disparado quando um usuário visita um local especificado. Use isso para rastrear os usuários que disparam eventos de localização no seu app.
// 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"
}
// 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"
}
// users.behaviors.Location
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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_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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Detalhes da propriedade
- Para
ad_id,ad_id_typeead_tracking_enabled, você precisa coletar explicitamente o IDFA do iOS e o ID de anúncio do Google no Android por meio dos SDKs nativos. Saiba mais aqui: iOS, Android. - Se você estiver usando Kafka para ingerir dados do Currents, entre em contato com seu gerente de sucesso do cliente ou gerente de conta para ativar o feature flipper para enviar
ad_id.
Eventos de compra
Esse evento ocorre quando um usuário faz uma compra. Use esses dados para rastrear quando os usuários compram algo no aplicativo.

As compras são eventos personalizados especiais e vêm com uma string codificada em JSON de propriedades de eventos personalizados, da mesma forma que os eventos personalizados.
// 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"
}
// 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"
}
// users.behaviors.Purchase
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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_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",
"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",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Detalhes da propriedade
- Para eventos de compra, a carga útil também será preenchida com quaisquer propriedades de evento de compra associadas ao evento.
- Para
ad_id,ad_id_typeead_tracking_enabled, você precisa coletar explicitamente o IDFA do iOS e o ID de anúncio do Google no Android por meio dos SDKs nativos. Saiba mais aqui: iOS, Android. - Se você estiver usando Kafka para ingerir dados do Currents, entre em contato com seu gerente de sucesso do cliente ou gerente de conta para ativar o feature flipper para enviar
ad_id.
Eventos de primeira sessão
Esse evento ocorre quando um usuário inicia a primeira sessão no seu aplicativo. Use esses dados para rastrear quando os usuários iniciam sessões.

Quando um usuário inicia a primeira sessão, os eventos FirstSession e SessionStart são disparados.
// 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"
}
// 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"
}
// users.behaviors.app.FirstSession
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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_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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"timezone" : "(optional, string) Time zone of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Eventos de fim de sessão
Esse evento ocorre quando um usuário sai do seu aplicativo, encerrando a sessão atual. Use esses dados para rastrear quando as sessões terminam e, junto com o evento de início de sessão correspondente, calcular quanto tempo o usuário passou em uma sessão.
// 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"
}
// 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"
}
// users.behaviors.app.SessionEnd
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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_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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Eventos de início de sessão
Esse evento ocorre quando um usuário inicia uma sessão. Use esses dados para rastrear quando os usuários iniciam sessões.

Quando um usuário inicia a primeira sessão, os eventos FirstSession e SessionStart são disparados.
// 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"
}
// 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"
}
// users.behaviors.app.SessionStart
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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_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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Eventos de mudança de token Push To Start de Live Activity
Esse evento ocorre quando a Braze sincroniza o token Push To Start de Live Activity com o usuário.
// 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"
}
// 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"
}
// users.behaviors.liveactivity.PushToStartTokenChange
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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",
"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",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Detalhes da propriedade
- A Braze emite um evento “update” com
push_token_state_change_typedefinido como"update"quando um usuário anônimo é identificado no mesmo perfil e os tokens Push To Start de Live Activity do iOS existentes permanecem nesse perfil. Nesse caso, ouser_idnão muda, e oexternal_user_idé definido como o ID externo do usuário identificado. Isso inclui a identificação por meio do endpoint/users/identifye dochangeUserdo SDK quando ele atribui um ID externo ao perfil anônimo no dispositivo.
Eventos de mudança de token de atualização de Live Activity
Esse evento ocorre quando a Braze sincroniza o token de atualização de Live Activity com o usuário.
// 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"
}
// 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"
}
// users.behaviors.liveactivity.UpdateTokenChange
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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",
"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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"device_id" : "(optional, string) ID of the device on which the event occurred",
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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"
}
}
// 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"
}
Eventos de mudança de estado do token de notificação por push
Esse evento ocorre quando um token por push é inserido, atualizado ou removido. Use isso para rastrear os estados dos tokens por push.
// 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 milliseconds 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"
}
// 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 milliseconds 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"
}
// users.behaviors.pushnotification.TokenStateChange
{
"event_type" : "(required, string) The name of the event type",
"id" : "(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",
"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 milliseconds 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"
},
"time" : "(required, int) UNIX timestamp at which the event happened",
"user" : {
"external_user_id" : "(optional, string) [PII] External ID of the user",
"user_id" : "(required, string) [PII] Braze user ID of the user who performed this event"
}
}
// 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 milliseconds 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"
}
}
// 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 milliseconds 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"
}
Detalhes da propriedade
- O campo
push_token_foreground_push_disabledindica se o token por push pode receber push em primeiro plano ou em segundo plano.- Se o usuário permitiu explicitamente a notificação por push no dispositivo, o valor será
false, e o token poderá receber notificações por push em primeiro plano. - Se o usuário negou explicitamente a notificação por push no dispositivo, o valor será
true, e o token só poderá receber notificações por push em segundo plano. - Se a permissão de push ainda não foi determinada (por exemplo, o usuário ainda não respondeu ao prompt do sistema operacional), o valor será
true, e o token só poderá receber notificações por push em segundo plano. - Esse campo pode ser
null(ou vazio, dependendo do formato do destino) para registros de token de SDKs mais antigos que ainda não reportaram o status de permissão e para tokens de web push. Tratenullda mesma forma quefalse(habilitado para push em primeiro plano), pois a Braze ainda tenta enviar notificações por push em primeiro plano para esses tokens. - Uma tentativa de envio de push não atualiza esse campo. Se um envio for bem-sucedido, nenhum evento
TokenStateChangeé emitido. Se um envio sofrer bounce porque o token é inválido, a Braze emite um evento “remove” e exclui o token. - Esse campo só muda quando a Braze ingere uma atualização de estado do token vinda do SDK (por exemplo, uma sincronização de sessão posterior que reporta o status de permissão de push).
- Se o usuário permitiu explicitamente a notificação por push no dispositivo, o valor será
- O campo
push_token_provisionally_opted_inse aplica apenas a tokens por push do iOS.- Se você tiver a autorização provisória configurada, os tokens provisórios terão esse campo definido como
true. Todos os outros tokens por push serãofalse.
- Se você tiver a autorização provisória configurada, os tokens provisórios terão esse campo definido como
- O campo
sdk_versionsó é preenchido se a mudança de estado do token for iniciada pelo SDK.- Se houver um evento
changeUserdo SDK que faça o token passar de um usuário para outro, o camposdk_versionserá preenchido. - Se houver um bounce de push (por exemplo, devido à desinstalação), o campo
sdk_versionficará em branco.
- Se houver um evento
- Sempre que um token por push entra na Braze, seus eventos de ciclo de vida são registrados. Existem três tipos de eventos de mudança de token (“add”, “update” e “remove”) registrados no campo
push_token_state_change_type. - Os campos de carimbo de data/hora deste evento têm os seguintes significados:
timeé o carimbo de data/hora UNIX, em segundos, de quando o evento de mudança de estado do token foi gerado. Ele é preenchido em todos os eventos.time_msrepresenta o mesmo momento quetime, em milissegundos. A Braze adicionou esse campo em janeiro de 2026. Usetime_msquando ele estiver preenchido e, caso contrário, usetime.push_token_created_atindica quando o token por push foi criado pela primeira vez na Braze. Ele é preenchido em eventos “add” e “update”. Em eventos “add”, fica muito próximo detimeetime_ms.push_token_updated_atindica quando o token por push foi atualizado pela última vez na Braze. Ele é preenchido apenas em eventos “update”, nos quais fica muito próximo detimeetime_ms.- Nem
push_token_created_atnempush_token_updated_atsão preenchidos em eventos “remove”. Usetime_msoutimepara saber quando o token foi removido.
- Este evento rastreia o estado de tokens por push individuais. Para rastrear mudanças no estado de inscrição global de push de um usuário (como o cancelamento da inscrição de push), use os eventos de mudança de estado de inscrição global.
Tipos de eventos
Add
Um evento “add” é ingerido quando um novo token é registrado. Isso acontece quando um usuário abre o app em um novo dispositivo pela primeira vez, ou quando um token é definido por meio do endpoint /users/track com push_tokens para um usuário que não tinha um anteriormente. O campo time_ms indica quando o evento “add” aconteceu.

Para o iOS Swift SDK 13.3.0 e posterior e o Android SDK 40.0.0 e posterior, o status de permissão de push e o token por push são enviados juntos. Para novos registros desses SDKs, push_token_foreground_push_disabled é preenchido no evento “add” (normalmente false quando as notificações estão ativadas).
Registros de token mais antigos ainda podem ter esse campo como null até que o SDK reporte o status de permissão de push. Tokens de web push também podem ter esse campo como null por design.
Update
Um evento “update” é ingerido quando uma propriedade muda em um token existente sem que a string do token em si mude. O token tem a mesma string, o mesmo usuário e o mesmo app, mas um ou mais dos seguintes campos mudaram: foreground_push_disabled, gateway APNs, chaves de web push, provisionally_opted_in ou device_id. Essas atualizações vêm de eventos de sincronização de estado do token (por exemplo, quando o SDK reporta um novo estado de permissão), e não de resultados de envio de push. O campo time_ms indica quando o evento “update” aconteceu.
A Braze também emite um evento “update” com push_token_state_change_type definido como "update" quando um usuário anônimo é identificado no mesmo perfil e os tokens por push existentes permanecem nesse perfil. Nesse caso, o user_id não muda, e o external_user_id é definido como o ID externo do usuário identificado. Isso inclui a identificação por meio do endpoint /users/identify e do changeUser do SDK quando ele atribui um ID externo ao perfil anônimo no dispositivo.

Na maioria dos casos, a reinstalação do app ou a restauração de backup resulta em um novo evento “add” com um novo push_token e um novo device_id (porque o SDK gera um novo device_id e o sistema operacional fornece uma nova string de token por push). Isso cria duas entradas separadas de token e dispositivo no perfil do usuário, e a entrada mais antiga é removida depois por meio do Uninstall Tracking ou de um envio de campanha.
Seria extremamente raro apenas o device_id mudar sem que o push_token mude (isso exigiria que o sistema operacional retornasse a mesma string de token após a reinstalação).
Remove
Um evento “remove” independente é ingerido quando a Braze remove um token. Isso pode acontecer por vários motivos:
- Bounce de push (APNs, FCM ou HMS reporta o token como inválido ou expirado)
- Detecção de desinstalação por meio de push silencioso
- Token removido por meio da REST API ou do serviço de feedback do APNs
Quando um bounce de push dispara a remoção do token, a Braze emite push_token_state_change_type = "remove" para esse token. Ela não emite um evento “update” que altere push_token_foreground_push_disabled.
O campo time_ms indica quando o evento “remove” aconteceu.

Para eventos “remove”, os seguintes campos de propriedade do token não são preenchidos: push_token_created_at, push_token_updated_at, push_token_foreground_push_disabled, push_token_provisionally_opted_in, ios_push_token_apns_gateway, web_push_token_public_key, web_push_token_user_auth e web_push_token_vapid_public_key.
Pares de add e remove
Pares de eventos add e remove são dois eventos de estado de token vinculados a uma mesma transição: um evento “add” e um evento “remove”. Esses pares se enquadram em duas categorias:
Atualização da string do token (mesmo usuário): O sistema operacional rotaciona a string do token no mesmo dispositivo (por exemplo, rotação de token do APNs ou FCM). O evento “add” (novo token) e o evento “remove” (token antigo) têm o mesmo user_id, o mesmo device_id, push_token diferentes e time_ms idênticos.
Token passa de um usuário para outro: Um token se move de um usuário para outro. O evento “add” (novo usuário) e o evento “remove” (usuário antigo) têm user_id diferentes, o mesmo device_id, o mesmo push_token e time_ms diferentes (normalmente com menos de 100 milissegundos de diferença). Isso é disparado por qualquer um dos seguintes cenários:
- O SDK chama
changeUserde um perfil anônimo para um perfil identificado. O evento “remove” tem umexternal_user_idvazio. - O SDK chama
changeUserde um perfil identificado para outro. Ambos os eventos têm umexternal_user_idnão vazio. - O endpoint
/users/mergeou a limpeza de usuários duplicados move os tokens do usuário órfão para o usuário que permanece.

A identificação no mesmo perfil por meio do endpoint REST /users/identify ou do changeUser do SDK pode atribuir um ID externo a um perfil anônimo sem alterar o user_id.
Nesse caso, a Braze não emite pares de eventos add e remove.
Em vez disso, a Braze emite um evento “update” para cada token por push existente e define external_user_id como o ID externo do usuário identificado.
Quando changeUser move tokens de um perfil de usuário para outro, a Braze ainda emite os pares de eventos add e remove descritos na seção Pares de add e remove.
Consultando o estado mais recente do token ativo
Para determinar o estado atual do token por push de cada usuário, particione os eventos de mudança de estado do token por push_token, user_id e app_id, depois ordene por time_ms em ordem decrescente e filtre os eventos “remove”. Internamente, um token é identificado pela string do token e pelo app_id de cada usuário. Não recomendamos usar device_id como chave de partição, pois device_id é um atributo mutável. Particionar por ele pode dividir o ciclo de vida de um único token em várias partições.
A consulta SQL a seguir retorna o estado mais recente do token ativo por usuário no Snowflake:
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';