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

Cross-channel Conversion Tracking

About Cross-channel Conversion Tracking

Conversion tracking enables marketers using Responsys to evaluate how effective their marketing campaign is in driving a particular post-clickthrough action, such as making a purchase. With the Cross-Channel Conversion Tracking feature, Responsys extends its conversion tracking functionality, so that marketers can attribute conversions that occur in your mobile app to an email campaign.

For example, consider a 'freemium' health and fitness mobile app that monetizes by having customers upgrade to a 'premium' version. The company sends email campaigns to customers to highlight the benefits of the premium service and then routes them to their mobile app, where customers are prompted to upgrade. When the customer does upgrade, this upgrade is then tied back to the email campaign that prompted the upgrade.

How Cross-channel Conversion Tracking works

For Cross-Channel Conversion Tracking to work, Marketers create email campaigns that contain deep-linked URLs to their organization’s mobile app. The mobile app must be configured to record the click, wait for the conversion action, and then send the conversion to Responsys. With this feature, conversions on email campaigns (via deep linked URLs to mobile apps) that happen on a mobile app are now attributed to the email campaign. Marketers can view these conversion metrics in Interactive Dashboards, using the Browser Types report for the email campaign.

 

Modifying your mobile app code to support Cross-channel Conversion Tracking

As the Mobile App Developer, you must update your organization’s mobile app to be able to pass the conversion events from the app, along with the relevant session information, to the Responsys listener (also knows as the Response Handler). Responsys uses the session information to attribute the conversion to the email campaign.

This topic provides the steps for those who would like to link from a Responsys email campaign directly into their iOS mobile app (if installed). The following section details out the Implement Resolver Code in your iOS App.

NOTES:

Before you begin

Steps for modifying your code

[1] Implement an Activity to intercept the deeplink url that is part of your email campaign. For example, if your email campaign contains a deeplink, such as https://www.linktomyapp.net/pub/acc?product=123, then set up your Activity in the AndroidManifest as shown below. This will allow the MyLinkReceiverActivity to intercept all links from linktomyapp.net having path /pub/acc and /pub/cc.

<activity
    android:name=".MyLinkReceiverActivity"
    android:excludeFromRecents="true"
    android:theme="@android:style/Theme.Translucent.NoTitleBar">
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data
            android:host="linktomyapp.net"
            android:pathPrefix="/pub/acc"
            android:scheme="https" />

        <data
            android:host="linktomyapp.net"
            android:pathPrefix="/pub/cc"
            android:scheme="https" />
    </intent-filter>
</activity>

[2] From the MyLinkReceiverActivity, call the SDK method PushIOManager.trackEmailConversion() as follows:

public class MyLinkReceiverActivity extends Activity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        PushIOManager.getInstance(getApplicationContext()).trackEmailConversion(getIntent());
    }
}

The SDK processes the deeplink and stores the relevant metadata. At the time of conversion, when you call PushIOManager.trackEngagement( ) (as described in this topic), the conversion will be attributed to the email campaign.

With the above API, the SDK fetches the deeplink/weblink as defined for the email campaign by your marketer. Once fetched, the SDK tries to launch the deeplink first, then the weblink (in case the deeplink fails to launch). If you want your app to handle the deeplinks/weblinks and decide which screen to display, use the following API, which provides a callback containing the deeplink/weblink.

public class MyLinkReceiverActivity extends Activity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        PushIOManager.getInstance(getApplicationContext()).trackEmailConversion(getIntent(),
                new PIODeepLinkListener() {

            @Override
            public void onDeepLinkReceived(String deeplinkUrl, String webLinkUrl) {
                // handle the deeplink / weblink
            }
        });
    }
}

 

Troubleshooting Cross-channel Conversion Tracking

Make sure you setup the <intent-filter> with the correct data for scheme, host and path prefix. This should match with the hyperlinks that are part of the email campaign.

Conversion not attributed to the correct email campaign?

To rule out any issues with the SDK integration, set the debugging log level to Log.VERBOSE in your mobile app. This is described in the Debugging & Logging topic. Share the logs captured with the Responsys Support team. Make sure the logs are captured from the time the hyperlink/deeplink in email is clicked up to initiating a conversion.