MobilePush Events

Event Notification Service (ENS) supports these event notification types and their corresponding payloads.

Notification Event CategoryNotification Event TypeDescription
SendEventsPushSentEmitted when a push notification is sent.
SendEventsPushNotSentEmitted when a push notification send fails to fully execute.
SendEventsPushBouncedEmitted when a push notification is bounced back by the Push Notification Service (PNS).
EngagementEventsPushOpenEmitted when a user opens a push notification on their mobile device.
EngagementEventsInAppDisplayEmitted when an in-app message is displayed in-session due to a user taking a high-value, tracked action with their mobile app.
EngagementEventsInAppDismissEmitted when a user dismisses an in-app message.
EngagementEventsInAppClickEmitted when a user interacts with an in-app message using the message's Call-to-Action (CTA) button.
EngagementEventsInboxOpenEmitted when a user opens an inbox message.
EngagementEventsPushDeliveryReceiptEmitted when a push notification or inbox message is successfully delivered to users' devices.
EngagementEventsPushInstallEmitted when a user installs and opens your app for the first time.
EngagementEventsPushInactiveEmitted when a user stops using your app.
EngagementEventsPushImageClickEmitted when a user clicks on an image within a push notification.
EngagementEventsPushButtonClickEmitted 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.

AttributeTypeDescriptionApplicable to Events
eventCategoryTypeStringThe taxonomy of the event.All events
compositeIdStringEvent ID.All events
timestampUTCNumberUTC Epoch time.All events
definitionKeyStringName of the send definition.Not applicable to PushDeliveryReceipt, PushInactive, and PushInstall events
definitionIdStringA unique message ID. Only present if the send method used is Transactional API.Not applicable to PushDeliveryReceipt, PushInactive, and PushInstall events
compositeObjectObject containing composite identifiers related to the event.All events
composite.jobIdStringMarketing Cloud Engagement Job ID (nullable for EngagementEvents.PushOpen events).Not applicable to PushDeliveryReceipt, PushInactive, PushInstall, PushImageClick, and PushButtonClick events
composite.subscriberIdStringInternal ID of the user the message was sent to.Not applicable to PushDeliveryReceipt, PushInactive, PushInstall, PushImageClick, and PushButtonClick events
composite.deviceIdStringInstance of the app installation on the user's device.All events
midNumberMember identifier of the Engagement business unit that produced the event.All events
eidNumberEnterprise identifier of the Engagement parent business unit that produced the event.All events
infoObjectObject 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
requestIdStringA unique ID for the request. Used to track message status.
sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
messageKeyStringA unique ID for the message. Only available if sendMethod is LLTS.
appIdStringThe MobilePush app ID.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
requestIdStringA unique ID for the request. Used to track message status.
sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
messageKeyStringA unique ID for the message. Only available if sendMethod is LLTS.
appIdStringThe MobilePush app ID.
statusCodeStringThe message send status code or enum.
statusMessageStringBrief error message.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
requestIdStringA unique ID for the request. Used to track message status.
sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
messageKeyStringA unique ID for the message. Only available if sendMethod is LLTS.
appIdStringThe MobilePush app ID.
bounceCodeStringOne word feedback from APNS or FCM.
bounceMessageStringBounce reason.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
requestIdStringA unique ID for the request. Used to track message status.
sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
messageKeyStringA unique ID for the message. Only available if sendMethod is LLTS.
appIdStringThe MobilePush app ID.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
appIdStringThe MobilePush app ID.
messageTriggerStringThe event that triggered the in-app message display.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
appIdStringThe MobilePush app ID.
displayDurationIntegerIn-app message display duration.
messageTriggerStringThe event that triggered the in-app message display.
dismissTypeIntegerDenotes whether the in-app message was user-dismissed or time-dismissed.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
appIdStringThe MobilePush app ID.
buttonClickedStringThe name, CTA, or title of the button the user clicked.
displayDurationIntegerIn-app message display duration.
messageTriggerStringThe event that triggered the in-app message display.
dismissTypeIntegerDenotes whether the in-app message was user-dismissed or time-dismissed.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
toStringThe unique address the message was sent to. In this case, the end user's device ID.
contactKeyStringA unique ID for the contact.
appIdStringThe MobilePush app ID.
requestIdStringA unique ID used to track message status.
deviceObjectAn object containing device information.
device.platformStringThe 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.

