MobilePush Events
Event Notification Service (ENS) supports these event notification types and their corresponding payloads.
Notification Event Category | Notification Event Type | Description |
---|---|---|
SendEvents | PushSent | Emitted when a push notification is sent. |
SendEvents | PushNotSent | Emitted when a push notification send fails to fully execute. |
SendEvents | PushBounced | Emitted when a push notification is bounced back by the Push Notification Service (PNS). |
EngagementEvents | PushOpen | Emitted when a user opens a push notification on their mobile device. |
EngagementEvents | InAppDisplay | Emitted when an in-app message is displayed in-session due to a user taking a high-value, tracked action with their mobile app. |
EngagementEvents | InAppDismiss | Emitted when a user dismisses an in-app message. |
EngagementEvents | InAppClick | Emitted when a user interacts with an in-app message using the message's Call-to-Action (CTA) button. |
EngagementEvents | InboxOpen | Emitted when a user opens an inbox message. |
EngagementEvents | PushDeliveryReceipt | Emitted when a push notification or inbox message is successfully delivered to users' devices. |
EngagementEvents | PushInstall | Emitted when a user installs and opens your app for the first time. |
EngagementEvents | PushInactive | Emitted when a user stops using your app. |
EngagementEvents | PushImageClick | Emitted when a user clicks on an image within a push notification. |
EngagementEvents | PushButtonClick | Emitted when a user clicks on a button within a push notification. |
PushSent
, PushNotSent
, PushBounced
, and PushOpen
events are inclusive of all send methods, such as Mobile Studio batch, Journey Builder, Transactional API, and REST API-triggered sends. To filter events by a particular send type, set up a subscription filter.
All or some of these attributes are shared for all event data payloads.
Attribute | Type | Description | Applicable to Events |
---|---|---|---|
eventCategoryType | String | The taxonomy of the event. | All events |
compositeId | String | Event ID. | All events |
timestampUTC | Number | UTC Epoch time. | All events |
definitionKey | String | Name of the send definition. | Not applicable to PushDeliveryReceipt , PushInactive , and PushInstall events |
definitionId | String | A unique message ID. Only present if the send method used is Transactional API. | Not applicable to PushDeliveryReceipt , PushInactive , and PushInstall events |
composite | Object | Object containing composite identifiers related to the event. | All events |
composite.jobId | String | Marketing Cloud Engagement Job ID (nullable for EngagementEvents.PushOpen events). | Not applicable to PushDeliveryReceipt , PushInactive , PushInstall , PushImageClick , and PushButtonClick events |
composite.subscriberId | String | Internal ID of the user the message was sent to. | Not applicable to PushDeliveryReceipt , PushInactive , PushInstall , PushImageClick , and PushButtonClick events |
composite.deviceId | String | Instance of the app installation on the user's device. | All events |
mid | Number | Member identifier of the Engagement business unit that produced the event. | All events |
eid | Number | Enterprise identifier of the Engagement parent business unit that produced the event. | All events |
info | Object | Object containing detailed information about the event. | All events |
ENS triggers the SendEvents.PushSent
event when a push notification is successfully sent to a user's device using the Engagement platform.
This event applies to all send methods, such as Mobile Studio batch, Journey Builder, Transactional API, and REST API-triggered sends.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
requestId | String | A unique ID for the request. Used to track message status. |
sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
messageKey | String | A unique ID for the message. Only available if sendMethod is LLTS . |
appId | String | The MobilePush app ID. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. For example, iOS . |
This event notification payload is an example of what your callback receives for a SendEvents.PushSent
event.
ENS triggers the SendEvents.PushNotSent
event when a push notification send fails. Send failures can occur due to various reasons, including network or service errors, Object Message Mapping (OMM) errors, or AMPscript errors.
This event applies to all send methods, such as Mobile Studio batch, Journey Builder, Transactional API, and REST API-triggered sends.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
requestId | String | A unique ID for the request. Used to track message status. |
sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
messageKey | String | A unique ID for the message. Only available if sendMethod is LLTS . |
appId | String | The MobilePush app ID. |
statusCode | String | The message send status code or enum. |
statusMessage | String | Brief error message. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. For example, iOS . |
This event notification payload is an example of what your callback receives for a SendEvents.PushNotSent
event.
ENS triggers the SendEvents.PushBounced
event when a push notification is sent by the Engagement servers but is bounced back by the PNS, such as Apple Push Notification Service (APNS) or Firebase Cloud Messaging (FCM). Push notifications can bounce due to various reasons, such as the recipient uninstalling the app from their device or a mismatch between the ServerKey
and SenderID
.
This event applies to all send methods, such as Mobile Studio batch, Journey Builder, Transactional API, and REST API-triggered sends.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
requestId | String | A unique ID for the request. Used to track message status. |
sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
messageKey | String | A unique ID for the message. Only available if sendMethod is LLTS . |
appId | String | The MobilePush app ID. |
bounceCode | String | One word feedback from APNS or FCM. |
bounceMessage | String | Bounce reason. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. For example, iOS . |
This event notification payload is an example of what your callback receives for a SendEvents.PushBounced
event.
ENS triggers the EngagementEvents.PushOpen
event when a user opens a push notification on their mobile device.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
requestId | String | A unique ID for the request. Used to track message status. |
sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
messageKey | String | A unique ID for the message. Only available if sendMethod is LLTS . |
appId | String | The MobilePush app ID. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. For example, iOS . |
This event notification payload is an example of what your callback receives for a EngagementEvents.PushOpen
event.
ENS triggers the EngagementEvents.InAppDisplay
event when an in-app message is displayed in-session due to the user peforming a high-value, tracked action within their mobile app.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
appId | String | The MobilePush app ID. |
messageTrigger | String | The event that triggered the in-app message display. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. Potential values include iOS and Android . |
This event notification payload is an example of what your callback receives for a EngagementEvents.InAppDisplay
event.
ENS triggers the EngagementEvents.InAppDismiss
event when an in-app message is dismissed in-session, either by the user hitting the X button or by timing out.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
appId | String | The MobilePush app ID. |
displayDuration | Integer | In-app message display duration. |
messageTrigger | String | The event that triggered the in-app message display. |
dismissType | Integer | Denotes whether the in-app message was user-dismissed or time-dismissed. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. Potential values include iOS and Android . |
This event notification payload is an example of what your callback receives for a EngagementEvents.InAppDismiss
event.
ENS triggers the EngagementEvents.InAppClick
event when a user interacts with an in-app message using the message's CTA button during an app session.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
appId | String | The MobilePush app ID. |
buttonClicked | String | The name, CTA, or title of the button the user clicked. |
displayDuration | Integer | In-app message display duration. |
messageTrigger | String | The event that triggered the in-app message display. |
dismissType | Integer | Denotes whether the in-app message was user-dismissed or time-dismissed. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. Potential values include iOS and Android . |
This event notification payload is an example of what your callback receives for a EngagementEvents.InAppClick
event.
ENS triggers the EngagementEvents.InboxOpen
event when a user opens an inbox message that's been downloaded to the mobile app's inbox.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
to | String | The unique address the message was sent to. In this case, the end user's device ID. |
contactKey | String | A unique ID for the contact. |
appId | String | The MobilePush app ID. |
requestId | String | A unique ID used to track message status. |
device | Object | An object containing device information. |
device.platform | String | The platform of the receiver's device. Potential values include iOS and Android . |
This event notification payload is an example of what your callback receives for a EngagementEvents.InboxOpen
event.
ENS triggers the EngagementEvents.PushDeliveryReceipt
event when a push notification or inbox message is successfully delivered to users' devices.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
composite.deviceId | String | Instance of the app installation on the user's device. |
composite.contactKey | String | An unique ID for the subscriber/contact. |
composite.appId | String | The MobilePush app ID. |
composite.messageId | String | A unique ID for the message. |
info.device | Object | An object containing device information. |
info.messageDateUTC | String | UTC epoch time of the message send date. |
info.messageType | Number | An integer representing the message type. A value of 1 indicates Push Notification, and a value of 8 indicates Alert + Inbox. |
info.recieptDateUTC | String | UTC epoch time of message receipt date |
info.sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
info.journeyActivityId | String | Unique ID for the Journey Builder activity that sent this message. (Only available for events generated in Journey Builder). |
info.journeyActivityName | String | Name of the Journey Builder activity that sent the message. (Only available for events generated in Journey Builder). |
info.journeyId | String | Unique ID of the Journey Builder journey. (Empty if not related to a Journey Builder journey). |
info.journeyName | String | Name of the Journey Builder journey. (Empty if not related to a Journey Builder journey). |
info.journeyVersion | String | Version of the Journey Builder journey. (Empty if not from a Journey Builder journey). |
info.to | String | The unique address the message was sent to. In this case, the end user's device ID. |
info.requestId | String | Unique ID for the request generated by the inbound service. Used to track message status. |
info.messageKey | String | Unique ID for the message. Only available if sendMethod is LLTS . |
info.device.platform | String | Mobile device platform. (Android or iOS). |
ENS triggers the EngagementEvents.PushInstall
event when a user installs and opens your app for the first time.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
composite.deviceId | String | Instance of the app installation on the user's device. |
composite.contactKey | String | A unique ID for the subscriber/contact. |
composite.appId | String | The MobilePush app ID. |
sdkVersion | String | Version of the SDK. |
info.device | Object | An object containing device information. |
info.device.platformVersion | String | Version of the platform |
info.device.hwid | String | Details of the hardware of the mobile. |
info.installDateUTC | Number | UTC epoch time for the time when the device installation happened. |
info.device.sdkVersion | String | Version of the SDK. |
info.device.platform | String | Type of the platform in the mobile device (Android/iOS). |
ENS triggers the EngagementEvents.PushInactive
event when a user stops using your app.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
composite.deviceId | String | Unique ID of the app installation on the user's device. |
composite.contactKey | String | Unique ID for the contact. |
composite.appId | String | The MobilePush app ID. |
info.daysInactive | Number | Number of days the device was inactive, if info.reason is Inactivity . |
info.device | Object | An object containing device information. |
info.device.platformVersion | String | Operating system version of the mobile device. |
info.device.hwid | String | Hardware identifier of the mobile device. |
info.reason | String | Reason for inactivity. |
info.device.platform | String | Type of the platform in the mobile device (Android /iOS ). |
ENS triggers the EngagementEvents.PushImageClick
event when a user clicks on an image within a push notification sent via Journey Builder.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
composite.contactKey | String | Unique ID for the contact. |
composite.deviceId | String | Unique ID of the app installation on the user's device. |
composite.messageId | String | Unique ID for the message. |
composite.appId | String | The MobilePush app ID. |
info.imageId | String | Unique ID of the image that the user clicked. |
info.journeyActivityId | String | Unique ID for the Journey Builder activity that sent this message. (Only available for events generated in Journey Builder). |
info.journeyActivityName | String | Name of the Journey Builder activity that sent the message. (Only available for events generated in Journey Builder). |
info.journeyId | String | Unique ID of the Journey Builder journey. (Empty if not related to a Journey Builder journey). |
info.journeyName | String | Name of the Journey Builder journey. (Empty if not related to a Journey Builder journey). |
info.journeyVersion | String | Version of the Journey Builder journey. (Empty if not from a Journey Builder journey). |
info.sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
info.to | String | The unique address the message was sent to. In this case, the end user's device ID. |
composite.requestId | String | Unique ID for the request generated by the inbound service. Used to track message status. |
info.messageKey | String | Unique ID for the message. Only available if sendMethod is LLTS . |
ENS triggers the EngagementEvents.PushButtonClick
event when a user clicks a button in a push notification sent via Journey Builder.
This event must originate from the MobilePush SDK.
Attribute | Type | Description |
---|---|---|
composite.contactKey | String | Unique ID for the contact. |
composite.deviceId | String | Unique ID of the app installation on the user's device. |
composite.messageId | String | Unique message ID. |
composite.requestId | String | Unique ID for the request generated by the inbound service. Used to track message status. |
composite.appId | String | The MobilePush app ID. |
info.buttonId | String | Unique ID of the button that was clicked. |
info.journeyActivityId | String | Unique ID for the Journey Builder activity that sent this message. (Only available for events generated in Journey Builder). |
info.journeyActivityName | String | Name of the Journey Builder activity that sent the message. (Only available for events generated in Journey Builder). |
info.journeyId | String | Unique ID of the Journey Builder journey. (Empty if not related to a Journey Builder journey). |
info.journeyName | String | Name of the Journey Builder journey. (Empty if not related to a Journey Builder journey). |
info.journeyVersion | String | Version of the Journey Builder journey. (Empty if not from a Journey Builder journey). |
info.sendMethod | String | The method used to send the push notification. Potential values include MobileStudio , JourneyBuilder , TriggeredSend , and LLTS (Transactional API). |
info.to | String | The unique address the message was sent to. In this case, the end-user's device ID. |
info.messageKey | String | Unique ID for the message. Only available if sendMethod is LLTS . |