Oracle Help Center | Oracle Responsys Mobile App Platform Cloud Service title

Engagements & Push Conversions

Oracle Responsys Mobile App Platform Cloud Service is the only provider that goes beyond telling you if your users are opening your app via push notifications.

"Example chart of Push Campaign metrics"

With engagement metrics, you can connect the dots between a notification and actual user behavior. Do you want to see if a push notification is trying social activity? What about premium content or in-app purchases? By understanding your push conversion, you can improve your messaging strategy and even re-target users based on user behavior.

Launch and Active Engagements are handled automatically with use of the PushIOActivityLauncher. If your app is handling the notification in a custom way, then it needs to respond to the broadcasts, as described in the Optional - Customize Incoming Push Messages and Notification Taps section of the Step-by-step Guide topic.

Otherwise, Oracle Responsys Mobile App Platform Cloud Service creates a duplicate notification.

If you decide to not use PushIOActivityLauncher for your custom notification's PendingIntent items, you must report the engagements, for example:


If you want to track other metrics like In-App Purchases, Premium Content (Video Views), Social Media Hits, or other generic activities, you must call trackEngagement, passing one of the PUSHIO_ENGAGEMENT_METRIC constants found in the PushIOManager, as follows:


Here's a list of the PUSHIO_ENGAGEMENT_METRIC constants handled by the PushIOManager:

In-App Purchase:


Premium Content


Social Media:




IMPORTANT: You must clear the EngagementId when the app goes into the background due to any user action (such as the user closing the app) or any system action (such as a phone call). To clear the EngagementId, call it once in the onStop method of your app:

    PushIOManager pushIOManager = PushIOManager.getInstance(this);


Enabling conversion window support for push conversions from mobile apps

Responsys already supports a Push Conversion event, which attributes conversions inside the app to the push campaign that led the app user into the mobile app. In 19A, this has been enhanced to allow your to define the conversion window for push conversion events that occur from within the mobile app. You can also define a conversion window such that a conversion is logged only once for every push notification opened.

This section describes the methods that can help you create these custom conversion behaviors for Push conversions.

Get Engagement Timestamp

This method enables you to query the time when the user clicked or opened the Push notification. The method returns a string of the engagement timestamp in ISO 8601 format. It returns null if no engagement information was fetched or the resetEngagementContext method was called.

public String getEngagementTimestamp()

Example: If you wanted to have a conversion window of three days, you could use this method to query the time. You could then compare it with current time. If it has been fewer than three days, then raise the conversion event. If more than three days have passed, you could clear the conversion context. Once the conversion context is cleared, the SDK will not raise any further Push Conversion events, even if invoked by the app.

Reset the Engagement Context

This API enables you to reset all engagement information (to null). When you reset the engagement context, no more engagement will be reported after calling this method until: either new push notification received and opened or application is invoked from the email

public void resetEngagementContext()

Example: When a new click occurs, any existing conversion context is cleared. Attribution is made to the most recent click that the user made. Conversion can be attributed to either an email campaign or a push campaign, depending on the last place the user clicked. If you use this method to reset the conversion context after the first click, then the SDK will not raise any further conversion events, even if invoked by the app.