AttributeTypeDescription
composite.deviceIdStringInstance of the app installation on the user's device.
composite.contactKeyStringAn unique ID for the subscriber/contact.
composite.appIdStringThe MobilePush app ID.
composite.messageIdStringA unique ID for the message.
info.deviceObjectAn object containing device information.
info.messageDateUTCStringUTC epoch time of the message send date.
info.messageTypeNumberAn integer representing the message type. A value of 1 indicates Push Notification, and a value of 8 indicates Alert + Inbox.
info.recieptDateUTCStringUTC epoch time of message receipt date
info.sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
info.journeyActivityIdStringUnique ID for the Journey Builder activity that sent this message. (Only available for events generated in Journey Builder).
info.journeyActivityNameStringName of the Journey Builder activity that sent the message. (Only available for events generated in Journey Builder).
info.journeyIdStringUnique ID of the Journey Builder journey. (Empty if not related to a Journey Builder journey).
info.journeyNameStringName of the Journey Builder journey. (Empty if not related to a Journey Builder journey).
info.journeyVersionStringVersion of the Journey Builder journey. (Empty if not from a Journey Builder journey).
info.toStringThe unique address the message was sent to. In this case, the end user's device ID.
info.requestIdStringUnique ID for the request generated by the inbound service. Used to track message status.
info.messageKeyStringUnique ID for the message. Only available if sendMethod is LLTS.
info.device.platformStringMobile 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.

AttributeTypeDescription
composite.deviceIdStringInstance of the app installation on the user's device.
composite.contactKeyStringA unique ID for the subscriber/contact.
composite.appIdStringThe MobilePush app ID.
sdkVersionStringVersion of the SDK.
info.deviceObjectAn object containing device information.
info.device.platformVersionStringVersion of the platform
info.device.hwidStringDetails of the hardware of the mobile.
info.installDateUTCNumberUTC epoch time for the time when the device installation happened.
info.device.sdkVersionStringVersion of the SDK.
info.device.platformStringType 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.

AttributeTypeDescription
composite.deviceIdStringUnique ID of the app installation on the user's device.
composite.contactKeyStringUnique ID for the contact.
composite.appIdStringThe MobilePush app ID.
info.daysInactiveNumberNumber of days the device was inactive, if info.reason is Inactivity.
info.deviceObjectAn object containing device information.
info.device.platformVersionStringOperating system version of the mobile device.
info.device.hwidStringHardware identifier of the mobile device.
info.reasonStringReason for inactivity.
info.device.platformStringType 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.

AttributeTypeDescription
composite.contactKeyStringUnique ID for the contact.
composite.deviceIdStringUnique ID of the app installation on the user's device.
composite.messageIdStringUnique ID for the message.
composite.appIdStringThe MobilePush app ID.
info.imageIdStringUnique ID of the image that the user clicked.
info.journeyActivityIdStringUnique ID for the Journey Builder activity that sent this message. (Only available for events generated in Journey Builder).
info.journeyActivityNameStringName of the Journey Builder activity that sent the message. (Only available for events generated in Journey Builder).
info.journeyIdStringUnique ID of the Journey Builder journey. (Empty if not related to a Journey Builder journey).
info.journeyNameStringName of the Journey Builder journey. (Empty if not related to a Journey Builder journey).
info.journeyVersionStringVersion of the Journey Builder journey. (Empty if not from a Journey Builder journey).
info.sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
info.toStringThe unique address the message was sent to. In this case, the end user's device ID.
composite.requestIdStringUnique ID for the request generated by the inbound service. Used to track message status.
info.messageKeyStringUnique 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.

AttributeTypeDescription
composite.contactKeyStringUnique ID for the contact.
composite.deviceIdStringUnique ID of the app installation on the user's device.
composite.messageIdStringUnique message ID.
composite.requestIdStringUnique ID for the request generated by the inbound service. Used to track message status.
composite.appIdStringThe MobilePush app ID.
info.buttonIdStringUnique ID of the button that was clicked.
info.journeyActivityIdStringUnique ID for the Journey Builder activity that sent this message. (Only available for events generated in Journey Builder).
info.journeyActivityNameStringName of the Journey Builder activity that sent the message. (Only available for events generated in Journey Builder).
info.journeyIdStringUnique ID of the Journey Builder journey. (Empty if not related to a Journey Builder journey).
info.journeyNameStringName of the Journey Builder journey. (Empty if not related to a Journey Builder journey).
info.journeyVersionStringVersion of the Journey Builder journey. (Empty if not from a Journey Builder journey).
info.sendMethodStringThe method used to send the push notification. Potential values include MobileStudio, JourneyBuilder, TriggeredSend, and LLTS (Transactional API).
info.toStringThe unique address the message was sent to. In this case, the end-user's device ID.
info.messageKeyStringUnique ID for the message. Only available if sendMethod is LLTS.