diff --git a/_docs/_releases/2026/1_8_26.md b/_docs/_releases/2026/1_8_26.md index 38cff635375..b025442cf60 100644 --- a/_docs/_releases/2026/1_8_26.md +++ b/_docs/_releases/2026/1_8_26.md @@ -7,7 +7,7 @@ page_type: reference # January 8, 2026 release -## Data flexibility +## Data & Reporting ### eCommerce recommended events @@ -46,7 +46,7 @@ In the [Cloud Data Ingestion **Sync Log** dashboard]({{site.baseurl}}/user_guide * **Rows with errors:** Downloads a file containing only the rows that had an **Error** status. * **All rows:** Downloads a file containing every row processed in the run. -## Robust channels +## Channels & Touchpoints ### Bring Your Own (BYO) WhatsApp connector @@ -68,13 +68,13 @@ With [dynamic BCC]({{site.baseurl}}/user_guide/administrative/app_settings/email As an alternative to a rate limit that gets shared across an entire multi-channel campaign or Canvas, you can select a specific rate limit per channel. In this case, the rate limit will apply to each of your selected channels. For example, you can set your campaign or Canvas to send a maximum of 5,000 webhooks and 2,500 SMS messages per minute across the campaign or Canvas. For more details, see [Rate limiting and frequency capping]({{site.baseurl}}/user_guide/engagement_tools/campaigns/building_campaigns/rate-limiting). -## New Braze partnerships +## Partnerships ### LILT - Localization [LILT]({{site.baseurl}}/partners/lilt/) is the complete AI solution for enterprise translation and content creation. LILT enables global organizations to scale and optimize their content, product, communications, and support operations, with AI agents and fully automated workflows. -## SDK updates +## SDK breaking updates The following SDK updates have been released. Breaking updates are listed below; all other updates can be found by checking the corresponding SDK changelogs. diff --git a/_docs/_releases/home.md b/_docs/_releases/home.md index 851de74de84..483c41f1d12 100644 --- a/_docs/_releases/home.md +++ b/_docs/_releases/home.md @@ -17,7 +17,7 @@ For more information on any of the updates listed on this page, contact your acc {% details January 8, 2026 %} ## January 8, 2026 release -### Data flexibility +### Data & Reporting #### eCommerce recommended events @@ -56,7 +56,7 @@ In the [Cloud Data Ingestion **Sync Log** dashboard]({{site.baseurl}}/user_guide * **Rows with errors:** Downloads a file containing only the rows that had an **Error** status. * **All rows:** Downloads a file containing every row processed in the run. -### Robust channels +### Channels & Touchpoints #### Bring Your Own (BYO) WhatsApp connector @@ -78,17 +78,17 @@ With [dynamic BCC]({{site.baseurl}}/user_guide/administrative/app_settings/email As an alternative to a rate limit that gets shared across an entire multi-channel campaign or Canvas, you can select a specific rate limit per channel. In this case, the rate limit will apply to each of your selected channels. For example, you can set your campaign or Canvas to send a maximum of 5,000 webhooks and 2,500 SMS messages per minute across the campaign or Canvas. For more details, see [Rate limiting and frequency capping]({{site.baseurl}}/user_guide/engagement_tools/campaigns/building_campaigns/rate-limiting). -### New Braze partnerships +### Partnerships #### LILT - Localization [LILT]({{site.baseurl}}/partners/lilt/) is the complete AI solution for enterprise translation and content creation. LILT enables global organizations to scale and optimize their content, product, communications, and support operations, with AI agents and fully automated workflows. -### SDK updates +### SDK breaking updates The following SDK updates have been released. Breaking updates are listed below; all other updates can be found by checking the corresponding SDK changelogs. --[Android 40.1.1](https://github.com/braze-inc/braze-android-sdk/blob/master/CHANGELOG.md#4011) +- [Android 40.1.1](https://github.com/braze-inc/braze-android-sdk/blob/master/CHANGELOG.md#4011) - [Android SDK 40.1.0](https://github.com/braze-inc/braze-android-sdk/blob/master/CHANGELOG.md#4010) - [Swift SDK 14.0.0](https://github.com/braze-inc/braze-swift-sdk/blob/main/CHANGELOG.md) - Removes News Feed. diff --git a/_docs/_user_guide/data/distribution/braze_currents/event_glossary/currents_changelogs.md b/_docs/_user_guide/data/distribution/braze_currents/event_glossary/currents_changelogs.md index 265e7f90284..524ae61bcd5 100644 --- a/_docs/_user_guide/data/distribution/braze_currents/event_glossary/currents_changelogs.md +++ b/_docs/_user_guide/data/distribution/braze_currents/event_glossary/currents_changelogs.md @@ -7,7 +7,7 @@ tool: Currents # Currents changelog -## Changes in Version 4 (release date 2026-01-07) +## Changes in Version 4 (release date 2026-01-08) * Field changes to event type `users.behaviors.pushnotification.TokenStateChange`: * Added new `string` field `push_token`: Push token of the event diff --git a/_docs/_user_guide/data/distribution/braze_currents/event_glossary/customer_behavior_events.md b/_docs/_user_guide/data/distribution/braze_currents/event_glossary/customer_behavior_events.md index 54f300a46cb..d1f59c7bc36 100644 --- a/_docs/_user_guide/data/distribution/braze_currents/event_glossary/customer_behavior_events.md +++ b/_docs/_user_guide/data/distribution/braze_currents/event_glossary/customer_behavior_events.md @@ -87,6 +87,31 @@ Custom Events This event occurs when a specific custom event is triggered. Use this to track when users perform custom events in your application. {% tabs %} +{% tab Cloud Storage %} +```json +// 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) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // [Braze Custom Event] (users.behaviors.CustomEvent) @@ -170,31 +195,6 @@ This event occurs when a specific custom event is triggered. Use this to track w } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// 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) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -214,6 +214,21 @@ Attribution This event occurs when an app installation is attributed to a source. Use this to track where your app installs are coming from. {% tabs %} +{% tab Cloud Storage %} +```json +// 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) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Install Attribution (users.behaviors.InstallAttribution) @@ -276,21 +291,6 @@ This event occurs when an app installation is attributed to a source. Use this t } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// 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) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} {% endapi %} @@ -305,6 +305,33 @@ Locations This event is triggered when a user visits a specified location. Use this to track users triggering location events in your app. {% tabs %} +{% tab Cloud Storage %} +```json +// 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) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Location (users.behaviors.Location) @@ -402,33 +429,6 @@ This event is triggered when a user visits a specified location. Use this to tra } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// 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) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -451,6 +451,32 @@ Purchases are special custom events and come with a JSON encoded string of custo {% endalert %} {% tabs %} +{% tab Cloud Storage %} +```json +// 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) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Purchase (users.behaviors.Purchase) @@ -542,32 +568,6 @@ Purchases are special custom events and come with a JSON encoded string of custo } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// 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) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -591,6 +591,31 @@ When a user starts their first session, both a `FirstSession` and a `SessionStar {% endalert %} {% tabs %} +{% tab Cloud Storage %} +```json +// 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) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // First Session (users.behaviors.app.FirstSession) @@ -665,45 +690,41 @@ When a user starts their first session, both a `FirstSession` and a `SessionStar } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Session End events {#session-end-events} +{% apitags %} +Sessions +{% endapitags %} + +This occurs when a user exits your application, therefore ending their current session. Use this data to track when sessions end, and along with the appropriate session start event, calculate the duration of their time in a session. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.behaviors.app.FirstSession +// 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", - "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", + "duration" : "(optional, float) Duration of the session in seconds", "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) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} -{% api %} -## Session End events {#session-end-events} - -{% apitags %} -Sessions -{% endapitags %} - -This occurs when a user exits your application, therefore ending their current session. Use this data to track when sessions end, and along with the appropriate session start event, calculate the duration of their time in a session. - -{% tabs %} {% tab Amplitude %} ```json // Session End (users.behaviors.app.SessionEnd) @@ -781,17 +802,33 @@ This occurs when a user exits your application, therefore ending their current s } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Session Start events {#session-start-events} + +{% apitags %} +Sessions +{% endapitags %} + +This event occurs when a user starts a session. Use this data to track when users start sessions. +{% alert tip %} +When a user starts their first session, both a `FirstSession` and a `SessionStart` event are fired. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.behaviors.app.SessionEnd +// 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", - "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", @@ -802,24 +839,7 @@ This occurs when a user exits your application, therefore ending their current s } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Session Start events {#session-start-events} - -{% apitags %} -Sessions -{% endapitags %} - -This event occurs when a user starts a session. Use this data to track when users start sessions. -{% alert tip %} -When a user starts their first session, both a `FirstSession` and a `SessionStart` event are fired. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // Session Start (users.behaviors.app.SessionStart) @@ -894,40 +914,41 @@ When a user starts their first session, both a `FirstSession` and a `SessionStar } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Live Activity Push To Start Token Change events {#live-activity-push-to-start-token-change-events} + +{% apitags %} +Live Activity, Push To Start Token +{% endapitags %} + +This event occurs when Braze syncs the Live Activity push to start token with the user. +{% tabs %} {% tab Cloud Storage %} ```json -// users.behaviors.app.SessionStart +// 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" : "(required, string) API ID of the app on which this event occurred", + "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", - "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", + "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) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Live Activity Push To Start Token Change events {#live-activity-push-to-start-token-change-events} - -{% apitags %} -Live Activity, Push To Start Token -{% endapitags %} -This event occurs when Braze syncs Live Activity push to start token with the user - -{% tabs %} {% tab Amplitude %} ```json // Live Activity Push To Start Token Change (users.behaviors.liveactivity.PushToStartTokenChange) @@ -1002,41 +1023,41 @@ This event occurs when Braze syncs Live Activity push to start token with the us } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Live Activity Update Token Change events {#live-activity-update-token-change-events} + +{% apitags %} +Live Activity, Update Token +{% endapitags %} +This event occurs when Braze syncs Live Activity update token with the user + +{% tabs %} {% tab Cloud Storage %} ```json -// users.behaviors.liveactivity.PushToStartTokenChange +// users.behaviors.liveactivity.UpdateTokenChange { - "activity_attributes_type" : "(optional, string) Live Activity attribute type", + "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_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", + "update_token" : "(optional, string) Live Activity update token", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} -{% endapi %} - -{% api %} -## Live Activity Update Token Change events {#live-activity-update-token-change-events} - -{% apitags %} -Live Activity, Update Token -{% endapitags %} - -This event occurs when Braze syncs Live Activity update token with the user - -{% tabs %} {% tab Amplitude %} ```json // Live Activity Update Token Change (users.behaviors.liveactivity.UpdateTokenChange) @@ -1111,41 +1132,48 @@ This event occurs when Braze syncs Live Activity update token with the user } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Push Notification Token State Change events {#push-notification-token-state-change-events} + +{% apitags %} +Push, Token State Change +{% endapitags %} + +This event occurs when a push token is inserted, updated, or removed. Use this to track the states of push tokens. +{% tabs %} {% tab Cloud Storage %} ```json -// users.behaviors.liveactivity.UpdateTokenChange +// users.behaviors.pushnotification.TokenStateChange { - "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", + "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", - "update_token" : "(optional, string) Live Activity update token", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "user_id" : "(required, string) 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" } ``` {% endtab %} -{% endtabs %} -{% endapi %} - -{% api %} -## Push Notification Token State Change events {#push-notification-token-state-change-events} - -{% apitags %} -Push, Token State Change -{% endapitags %} - -This event occurs when a push token is inserted, updated or removed. Use this to track the states of push tokens. - -{% tabs %} {% tab Amplitude %} ```json // Push Notification Token State Change (users.behaviors.pushnotification.TokenStateChange) @@ -1240,34 +1268,6 @@ This event occurs when a push token is inserted, updated or removed. Use this to } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// 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", - "user_id" : "(required, string) 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" -} -``` -{% endtab %} {% endtabs %} #### Property details diff --git a/_docs/_user_guide/data/distribution/braze_currents/event_glossary/message_engagement_events.md b/_docs/_user_guide/data/distribution/braze_currents/event_glossary/message_engagement_events.md index 7c1f4663181..4b7d30d963c 100644 --- a/_docs/_user_guide/data/distribution/braze_currents/event_glossary/message_engagement_events.md +++ b/_docs/_user_guide/data/distribution/braze_currents/event_glossary/message_engagement_events.md @@ -88,6 +88,22 @@ This event is not fired when the user actually uninstalls the app, as that's imp {% endalert %} {% tabs %} +{% tab Cloud Storage %} +```json +// users.behaviors.Uninstall + +{ + "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", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "time" : "(required, int) UNIX timestamp at which the event happened", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Uninstall (users.behaviors.Uninstall) @@ -183,22 +199,6 @@ This event is not fired when the user actually uninstalls the app, as that's imp } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.behaviors.Uninstall - -{ - "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", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "time" : "(required, int) UNIX timestamp at which the event happened", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} {% endapi %} @@ -213,6 +213,37 @@ Subscription This event occurs when Braze receives a request to update the global subscription state of the user. {% tabs %} +{% tab Cloud Storage %} +```json +// users.behaviors.subscription.GlobalStateChange + +{ + "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", + "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", + "campaign_name" : "(optional, string) Name of the campaign", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "channel" : "(optional, string) Channel this event belongs to", + "channel_identifier" : "(optional, string) [PII] The user's identifier on the channel the event is for.", + "email_address" : "(optional, string) [PII] Email address of the user", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "send_id" : "(optional, string) Message send ID this message belongs to", + "state_change_source" : "(optional, string) Source of the state change, e.g: REST API, SDK, Dashboard, etc.", + "subscription_status" : "(required, string) Subscription status: 'Subscribed', 'Unsubscribed' or 'Opted In'", + "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Global Subscription State Change (users.behaviors.subscription.GlobalStateChange) @@ -370,37 +401,6 @@ This event occurs when Braze receives a request to update the global subscriptio } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.behaviors.subscription.GlobalStateChange - -{ - "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", - "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", - "campaign_name" : "(optional, string) Name of the campaign", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "channel" : "(optional, string) Channel this event belongs to", - "channel_identifier" : "(optional, string) [PII] The user's identifier on the channel the event is for.", - "email_address" : "(optional, string) [PII] Email address of the user", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "send_id" : "(optional, string) Message send ID this message belongs to", - "state_change_source" : "(optional, string) Source of the state change, e.g: REST API, SDK, Dashboard, etc.", - "subscription_status" : "(required, string) Subscription status: 'Subscribed', 'Unsubscribed' or 'Opted In'", - "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -440,6 +440,41 @@ Subscription groups are only available for email, SMS, RCS, and WhatsApp channel {% endalert %} {% tabs %} +{% tab Cloud Storage %} +```json +// users.behaviors.subscriptiongroup.StateChange + +{ + "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", + "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", + "campaign_name" : "(optional, string) Name of the campaign", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "channel" : "(optional, string) Channel this event belongs to", + "channel_identifier" : "(optional, string) [PII] The user's identifier on the channel the event is for.", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "email_address" : "(optional, string) [PII] Email address of the user", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "message_variation_name" : "(optional, string) Name of the message variation", + "phone_number" : "(optional, string) [PII] Phone number of the user in e.164 format (for example +14155552671)", + "send_id" : "(optional, string) Message send ID this message belongs to", + "state_change_source" : "(optional, string) Source of the state change, e.g: REST API, SDK, Dashboard, etc.", + "subscription_group_id" : "(required, string) Subscription group API ID", + "subscription_status" : "(required, string) Subscription status: 'Subscribed' or 'Unsubscribed'", + "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Subscription Group State Change (users.behaviors.subscriptiongroup.StateChange) @@ -611,41 +646,6 @@ Subscription groups are only available for email, SMS, RCS, and WhatsApp channel } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.behaviors.subscriptiongroup.StateChange - -{ - "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", - "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", - "campaign_name" : "(optional, string) Name of the campaign", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "channel" : "(optional, string) Channel this event belongs to", - "channel_identifier" : "(optional, string) [PII] The user's identifier on the channel the event is for.", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "email_address" : "(optional, string) [PII] Email address of the user", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "message_variation_name" : "(optional, string) Name of the message variation", - "phone_number" : "(optional, string) [PII] Phone number of the user in e.164 format (for example +14155552671)", - "send_id" : "(optional, string) Message send ID this message belongs to", - "state_change_source" : "(optional, string) Source of the state change, e.g: REST API, SDK, Dashboard, etc.", - "subscription_group_id" : "(required, string) Subscription group API ID", - "subscription_status" : "(required, string) Subscription status: 'Subscribed' or 'Unsubscribed'", - "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -687,6 +687,29 @@ Note that the conversion event is encoded in the `conversion_behavior` field, wh {% endalert %} {% tabs %} +{% tab Cloud Storage %} +```json +// users.campaigns.Conversion + +{ + "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", + "campaign_id" : "(required, string) API ID of the campaign this event belongs to", + "campaign_name" : "(optional, string) Name of the campaign", + "conversion_behavior" : "(optional, string) JSON-encoded string describing the conversion behavior", + "conversion_behavior_index" : "(optional, int) Index of the conversion behavior", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "message_variation_name" : "(optional, string) Name of the message variation", + "send_id" : "(optional, string) Message send ID this message belongs to", + "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Campaign Conversion (users.campaigns.Conversion) @@ -815,18 +838,33 @@ Note that the conversion event is encoded in the `conversion_behavior` field, wh } ``` {% endtab %} +{% endtabs %} +{% endapi %} + +{% api %} +## Campaign Control Group Enrollment events {#campaign-control-group-enrollment-events} + +{% apitags %} +Campaign, Entry +{% endapitags %} + +This event occurs when a user is enrolled in a control variant set on a multi-variant campaign. This event is generated as there will be no channel send event for this user. + +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.campaigns.Conversion +// users.campaigns.EnrollInControl { "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", "campaign_id" : "(required, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", - "conversion_behavior" : "(optional, string) JSON-encoded string describing the conversion behavior", - "conversion_behavior_index" : "(optional, int) Index of the conversion behavior", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", @@ -838,24 +876,7 @@ Note that the conversion event is encoded in the `conversion_behavior` field, wh } ``` {% endtab %} -{% endtabs %} -{% endapi %} - -{% api %} -## Campaign Control Group Enrollment events {#campaign-control-group-enrollment-events} - -{% apitags %} -Campaign, Entry -{% endapitags %} - -This event occurs when a user is enrolled in a control variant set on a multi-variant campaign. This event is generated as there will be no channel send event for this user. - -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // Campaign Control Group Enrollment (users.campaigns.EnrollInControl) @@ -976,27 +997,6 @@ This event occurs when a user is enrolled in a control variant set on a multi-va } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.campaigns.EnrollInControl - -{ - "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", - "campaign_id" : "(required, string) API ID of the campaign this event belongs to", - "campaign_name" : "(optional, string) Name of the campaign", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", - "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} {% endapi %} @@ -1015,6 +1015,30 @@ Note that the conversion event is encoded in the `conversion_behavior` field, wh {% endalert %} {% tabs %} +{% tab Cloud Storage %} +```json +// users.canvas.Conversion + +{ + "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", + "canvas_id" : "(required, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_id" : "(required, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "conversion_behavior" : "(optional, string) JSON-encoded string describing the conversion behavior", + "conversion_behavior_index" : "(optional, int) Index of the conversion behavior", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Canvas Conversion (users.canvas.Conversion) @@ -1143,44 +1167,42 @@ Note that the conversion event is encoded in the `conversion_behavior` field, wh } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Canvas Entry events {#canvas-entry-events} + +{% apitags %} +Canvas, Entry +{% endapitags %} + +This event occurs when a user enters into the Canvas. This event tells you which variant the user entered into. +{% tabs %} {% tab Cloud Storage %} ```json -// users.canvas.Conversion +// users.canvas.Entry { "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", "canvas_id" : "(required, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(required, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "conversion_behavior" : "(optional, string) JSON-encoded string describing the conversion behavior", - "conversion_behavior_index" : "(optional, int) Index of the conversion behavior", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", + "in_control_group" : "(required, boolean) Whether the user was enrolled in the control group", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Canvas Entry events {#canvas-entry-events} - -{% apitags %} -Canvas, Entry -{% endapitags %} - -This event occurs when a user enters into the Canvas. This event tells you which variant the user entered into. -{% tabs %} {% tab Amplitude %} ```json // Canvas Entry (users.canvas.Entry) @@ -1302,42 +1324,44 @@ This event occurs when a user enters into the Canvas. This event tells you which } ``` {% endtab %} +{% endtabs %} +{% endapi %} + +{% api %} +## Exit Match Audience events {#exit-match-audience-events} + +{% apitags %} +Exit, Canvas +{% endapitags %} + +This event occurs when a user has exited a Canvas by matching an audience. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.canvas.Entry +// users.canvas.exit.MatchedAudience { - "app_group_id" : "(optional, string) API ID of the app group this user belongs to", + "app_group_api_id" : "(optional, string) [DEPRECATED]", + "app_group_id" : "(required, string) API ID of the app group this user belongs to", + "canvas_api_id" : "(optional, string) [DEPRECATED]", "canvas_id" : "(required, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_api_id" : "(optional, string) [DEPRECATED]", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_api_id" : "(optional, string) [DEPRECATED]", "canvas_variation_id" : "(required, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "in_control_group" : "(required, boolean) Whether the user was enrolled in the control group", "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Exit Match Audience events {#exit-match-audience-events} - -{% apitags %} -Exit, Canvas -{% endapitags %} -This event occurs when a user has exited a Canvas by matching an audience. - -{% tabs %} {% tab Amplitude %} ```json // Exit Match Audience (users.canvas.exit.MatchedAudience) @@ -1449,30 +1473,6 @@ This event occurs when a user has exited a Canvas by matching an audience. } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.canvas.exit.MatchedAudience - -{ - "app_group_api_id" : "(optional, string) [DEPRECATED]", - "app_group_id" : "(required, string) API ID of the app group this user belongs to", - "canvas_api_id" : "(optional, string) [DEPRECATED]", - "canvas_id" : "(required, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_api_id" : "(optional, string) [DEPRECATED]", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_api_id" : "(optional, string) [DEPRECATED]", - "canvas_variation_id" : "(required, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "time" : "(required, int) UNIX timestamp at which the event happened", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} {% endapi %} @@ -1486,7 +1486,31 @@ Exit, Canvas This event occurs when a user has exited a Canvas by performing an event. -{% tabs %} +{% tabs %} +{% tab Cloud Storage %} +```json +// users.canvas.exit.PerformedEvent + +{ + "app_group_api_id" : "(optional, string) [DEPRECATED]", + "app_group_id" : "(required, string) API ID of the app group this user belongs to", + "canvas_api_id" : "(optional, string) [DEPRECATED]", + "canvas_id" : "(required, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_api_id" : "(optional, string) [DEPRECATED]", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_api_id" : "(optional, string) [DEPRECATED]", + "canvas_variation_id" : "(required, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "time" : "(required, int) UNIX timestamp at which the event happened", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Exit Perform Event (users.canvas.exit.PerformedEvent) @@ -1598,23 +1622,37 @@ This event occurs when a user has exited a Canvas by performing an event. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Experiment Step Conversion events {#experiment-step-conversion-events} + +{% apitags %} +Canvas +{% endapitags %} +This event occurs when a user converts for a Canvas experiment step. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.canvas.exit.PerformedEvent +// users.canvas.experimentstep.Conversion { - "app_group_api_id" : "(optional, string) [DEPRECATED]", - "app_group_id" : "(required, string) API ID of the app group this user belongs to", - "canvas_api_id" : "(optional, string) [DEPRECATED]", - "canvas_id" : "(required, string) API ID of the Canvas this event belongs to", + "app_id" : "(optional, string) API ID of the app on which this event occurred", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_api_id" : "(optional, string) [DEPRECATED]", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_api_id" : "(optional, string) [DEPRECATED]", - "canvas_variation_id" : "(required, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "conversion_behavior" : "(optional, string) JSON-encoded string describing the conversion behavior", + "conversion_behavior_index" : "(optional, int) Index of the conversion behavior", + "experiment_split_id" : "(optional, string) API ID of the experiment split the user enrolled in", + "experiment_split_name" : "(optional, string) Name of the experiment split", + "experiment_step_id" : "(optional, string) API ID of the experiment step this event belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", "time" : "(required, int) UNIX timestamp at which the event happened", @@ -1622,20 +1660,7 @@ This event occurs when a user has exited a Canvas by performing an event. } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Experiment Step Conversion events {#experiment-step-conversion-events} - -{% apitags %} -Canvas -{% endapitags %} - -This event occurs when a user convert for a Canvas experiment step. -{% tabs %} {% tab Amplitude %} ```json // Experiment Step Conversion (users.canvas.experimentstep.Conversion) @@ -1766,45 +1791,43 @@ This event occurs when a user convert for a Canvas experiment step. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Experiment Split Entry events {#experiment-split-entry-events} + +{% apitags %} +Canvas +{% endapitags %} + +This event occurs when a user enters a Canvas experiment step path. +{% tabs %} {% tab Cloud Storage %} ```json -// users.canvas.experimentstep.Conversion +// users.canvas.experimentstep.SplitEntry { - "app_id" : "(optional, string) API ID of the app on which this event occurred", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "conversion_behavior" : "(optional, string) JSON-encoded string describing the conversion behavior", - "conversion_behavior_index" : "(optional, int) Index of the conversion behavior", "experiment_split_id" : "(optional, string) API ID of the experiment split the user enrolled in", "experiment_split_name" : "(optional, string) Name of the experiment split", "experiment_step_id" : "(optional, string) API ID of the experiment step this event belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", + "in_control_group" : "(required, boolean) Whether the user was enrolled in the control group", "time" : "(required, int) UNIX timestamp at which the event happened", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Experiment Split Entry events {#experiment-split-entry-events} - -{% apitags %} -Canvas -{% endapitags %} - -This event occurs when a user enters a Canvas experiment step path. -{% tabs %} {% tab Amplitude %} ```json // Experiment Split Entry (users.canvas.experimentstep.SplitEntry) @@ -1928,43 +1951,46 @@ This event occurs when a user enters a Canvas experiment step path. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Canvas Step Progression events {#canvas-step-progression-events} + +{% apitags %} +Canvas, Progression +{% endapitags %} + +This event occurs when a user progresses through a step in a Canvas with some outcome. Note that this event doesn't occur when steps are entered or exited. Currently, only split steps (Audience Paths, Decision Split, Action Paths, Experiment) and advance outcomes generate step progression events. +{% tabs %} {% tab Cloud Storage %} ```json -// users.canvas.experimentstep.SplitEntry +// users.canvasstep.Progression { + "app_group_id" : "(optional, string) API ID of the app group this user belongs to", + "canvas_entry_id" : "(required, string) Unique identifier for this instance of a user in a canvas", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "experiment_split_id" : "(optional, string) API ID of the experiment split the user enrolled in", - "experiment_split_name" : "(optional, string) Name of the experiment split", - "experiment_step_id" : "(optional, string) API ID of the experiment step this event belongs to", + "device_id" : "(optional, string) ID of the device on which the event occurred", + "exit_reason" : "(optional, string) If this is an exit, the reason a user exited the canvas during the step", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "in_control_group" : "(required, boolean) Whether the user was enrolled in the control group", + "is_canvas_entry" : "(optional, boolean) Whether this is entry into a first step in a canvas", + "next_step_id" : "(optional, string) API ID of the next step in the canvas", + "progression_type" : "(required, string) What type of step progression event this is", "time" : "(required, int) UNIX timestamp at which the event happened", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} -{% endapi %} - -{% api %} -## Canvas Step Progression events {#canvas-step-progression-events} - -{% apitags %} -Canvas, Progression -{% endapitags %} - -This event occurs when a user progresses through a step in a Canvas with some outcome. Note that this event doesn't occur when steps are entered or exited. Currently, only split steps (Audience Paths, Decision Split, Action Paths, Experiment) and advance outcomes generate step progression events. - -{% tabs %} {% tab Amplitude %} ```json // Canvas Step Progression (users.canvasstep.Progression) @@ -2102,46 +2128,57 @@ This event occurs when a user progresses through a step in a Canvas with some ou } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Banner Abort events {#banner-abort-events} + +{% apitags %} +Banner, Abort +{% endapitags %} + +This event occurs when an originally scheduled banner message was aborted for some reason. +{% tabs %} {% tab Cloud Storage %} ```json -// users.canvasstep.Progression +// users.messages.banner.Abort { + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", + "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", - "canvas_entry_id" : "(required, string) Unique identifier for this instance of a user in a canvas", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "app_id" : "(optional, string) API ID of the app on which this event occurred", + "banner_placement_id" : "(optional, string) Customer specified banner placement ID", + "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", + "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", + "campaign_name" : "(optional, string) Name of the campaign", + "carrier" : "(optional, string) Carrier of the device", + "country" : "(optional, string) [PII] Country of the user", "device_id" : "(optional, string) ID of the device on which the event occurred", - "exit_reason" : "(optional, string) If this is an exit, the reason a user exited the canvas during the step", + "device_model" : "(optional, string) Model of the device", "external_user_id" : "(optional, string) [PII] External ID of the user", + "gender" : "(optional, string) [PII] Gender of the user, one of ['M', 'F', 'O', 'N', 'P']", "id" : "(required, string) Globally unique ID for this event", - "is_canvas_entry" : "(optional, boolean) Whether this is entry into a first step in a canvas", - "next_step_id" : "(optional, string) API ID of the next step in the canvas", - "progression_type" : "(required, string) What type of step progression event this is", + "language" : "(optional, string) [PII] Language of the user", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "message_variation_name" : "(optional, string) Name of the message variation", + "os_version" : "(optional, string) Version of the operating system of the device", + "platform" : "(optional, string) Platform of the device", + "resolution" : "(optional, string) Resolution of the device", + "sdk_version" : "(optional, string) Version of the Braze SDK in use during the event", "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Banner Abort events {#banner-abort-events} - -{% apitags %} -Banner, Abort -{% endapitags %} - -This event occurs when an originally scheduled banner message was aborted for some reason. -{% tabs %} {% tab Amplitude %} ```json // Banner Abort (users.messages.banner.Abort) @@ -2298,14 +2335,25 @@ This event occurs when an originally scheduled banner message was aborted for so } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Banner Click events {#banner-click-events} + +{% apitags %} +Banner, Clicks +{% endapitags %} + +This event occurs when a user clicks a banner. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.banner.Abort +// users.messages.banner.Click { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "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", @@ -2313,6 +2361,7 @@ This event occurs when an originally scheduled banner message was aborted for so "app_id" : "(optional, string) API ID of the app on which this event occurred", "banner_placement_id" : "(optional, string) Customer specified banner placement ID", "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", + "button_id" : "(optional, string) ID of the button clicked, if this click represents a click on a button", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "carrier" : "(optional, string) Carrier of the device", @@ -2335,20 +2384,7 @@ This event occurs when an originally scheduled banner message was aborted for so } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Banner Click events {#banner-click-events} - -{% apitags %} -Banner, Clicks -{% endapitags %} - -This event occurs when a user clicks a banner. -{% tabs %} {% tab Amplitude %} ```json // Banner Click (users.messages.banner.Click) @@ -2501,10 +2537,23 @@ This event occurs when a user clicks a banner. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Banner Impression events {#banner-impression-events} + +{% apitags %} +Banner, Impressions +{% endapitags %} + +This event occurs when a user views a banner. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.banner.Click +// users.messages.banner.Impression { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -2514,7 +2563,6 @@ This event occurs when a user clicks a banner. "app_id" : "(optional, string) API ID of the app on which this event occurred", "banner_placement_id" : "(optional, string) Customer specified banner placement ID", "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", - "button_id" : "(optional, string) ID of the button clicked, if this click represents a click on a button", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "carrier" : "(optional, string) Carrier of the device", @@ -2537,20 +2585,6 @@ This event occurs when a user clicks a banner. } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Banner Impression events {#banner-impression-events} - -{% apitags %} -Banner, Impressions -{% endapitags %} - -This event occurs when a user views a banner. - -{% tabs %} {% tab Amplitude %} ```json // Banner Impression (users.messages.banner.Impression) @@ -2699,55 +2733,51 @@ This event occurs when a user views a banner. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Content Card Abort events {#content-card-abort-events} + +{% apitags %} +Abort, Content Cards +{% endapitags %} +This event occurs if a Content Card message was aborted based on Liquid aborts, etc. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.banner.Impression +// users.messages.contentcard.Abort { - "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", + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "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", - "banner_placement_id" : "(optional, string) Customer specified banner placement ID", - "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", - "carrier" : "(optional, string) Carrier of the device", - "country" : "(optional, string) [PII] Country of the user", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", - "device_model" : "(optional, string) Model of the device", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", - "gender" : "(optional, string) [PII] Gender of the user, one of ['M', 'F', 'O', 'N', 'P']", "id" : "(required, string) Globally unique ID for this event", - "language" : "(optional, string) [PII] Language of the user", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "os_version" : "(optional, string) Version of the operating system of the device", - "platform" : "(optional, string) Platform of the device", - "resolution" : "(optional, string) Resolution of the device", - "sdk_version" : "(optional, string) Version of the Braze SDK in use during the event", + "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} -{% endapi %} - -{% api %} -## Content Card Abort events {#content-card-abort-events} - -{% apitags %} -Abort, Content Cards -{% endapitags %} - -This event occurs if a Content Card message was aborted based on Liquid aborts, etc. - -{% tabs %} {% tab Amplitude %} ```json // Content Card Abort (users.messages.contentcard.Abort) @@ -2897,30 +2927,55 @@ This event occurs if a Content Card message was aborted based on Liquid aborts, } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## Content Card Click events {#content-card-click-events} + +{% apitags %} +Content Cards, Clicks +{% endapitags %} + +This event occurs when a user clicks a Content Card. + +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.contentcard.Abort +// users.messages.contentcard.Click { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", + "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" : "(required, string) API ID of the app on which this event occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "content_card_id" : "(required, string) ID of the card that generated this event", "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "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", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "os_version" : "(optional, string) Version of the operating system of the device", + "platform" : "(optional, string) Platform of the device", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", @@ -2928,28 +2983,7 @@ This event occurs if a Content Card message was aborted based on Liquid aborts, } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} - -{% api %} -## Content Card Click events {#content-card-click-events} - -{% apitags %} -Content Cards, Clicks -{% endapitags %} - -This event occurs when a user clicks a Content Card. - -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} -{% tabs %} {% tab Amplitude %} ```json // Content Card Click (users.messages.contentcard.Click) @@ -3126,10 +3160,31 @@ This event occurs when a user clicks a Content Card. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +{% endapi %} + +{% api %} +## Content Card Dismiss events {#content-card-dismiss-events} + +{% apitags %} +Content Cards, Dismissal +{% endapitags %} + +This event occurs when a user dismisses a Content Card. + +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.contentcard.Click +// users.messages.contentcard.Dismiss { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -3161,28 +3216,7 @@ This event occurs when a user clicks a Content Card. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -{% endapi %} - -{% api %} -## Content Card Dismiss events {#content-card-dismiss-events} - -{% apitags %} -Content Cards, Dismissal -{% endapitags %} - -This event occurs when a user dismisses a Content Card. - -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} -{% tabs %} {% tab Amplitude %} ```json // Content Card Dismiss (users.messages.contentcard.Dismiss) @@ -3359,10 +3393,31 @@ This event occurs when a user dismisses a Content Card. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +{% endapi %} + +{% api %} +## Content Card Impression events {#content-card-impression-events} + +{% apitags %} +Content Cards, Impressions +{% endapitags %} + +This event occurs when a user views a Content Card. +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.contentcard.Dismiss +// users.messages.contentcard.Impression { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -3394,28 +3449,7 @@ This event occurs when a user dismisses a Content Card. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -{% endapi %} - -{% api %} -## Content Card Impression events {#content-card-impression-events} - -{% apitags %} -Content Cards, Impressions -{% endapitags %} - -This event occurs when a user views a Content Card. - -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} -{% tabs %} {% tab Amplitude %} ```json // Content Card Impression (users.messages.contentcard.Impression) @@ -3592,17 +3626,34 @@ This event occurs when a user views a Content Card. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +{% endapi %} + +{% api %} +## Content Card Send events {#content-card-send-events} + +{% apitags %} +Content Cards, Sends +{% endapitags %} + +This event occurs when a Content Card gets sent to a user. + +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.contentcard.Impression +// users.messages.contentcard.Send { - "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" : "(required, string) API ID of the app on which this event occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -3613,13 +3664,11 @@ This event occurs when a user views a Content Card. "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "content_card_id" : "(required, string) ID of the card that generated this event", "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", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "os_version" : "(optional, string) Version of the operating system of the device", - "platform" : "(optional, string) Platform of the device", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", @@ -3627,28 +3676,7 @@ This event occurs when a user views a Content Card. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -{% endapi %} - -{% api %} -## Content Card Send events {#content-card-send-events} - -{% apitags %} -Content Cards, Sends -{% endapitags %} - -This event occurs when a Content Card gets sent to a user. - -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} -{% tabs %} {% tab Amplitude %} ```json // Content Card Send (users.messages.contentcard.Send) @@ -3798,26 +3826,46 @@ This event occurs when a Content Card gets sent to a user. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language or country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. +{% endapi %} + +{% api %} +## Email Abort events {#email-abort-events} + +{% apitags %} +Abort, Email +{% endapitags %} + +This event occurs if an email message was aborted based on Liquid aborts, etc. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.contentcard.Send +// users.messages.email.Abort { + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "content_card_id" : "(required, string) ID of the card that generated this event", "device_id" : "(optional, string) ID of the device on which the event occurred", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "email_address" : "(required, string) [PII] Email address of the user", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", + "ip_pool" : "(optional, string) IP pool from which the email send was made", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -3827,23 +3875,7 @@ This event occurs when a Content Card gets sent to a user. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language or country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. -{% endapi %} -{% api %} -## Email Abort events {#email-abort-events} - -{% apitags %} -Abort, Email -{% endapitags %} - -This event occurs if an email message was aborted based on Liquid aborts, etc. - -{% tabs %} {% tab Amplitude %} ```json // Email Abort (users.messages.email.Abort) @@ -4002,57 +4034,58 @@ This event occurs if an email message was aborted based on Liquid aborts, etc. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## Email Bounce events {#email-bounce-events} + +{% apitags %} +Email, Bounce +{% endapitags %} +This event occurs when an Internet Service Provider returns a hard bounce. A hard bounce signifies a permanent deliverability failure. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Abort +// users.messages.email.Bounce { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", + "bounce_reason" : "(optional, string) [PII] The SMTP reason code and user friendly message received for this bounce event", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", + "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", "external_user_id" : "(optional, string) [PII] External ID of the user", + "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", + "is_drop" : "(optional, boolean) Indicates that this event counts as a drop event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", + "sending_ip" : "(optional, string) IP address from which the email send was made", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} - -{% api %} -## Email Bounce events {#email-bounce-events} -{% apitags %} -Email, Bounce -{% endapitags %} - -This event occurs when an Internet Service Provider returns a hard bounce. A hard bounce signifies a permanent deliverability failure. - -{% tabs %} {% tab Amplitude %} ```json // Email Bounce (users.messages.email.Bounce) @@ -4219,14 +4252,31 @@ This event occurs when an Internet Service Provider returns a hard bounce. A har } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). +{% endapi %} + +{% api %} +## Email Click events {#email-click-events} + +{% apitags %} +Email, Clicks +{% endapitags %} + +This event occurs when a user clicks an email. Multiple events may be generated for the same campaign if a user clicks multiple times or clicks different links within the email. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Bounce +// users.messages.email.Click { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "bounce_reason" : "(optional, string) [PII] The SMTP reason code and user friendly message received for this bounce event", + "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -4235,6 +4285,9 @@ This event occurs when an Internet Service Provider returns a hard bounce. A har "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_class" : "(optional, string) Device class extracted from user_agent (mobile, desktop, tablet, etc...)", + "device_model" : "(optional, string) Model of the device", + "device_os" : "(optional, string) Device operating system extracted from user_agent", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", @@ -4242,35 +4295,24 @@ This event occurs when an Internet Service Provider returns a hard bounce. A har "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", - "is_drop" : "(optional, boolean) Indicates that this event counts as a drop event", + "is_amp" : "(optional, boolean) Indicates that this is an AMP event", + "is_suspected_bot_click" : "(optional, boolean) Indicates that this is a suspected bot click. Will only populate when Bot Filtering setting is enabled", + "link_alias" : "(optional, string) Alias associated with this link ID", + "link_id" : "(optional, string) Unique ID for the link which was clicked, as created by Braze", + "mailbox_provider" : "(optional, string) Mailbox provider value returned by the esp for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", - "sending_ip" : "(optional, string) IP address from which the email send was made", + "suspected_bot_click_reason" : "(optional, array of string) Reason(s) why this is a suspected bot click. Will always populate even if Bot Filtering setting is disabled.", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", + "url" : "(optional, string) URL that the user clicked on", + "user_agent" : "(optional, string) User agent on which the click occurred", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). -{% endapi %} -{% api %} -## Email Click events {#email-click-events} - -{% apitags %} -Email, Clicks -{% endapitags %} - -This event occurs when a user clicks an email. Multiple events may be generated for the same campaign if a user clicks multiple times or clicks different links within the email. - -{% tabs %} {% tab Amplitude %} ```json // Email Click (users.messages.email.Click) @@ -4477,25 +4519,41 @@ This event occurs when a user clicks an email. Multiple events may be generated } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). +{% endapi %} + +{% api %} +## Email Deferral events {#email-deferral-events} + +{% apitags %} +Email, Deferral +{% endapitags %} +This event occurs when an Internet Service Provider does not immediately deliver the email to a non-hard bounced email address and Braze retries the email for up to 72 hours. Typical reasons for deferrals include reputation-based email volume rate-limiting from the inbox provider, temporary connectivity issues, recipient's mailbox is full, or DNS errors. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Click +// users.messages.email.Deferral { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", + "attempt_count" : "(optional, int) Number of attempts made to send the message", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "device_class" : "(optional, string) Device class extracted from user_agent (mobile, desktop, tablet, etc...)", - "device_model" : "(optional, string) Model of the device", - "device_os" : "(optional, string) Device operating system extracted from user_agent", + "deferral_reason" : "(optional, string) [PII] The SMTP reason code and user friendly message received for this deferral event", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", @@ -4503,41 +4561,18 @@ This event occurs when a user clicks an email. Multiple events may be generated "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", - "is_amp" : "(optional, boolean) Indicates that this is an AMP event", - "is_suspected_bot_click" : "(optional, boolean) Indicates that this is a suspected bot click. Will only populate when Bot Filtering setting is enabled", - "link_alias" : "(optional, string) Alias associated with this link ID", - "link_id" : "(optional, string) Unique ID for the link which was clicked, as created by Braze", - "mailbox_provider" : "(optional, string) Mailbox provider value returned by the esp for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "recipient_domain" : "(optional, string) Recipient's email domain", "send_id" : "(optional, string) Message send ID this message belongs to", - "suspected_bot_click_reason" : "(optional, array of string) Reason(s) why this is a suspected bot click. Will always populate even if Bot Filtering setting is disabled.", + "sending_ip" : "(optional, string) IP address from which the email send was made", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "url" : "(optional, string) URL that the user clicked on", - "user_agent" : "(optional, string) User agent on which the click occurred", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). -{% endapi %} - -{% api %} -## Email Deferral events {#email-deferral-events} -{% apitags %} -Email, Deferral -{% endapitags %} - -This event occurs when an Internet Service Provider does not immediately deliver the email to a non-hard bounced email address and Braze retries the email for up to 72 hours. Typical reasons for deferrals include reputation-based email volume rate-limiting from the inbox provider, temporary connectivity issues, recipient's mailbox is full, or DNS errors. - -{% tabs %} {% tab Amplitude %} ```json // Email Deferral (users.messages.email.Deferral) @@ -4703,24 +4738,38 @@ This event occurs when an Internet Service Provider does not immediately deliver } ``` {% endtab %} +{% endtabs %} +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. +{% endapi %} + +{% api %} +## Email Delivery events {#email-delivery-events} + +{% apitags %} +Email, Delivery +{% endapitags %} + +This event occurs when an email sent made it successfully to the end-users inbox. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Deferral +// users.messages.email.Delivery { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "attempt_count" : "(optional, int) Number of attempts made to send the message", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "deferral_reason" : "(optional, string) [PII] The SMTP reason code and user friendly message received for this deferral event", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", @@ -4730,7 +4779,6 @@ This event occurs when an Internet Service Provider does not immediately deliver "ip_pool" : "(optional, string) IP pool from which the email send was made", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "recipient_domain" : "(optional, string) Recipient's email domain", "send_id" : "(optional, string) Message send ID this message belongs to", "sending_ip" : "(optional, string) IP address from which the email send was made", "time" : "(required, int) UNIX timestamp at which the event happened", @@ -4739,24 +4787,7 @@ This event occurs when an Internet Service Provider does not immediately deliver } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. -{% endapi %} - -{% api %} -## Email Delivery events {#email-delivery-events} -{% apitags %} -Email, Delivery -{% endapitags %} - -This event occurs when an email sent made it successfully to the end-users inbox. - -{% tabs %} {% tab Amplitude %} ```json // Email Delivery (users.messages.email.Delivery) @@ -4915,10 +4946,27 @@ This event occurs when an email sent made it successfully to the end-users inbox } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. +{% endapi %} + +{% api %} +## Email Mark As Spam events {#email-mark-as-spam-events} + +{% apitags %} +Email, Spam +{% endapitags %} + +This event occurs when the end-user hits the "spam" button on the email. Note that this does not represent the fact the email went into the spam folder as Braze does not track this. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Delivery +// users.messages.email.MarkAsSpam { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -4940,31 +4988,14 @@ This event occurs when an email sent made it successfully to the end-users inbox "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", - "sending_ip" : "(optional, string) IP address from which the email send was made", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. -{% endapi %} - -{% api %} -## Email Mark As Spam events {#email-mark-as-spam-events} - -{% apitags %} -Email, Spam -{% endapitags %} - -This event occurs when the end-user hits the "spam" button on the email. Note that this does not represent the fact the email went into the spam folder as Braze does not track this. + "user_agent" : "(optional, string) User agent on which the spam report occurred", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} -{% tabs %} {% tab Amplitude %} ```json // Email Mark As Spam (users.messages.email.MarkAsSpam) @@ -5127,13 +5158,37 @@ This event occurs when the end-user hits the "spam" button on the email. Note th } ``` {% endtab %} +{% endtabs %} + +#### Property details + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. +{% endapi %} + +{% api %} +## Email Open events {#email-open-events} + +{% apitags %} +Email, Opens +{% endapitags %} + +This event occurs when a user opens an email. Multiple events may be generated for the same campaign if a user opens the email multiple times. + +{% alert important %} +It's known behavior that the email open event fields `device_model` and `mailbox_provider` are empty. You can ignore these for now. +{% endalert %} +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.MarkAsSpam +// users.messages.email.Open { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", + "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -5142,6 +5197,9 @@ This event occurs when the end-user hits the "spam" button on the email. Note th "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_class" : "(optional, string) Device class extracted from user_agent (mobile, desktop, tablet, etc...)", + "device_model" : "(optional, string) Model of the device", + "device_os" : "(optional, string) Device operating system extracted from user_agent", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", @@ -5149,40 +5207,20 @@ This event occurs when the end-user hits the "spam" button on the email. Note th "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", + "is_amp" : "(optional, boolean) Indicates that this is an AMP event", + "machine_open" : "(optional, string) Populated to 'true' if the open event is triggered without user engagement, for example by an Apple device with Mail Privacy Protection enabled. Value may change over time to provide more granularity.", + "mailbox_provider" : "(optional, string) Mailbox provider value returned by the esp for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "user_agent" : "(optional, string) User agent on which the spam report occurred", + "user_agent" : "(optional, string) User agent on which the open occurred", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. -{% endapi %} -{% api %} -## Email Open events {#email-open-events} - -{% apitags %} -Email, Opens -{% endapitags %} - -This event occurs when a user opens an email. Multiple events may be generated for the same campaign if a user opens the email multiple times. - -{% alert important %} -It's known behavior that the email open event fields `device_model` and `mailbox_provider` are empty. You can ignore these for now. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // Email Open (users.messages.email.Open) @@ -5374,14 +5412,30 @@ It's known behavior that the email open event fields `device_model` and `mailbox } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. +{% endapi %} + +{% api %} +## Email Send events {#email-send-events} +{% apitags %} +Email, Sends +{% endapitags %} + +This event occurs when an email send request was successfully communicated between Braze and SendGrid. Though, this does not mean the email was received in the user's inbox. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Open +// users.messages.email.Send { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -5390,47 +5444,22 @@ It's known behavior that the email open event fields `device_model` and `mailbox "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "device_class" : "(optional, string) Device class extracted from user_agent (mobile, desktop, tablet, etc...)", - "device_model" : "(optional, string) Model of the device", - "device_os" : "(optional, string) Device operating system extracted from user_agent", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", - "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", "external_user_id" : "(optional, string) [PII] External ID of the user", - "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", - "is_amp" : "(optional, boolean) Indicates that this is an AMP event", - "machine_open" : "(optional, string) Populated to 'true' if the open event is triggered without user engagement, for example by an Apple device with Mail Privacy Protection enabled. Value may change over time to provide more granularity.", - "mailbox_provider" : "(optional, string) Mailbox provider value returned by the esp for this event", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "user_agent" : "(optional, string) User agent on which the open occurred", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. -{% endapi %} - -{% api %} -## Email Send events {#email-send-events} - -{% apitags %} -Email, Sends -{% endapitags %} - -This event occurs when an email send request was successfully communicated between Braze and SendGrid. Though, this does not mean the email was received in the user's inbox. -{% tabs %} {% tab Amplitude %} ```json // Email Send (users.messages.email.Send) @@ -5589,13 +5618,32 @@ This event occurs when an email send request was successfully communicated betwe } ``` {% endtab %} +{% endtabs %} + +#### Property details +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). +- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language, country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. +{% endapi %} + +{% api %} +## Email Soft Bounce events {#email-soft-bounce-events} + +{% apitags %} +Email, Bounce +{% endapitags %} + +This event occurs when an Internet Service Provider returns a soft bounce. A soft bounce signifies that an email could not be delivered because of a temporary deliverability failure. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.Send +// users.messages.email.SoftBounce { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", + "bounce_reason" : "(optional, string) [PII] The SMTP reason code and user friendly message received for this bounce event", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -5606,38 +5654,22 @@ This event occurs when an email send request was successfully communicated betwe "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", + "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", "external_user_id" : "(optional, string) [PII] External ID of the user", + "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", + "sending_ip" : "(optional, string) IP address from which the email send was made", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). -- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language, country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. -{% endapi %} - -{% api %} -## Email Soft Bounce events {#email-soft-bounce-events} - -{% apitags %} -Email, Bounce -{% endapitags %} - -This event occurs when an Internet Service Provider returns a soft bounce. A soft bounce signifies that an email could not be delivered because of a temporary deliverability failure. -{% tabs %} {% tab Amplitude %} ```json // Email Soft Bounce (users.messages.email.SoftBounce) @@ -5800,14 +5832,34 @@ This event occurs when an Internet Service Provider returns a soft bounce. A sof } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). +{% endapi %} + +{% api %} +## Email Unsubscribe events {#email-unsubscribe-events} + +{% apitags %} +Email, Subscription +{% endapitags %} + +This event occurs when the end-user has clicked "unsubscribe" from the email. +{% alert important %} +The `Unsubscribe` event is a specialized click event that is fired when your user clicks the unsubscribe link in the email (either a normal unsubscribe link within the email body or footer, or using the [list-unsubscribe header]({{site.baseurl}}/user_guide/administrative/app_settings/manage_app_group/email_settings#include-a-list-unsubscribe-header)), not when the user changes state to unsubscribed. If subscription state change is sent through the API or with a custom (non-Braze) unsubscription link, it does not trigger an event on Currents. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.email.SoftBounce +// users.messages.email.Unsubscribe { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "bounce_reason" : "(optional, string) [PII] The SMTP reason code and user friendly message received for this bounce event", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -5818,43 +5870,19 @@ This event occurs when an Internet Service Provider returns a soft bounce. A sof "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "email_address" : "(required, string) [PII] Email address of the user", - "esp" : "(optional, string) ESP related to the event (SparkPost, SendGrid, or Amazon SES)", "external_user_id" : "(optional, string) [PII] External ID of the user", - "from_domain" : "(optional, string) Sending domain for the email", "id" : "(required, string) Globally unique ID for this event", "ip_pool" : "(optional, string) IP pool from which the email send was made", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", - "sending_ip" : "(optional, string) IP address from which the email send was made", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - - The behavior for `dispatch_id` differs between Canvas and campaigns because Braze treats Canvas steps (except for entry steps, which can be scheduled) as triggered events, even when they are scheduled. Learn more about [dispatch ID behavior]({{site.baseurl}}/help/help_articles/data/dispatch_id/). -{% endapi %} - -{% api %} -## Email Unsubscribe events {#email-unsubscribe-events} - -{% apitags %} -Email, Subscription -{% endapitags %} -This event occurs when the end-user has clicked "unsubscribe" from the email. - -{% alert important %} -The `Unsubscribe` event is actually a specialized click event that is fired when your user clicks on the unsubscribe link in the email (either a normal unsubscribe link within the email body or footer, or using the [list-unsubscribe header]({{site.baseurl}}/user_guide/administrative/app_settings/manage_app_group/email_settings#include-a-list-unsubscribe-header)), not when the user changes state to unsubscribed. If subscription state change is sent through the API, or via custom (non-Braze) unsubscription link, it will not trigger an event on Currents. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // Email Unsubscribe (users.messages.email.Unsubscribe) @@ -6005,35 +6033,6 @@ The `Unsubscribe` event is actually a specialized click event that is fired when } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.messages.email.Unsubscribe - -{ - "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", - "campaign_name" : "(optional, string) Name of the campaign", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "email_address" : "(required, string) [PII] Email address of the user", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "ip_pool" : "(optional, string) IP pool from which the email send was made", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", - "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -6053,8 +6052,46 @@ This event occurs whenever a user has had an opportunity to interact with your f Feature flag impressions are only logged once per session. +{% tabs %} +{% tab Cloud Storage %} +```json +// users.messages.featureflag.Impression + +{ + "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", + "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", + "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", + "campaign_name" : "(optional, string) Name of the campaign", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "carrier" : "(optional, string) Carrier of the device", + "country" : "(optional, string) [PII] Country of the user", + "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", + "feature_flag_id_name" : "(optional, string) The Feature Flag Rollout identifier", + "gender" : "(optional, string) [PII] Gender of the user, one of ['M', 'F', 'O', 'N', 'P']", + "id" : "(required, string) Globally unique ID for this event", + "language" : "(optional, string) [PII] Language of the user", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "message_variation_name" : "(optional, string) Name of the message variation", + "os_version" : "(optional, string) Version of the operating system of the device", + "platform" : "(optional, string) Platform of the device", + "resolution" : "(optional, string) Resolution of the device", + "sdk_version" : "(optional, string) Version of the Braze SDK in use during the event", + "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} -{% tabs %} {% tab Amplitude %} ```json // Feature Flag Experiment Impression (users.messages.featureflag.Impression) @@ -6212,12 +6249,30 @@ Feature flag impressions are only logged once per session. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## In-App Message Abort events {#in-app-message-abort-events} + +{% apitags %} +In-App Messages, Abort +{% endapitags %} + +This event occurs when an originally scheduled in-app message was aborted. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.featureflag.Impression +// users.messages.inappmessage.Abort { + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", + "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", "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", @@ -6230,41 +6285,27 @@ Feature flag impressions are only logged once per session. "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "card_id" : "(optional, string) API ID of the card", "carrier" : "(optional, string) Carrier of the device", - "country" : "(optional, string) [PII] Country of the user", "device_id" : "(optional, string) ID of the device on which the event occurred", "device_model" : "(optional, string) Model of the device", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", - "feature_flag_id_name" : "(optional, string) The Feature Flag Rollout identifier", - "gender" : "(optional, string) [PII] Gender of the user, one of ['M', 'F', 'O', 'N', 'P']", "id" : "(required, string) Globally unique ID for this event", - "language" : "(optional, string) [PII] Language of the user", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "os_version" : "(optional, string) Version of the operating system of the device", "platform" : "(optional, string) Platform of the device", "resolution" : "(optional, string) Resolution of the device", - "sdk_version" : "(optional, string) Version of the Braze SDK in use during the event", + "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "user_id" : "(required, string) Braze user ID of the user who performed this event", + "version" : "(required, string) Which version of in-app message, legacy or triggered" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## In-App Message Abort events {#in-app-message-abort-events} -{% apitags %} -In-App Messages, Abort -{% endapitags %} - -This event occurs when an originally scheduled in-app message was aborted. - -{% tabs %} {% tab Amplitude %} ```json // In-App Message Abort (users.messages.inappmessage.Abort) @@ -6447,67 +6488,60 @@ This event occurs when an originally scheduled in-app message was aborted. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## In-App Message Click events {#in-app-message-click-events} + +{% apitags %} +In-App Messages, Clicks +{% endapitags %} + +This event occurs when a user clicks an in-app message. + +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.inappmessage.Abort +// users.messages.inappmessage.Click { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "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", - "browser" : "(optional, string) Device browser - extracted from user_agent - on which the open occurred", + "app_id" : "(required, string) API ID of the app on which this event occurred", + "button_id" : "(optional, string) ID of the button clicked, if this click represents a click on a button", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "card_id" : "(optional, string) API ID of the card", - "carrier" : "(optional, string) Carrier of the device", "device_id" : "(optional, string) ID of the device on which the event occurred", "device_model" : "(optional, string) Model of the device", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "os_version" : "(optional, string) Version of the operating system of the device", "platform" : "(optional, string) Platform of the device", - "resolution" : "(optional, string) Resolution of the device", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event", - "version" : "(required, string) Which version of in-app message, legacy or triggered" + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## In-App Message Click events {#in-app-message-click-events} - -{% apitags %} -In-App Messages, Clicks -{% endapitags %} -This event occurs when a user clicks on an in-app message. - -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // In-App Message Click (users.messages.inappmessage.Click) @@ -6688,10 +6722,31 @@ This event occurs when a user clicks on an in-app message. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +{% endapi %} + +{% api %} +## In-App Message Impression events {#in-app-message-impression-events} +{% apitags %} +In-App Messages, Impressions +{% endapitags %} + +This event occurs when a user views an in-app message. + +{% alert note %} +`dispatch_id` is deprecated and will be removed in the next Currents release. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.inappmessage.Click +// users.messages.inappmessage.Impression { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -6699,7 +6754,6 @@ This event occurs when a user clicks on an in-app message. "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" : "(required, string) API ID of the app on which this event occurred", - "button_id" : "(optional, string) ID of the button clicked, if this click represents a click on a button", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -6713,6 +6767,8 @@ This event occurs when a user clicks on an in-app message. "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", + "locale_key" : "(optional, string) [PII] The key corresponding to the translations (for example 'en-us') used to compose this message (null for default).", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "os_version" : "(optional, string) Version of the operating system of the device", @@ -6724,28 +6780,7 @@ This event occurs when a user clicks on an in-app message. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -{% endapi %} - -{% api %} -## In-App Message Impression events {#in-app-message-impression-events} - -{% apitags %} -In-App Messages, Impressions -{% endapitags %} - -This event occurs when a user views an in-app message. -{% alert note %} -`dispatch_id` is deprecated and will be removed in the next Currents release. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // In-App Message Impression (users.messages.inappmessage.Impression) @@ -6930,61 +6965,56 @@ This event occurs when a user views an in-app message. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +{% endapi %} + +{% api %} +## LINE Abort events {#line-abort-events} + +{% apitags %} +LINE, Abort +{% endapitags %} + +This event occurs when a scheduled LINE message cannot be delivered, before sending to LINE. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.inappmessage.Impression +// users.messages.line.Abort { - "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", + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "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", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "card_id" : "(optional, string) API ID of the card", "device_id" : "(optional, string) ID of the device on which the event occurred", - "device_model" : "(optional, string) Model of the device", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "locale_key" : "(optional, string) [PII] The key corresponding to the translations (for example 'en-us') used to compose this message (null for default).", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", + "line_channel_id" : "(required, string) The LINE Channel ID the message was sent to or received from", + "line_channel_name" : "(required, string) The LINE Channel Name the message was sent to or received from", "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "message_variation_name" : "(optional, string) Name of the message variation", - "os_version" : "(optional, string) Version of the operating system of the device", - "platform" : "(optional, string) Platform of the device", + "native_line_id" : "(required, string) [PII] The user's Line ID from which the message was sent to or received from", "send_id" : "(optional, string) Message send ID this message belongs to", + "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -{% endapi %} - -{% api %} -## LINE Abort events {#line-abort-events} - -{% apitags %} -LINE, Abort -{% endapitags %} - -This event occurs when a scheduled LINE message cannot be delivered, before sending to LINE. - -{% tabs %} {% tab Amplitude %} ```json // Abort (users.messages.line.Abort) @@ -7139,14 +7169,29 @@ This event occurs when a scheduled LINE message cannot be delivered, before send } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## LINE Click events {#line-click-events} +{% apitags %} +LINE, Clicks +{% endapitags %} + +This event occurs when a user clicks a link in a LINE message where the link's domain matches the click tracking domain. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.line.Abort +// users.messages.line.Click { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -7159,36 +7204,23 @@ This event occurs when a scheduled LINE message cannot be delivered, before send "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "line_channel_id" : "(required, string) The LINE Channel ID the message was sent to or received from", - "line_channel_name" : "(required, string) The LINE Channel Name the message was sent to or received from", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "native_line_id" : "(required, string) [PII] The user's Line ID from which the message was sent to or received from", - "send_id" : "(optional, string) Message send ID this message belongs to", - "subscription_group_id" : "(optional, string) Subscription group API ID", - "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} - -{% api %} -## LINE Click events {#line-click-events} - -{% apitags %} -LINE, Clicks -{% endapitags %} - -This event occurs when a user clicks a link in a LINE message where the link's domain matches the click tracking domain. + "is_suspected_bot_click" : "(optional, boolean) Whether this event was processed as a bot event", + "line_channel_id" : "(required, string) The LINE Channel ID the message was sent to or received from", + "line_channel_name" : "(required, string) The LINE Channel Name the message was sent to or received from", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "native_line_id" : "(required, string) [PII] The user's Line ID from which the message was sent to or received from", + "send_id" : "(optional, string) Message send ID this message belongs to", + "short_url" : "(required, string) Shortened url that was clicked", + "subscription_group_id" : "(optional, string) Subscription group API ID", + "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "url" : "(required, string) URL that the user clicked on", + "user_agent" : "(optional, string) User agent on which the click occurred", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} -{% tabs %} {% tab Amplitude %} ```json // Click (users.messages.line.Click) @@ -7350,10 +7382,27 @@ This event occurs when a user clicks a link in a LINE message where the link's d } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## LINE Inbound Receive events {#line-inbound-receive-events} + +{% apitags %} +LINE, Inbound Received +{% endapitags %} + +This event occurs when a LINE message is received from a user. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.line.Click +// users.messages.line.InboundReceive { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -7368,40 +7417,21 @@ This event occurs when a user clicks a link in a LINE message where the link's d "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "is_suspected_bot_click" : "(optional, boolean) Whether this event was processed as a bot event", "line_channel_id" : "(required, string) The LINE Channel ID the message was sent to or received from", "line_channel_name" : "(required, string) The LINE Channel Name the message was sent to or received from", + "media_id" : "(optional, string) The LINE-generated ID which can be used to retrieve inbound media from LINE", + "message_body" : "(optional, string) Typed response from the user", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "native_line_id" : "(required, string) [PII] The user's Line ID from which the message was sent to or received from", "send_id" : "(optional, string) Message send ID this message belongs to", - "short_url" : "(required, string) Shortened url that was clicked", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "url" : "(required, string) URL that the user clicked on", - "user_agent" : "(optional, string) User agent on which the click occurred", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} -{% api %} -## LINE Inbound Receive events {#line-inbound-receive-events} - -{% apitags %} -LINE, Inbound Received -{% endapitags %} - -This event occurs when a LINE message is received from a user. - -{% tabs %} {% tab Amplitude %} ```json // LINE Inbound Receive (users.messages.line.InboundReceive) @@ -7556,10 +7586,27 @@ This event occurs when a LINE message is received from a user. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## LINE Send events {#line-send-events} + +{% apitags %} +LINE, Sends +{% endapitags %} +This event occurs when a LINE message is sent to LINE. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.line.InboundReceive +// users.messages.line.Send { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -7576,8 +7623,7 @@ This event occurs when a LINE message is received from a user. "id" : "(required, string) Globally unique ID for this event", "line_channel_id" : "(required, string) The LINE Channel ID the message was sent to or received from", "line_channel_name" : "(required, string) The LINE Channel Name the message was sent to or received from", - "media_id" : "(optional, string) The LINE-generated ID which can be used to retrieve inbound media from LINE", - "message_body" : "(optional, string) Typed response from the user", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "native_line_id" : "(required, string) [PII] The user's Line ID from which the message was sent to or received from", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -7588,24 +7634,7 @@ This event occurs when a LINE message is received from a user. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} - -{% api %} -## LINE Send events {#line-send-events} - -{% apitags %} -LINE, Sends -{% endapitags %} - -This event occurs when a LINE message is sent to LINE. -{% tabs %} {% tab Amplitude %} ```json // Send (users.messages.line.Send) @@ -7756,37 +7785,6 @@ This event occurs when a LINE message is sent to LINE. } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.messages.line.Send - -{ - "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", - "campaign_name" : "(optional, string) Name of the campaign", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "id" : "(required, string) Globally unique ID for this event", - "line_channel_id" : "(required, string) The LINE Channel ID the message was sent to or received from", - "line_channel_name" : "(required, string) The LINE Channel Name the message was sent to or received from", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "native_line_id" : "(required, string) [PII] The user's Line ID from which the message was sent to or received from", - "send_id" : "(optional, string) Message send ID this message belongs to", - "subscription_group_id" : "(optional, string) Subscription group API ID", - "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details @@ -7805,6 +7803,27 @@ Live Activity, Outcome This event occurs when Braze receives a response from a third party provider (e.g. APNs) after the Live Activity send {% tabs %} +{% tab Cloud Storage %} +```json +// users.messages.liveactivity.Outcome + +{ + "activity_attributes_type" : "(optional, string) Live Activity attribute type", + "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", + "external_user_id" : "(optional, string) [PII] External ID of the user", + "id" : "(required, string) Globally unique ID for this event", + "live_activity_event_outcome" : "(optional, string) Outcome of Live Activity event", + "live_activity_event_type" : "(optional, string) Event type of Live Activity. One of ['start', 'update', 'end']", + "push_to_start_token" : "(optional, string) Live Activity push to start token", + "time" : "(required, int) UNIX timestamp at which the event happened", + "update_token" : "(optional, string) Live Activity update token", + "user_id" : "(required, string) Braze user ID of the user who performed this event" +} +``` +{% endtab %} + {% tab Amplitude %} ```json // Live Activity Outcome (users.messages.liveactivity.Outcome) @@ -7920,10 +7939,23 @@ This event occurs when Braze receives a response from a third party provider (e. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Live Activity Send events {#live-activity-send-events} + +{% apitags %} +Live Activity, Sends +{% endapitags %} + +This event occurs when the Braze system makes a request to its provider regarding Live Activity. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.liveactivity.Outcome +// users.messages.liveactivity.Send { "activity_attributes_type" : "(optional, string) Live Activity attribute type", @@ -7932,7 +7964,6 @@ This event occurs when Braze receives a response from a third party provider (e. "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", - "live_activity_event_outcome" : "(optional, string) Outcome of Live Activity event", "live_activity_event_type" : "(optional, string) Event type of Live Activity. One of ['start', 'update', 'end']", "push_to_start_token" : "(optional, string) Live Activity push to start token", "time" : "(required, int) UNIX timestamp at which the event happened", @@ -7941,20 +7972,7 @@ This event occurs when Braze receives a response from a third party provider (e. } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Live Activity Send events {#live-activity-send-events} - -{% apitags %} -Live Activity, Sends -{% endapitags %} -This event occurs when Braze backend makes a request to its provider regarding Live Activity - -{% tabs %} {% tab Amplitude %} ```json // Live Activity Send (users.messages.liveactivity.Send) @@ -8066,40 +8084,53 @@ This event occurs when Braze backend makes a request to its provider regarding L } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Push Notification Abort events {#push-notification-abort-events} + +{% apitags %} +Abort, Push +{% endapitags %} + +This event occurs if a push notification message was aborted based on Liquid aborts, etc. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.liveactivity.Send +// users.messages.pushnotification.Abort { - "activity_attributes_type" : "(optional, string) Live Activity attribute type", - "activity_id" : "(optional, string) Live Activity identifier", + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "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", + "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", + "campaign_name" : "(optional, string) Name of the campaign", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", + "canvas_name" : "(optional, string) Name of the Canvas", + "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", + "canvas_step_name" : "(optional, string) Name of the Canvas step", + "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_id" : "(optional, string) ID of the device on which the event occurred", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "live_activity_event_type" : "(optional, string) Event type of Live Activity. One of ['start', 'update', 'end']", - "push_to_start_token" : "(optional, string) Live Activity push to start token", + "message_variation_id" : "(optional, string) API ID of the message variation this user received", + "message_variation_name" : "(optional, string) Name of the message variation", + "platform" : "(required, string) Platform of the device", + "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", - "update_token" : "(optional, string) Live Activity update token", + "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Push Notification Abort events {#push-notification-abort-events} - -{% apitags %} -Abort, Push -{% endapitags %} -This event occurs if a push notification message was aborted based on Liquid aborts, etc. - -{% tabs %} {% tab Amplitude %} ```json // Push Notification Abort (users.messages.pushnotification.Abort) @@ -8257,22 +8288,39 @@ This event occurs if a push notification message was aborted based on Liquid abo } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## Push Notification Bounce events {#push-notification-bounce-events} + +{% apitags %} +Push, Sends, Bounce +{% endapitags %} + +This event occurs when an error is received from either Apple Push Notification Service or Fire Cloud Messaging. This means that the push message was bounced, and therefore not delivered to the user's device. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.pushnotification.Abort +// users.messages.pushnotification.Bounce { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", + "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", + "app_id" : "(required, string) API ID of the app on which this event occurred", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", @@ -8282,7 +8330,7 @@ This event occurs if a push notification message was aborted based on Liquid abo "id" : "(required, string) Globally unique ID for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "platform" : "(required, string) Platform of the device", + "platform" : "(optional, string) Platform of the device", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", @@ -8290,24 +8338,7 @@ This event occurs if a push notification message was aborted based on Liquid abo } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} - -{% api %} -## Push Notification Bounce events {#push-notification-bounce-events} - -{% apitags %} -Push, Sends, Bounce -{% endapitags %} - -This event occurs when an error is received from either Apple Push Notification Service or Fire Cloud Messaging. This means that the push message was bounced, and therefore not delivered to the user's device. -{% tabs %} {% tab Amplitude %} ```json // Push Notification Bounce (users.messages.pushnotification.Bounce) @@ -8477,10 +8508,27 @@ This event occurs when an error is received from either Apple Push Notification } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager or account manager to enable the feature flipper for sending `ad_id`. +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## Push Notification iOS Foreground Open events {#push-notification-ios-foreground-open-events} + +{% apitags %} +Push, iOS, Sends +{% endapitags %} + +This event is not supported by our [Swift SDK](https://github.com/braze-inc/braze-swift-sdk) and is now deprecated using our [Obj-C SDK](https://github.com/Appboy/appboy-ios-sdk). +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.pushnotification.Bounce +// users.messages.pushnotification.IosForeground { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -8511,24 +8559,7 @@ This event occurs when an error is received from either Apple Push Notification } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager or account manager to enable the feature flipper for sending `ad_id`. -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## Push Notification iOS Foreground Open events {#push-notification-ios-foreground-open-events} - -{% apitags %} -Push, iOS, Sends -{% endapitags %} - -This event is not supported by our [Swift SDK](https://github.com/braze-inc/braze-swift-sdk) and is now deprecated using our [Obj-C SDK](https://github.com/Appboy/appboy-ios-sdk). -{% tabs %} {% tab Amplitude %} ```json // Push Notification iOS Foreground Open (users.messages.pushnotification.IosForeground) @@ -8647,10 +8678,34 @@ This event is not supported by our [Swift SDK](https://github.com/braze-inc/braz } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## Push Notification Open events {#push-notification-open-events} +{% apitags %} +Push, Opens +{% endapitags %} + +This event occurs when a user directly clicks on the push notification to open the application. Currently, Push Open Events refer specifically to "Direct Opens" rather than "Total Opens". This does not include statistics shown at the campaign level of "influenced opens" as these are not attributed at the user level. + +{% alert note %} +In rare cases, a push open may appear before the corresponding push send event in Currents data because of the following: +- Your SDK has an incorrect clock. +- High batch write latency. The recorded send time can lag behind early deliveries, so very quick opens may be logged before the batch's final send timestamp is written. Large sends are dispatched and recorded in batches. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.pushnotification.IosForeground +// users.messages.pushnotification.Open { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -8658,21 +8713,26 @@ This event is not supported by our [Swift SDK](https://github.com/braze-inc/braz "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" : "(required, string) API ID of the app on which this event occurred", + "button_action_type" : "(optional, string) Action type of the push notification button, null if not from a button click. One of ['uri', 'deep_link', 'none', 'close']", + "button_string" : "(optional, string) Identifier (button_string) of the push notification button clicked. null if not from a button click", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", + "device_model" : "(optional, string) Model of the device", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "platform" : "(required, string) Platform of the device", + "os_version" : "(optional, string) Version of the operating system of the device", + "platform" : "(optional, string) Platform of the device", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", @@ -8680,31 +8740,7 @@ This event is not supported by our [Swift SDK](https://github.com/braze-inc/braz } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## Push Notification Open events {#push-notification-open-events} -{% apitags %} -Push, Opens -{% endapitags %} - -This event occurs when a user directly clicks on the Push notification to open the application. Currently, Push Open Events refer specifically to "Direct Opens" rather than "Total Opens". This does not include statistics shown at the campaign level of "influenced opens" as these are not attributed at the user level. - -{% alert note %} -In rare cases, a push open may appear before the corresponding push send event in Currents data because of the following: -- Your SDK has an incorrect clock. -- High batch write latency. The recorded send time can lag behind early deliveries, so very quick opens may be logged before the batch's final send timestamp is written. Large sends are dispatched and recorded in batches. -{% endalert %} - -{% tabs %} {% tab Amplitude %} ```json // Push Notification Open (users.messages.pushnotification.Open) @@ -8877,10 +8913,28 @@ In rare cases, a push open may appear before the corresponding push send event i } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## Push Notification Send events {#push-notification-send-events} + +{% apitags %} +Push, Sends +{% endapitags %} + +This event occurs when Braze processes a push message for a user, communicating this to Apple Push Notification Service or Fire Cloud Messaging. This does not mean the push was delivered to the device, just that a message was sent. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.pushnotification.Open +// users.messages.pushnotification.Send { "ad_id" : "(optional, string) [PII] Advertising identifier", @@ -8888,26 +8942,24 @@ In rare cases, a push open may appear before the corresponding push send event i "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" : "(required, string) API ID of the app on which this event occurred", - "button_action_type" : "(optional, string) Action type of the push notification button, null if not from a button click. One of ['uri', 'deep_link', 'none', 'close']", - "button_string" : "(optional, string) Identifier (button_string) of the push notification button clicked. null if not from a button click", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", - "device_model" : "(optional, string) Model of the device", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", + "locale_key" : "(optional, string) [PII] The key corresponding to the translations (for example 'en-us') used to compose this message (null for default).", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "os_version" : "(optional, string) Version of the operating system of the device", - "platform" : "(optional, string) Platform of the device", + "platform" : "(required, string) Platform of the device", + "push_token" : "(optional, string) Push token of the event", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", @@ -8915,25 +8967,7 @@ In rare cases, a push open may appear before the corresponding push send event i } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## Push Notification Send events {#push-notification-send-events} - -{% apitags %} -Push, Sends -{% endapitags %} - -This event occurs when Braze processes a push message for a user, communicating this to Apple Push Notification Service or Fire Cloud Messaging. This does not mean the push was delivered to the device, just that a message was sent. -{% tabs %} {% tab Amplitude %} ```json // Push Notification Send (users.messages.pushnotification.Send) @@ -9111,62 +9145,53 @@ This event occurs when Braze processes a push message for a user, communicating } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). +- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. +- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language, country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## RCS Abort events {#rcs-abort-events} +{% apitags %} +RCS, Abort +{% endapitags %} + +This event is created when an RCS send is interrupted due to an error detected within Braze, and the message is dropped. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.pushnotification.Send +// users.messages.rcs.Abort { - "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", + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) The type of abort", "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", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "locale_key" : "(optional, string) [PII] The key corresponding to the translations (for example 'en-us') used to compose this message (null for default).", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "platform" : "(required, string) Platform of the device", - "push_token" : "(optional, string) Push token of the event", - "send_id" : "(optional, string) Message send ID this message belongs to", + "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- For `ad_id`, `ad_id_type`, and `ad_tracking_enabled`, you need to explicitly collect the iOS IDFA and Android Google advertising ID through the native SDKs. Learn more about this setup for [iOS]({{site.baseurl}}/developer_guide/analytics/managing_data_collection/?sdktab=swift) and [Android]({{site.baseurl}}/developer_guide/sdk_integration/?sdktab=android#android_google-advertising-id). -- If you're using Kafka to ingest [Currents]({{site.baseurl}}/user_guide/data/braze_currents/) data, contact your customer success manager to enable sending `ad_id`. -- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language, country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## RCS Abort events {#rcs-abort-events} - -{% apitags %} -RCS, Abort -{% endapitags %} - -This event is created when an RCS send is interrupted due to an error detected within Braze, and the message is dropped. -{% tabs %} {% tab Amplitude %} ```json // Abort (users.messages.rcs.Abort) @@ -9302,14 +9327,25 @@ This event is created when an RCS send is interrupted due to an error detected w } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## RCS Click events {#rcs-click-events} + +{% apitags %} +RCS, Clicks +{% endapitags %} + +An event that is created when the user interacts with an RCS message in a way that involves tapping or clicking on a UI element. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.Abort +// users.messages.rcs.Click { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) The type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -9319,30 +9355,28 @@ This event is created when an RCS send is interrupted due to an error detected w "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_id" : "(optional, string) ID of the device on which the event occurred", + "element_label" : "(optional, string) Optional details about the clicked element, such as the text of a suggested reply or button. \nExample: Button or chip text (will be reply message body for reply chips and buttons)", + "element_type" : "(optional, string) Specifies if an interaction_type that is common across suggestions and buttons came from a suggestion or button. Examples: Suggestion, Button", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", + "interaction_type" : "(required, string) The type of interaction that generated the click. Example string values: Text URL, Reply, OpenURL", + "is_suspected_bot_click" : "(optional, boolean) Whether this event was processed as a bot event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "send_id" : "(optional, string) Message send ID this message belongs to", + "short_url" : "(optional, string) The shortened URL that a user clicks on", "subscription_group_id" : "(optional, string) Subscription group API ID", + "suspected_bot_click_reason" : "(optional, array of string) Reasons why this event was classified as a bot", "time" : "(required, int) UNIX timestamp at which the event happened", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## RCS Click events {#rcs-click-events} - -{% apitags %} -RCS, Clicks -{% endapitags %} - -An event that is created when the user interacts with an RCS message in a way that involves tapping or clicking on a UI element. + "url" : "(optional, string) The full URL that the user clicked on", + "user_agent" : "(optional, string) User agent on which the click occurred", + "user_id" : "(required, string) Braze user ID of the user who performed this event", + "user_phone_number" : "(optional, string) [PII] The user's phone number from which the message was received" +} +``` +{% endtab %} -{% tabs %} {% tab Amplitude %} ```json // Click (users.messages.rcs.Click) @@ -9516,10 +9550,23 @@ An event that is created when the user interacts with an RCS message in a way th } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## RCS Delivery events {#rcs-delivery-events} + +{% apitags %} +RCS, Delivery +{% endapitags %} +This event is created when an RCS message is successfully delivered to a user's mobile device. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.Click +// users.messages.rcs.Delivery { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -9532,40 +9579,21 @@ An event that is created when the user interacts with an RCS message in a way th "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", - "element_label" : "(optional, string) Optional details about the clicked element, such as the text of a suggested reply or button. \nExample: Button or chip text (will be reply message body for reply chips and buttons)", - "element_type" : "(optional, string) Specifies if an interaction_type that is common across suggestions and buttons came from a suggestion or button. Examples: Suggestion, Button", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", + "from_rcs_sender" : "(optional, string) The RCS sender ID or agent name used to send the message", "id" : "(required, string) Globally unique ID for this event", - "interaction_type" : "(required, string) The type of interaction that generated the click. Example string values: Text URL, Reply, OpenURL", - "is_suspected_bot_click" : "(optional, boolean) Whether this event was processed as a bot event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", - "short_url" : "(optional, string) The shortened URL that a user clicks on", "subscription_group_id" : "(optional, string) Subscription group API ID", - "suspected_bot_click_reason" : "(optional, array of string) Reasons why this event was classified as a bot", "time" : "(required, int) UNIX timestamp at which the event happened", - "url" : "(optional, string) The full URL that the user clicked on", - "user_agent" : "(optional, string) User agent on which the click occurred", - "user_id" : "(required, string) Braze user ID of the user who performed this event", - "user_phone_number" : "(optional, string) [PII] The user's phone number from which the message was received" + "to_phone_number" : "(required, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## RCS Delivery events {#rcs-delivery-events} - -{% apitags %} -RCS, Delivery -{% endapitags %} - -This event is created when an RCS message is successfully delivered to a user's mobile device. -{% tabs %} {% tab Amplitude %} ```json // Delivery (users.messages.rcs.Delivery) @@ -9717,12 +9745,30 @@ This event is created when an RCS message is successfully delivered to a user's } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## RCS Inbound Received events {#rcs-inbound-received-events} + +{% apitags %} +RCS, Inbound Received +{% endapitags %} + +This event is created when Braze receives an RCS message that originates from the user. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.Delivery +// users.messages.rcs.InboundReceive { + "action" : "(required, string) Action taken in response to this message. (for example Subscribed, Unsubscribed or None).", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -9731,40 +9777,22 @@ This event is created when an RCS message is successfully delivered to a user's "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", - "from_rcs_sender" : "(optional, string) The RCS sender ID or agent name used to send the message", "id" : "(required, string) Globally unique ID for this event", + "media_urls" : "(optional, array of string) Media URLs from the user", + "message_body" : "(required, string) Typed response from the user", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", - "to_phone_number" : "(required, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "to_rcs_sender" : "(required, string) The inbound RCS sender that the message was sent to", + "user_id" : "(optional, string) Braze user ID of the user who performed this event", + "user_phone_number" : "(required, string) [PII] The user's phone number from which the message was received" } ``` {% endtab %} -{% endtabs %} -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). - -{% endapi %} - -{% api %} -## RCS Inbound Received events {#rcs-inbound-received-events} - -{% apitags %} -RCS, Inbound Received -{% endapitags %} - -This event is created when Braze receives an RCS message that originates from the user. - -{% tabs %} {% tab Amplitude %} ```json // Inbound Receive (users.messages.rcs.InboundReceive) @@ -9913,13 +9941,25 @@ This event is created when Braze receives an RCS message that originates from th } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## RCS Read events {#rcs-read-events} + +{% apitags %} +RCS, Read +{% endapitags %} + +This event is created when a user opens an RCS message on their device, indicating that they have seen or read the message content. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.InboundReceive +// users.messages.rcs.Read { - "action" : "(required, string) Action taken in response to this message. (for example Subscribed, Unsubscribed or None).", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -9928,35 +9968,18 @@ This event is created when Braze receives an RCS message that originates from th "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", + "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "media_urls" : "(optional, array of string) Media URLs from the user", - "message_body" : "(required, string) Typed response from the user", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", - "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", - "to_rcs_sender" : "(required, string) The inbound RCS sender that the message was sent to", - "user_id" : "(optional, string) Braze user ID of the user who performed this event", - "user_phone_number" : "(required, string) [PII] The user's phone number from which the message was received" + "to_phone_number" : "(required, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## RCS Read events {#rcs-read-events} -{% apitags %} -RCS, Read -{% endapitags %} - -This event is created when a user opens an RCS message on their device, indicating that they have seen or read the message content. - -{% tabs %} {% tab Amplitude %} ```json // Read (users.messages.rcs.Read) @@ -10086,10 +10109,23 @@ This event is created when a user opens an RCS message on their device, indicati } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## RCS Rejection events {#rcs-rejection-events} + +{% apitags %} +RCS, Rejection +{% endapitags %} + +An event that is created when an RCS message fails to be delivered to a user's mobile device due to intervention by the carrier. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.Read +// users.messages.rcs.Rejection { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -10101,30 +10137,25 @@ This event is created when a user opens an RCS message on their device, indicati "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_id" : "(optional, string) ID of the device on which the event occurred", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "error" : "(optional, string) Error name", "external_user_id" : "(optional, string) [PII] External ID of the user", + "from_rcs_sender" : "(optional, string) The RCS sender ID or agent name used to send the message", "id" : "(required, string) Globally unique ID for this event", + "is_sms_fallback" : "(optional, boolean) Indicates if SMS fallback was attempted for this rejected RCS message. It is linked/paired to the SMS Delivery event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "provider_error_code" : "(optional, string) The error code from the provider", + "send_id" : "(optional, string) Message send ID this message belongs to", + "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", "to_phone_number" : "(required, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## RCS Rejection events {#rcs-rejection-events} - -{% apitags %} -RCS, Rejection -{% endapitags %} -An event that is created when an RCS message fails to be delivered to a user's mobile device due to intervention by the carrier. - -{% tabs %} {% tab Amplitude %} ```json // Rejection (users.messages.rcs.Rejection) @@ -10288,10 +10319,23 @@ An event that is created when an RCS message fails to be delivered to a user's m } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## RCS Send events {#rcs-send-events} + +{% apitags %} +RCS, Sends +{% endapitags %} + +This event is created when an RCS message is sent out of Braze to our last-mile delivery partners. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.Rejection +// users.messages.rcs.Send { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -10303,16 +10347,15 @@ An event that is created when an RCS message fails to be delivered to a user's m "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "category" : "(optional, string) Keyword category name, only populated for auto-reply messages: 'opt-in', 'opt-out', 'help', or custom value", "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "error" : "(optional, string) Error name", "external_user_id" : "(optional, string) [PII] External ID of the user", "from_rcs_sender" : "(optional, string) The RCS sender ID or agent name used to send the message", "id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates if SMS fallback was attempted for this rejected RCS message. It is linked/paired to the SMS Delivery event", + "message_extras" : "(optional, string) A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "provider_error_code" : "(optional, string) The error code from the provider", "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", @@ -10321,20 +10364,7 @@ An event that is created when an RCS message fails to be delivered to a user's m } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## RCS Send events {#rcs-send-events} - -{% apitags %} -RCS, Sends -{% endapitags %} -This event is created when an RCS messages is sent out of Braze to our last-mile delivery partners. - -{% tabs %} {% tab Amplitude %} ```json // Send (users.messages.rcs.Send) @@ -10494,55 +10524,51 @@ This event is created when an RCS messages is sent out of Braze to our last-mile } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} +{% api %} +## SMS Abort events {#sms-abort-events} + +{% apitags %} +Abort, SMS +{% endapitags %} + +This event occurs if an SMS message was aborted based on Liquid aborts, etc. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.rcs.Send +// users.messages.sms.Abort { + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", + "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "category" : "(optional, string) Keyword category name, only populated for auto-reply messages: 'opt-in', 'opt-out', 'help', or custom value", - "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", - "from_rcs_sender" : "(optional, string) The RCS sender ID or agent name used to send the message", "id" : "(required, string) Globally unique ID for this event", - "message_extras" : "(optional, string) A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", - "to_phone_number" : "(required, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## SMS Abort events {#sms-abort-events} - -{% apitags %} -Abort, SMS -{% endapitags %} - -This event occurs if an SMS message was aborted based on Liquid aborts, etc. -{% tabs %} {% tab Amplitude %} ```json // SMS Abort (users.messages.sms.Abort) @@ -10682,52 +10708,54 @@ This event occurs if an SMS message was aborted based on Liquid aborts, etc. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## SMS Carrier Send events {#sms-carrier-send-events} + +{% apitags %} +SMS, Sends +{% endapitags %} +This event occurs when an SMS is sent to the carrier. + +{% alert important %} +`CarrierSend` is supported only for users on legacy infrastructure. +{% endalert %} + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.Abort +// users.messages.sms.CarrierSend { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", + "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", + "timezone" : "(optional, string) Time zone of the user", + "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## SMS Carrier Send events {#sms-carrier-send-events} - -{% apitags %} -SMS, Sends -{% endapitags %} - -This event occurs when an SMS is sent to the carrier. - -{% alert important %} -`CarrierSend` is supported only for users on legacy infrastructure. -{% endalert %} -{% tabs %} {% tab Amplitude %} ```json // SMS Carrier Send (users.messages.sms.CarrierSend) @@ -10883,10 +10911,26 @@ This event occurs when an SMS is sent to the carrier. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## SMS Delivery events {#sms-delivery-events} + +{% apitags %} +SMS, Delivery +{% endapitags %} + +This event occurs when an SMS was successfully delivered to the user's mobile phone. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.CarrierSend +// users.messages.sms.Delivery { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -10902,6 +10946,7 @@ This event occurs when an SMS is sent to the carrier. "external_user_id" : "(optional, string) [PII] External ID of the user", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -10913,23 +10958,7 @@ This event occurs when an SMS is sent to the carrier. } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## SMS Delivery events {#sms-delivery-events} - -{% apitags %} -SMS, Delivery -{% endapitags %} - -This event occurs when an SMS was successfully delivered to the user's mobile phone. -{% tabs %} {% tab Amplitude %} ```json // SMS Delivery (users.messages.sms.Delivery) @@ -10948,7 +10977,7 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -10986,7 +11015,7 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph "distinct_id" : "(required, string) [PII] External ID of the user", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "$insert_id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -11024,7 +11053,7 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -11077,7 +11106,7 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", @@ -11089,10 +11118,26 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## SMS Delivery Failure events {#sms-delivery-failure-events} + +{% apitags %} +SMS, Delivery +{% endapitags %} + +This event occurs when an SMS experiences delivery failure. Use this event and the provided error codes to help troubleshoot issues with SMS delivery. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.Delivery +// users.messages.sms.DeliveryFailure { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -11105,12 +11150,13 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "error" : "(optional, string) Error name", "external_user_id" : "(optional, string) [PII] External ID of the user", - "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "provider_error_code" : "(optional, string) Error code from the SMS provider", "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", @@ -11120,23 +11166,7 @@ This event occurs when an SMS was successfully delivered to the user's mobile ph } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## SMS Delivery Failure events {#sms-delivery-failure-events} - -{% apitags %} -SMS, Delivery -{% endapitags %} - -This event occurs when an SMS experiences delivery failure. Use this event and the provided error codes to help troubleshoot issues with SMS delivery. -{% tabs %} {% tab Amplitude %} ```json // SMS Delivery Failure (users.messages.sms.DeliveryFailure) @@ -11155,7 +11185,7 @@ This event occurs when an SMS experiences delivery failure. Use this event and t "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "error" : "(optional, string) Error name", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11194,7 +11224,7 @@ This event occurs when an SMS experiences delivery failure. Use this event and t "distinct_id" : "(required, string) [PII] External ID of the user", "error" : "(optional, string) Error name", "$insert_id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11233,7 +11263,7 @@ This event occurs when an SMS experiences delivery failure. Use this event and t "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "error" : "(optional, string) Error name", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11287,7 +11317,7 @@ This event occurs when an SMS experiences delivery failure. Use this event and t "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "error" : "(optional, string) Error name", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11300,13 +11330,34 @@ This event occurs when an SMS experiences delivery failure. Use this event and t } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## SMS Inbound Received events {#sms-inbound-received-events} + +{% apitags %} +SMS, Inbound Received +{% endapitags %} + +This event occurs when one of your users sends an SMS to a phone number in one of your Braze SMS subscription groups. +When Braze receives an inbound SMS, we attribute that inbound message to any user that shares that phone number. As a result, you may receive multiple events per inbound message if multiple users in your Braze instance share the same phone number. If you require attribution of specific user IDs based on previous messages sent to that user, you can use the SMS Delivered event to attribute Inbound Received events to the user ID who most recently received a message from your Braze number. + +If we detect that this inbound message is a reply to an outbound campaign or Canvas component sent from Braze, we will also include the campaign or Canvas metadata with the event. Braze defines a reply as an inbound message coming within four hours of an outbound message. However, there is a one-minute cache for the attributed campaign information of the last outbound SMS received. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.DeliveryFailure +// users.messages.sms.InboundReceive { - "app_group_id" : "(optional, string) API ID of the app group this user belongs to", + "action" : "(required, string) Action taken in response to this message. (for example Subscribed, Unsubscribed or None).", + "app_group_id" : "(required, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -11315,45 +11366,21 @@ This event occurs when an SMS experiences delivery failure. Use this event and t "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "error" : "(optional, string) Error name", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID", + "inbound_phone_number" : "(required, string) The inbound number that the message was sent to", + "media_urls" : "(optional, array of string) Media URLs from the user", + "message_body" : "(required, string) Typed response from the user", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "provider_error_code" : "(optional, string) Error code from the SMS provider", - "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "user_id" : "(optional, string) Braze user ID of the user who performed this event", + "user_phone_number" : "(required, string) [PII] The user's phone number from which the message was received" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## SMS Inbound Received events {#sms-inbound-received-events} - -{% apitags %} -SMS, Inbound Received -{% endapitags %} - -This event occurs when one of your users sends an SMS to a phone number in one of your Braze SMS subscription groups. - -When Braze receives an inbound SMS, we attribute that inbound message to any user that shares that phone number. As a result, you may receive multiple events per inbound message if multiple users in your Braze instance share the same phone number. If you require attribution of specific user IDs based on previous messages sent to that user, you can use the SMS Delivered event to attribute Inbound Received events to the user ID who most recently received a message from your Braze number. - -If we detect that this inbound message is a reply to an outbound campaign or Canvas component sent from Braze, we will also include the campaign or Canvas metadata with the event. Braze defines a reply as an inbound message coming within four hours of an outbound message. However, there is a one-minute cache for the attributed campaign information of the last outbound SMS received. - -{% tabs %} {% tab Amplitude %} ```json // SMS Inbound Received (users.messages.sms.InboundReceive) @@ -11506,14 +11533,26 @@ If we detect that this inbound message is a reply to an outbound campaign or Can } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## SMS Rejection events {#sms-rejection-events} + +{% apitags %} +SMS, Rejection +{% endapitags %} + +This event occurs when an SMS send gets rejected by the carrier. This can happen for several reasons. Use this event and the provided error codes to help troubleshoot issues with SMS delivery. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.InboundReceive +// users.messages.sms.Rejection { - "action" : "(required, string) Action taken in response to this message. (for example Subscribed, Unsubscribed or None).", - "app_group_id" : "(required, string) API ID of the app group this user belongs to", + "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", @@ -11522,34 +11561,25 @@ If we detect that this inbound message is a reply to an outbound campaign or Can "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "error" : "(optional, string) Error name", "external_user_id" : "(optional, string) [PII] External ID of the user", + "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", - "inbound_phone_number" : "(required, string) The inbound number that the message was sent to", - "media_urls" : "(optional, array of string) Media URLs from the user", - "message_body" : "(required, string) Typed response from the user", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "provider_error_code" : "(optional, string) Error code from the SMS provider", + "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", - "user_id" : "(optional, string) Braze user ID of the user who performed this event", - "user_phone_number" : "(required, string) [PII] The user's phone number from which the message was received" + "timezone" : "(optional, string) Time zone of the user", + "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## SMS Rejection events {#sms-rejection-events} - -{% apitags %} -SMS, Rejection -{% endapitags %} - -This event occurs when an SMS send gets rejected by the carrier, this can happen for several reasons. Use this event and the provided error codes to help troubleshoot issues with SMS delivery. -{% tabs %} {% tab Amplitude %} ```json // SMS Rejection (users.messages.sms.Rejection) @@ -11569,7 +11599,7 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "error" : "(optional, string) Error name", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11609,7 +11639,7 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen "error" : "(optional, string) Error name", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "$insert_id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11649,7 +11679,7 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "error" : "(optional, string) Error name", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11704,7 +11734,7 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "error" : "(optional, string) Error name", "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", + "is_sms_fallback" : "(optional, boolean) Indicates that an SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "provider_error_code" : "(optional, string) Error code from the SMS provider", @@ -11717,10 +11747,26 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen } ``` {% endtab %} +{% endtabs %} + +#### Property details +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## SMS Send events {#sms-send-events} + +{% apitags %} +SMS, Sends +{% endapitags %} + +This event occurs when a user sends an SMS. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.Rejection +// users.messages.sms.Send { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -11732,15 +11778,13 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "category" : "(optional, string) Keyword category name, only populated for auto-reply messages: 'opt-in', 'opt-out', 'help', or custom value", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "error" : "(optional, string) Error name", "external_user_id" : "(optional, string) [PII] External ID of the user", - "from_phone_number" : "(optional, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", - "is_sms_fallback" : "(optional, boolean) Indicates that a SMS fallback message was sent due to a rejected RCS message. The message could result in delivery, delivery failure, or rejection. It can be linked to the RCS Rejection event via a send ID and dispatch ID\nIt can be linked to the RCS Rejection event via a send ID and dispatch ID. (Event property)", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "provider_error_code" : "(optional, string) Error code from the SMS provider", "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "time" : "(required, int) UNIX timestamp at which the event happened", @@ -11750,23 +11794,7 @@ This event occurs when an SMS send gets rejected by the carrier, this can happen } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## SMS Send events {#sms-send-events} - -{% apitags %} -SMS, Sends -{% endapitags %} - -This event occurs when a user sends an SMS. -{% tabs %} {% tab Amplitude %} ```json // SMS Send (users.messages.sms.Send) @@ -11926,10 +11954,27 @@ This event occurs when a user sends an SMS. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language, country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## SMS Short Link Click events {#sms-short-link-click-events} + +{% apitags %} +SMS, Clicks +{% endapitags %} + +This event occurs when a user clicks an SMS short link. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.Send +// users.messages.sms.ShortLinkClick { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -11941,40 +11986,23 @@ This event occurs when a user sends an SMS. "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "category" : "(optional, string) Keyword category name, only populated for auto-reply messages: 'opt-in', 'opt-out', 'help', or custom value", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", + "is_suspected_bot_click" : "(optional, boolean) Whether this event was processed as a bot event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", - "subscription_group_id" : "(optional, string) Subscription group API ID", + "short_url" : "(required, string) Shortened url that was clicked", + "suspected_bot_click_reason" : "(optional, array of string) Why this event was classified as a bot", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "url" : "(required, string) URL that the user clicked on", + "user_agent" : "(optional, string) User agent on which the click occurred", + "user_id" : "(required, string) Braze user ID of the user who performed this event", + "user_phone_number" : "(optional, string) [PII] The user's phone number from which the message was received" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language, country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## SMS Short Link Click events {#sms-short-link-click-events} - -{% apitags %} -SMS, Clicks -{% endapitags %} - -This event occurs when a user clicks an SMS short link. -{% tabs %} {% tab Amplitude %} ```json // SMS Short Link Click (users.messages.sms.ShortLinkClick) @@ -12133,51 +12161,51 @@ This event occurs when a user clicks an SMS short link. } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## Webhook Abort events {#webhook-abort-events} + +{% apitags %} +Abort, Webhooks +{% endapitags %} +This event occurs if a webhook message was aborted based on Liquid aborts, etc. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.sms.ShortLinkClick +// users.messages.webhook.Abort { + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_id" : "(optional, string) ID of the device on which the event occurred", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "is_suspected_bot_click" : "(optional, boolean) Whether this event was processed as a bot event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "short_url" : "(required, string) Shortened url that was clicked", - "suspected_bot_click_reason" : "(optional, array of string) Why this event was classified as a bot", + "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "url" : "(required, string) URL that the user clicked on", - "user_agent" : "(optional, string) User agent on which the click occurred", - "user_id" : "(required, string) Braze user ID of the user who performed this event", - "user_phone_number" : "(optional, string) [PII] The user's phone number from which the message was received" + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## Webhook Abort events {#webhook-abort-events} - -{% apitags %} -Abort, Webhooks -{% endapitags %} - -This event occurs if a webhook message was aborted based on Liquid aborts, etc. -{% tabs %} {% tab Amplitude %} ```json // Webhook Abort (users.messages.webhook.Abort) @@ -12327,14 +12355,28 @@ This event occurs if a webhook message was aborted based on Liquid aborts, etc. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## Webhook Failure events {#webhook-failure-events} + +{% apitags %} +Failure, Webhooks +{% endapitags %} + +This event occurs if a webhook message was delivered but failed with an error response from the endpoint. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.webhook.Abort +// users.messages.webhook.Failure { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -12345,36 +12387,28 @@ This event occurs if a webhook message was aborted based on Liquid aborts, etc. "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "device_id" : "(optional, string) ID of the device on which the event occurred", + "content_length" : "(optional, int) Content length of the response", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", + "endpoint_url" : "(optional, string) The endpoint URL of the failed webhook", "external_user_id" : "(optional, string) [PII] External ID of the user", + "host" : "(optional, string) The host of the webhook URL that returned a failure response", + "http_status_code" : "(optional, int) HTTP status code of the response", "id" : "(required, string) Globally unique ID for this event", + "is_terminal" : "(optional, boolean) Whether this event was the terminal attempt in a send", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "raw_response" : "(optional, string) Truncated raw response from endpoint", + "retry_count" : "(optional, int) Number of webhook sends attempted before giving up", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "url_path" : "(optional, string) The path of the webhook URL that returned a failure response", + "user_id" : "(required, string) Braze user ID of the user who performed this event", + "webhook_duration" : "(optional, int) Total duration of this request in milliseconds", + "webhook_failure_source" : "(optional, string) To tell whether an error was created by Braze or by the endpoint itself. The source field could be External Endpoint, Treat no status code to host unreachable" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## Webhook Failure events {#webhook-failure-events} - -{% apitags %} -Failure, Webhooks -{% endapitags %} - -This event occurs if a webhook message was delivered but failed with an error response from the endpoint. -{% tabs %} {% tab Amplitude %} ```json // Webhook Failure (users.messages.webhook.Failure) @@ -12550,10 +12584,26 @@ This event occurs if a webhook message was delivered but failed with an error re } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## Webhook Send events {#webhook-send-events} + +{% apitags %} +Webhooks, Sends +{% endapitags %} + +This event occurs when a webhook was processed and sent to the third party specified in that webhook. Note that this does not signify whether or not the request was received. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.webhook.Failure +// users.messages.webhook.Send { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -12562,48 +12612,23 @@ This event occurs if a webhook message was delivered but failed with an error re "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "content_length" : "(optional, int) Content length of the response", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "endpoint_url" : "(optional, string) The endpoint URL of the failed webhook", "external_user_id" : "(optional, string) [PII] External ID of the user", - "host" : "(optional, string) The host of the webhook URL that returned a failure response", - "http_status_code" : "(optional, int) HTTP status code of the response", "id" : "(required, string) Globally unique ID for this event", - "is_terminal" : "(optional, boolean) Whether this event was the terminal attempt in a send", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "raw_response" : "(optional, string) Truncated raw response from endpoint", - "retry_count" : "(optional, int) Number of webhook sends attempted before giving up", "send_id" : "(optional, string) Message send ID this message belongs to", "time" : "(required, int) UNIX timestamp at which the event happened", - "url_path" : "(optional, string) The path of the webhook URL that returned a failure response", - "user_id" : "(required, string) Braze user ID of the user who performed this event", - "webhook_duration" : "(optional, int) Total duration of this request in milliseconds", - "webhook_failure_source" : "(optional, string) To tell whether an error was created by Braze or by the endpoint itself. The source field could be External Endpoint, Treat no status code to host unreachable" + "timezone" : "(optional, string) Time zone of the user", + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## Webhook Send events {#webhook-send-events} - -{% apitags %} -Webhooks, Sends -{% endapitags %} -This event occurs when a webhook was processed and sent to the third party specified in that webhook. Note that this does not signify whether or not the request was received. - -{% tabs %} {% tab Amplitude %} ```json // Webhook Send (users.messages.webhook.Send) @@ -12749,52 +12774,56 @@ This event occurs when a webhook was processed and sent to the third party speci } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language or country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## WhatsApp Abort events {#whatsapp-abort-events} + +{% apitags %} +WhatsApp, Abort +{% endapitags %} + +This event occurs if a WhatsApp message was aborted based on Liquid aborts, etc. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.webhook.Send +// users.messages.whatsapp.Abort { + "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", + "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", "canvas_name" : "(optional, string) Name of the Canvas", "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", + "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", - "time" : "(required, int) UNIX timestamp at which the event happened", + "subscription_group_id" : "(optional, string) Subscription group API ID", + "time" : "(required, long) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", + "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `message_extras` allow you to annotate your send events with dynamic data from Connected Content, custom attributes (such as language or country), and Canvas entry properties. Refer to [Message extras]({{site.baseurl}}/message_extras_tag/) to learn more. -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## WhatsApp Abort events {#whatsapp-abort-events} - -{% apitags %} -WhatsApp, Abort -{% endapitags %} - -This event occurs if a WhatsApp message was aborted based on Liquid aborts, etc. -{% tabs %} {% tab Amplitude %} ```json // WhatsApp Abort (users.messages.whatsapp.Abort) @@ -12950,14 +12979,28 @@ This event occurs if a WhatsApp message was aborted based on Liquid aborts, etc. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## WhatsApp Tracked Link Click events {#whatsapp-tracked-link-click-events} + +{% apitags %} +WhatsApp, Clicks +{% endapitags %} + +This event occurs when a user clicks a link or button in a WhatsApp message where the link's domain matches the click tracking domain. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.whatsapp.Abort +// users.messages.whatsapp.Click { - "abort_log" : "(optional, string) [PII] Log message describing abort details (up to 128 chars)", - "abort_type" : "(optional, string) Type of abort", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -12969,36 +13012,21 @@ This event occurs if a WhatsApp message was aborted based on Liquid aborts, etc. "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "id" : "(required, string) Globally unique ID for this event", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "subscription_group_id" : "(optional, string) Subscription group API ID", - "time" : "(required, long) UNIX timestamp at which the event happened", + "short_url" : "(required, string) Shortened url that was clicked", + "time" : "(required, int) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "url" : "(required, string) URL that the user clicked on", + "user_agent" : "(optional, string) User agent on which the click occurred", + "user_id" : "(required, string) Braze user ID of the user who performed this event", + "user_phone_number" : "(optional, string) [PII] The user's phone number from which the message was received" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## WhatsApp Tracked Link Click events {#whatsapp-tracked-link-click-events} - -{% apitags %} -WhatsApp, Clicks -{% endapitags %} - -This event occurs when a user clicks a link or button in a WhatsApp message where the link's domain matches the click tracking domain. -{% tabs %} {% tab Amplitude %} ```json // WhatsApp Tracked Link Click (users.messages.whatsapp.Click) @@ -13150,10 +13178,23 @@ This event occurs when a user clicks a link or button in a WhatsApp message wher } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## WhatsApp Delivery events {#whatsapp-delivery-events} + +{% apitags %} +WhatsApp, Delivery +{% endapitags %} + +This event occurs when an WhatsApp message sent made it successfully to the user's device. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.whatsapp.Click +// users.messages.whatsapp.Delivery { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -13167,34 +13208,25 @@ This event occurs when a user clicks a link or button in a WhatsApp message wher "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", + "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the message includes a CTA to respond to a WhatsApp Flow", + "from_phone_number" : "(required, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", + "message_id" : "(optional, string) The unique ID generated by Meta for this message", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "short_url" : "(required, string) Shortened url that was clicked", - "time" : "(required, int) UNIX timestamp at which the event happened", + "send_id" : "(optional, string) Message send ID this message belongs to", + "subscription_group_id" : "(optional, string) Subscription group API ID", + "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp manager. Present if sending a Template Message", + "time" : "(required, long) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "url" : "(required, string) URL that the user clicked on", - "user_agent" : "(optional, string) User agent on which the click occurred", - "user_id" : "(required, string) Braze user ID of the user who performed this event", - "user_phone_number" : "(optional, string) [PII] The user's phone number from which the message was received" + "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} -{% endapi %} - -{% api %} -## WhatsApp Delivery events {#whatsapp-delivery-events} - -{% apitags %} -WhatsApp, Delivery -{% endapitags %} - -This event occurs when an WhatsApp message sent made it successfully to the user's device. - -{% tabs %} {% tab Amplitude %} ```json // WhatsApp Delivery (users.messages.whatsapp.Delivery) @@ -13362,10 +13394,27 @@ This event occurs when an WhatsApp message sent made it successfully to the user } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). + +{% endapi %} + +{% api %} +## WhatsApp Failure events {#whatsapp-failure-events} + +{% apitags %} +WhatsApp, Failure +{% endapitags %} + +This event occurs when WhatsApp cannot deliver the message to the user. A hard bounce signifies a permanent deliverability failure. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.whatsapp.Delivery +// users.messages.whatsapp.Failure { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -13387,6 +13436,8 @@ This event occurs when an WhatsApp message sent made it successfully to the user "message_id" : "(optional, string) The unique ID generated by Meta for this message", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", + "provider_error_code" : "(required, string) Error code from WhatsApp", + "provider_error_title" : "(required, string) Description of error from WhatsApp", "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp manager. Present if sending a Template Message", @@ -13589,12 +13640,29 @@ This event occurs when WhatsApp cannot deliver the message to the user. A hard b } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## WhatsApp Inbound Received events {#whatsapp-inbound-received-events} + +{% apitags %} +WhatsApp, Inbound Received +{% endapitags %} + +This event occurs when one of your users sends a WhatsApp message to a phone number in one of your Braze WhatsApp subscription groups. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.whatsapp.Failure +// users.messages.whatsapp.InboundReceive { + "action" : "(required, string) Action taken in response to this message. (for example Subscribed, Unsubscribed or None).", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -13605,44 +13673,30 @@ This event occurs when WhatsApp cannot deliver the message to the user. A hard b "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", + "catalog_id" : "(optional, string) Catalog ID of a product if a product is referenced in the inbound message. Otherwise, empty.", "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", - "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the message includes a CTA to respond to a WhatsApp Flow", - "from_phone_number" : "(required, string) Phone number used to send in e.164 format (for example +14155552671)", + "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the user is responding to a WhatsApp Flow.", + "flow_response_json" : "(optional, string) [PII] The form values the user responded with. Present if the user is responding to a WhatsApp Flow.", "id" : "(required, string) Globally unique ID for this event", + "in_reply_to" : "(optional, string) The message_id of the message this message was replying to", + "inbound_phone_number" : "(required, string) The inbound number that the message was sent to", + "media_urls" : "(optional, array of string) Media URLs from the user", + "message_body" : "(optional, string) Typed response from the user", "message_id" : "(optional, string) The unique ID generated by Meta for this message", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "provider_error_code" : "(required, string) Error code from WhatsApp", - "provider_error_title" : "(required, string) Description of error from WhatsApp", - "send_id" : "(optional, string) Message send ID this message belongs to", + "product_id" : "(optional, string) Product SKU if a product is referenced in the inbound message. Otherwise, empty.", + "quick_reply_text" : "(optional, string) Text of button pressed by the user", "subscription_group_id" : "(optional, string) Subscription group API ID", - "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp manager. Present if sending a Template Message", "time" : "(required, long) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", - "user_id" : "(required, string) Braze user ID of the user who performed this event" + "user_id" : "(optional, string) Braze user ID of the user who performed this event", + "user_phone_number" : "(required, string) [PII] The user's phone number from which the message was received" } ``` {% endtab %} -{% endtabs %} - -#### Property details - -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## WhatsApp Inbound Received events {#whatsapp-inbound-received-events} - -{% apitags %} -WhatsApp, Inbound Received -{% endapitags %} - -This event occurs when one of your users sends a WhatsApp message to a phone number in one of your Braze WhatsApp subscription groups. -{% tabs %} {% tab Amplitude %} ```json // WhatsApp Inbound Received (users.messages.whatsapp.InboundReceive) @@ -13829,13 +13883,25 @@ This event occurs when one of your users sends a WhatsApp message to a phone num } ``` {% endtab %} +{% endtabs %} + +{% endapi %} + +{% api %} +## WhatsApp Read events {#whatsapp-read-events} + +{% apitags %} +WhatsApp, Read +{% endapitags %} + +This event occurs when an WhatsApp message is read by the user. +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.whatsapp.InboundReceive +// users.messages.whatsapp.Read { - "action" : "(required, string) Action taken in response to this message. (for example Subscribed, Unsubscribed or None).", "app_group_id" : "(optional, string) API ID of the app group this user belongs to", "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", "campaign_name" : "(optional, string) Name of the campaign", @@ -13846,43 +13912,26 @@ This event occurs when one of your users sends a WhatsApp message to a phone num "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", - "catalog_id" : "(optional, string) Catalog ID of a product if a product is referenced in the inbound message. Otherwise, empty.", "device_id" : "(optional, string) ID of the device on which the event occurred", + "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", - "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the user is responding to a WhatsApp Flow.", - "flow_response_json" : "(optional, string) [PII] The form values the user responded with. Present if the user is responding to a WhatsApp Flow.", + "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the message includes a CTA to respond to a WhatsApp Flow", + "from_phone_number" : "(required, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", - "in_reply_to" : "(optional, string) The message_id of the message this message was replying to", - "inbound_phone_number" : "(required, string) The inbound number that the message was sent to", - "media_urls" : "(optional, array of string) Media URLs from the user", - "message_body" : "(optional, string) Typed response from the user", "message_id" : "(optional, string) The unique ID generated by Meta for this message", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", - "product_id" : "(optional, string) Product SKU if a product is referenced in the inbound message. Otherwise, empty.", - "quick_reply_text" : "(optional, string) Text of button pressed by the user", + "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", + "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp manager. Present if sending a Template Message", "time" : "(required, long) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", - "user_id" : "(optional, string) Braze user ID of the user who performed this event", - "user_phone_number" : "(required, string) [PII] The user's phone number from which the message was received" + "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", + "user_id" : "(required, string) Braze user ID of the user who performed this event" } ``` {% endtab %} -{% endtabs %} - -{% endapi %} - -{% api %} -## WhatsApp Read events {#whatsapp-read-events} -{% apitags %} -WhatsApp, Read -{% endapitags %} - -This event occurs when an WhatsApp message is read by the user. - -{% tabs %} {% tab Amplitude %} ```json // WhatsApp Read (users.messages.whatsapp.Read) @@ -14050,10 +14099,26 @@ This event occurs when an WhatsApp message is read by the user. } ``` {% endtab %} +{% endtabs %} + +#### Property details + +- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). +{% endapi %} + +{% api %} +## WhatsApp Send events {#whatsapp-send-events} +{% apitags %} +WhatsApp, Sends +{% endapitags %} + +This event occurs when a send request was successfully communicated between Braze and WhatsApp. Though, this does not mean the message was received by the user. + +{% tabs %} {% tab Cloud Storage %} ```json -// users.messages.whatsapp.Read +// users.messages.whatsapp.Send { "app_group_id" : "(optional, string) API ID of the app group this user belongs to", @@ -14065,19 +14130,19 @@ This event occurs when an WhatsApp message is read by the user. "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", "canvas_step_name" : "(optional, string) Name of the Canvas step", "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "canvas_variation_name" : "(optional, string) Name of the Canvas variation this user received", "device_id" : "(optional, string) ID of the device on which the event occurred", "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", "external_user_id" : "(optional, string) [PII] External ID of the user", "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the message includes a CTA to respond to a WhatsApp Flow", "from_phone_number" : "(required, string) Phone number used to send in e.164 format (for example +14155552671)", "id" : "(required, string) Globally unique ID for this event", + "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", "message_id" : "(optional, string) The unique ID generated by Meta for this message", "message_variation_id" : "(optional, string) API ID of the message variation this user received", "message_variation_name" : "(optional, string) Name of the message variation", "send_id" : "(optional, string) Message send ID this message belongs to", "subscription_group_id" : "(optional, string) Subscription group API ID", - "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp manager. Present if sending a Template Message", + "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp Manager. Present if sending a Template Message", "time" : "(required, long) UNIX timestamp at which the event happened", "timezone" : "(optional, string) Time zone of the user", "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", @@ -14085,23 +14150,7 @@ This event occurs when an WhatsApp message is read by the user. } ``` {% endtab %} -{% endtabs %} - -#### Property details -- `dispatch_id` is an ID for a specific message dispatch, such as a campaign send. All push events that originate from the same dispatch include the same `dispatch_id`. Use `dispatch_id` to group events that belong to the same dispatch, allowing you to group and correlate the push message lifecycle for that dispatch (such as Send, Bounce, and Open). -{% endapi %} - -{% api %} -## WhatsApp Send events {#whatsapp-send-events} - -{% apitags %} -WhatsApp, Sends -{% endapitags %} - -This event occurs when a send request was successfully communicated between Braze and WhatsApp. Though, this does not mean the message was received by the user. - -{% tabs %} {% tab Amplitude %} ```json // WhatsApp Send (users.messages.whatsapp.Send) @@ -14273,41 +14322,6 @@ This event occurs when a send request was successfully communicated between Braz } ``` {% endtab %} - -{% tab Cloud Storage %} -```json -// users.messages.whatsapp.Send - -{ - "app_group_id" : "(optional, string) API ID of the app group this user belongs to", - "campaign_id" : "(optional, string) API ID of the campaign this event belongs to", - "campaign_name" : "(optional, string) Name of the campaign", - "canvas_id" : "(optional, string) API ID of the Canvas this event belongs to", - "canvas_name" : "(optional, string) Name of the Canvas", - "canvas_step_id" : "(optional, string) API ID of the Canvas step this event belongs to", - "canvas_step_message_variation_id" : "(optional, string) API ID of the Canvas step message variation this user received", - "canvas_step_name" : "(optional, string) Name of the Canvas step", - "canvas_variation_id" : "(optional, string) API ID of the Canvas variation this event belongs to", - "device_id" : "(optional, string) ID of the device on which the event occurred", - "dispatch_id" : "(optional, string) ID of the dispatch this message belongs to", - "external_user_id" : "(optional, string) [PII] External ID of the user", - "flow_id" : "(optional, string) The unique ID of the Flow in the WhatsApp Manager. Present if the message includes a CTA to respond to a WhatsApp Flow", - "from_phone_number" : "(required, string) Phone number used to send in e.164 format (for example +14155552671)", - "id" : "(required, string) Globally unique ID for this event", - "message_extras" : "(optional, string) [PII] A JSON string of the tagged key-value pairs during liquid rendering", - "message_id" : "(optional, string) The unique ID generated by Meta for this message", - "message_variation_id" : "(optional, string) API ID of the message variation this user received", - "message_variation_name" : "(optional, string) Name of the message variation", - "send_id" : "(optional, string) Message send ID this message belongs to", - "subscription_group_id" : "(optional, string) Subscription group API ID", - "template_name" : "(optional, string) [PII] Name of the template in the WhatsApp Manager. Present if sending a Template Message", - "time" : "(required, long) UNIX timestamp at which the event happened", - "timezone" : "(optional, string) Time zone of the user", - "to_phone_number" : "(optional, string) [PII] Phone number of the user receiving the message in e.164 format (for example +14155552671)", - "user_id" : "(required, string) Braze user ID of the user who performed this event" -} -``` -{% endtab %} {% endtabs %} #### Property details diff --git a/_docs/_user_guide/engagement_tools/campaigns/testing_and_more.md b/_docs/_user_guide/engagement_tools/campaigns/testing_and_more.md index 28bba8387bc..1a72da5cad0 100644 --- a/_docs/_user_guide/engagement_tools/campaigns/testing_and_more.md +++ b/_docs/_user_guide/engagement_tools/campaigns/testing_and_more.md @@ -15,7 +15,7 @@ description: "This landing page is home to campaign testing and tips. Here, you guide_featured_title: "Section articles" guide_featured_list: - name: Send Test Messages - link: /docs/developer_guide/in_app_messages/sending_test_messages/ + link: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/ image: /assets/img/braze_icons/mail-01.svg - name: API-Triggered and Action-Based Campaigns link: /docs/user_guide/engagement_tools/campaigns/testing_and_more/triggered_action_based/ diff --git a/_docs/_user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages.md b/_docs/_user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages.md index 543e840f421..b2d1b3c34e9 100644 --- a/_docs/_user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages.md +++ b/_docs/_user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages.md @@ -30,101 +30,33 @@ A convenient way to organize your test users is by creating a [Content Test Grou For steps to send test messages, refer to the following section for your respective channel. {% tabs local %} -{% tab Email %} - -1. Draft your email message. -2. Select **Preview and Test**. -3. Select the **Test Send** tab and add your email address or user ID in the **Add individual users** field. -4. Select **Send Test** to send your drafted email to your inbox. - -![Test Email]({% image_buster /assets/img_archive/testemail.png %}){: style="max-width:40%;" } - -{% endtab %} -{% tab Push %} - -#### Mobile push - -1. Draft your mobile push. -2. Select the **Test** tab and add your email address or user ID in the **Add Individual Users** field. -3. Select **Send Test** to send your drafted message to your device. - -![Test push]({% image_buster /assets/img_archive/testpush.png %}) - -#### Web push - -1. Create your web push. -2. Select the **Test** tab. -3. Select **Send Test to Myself**. -4. Select **Send Test** to send your web push to your web browser. - -![Test web push]({% image_buster /assets/img_archive/testwebpush.png %}) - -If you have already accepted push messages from the Braze dashboard, the push will come through in the corner of your screen. Otherwise, click **Allow** when prompted, and the message will appear. - -{% endtab %} -{% tab In-App Message %} - -{% alert warning %} -To send a test to either [Content Test Groups]({{site.baseurl}}/user_guide/administrative/app_settings/developer_console/internal_groups_tab/#content-test-groups) or individual users, push must be enabled on your test devices before sending. For example, you must have push enabled on your iOS device in order to tap the notification before the test message displays. {% endalert %} - -If you have push notifications set up within your app and on your test device, you can send test in-app messages to your app to see what it looks like in real-time. - -1. Draft your in-app message. -2. Select the **Test** tab and add your email address or user ID to the **Add Individual Users** field. -3. Select **Send Test** to send your push message to your device. - -A test push message will appear at the top of your device screen. - -![Test In App]({% image_buster /assets/img_archive/test-in-app.png %}) +{% tab Banners %} {% alert important %} -Test sends may result in more than one in-app message being sent to each recipient. +Before you can test Banner messages in Braze, you'll need to create a Banner campaign in Braze. Additionally, verify that the placement you want to test is already [placed in your app or website]({{site.baseurl}}/developer_guide/banners/placements). {% endalert %} -Directly clicking and opening the push message will send you to your app, where you can view your in-app message test. Note this in-app message testing feature relies on the user clicking a test push notification to trigger the in-app message. As such, the user must be eligible to receive push notifications in the relevant app for the successful delivery of the test push notification. - -### Preview - -You can preview your in-app message as you compose it in the **Preview** tab. This should help you visualize what your final message will look like from your user's perspective. You can preview what your message will look like to a random user, a specific user, or a customized user. You can also preview messages for either mobile devices or tablets. +After creating your Banner message, you can preview your Banner or send a test message. -![Compose tab when building an in-app message showing the preview of what the message will look like. A user is not selected, so the Liquid added in the body section displays as is.]({% image_buster /assets/img/in-app-message-preview.png %}) +1. Draft your Banner message. +2. Select **Preview** to preview your Banner or send a test message. +3. To send a test message, add either a content test group or one or more individual users as **Test Recipients**, then select **Send Test**. -Braze has three generations of in-app messages available. You can fine-tune to which devices your messages should be sent, based on which Generation they support. +You'll be able to view your test message on the device for up to 5 minutes. -![Switching between generations when previewing an in-app message.]({% image_buster /assets/img/iam-generations.gif %}){: height="50%" width="50%"} +![Preview tab of the Banner composer.]({% image_buster /assets/img/banners/preview_banner.png %}) -{% alert warning %} -In **Preview**, the view of your message might not be identical to its actual rendering on the user's device. We always recommend sending a test message to a device to ensure that your media, copy, personalization, and custom attributes generate correctly. +{% alert note %} +Keep in mind, your preview may not be identical to the final render on a user's device due to differences across hardware. {% endalert %} ### Test checklist -- Do the images and media show up and act as expected? -- Does the Liquid function as expected? Have you accounted for a [default attribute value]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/liquid/conditional_logic/#accounting-for-null-attribute-values) if the Liquid returns no information? +- Is your Banner campaign assigned to a placement? +- Do the images and media show up and act as expected on your targeted device types and screen sizes? +- Do your links and buttons direct the user to where they should go? +- Does the Liquid function as expected? Have you accounted for a default attribute value in the event that the Liquid returns no information? - Is your copy clear, concise, and correct? -- Do your buttons direct the user where they should go? - -### Accessibility scanner - -To support accessibility best practices, Braze automatically scans the content of in-app messages created using the traditional HTML editor against accessibility standards. This scanner helps identify content that may not meet Web Content Accessibility Guidelines ([WCAG](https://www.w3.org/WAI/standards-guidelines/wcag/)) standards. WCAG is a set of internationally recognized technical standards developed by the World Wide Web Consortium (W3C) to make web content more accessible to people with disabilities. - -![Accessibility scan results]({% image_buster /assets/img/Accessibilty_Scanner_IAM.png %}) - -{% alert note %} -The in-app message accessibility scanner only runs on messages built with custom HTML. -{% endalert %} - -#### How it works - -The scanner runs automatically on custom HTML messages and evaluates your entire HTML message against the full [WCAG 2.1 AA rule set](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1¤tsidebar=%23col_customize&levels=aaa). For each flagged issue, it shows: - -- The specific HTML element involved -- A description of the accessibility issue -- A link to additional context or remediation guidance - -#### Understanding automated accessibility testing - -{% multi_lang_include accessibility/automated_testing.md %} {% endtab %} {% tab Content Card %} @@ -198,40 +130,117 @@ A common use case is trying to debug why a user can't see a particular Content C From there, you can review your message settings and content to drill down and determine why a user can't see a particular Content Card. {% endtab %} -{% tab Banners %} +{% tab Email %} + +1. Draft your email message. +2. Select **Preview and Test**. +3. Select the **Test Send** tab and add your email address or user ID in the **Add individual users** field. +4. Select **Send Test** to send your drafted email to your inbox. + +![Test Email]({% image_buster /assets/img_archive/testemail.png %}){: style="max-width:40%;" } + +{% endtab %} +{% tab In-app message %} + +{% alert warning %} +To send a test to either [Content Test Groups]({{site.baseurl}}/user_guide/administrative/app_settings/developer_console/internal_groups_tab/#content-test-groups) or individual users, push must be enabled on your test devices before sending. For example, you must have push enabled on your iOS device in order to tap the notification before the test message displays. {% endalert %} + +If you have push notifications set up within your app and on your test device, you can send test in-app messages to your app to see what it looks like in real-time. + +1. Draft your in-app message. +2. Select the **Test** tab and add your email address or user ID to the **Add Individual Users** field. +3. Select **Send Test** to send your push message to your device. + +A test push message will appear at the top of your device screen. + +![Test In App]({% image_buster /assets/img_archive/test-in-app.png %}) {% alert important %} -Before you can test Banner messages in Braze, you'll need to create a Banner campaign in Braze. Additionally, verify that the placement you want to test is already [placed in your app or website]({{site.baseurl}}/developer_guide/banners/placements). +Test sends may result in more than one in-app message being sent to each recipient. {% endalert %} -After creating your Banner message, you can preview your Banner or send a test message. +Directly clicking and opening the push message will send you to your app, where you can view your in-app message test. Note this in-app message testing feature relies on the user clicking a test push notification to trigger the in-app message. As such, the user must be eligible to receive push notifications in the relevant app for the successful delivery of the test push notification. -1. Draft your Banner message. -2. Select **Preview** to preview your Banner or send a test message. -3. To send a test message, add either a content test group or one or more individual users as **Test Recipients**, then select **Send Test**. +### Preview -You'll be able to view your test message on the device for up to 5 minutes. +You can preview your in-app message as you compose it in the **Preview** tab. This should help you visualize what your final message will look like from your user's perspective. You can preview what your message will look like to a random user, a specific user, or a customized user. You can also preview messages for either mobile devices or tablets. -![Preview tab of the Banner composer.]({% image_buster /assets/img/banners/preview_banner.png %}) +![Compose tab when building an in-app message showing the preview of what the message will look like. A user is not selected, so the Liquid added in the body section displays as is.]({% image_buster /assets/img/in-app-message-preview.png %}) -{% alert note %} -Keep in mind, your preview may not be identical to the final render on a user's device due to differences across hardware. +Braze has three generations of in-app messages available. You can fine-tune to which devices your messages should be sent, based on which Generation they support. + +![Switching between generations when previewing an in-app message.]({% image_buster /assets/img/iam-generations.gif %}){: height="50%" width="50%"} + +{% alert warning %} +In **Preview**, the view of your message might not be identical to its actual rendering on the user's device. We always recommend sending a test message to a device to ensure that your media, copy, personalization, and custom attributes generate correctly. {% endalert %} ### Test checklist -- Is your Banner campaign assigned to a placement? -- Do the images and media show up and act as expected on your targeted device types and screen sizes? -- Do your links and buttons direct the user to where they should go? -- Does the Liquid function as expected? Have you accounted for a default attribute value in the event that the Liquid returns no information? +- Do the images and media show up and act as expected? +- Does the Liquid function as expected? Have you accounted for a [default attribute value]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/liquid/conditional_logic/#accounting-for-null-attribute-values) if the Liquid returns no information? - Is your copy clear, concise, and correct? +- Do your buttons direct the user where they should go? + +### Accessibility scanner + +To support accessibility best practices, Braze automatically scans the content of in-app messages created using the traditional HTML editor against accessibility standards. This scanner helps identify content that may not meet Web Content Accessibility Guidelines ([WCAG](https://www.w3.org/WAI/standards-guidelines/wcag/)) standards. WCAG is a set of internationally recognized technical standards developed by the World Wide Web Consortium (W3C) to make web content more accessible to people with disabilities. + +![Accessibility scan results]({% image_buster /assets/img/Accessibilty_Scanner_IAM.png %}) + +{% alert note %} +The in-app message accessibility scanner only runs on messages built with custom HTML. +{% endalert %} + +#### How it works + +The scanner runs automatically on custom HTML messages and evaluates your entire HTML message against the full [WCAG 2.1 AA rule set](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1¤tsidebar=%23col_customize&levels=aaa). For each flagged issue, it shows: + +- The specific HTML element involved +- A description of the accessibility issue +- A link to additional context or remediation guidance + +#### Understanding automated accessibility testing + +{% multi_lang_include accessibility/automated_testing.md %} {% endtab %} -{% tab SMS/MMS %} +{% tab LINE %} -After creating your SMS or MMS message, you can send a test message to your phone to see what it will look like in real-time. +1. Create your LINE message. +2. Select the **Test** tab and select at least one Content Test Group or individual user to receive this test message. +3. Select **Send Test** to send your message. + +![Test LINE message.]({% image_buster /assets/img/line/test_preview.png %}) + +{% endtab %} +{% tab Push %} + +#### Mobile push -1. Draft your SMS or MMS message. +1. Draft your mobile push. +2. Select the **Test** tab and add your email address or user ID in the **Add Individual Users** field. +3. Select **Send Test** to send your drafted message to your device. + +![Test push]({% image_buster /assets/img_archive/testpush.png %}) + +#### Web push + +1. Create your web push. +2. Select the **Test** tab. +3. Select **Send Test to Myself**. +4. Select **Send Test** to send your web push to your web browser. + +![Test web push]({% image_buster /assets/img_archive/testwebpush.png %}) + +If you have already accepted push messages from the Braze dashboard, the push will come through in the corner of your screen. Otherwise, click **Allow** when prompted, and the message will appear. + +{% endtab %} +{% tab SMS/MMS and RCS %} + +After creating your SMS, MMS, or RCS message, you can send a test message to your phone to see what it will look like in real-time. + +1. Draft your SMS, MMS, or RCS message. 2. Select the **Test** tab and select at least one Content Test Group or individual user to receive this test message. 3. Select **Send Test** to send your test message. @@ -244,6 +253,16 @@ After creating your webhook, you can do a test send to check the webhook respons ![Test Content Card]({% image_buster /assets/img/webhook_test.png %}) +{% endtab %} +{% tab WhatsApp %} + +1. Create your WhatsApp message. +2. Select the **Test** tab and select at least one Content Test Group or individual user to receive this test message. +3. Initiate a conversation window by sending a WhatsApp message to the phone number associated with the subscription group you’re using for this message. The associated phone number is listed in the alert on the **Test** tab. +4. Select **Send Test** to send your message. + +![Test WhatsApp message.]({% image_buster /assets/img/whatsapp/whatsapp_test.png %}) + {% endtab %} {% endtabs %} diff --git a/_docs/_user_guide/engagement_tools/canvas/canvas_components/experiment_step/winning_path.md b/_docs/_user_guide/engagement_tools/canvas/canvas_components/experiment_step/winning_path.md index 2e3e731b5d9..31c2e452578 100644 --- a/_docs/_user_guide/engagement_tools/canvas/canvas_components/experiment_step/winning_path.md +++ b/_docs/_user_guide/engagement_tools/canvas/canvas_components/experiment_step/winning_path.md @@ -10,7 +10,7 @@ tool: Canvas > Winning Path is similar to [Winning Variant]({{site.baseurl}}/user_guide/engagement_tools/testing/multivariant_testing/optimizations/) in campaigns, and lets you automate your A/B tests. -When Winning Path is turned on in an Experiment Path step, after a specified period of time, all subsequent users will be sent down the path with the highest conversion rate. +When Winning Path is turned on in an Experiment Path step, after a specified period of time, all subsequent users are sent down the path with the highest conversion rate. ## Using Winning Path @@ -26,20 +26,18 @@ Specify the conversion event that should determine the winner. If there are no c If you choose opens or clicks as your conversion event, make sure the first step in the path is a [Message step]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step). Braze only counts engagement from the first Message step in each respective path. If the path starts with a different step (like a Delay or Audience Path step) and the message comes later, that message won’t be included when evaluating performance. -Next, set the **Experiment Window**. The **Experiment Window** specifies how long the experiment will run before the Winning Path is determined and all users that follow are sent down that path. The window begins when the first user enters the step. +Next, set the **Experiment Window**. The **Experiment Window** specifies how long the experiment runs before the Winning Path is determined and all users who follow are sent down that path. The window begins when the first user enters the step. ![Winning Path Settings with the conversion event "Clicks" selected for a 12-hour experiment window.]({% image_buster /assets/img/experiment_step/experiment_winning_settings.png %}) ### Step 3: Determine fallback {#statistical-significance} -By default, if the results of the test aren't enough to determine a statistically significant winner, all future users will be sent down the best performing path. +By default, if the results of the test aren't enough to determine a statistically significant winner, all future users are sent down the best-performing path. Alternatively, you can select **Continue sending all future users the mix of paths**. This option sends future users down the mix of paths according to the percentages specified in the experiment path distribution. -Alternatively, you can select **Continue sending all future users the mix of paths**. This option will send future users down the mix of paths according to the percentages specified in the experiment path distribution. - -!["Continue sending all future users the mix of paths" selected as what will happen to users if the test result isn't statistically significant.]({% image_buster /assets/img/experiment_step/experiment_winning_statistical.png %}) +!["Continue sending all future users the mix of paths" selected as what happens to users if the test result isn't statistically significant.]({% image_buster /assets/img/experiment_step/experiment_winning_statistical.png %}) {% alert note %} -A Delay Group will only appear in your path distribution if your Canvas is set up for one-time entry and your Experiment step has three paths or fewer. Recurring and triggered Canvases will not have a Delay Group when Winning Path is turned on. +A Delay Group appears in your path distribution only if your Canvas is set up for one-time entry and your Experiment step has three paths or fewer. Recurring and triggered Canvases do not have a Delay Group when Winning Path is turned on. {% endalert %} ### Step 4: Add your paths and launch the Canvas @@ -48,11 +46,11 @@ A single Experiment Path component can contain up to four paths. However, if you Finish setting up your Canvas as needed, then launch it. When the first user has entered the experiment, you can check the Canvas to see analytics as they come in and [track your experiment's performance]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/experiment_step/#tracking-performance). -After a Winning Path concludes, all subsequent users who enter the Canvas will go down the Winning Path, including users who re-entered and were previously in the control group of the Experiment Path step. +After a Winning Path concludes, all subsequent users who enter the Canvas go down the Winning Path, including users who re-entered and were previously in the control group of the Experiment Path step. ## Analytics {#analytics} -If Winning Path was turned on, your analytics view is separated into two tabs: **Initial Experiment** and **Winning Path**. +If Winning Path is turned on, your analytics view is separated into two tabs: **Initial Experiment** and **Winning Path**. - **Initial Experiment:** Shows the metrics for each path during the experiment window. You can see a summary of how all the paths performed for the specified conversion events and which path was selected as the winner. - **Winning Path:** Shows only the metrics for the Winning Path starting from the moment the Initial Experiment finished. @@ -61,11 +59,11 @@ If Winning Path was turned on, your analytics view is separated into two tabs: * ### One-time entry {#one-time-entry} -When using Winning Paths in a Canvas where users are allowed to enter only once, a Delay Group is automatically included. During the duration of the experiment, a percentage of users will be held in the Delay Group while the remaining users enter your Experiment Paths. +When using Winning Paths in a Canvas where users are allowed to enter only once, a Delay Group is automatically included. During the duration of the experiment, a percentage of users are held in the Delay Group while the remaining users enter your Experiment Paths. ![Experiment Step with a Delay Group for Winning Path]({% image_buster /assets/img/experiment_step/experiment_one_time.png %}){: style="max-width:75%"} -When the test is complete and a Winning Path is determined, the users assigned to the Delay Group will be directed to the chosen path, and continue through the Canvas. +When the test finishes and a Winning Path is determined, the users assigned to the Delay Group are directed to the chosen path and continue through the Canvas. ![Experiment Step with a Delay Group sent down the Winning Path]({% image_buster /assets/img/experiment_step/experiment_one_time_results.png %}){: style="max-width:75%"} @@ -73,5 +71,8 @@ When the test is complete and a Winning Path is determined, the users assigned t We don't recommend using local time delivery in Canvases with Winning Paths. This is because experiment windows begin when the first user passes through. Users who are in very early time zones may enter the step and trigger the start of the experiment window much earlier than you expect, which can result in the Experiment concluding before the bulk of your users in more typical time zones have had enough time to enter the Canvas or convert, or both. -Alternatively, if you wish to use local delivery, use an experiment window of 24-48 or more hours. That way, users in early time zones enter the Canvas and trigger the experiment to start, but plenty of time in the experiment window remains. Users in later time zones will still have sufficient time to enter the Canvas and the Experiment Step with Winning Paths and possibly convert before the experiment window expires. +Alternatively, if you wish to use local delivery, use an experiment window of 24-48 or more hours. That way, users in early time zones enter the Canvas and trigger the experiment to start, but plenty of time in the experiment window remains. Users in later time zones still have sufficient time to enter the Canvas and the Experiment Step with Winning Paths and possibly convert before the experiment window expires. + +### Variants based on clicks +If you're setting up a Winning Path variant based on clicks, every interaction counts as a click unless it is identified as an unsubscribe click by Braze. diff --git a/_docs/_user_guide/engagement_tools/segments/user_profiles.md b/_docs/_user_guide/engagement_tools/segments/user_profiles.md index 932f9653d3b..82e27fd3b75 100644 --- a/_docs/_user_guide/engagement_tools/segments/user_profiles.md +++ b/_docs/_user_guide/engagement_tools/segments/user_profiles.md @@ -152,4 +152,10 @@ Some fields may be absent in a user's **Message History** tab in the following s - If a particular message is missing entirely from the messaging history but appears in the **Campaigns Received** log, it's likely the user received the campaign before being identified as the current user. If an existing profile is orphaned, the **Campaigns Received** log is transferred, but the messaging history is not. - When data is missing for **Campaign/Canvas**, a manual test may have been sent. Manual tests are logged in the **Messaging History** tab, but the campaign or Canvas that was sent won't be logged. +## Related articles + +- [User profile lifecycle]({{site.baseurl}}/user_guide/data/unification/user_data/user_profile_lifecycle/) +- [POST: Export user profile by identifier]({{site.baseurl}}/api/endpoints/export/user_data/post_users_identifier/) +- [POST: Delete users]({{site.baseurl}}/api/endpoints/user_data/post_user_delete/) + diff --git a/_docs/_user_guide/message_building_by_channel/content_cards/testing.md b/_docs/_user_guide/message_building_by_channel/content_cards/testing.md index 5c7c8c2af2d..d66c03dc481 100644 --- a/_docs/_user_guide/message_building_by_channel/content_cards/testing.md +++ b/_docs/_user_guide/message_building_by_channel/content_cards/testing.md @@ -2,7 +2,7 @@ nav_title: Testing noindex: true layout: redirect -redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/ +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=content%20card page_order: 3 channel: - content cards diff --git a/_docs/_user_guide/message_building_by_channel/email/best_practices.md b/_docs/_user_guide/message_building_by_channel/email/best_practices.md index 2e4bd9cd2fe..f55dbdf950d 100644 --- a/_docs/_user_guide/message_building_by_channel/email/best_practices.md +++ b/_docs/_user_guide/message_building_by_channel/email/best_practices.md @@ -1,5 +1,5 @@ --- -page_order: 13 +page_order: 14 nav_title: Best practices article_title: Email Best Practices layout: dev_guide diff --git a/_docs/_user_guide/message_building_by_channel/email/faq.md b/_docs/_user_guide/message_building_by_channel/email/faq.md index cc65ac9a46c..7572fecbd9a 100644 --- a/_docs/_user_guide/message_building_by_channel/email/faq.md +++ b/_docs/_user_guide/message_building_by_channel/email/faq.md @@ -1,7 +1,7 @@ --- nav_title: FAQ article_title: Email FAQ -page_order: 14 +page_order: 15 description: "This page provides answers to frequently asked questions about email messaging." channel: email diff --git a/_docs/_user_guide/message_building_by_channel/email/testing.md b/_docs/_user_guide/message_building_by_channel/email/testing.md new file mode 100644 index 00000000000..3bd66276f32 --- /dev/null +++ b/_docs/_user_guide/message_building_by_channel/email/testing.md @@ -0,0 +1,9 @@ +--- +nav_title: Testing +noindex: true +layout: redirect +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=email +page_order: 13 +channel: + - email +--- \ No newline at end of file diff --git a/_docs/_user_guide/message_building_by_channel/in-app_messages/testing.md b/_docs/_user_guide/message_building_by_channel/in-app_messages/testing.md index 806aaec5a40..9e2b47ee363 100644 --- a/_docs/_user_guide/message_building_by_channel/in-app_messages/testing.md +++ b/_docs/_user_guide/message_building_by_channel/in-app_messages/testing.md @@ -2,7 +2,7 @@ nav_title: Testing noindex: true layout: redirect -redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/ +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=in-app%20message page_order: 4.5 channel: - in-app messages diff --git a/_docs/_user_guide/message_building_by_channel/line/testing.md b/_docs/_user_guide/message_building_by_channel/line/testing.md new file mode 100644 index 00000000000..3c1efeb01ee --- /dev/null +++ b/_docs/_user_guide/message_building_by_channel/line/testing.md @@ -0,0 +1,9 @@ +--- +nav_title: Testing +noindex: true +layout: redirect +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=line +page_order: 5 +channel: + - LINE +--- \ No newline at end of file diff --git a/_docs/_user_guide/message_building_by_channel/push/faq.md b/_docs/_user_guide/message_building_by_channel/push/faq.md index 2900d34de66..e3d48502ff6 100644 --- a/_docs/_user_guide/message_building_by_channel/push/faq.md +++ b/_docs/_user_guide/message_building_by_channel/push/faq.md @@ -1,7 +1,7 @@ --- nav_title: FAQs article_title: Push FAQs -page_order: 80 +page_order: 25 description: "This article addresses some of the most frequently asked questions that arise when setting up push campaigns." page_type: FAQ channel: diff --git a/_docs/_user_guide/message_building_by_channel/push/testing.md b/_docs/_user_guide/message_building_by_channel/push/testing.md new file mode 100644 index 00000000000..67aa1446ca4 --- /dev/null +++ b/_docs/_user_guide/message_building_by_channel/push/testing.md @@ -0,0 +1,9 @@ +--- +nav_title: Testing +noindex: true +layout: redirect +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=push +page_order: 23 +channel: + - push +--- \ No newline at end of file diff --git a/_docs/_user_guide/message_building_by_channel/push/troubleshooting.md b/_docs/_user_guide/message_building_by_channel/push/troubleshooting.md index b23379f3d49..bcd7e8f1109 100644 --- a/_docs/_user_guide/message_building_by_channel/push/troubleshooting.md +++ b/_docs/_user_guide/message_building_by_channel/push/troubleshooting.md @@ -1,7 +1,7 @@ --- nav_title: Troubleshooting article_title: Troubleshooting Push -page_order: 23 +page_order: 24 page_type: reference description: "This page contains troubleshooting steps for various issues relating to the Push messaging channel." channel: push diff --git a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/mms.md b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/mms.md index 232c6fceb89..f7c945ee5b4 100644 --- a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/mms.md +++ b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/mms.md @@ -1,7 +1,7 @@ --- nav_title: "MMS" article_title: About MMS -page_order: 15 +page_order: 16 description: "This reference article covers what MMS messages are and general use cases for the MMS channel." page_type: reference alias: /about_mms/ diff --git a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/rcs.md b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/rcs.md index 76e6eec8f59..2112e8549fa 100644 --- a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/rcs.md +++ b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/rcs.md @@ -3,7 +3,7 @@ nav_title: "RCS" article_title: About Rich Communication Services (RCS) alias: /about_rcs/ page_type: reference -page_order: 14 +page_order: 15 description: "This reference article covers general use cases of the RCS channel and requirements needed to get your RCS channel ready for use." --- diff --git a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/sms.md b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/sms.md index 66d4a5056b3..4b48c700214 100644 --- a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/sms.md +++ b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/sms.md @@ -1,7 +1,7 @@ --- nav_title: "SMS" article_title: About SMS -page_order: 13 +page_order: 14 description: "This reference article covers general use cases of the SMS channel and requirements needed to get SMS up and running." page_type: reference alias: /about_sms/ diff --git a/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/testing.md b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/testing.md new file mode 100644 index 00000000000..c1e7896ae88 --- /dev/null +++ b/_docs/_user_guide/message_building_by_channel/sms_mms_rcs/testing.md @@ -0,0 +1,9 @@ +--- +nav_title: Testing +noindex: true +layout: redirect +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=sms%2Fmms%20and%20rcs +page_order: 13 +channel: + - SMS +--- \ No newline at end of file diff --git a/_docs/_user_guide/message_building_by_channel/webhooks/testing.md b/_docs/_user_guide/message_building_by_channel/webhooks/testing.md new file mode 100644 index 00000000000..5e22af22c0f --- /dev/null +++ b/_docs/_user_guide/message_building_by_channel/webhooks/testing.md @@ -0,0 +1,9 @@ +--- +nav_title: Testing +noindex: true +layout: redirect +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=webhook +page_order: 11 +channel: + - webhooks +--- \ No newline at end of file diff --git a/_docs/_user_guide/message_building_by_channel/whatsapp/faqs.md b/_docs/_user_guide/message_building_by_channel/whatsapp/faqs.md index 79cb7d40d79..94bba898d1a 100644 --- a/_docs/_user_guide/message_building_by_channel/whatsapp/faqs.md +++ b/_docs/_user_guide/message_building_by_channel/whatsapp/faqs.md @@ -1,7 +1,7 @@ --- nav_title: FAQ article_title: WhatsApp FAQ -page_order: 10 +page_order: 11 description: "This article addresses some of the most frequently asked questions that arise when setting up WhatsApp campaigns." page_type: FAQ channel: diff --git a/_docs/_user_guide/message_building_by_channel/whatsapp/meta_resources.md b/_docs/_user_guide/message_building_by_channel/whatsapp/meta_resources.md index 0015b5cb7db..1e0fb06ef61 100644 --- a/_docs/_user_guide/message_building_by_channel/whatsapp/meta_resources.md +++ b/_docs/_user_guide/message_building_by_channel/whatsapp/meta_resources.md @@ -1,7 +1,7 @@ --- nav_title: Meta resources article_title: Meta Resources -page_order: 11 +page_order: 12 description: "This article provides helpful Meta documentation, information, and resources to improve your understanding of the WhatsApp integration." page_type: reference channel: diff --git a/_docs/_user_guide/message_building_by_channel/whatsapp/testing.md b/_docs/_user_guide/message_building_by_channel/whatsapp/testing.md new file mode 100644 index 00000000000..2dee6c91a4f --- /dev/null +++ b/_docs/_user_guide/message_building_by_channel/whatsapp/testing.md @@ -0,0 +1,9 @@ +--- +nav_title: Testing +noindex: true +layout: redirect +redirect_to: /docs/user_guide/engagement_tools/campaigns/testing_and_more/sending_test_messages/?tab=whatsapp +page_order: 10 +channel: + - WhatsApp +--- \ No newline at end of file diff --git a/_includes/contributing/templates/release_notes.md b/_includes/contributing/templates/release_notes.md index d2a18ae9122..3e635742d8e 100644 --- a/_includes/contributing/templates/release_notes.md +++ b/_includes/contributing/templates/release_notes.md @@ -11,63 +11,63 @@ page_type: reference # MONTH DAY, YEAR release - -## Data flexibility + +## Data & Reporting -CONTENT. + +### RELEASE_NOTE_TITLE -## Unlocking creativity + +{% multi_lang_include release_type.md release="Early access" %} + CONTENT. -## Robust channels - -CONTENT. +### RELEASE_NOTE_TITLE -## AI and ML automation +{% multi_lang_include release_type.md release="General availability" %} CONTENT. - -## SECTION_TITLE +### RELEASE_NOTE_TITLE -CONTENT. +{% multi_lang_include release_type.md release="Beta" %} -### SUBSECTION_TITLE +## BrazeAITM -{% multi_lang_include release_type.md release="Early access" %} +### RELEASE_NOTE_TITLE CONTENT. -### SUBSECTION_TITLE +## Orchestration -{% multi_lang_include release_type.md release="General availability" %} +### RELEASE_NOTE_TITLE CONTENT. -### SUBSECTION_TITLE +## Channels & Touchpoints -{% multi_lang_include release_type.md release="Beta" %} +### RELEASE_NOTE_TITLE CONTENT. -### SUBSECTION_TITLE + +## Partnerships -CONTENT. +### PARTNER_NAME - PARTNER_CATEGORY - -## New Braze partnerships +CONTENT. -### PARTNER_NAME +### PARTNER_NAME - PARTNER_CATEGORY CONTENT. -### PARTNER_NAME + +## SDK CONTENT. - -## SDK updates +### SDK breaking updates The following SDK updates have been released. Breaking updates are listed below; all other updates can be found by checking the corresponding SDK changelogs. @@ -75,6 +75,7 @@ The following SDK updates have been released. Breaking updates are listed below; - OPTIONAL_CONTEXT. - [SDK_NAME](LINK_TO_GITHUB_CHANGELOG) - [SDK_NAME](LINK_TO_GITHUB_CHANGELOG) + ````` {% endraw %} {% enddetails %} \ No newline at end of file diff --git a/assets/img/whatsapp/whatsapp_test.png b/assets/img/whatsapp/whatsapp_test.png new file mode 100644 index 00000000000..83b2600b274 Binary files /dev/null and b/assets/img/whatsapp/whatsapp_test.png differ diff --git a/assets/js/documents.js b/assets/js/documents.js index 4fa58cb14c0..ae8f8476ded 100644 --- a/assets/js/documents.js +++ b/assets/js/documents.js @@ -283,22 +283,25 @@ $(document).ready(function() { $(window).scroll(scrollHandler); // See if sdk tabs should be changed based on url hash - const sdk_hash = $(window.location.hash); - if (sdk_hash.is(':header')) { - const sdk_el = sdk_hash.closest("[data-sdk-tab]"); - let sdk_tab = sdk_el.attr('data-sdk-tab'); - // add sdk tab to query header - if (sdk_tab) { - sdk_tab = sdk_tab.replace('sdk-',''); - let tab_replace = { - 'sdktab': sdk_tab - }; - let query_str = replaceParams(window.location.search, tab_replace, true) + '#' + sdk_hash.attr('id'); - if (window.location.pathname.substr(-1) != '/') { - window.history.replaceState(null, null, window.location.pathname + '/' + query_str); - } - else { - window.history.replaceState(null, null, window.location.pathname + query_str); + let location_hash = window.location.hash.slice(1); + if (location_hash) { + const sdk_hash = $('#' + decodeURIComponent(location_hash)); + if (sdk_hash.is(':header')) { + const sdk_el = sdk_hash.closest("[data-sdk-tab]"); + let sdk_tab = sdk_el.attr('data-sdk-tab'); + // add sdk tab to query header + if (sdk_tab) { + sdk_tab = sdk_tab.replace('sdk-',''); + let tab_replace = { + 'sdktab': sdk_tab + }; + let query_str = replaceParams(window.location.search, tab_replace, true) + '#' + sdk_hash.attr('id'); + if (window.location.pathname.substr(-1) != '/') { + window.history.replaceState(null, null, window.location.pathname + '/' + query_str); + } + else { + window.history.replaceState(null, null, window.location.pathname + query_str); + } } } }