Netcore integration with AppsFlyer

At a glance: Netcore, an email delivery and analytics platform, embeds AppsFlyer OneLink branded links within emails. Email recipients who click the link are deep linked into your app. 


Email service providers (ESPs) are excellent sources of segmented user traffic. They wrap deep linking URLs with their own click recording domain. In some cases doing so breaks iOS Universal Links. To overcome this, Netcore uses Universal Links on top of their click recording domain. They integrate with AppsFlyer and by using OneLink branded link capabilities enable deep linking and click recording.


  • OneLink branded link
  • AppsFlyer SDK version:
    • iOS SDK V4.9.0+
    • Android SDK V4.9.0+

Setting up Netcore

Step 1: Setting up domain in Netcore account

In order to use Universal Links with Netcore, you need to create a dedicated click recording domain and set a subdomain (for example,

This can be done by purchasing a designated domain or using your own domain.

Configure tracking domain and sending domain under Netcore Account configuration (see Netcore guide):



In case of any issues with Netcore account setup, open a ticket for the Netcore support team.

Setting up AppsFlyer

Step 2: Configuring your AppsFlyer SDK


If you haven’t already done so, make sure you have configured your app to support deep linking with OneLink.

After configuring your click recording domain to support Universal Links as described previously, you must set up your app to deep-link and resolve Universal Links.

  1. Associate the click recording domain in Xcode:

  2. Provide the click recording domain to the SDK API setResolveDeepLinkURLs. This API needs to be called before SDK initialization. For more information please see SDK documentation here.
    [[AppsFlyerTracker sharedTracker] setResolveDeepLinkURLs:@[@""]];
  3. When the app is invoked due to a click on the Universal Link, the AppsFlyer SDK resolves the deep link and extracts the underlying OneLink. All deep link parameters are then propagated into the onAppOpenAttribution API for deep link logic execution.

Step 3: Configure links for your email campaigns

  1. Create a OneLink template for your email campaigns.
  2. Create a Branded Domain.
    Note: In step 3, Set a CNAME record, before copying the CNAME destination, make sure to select
    Use the branded domain for an ESP configuration.

    new branded domain.png

Creating emails and testing links

Step 4: Sending your first email

  1. When creating the OneLink URL, make sure to URL-encode all parameter values
  2. The following parameters are suggested:
    pid (media source) Use a media source that signifies this usage such as Email
    c (campaign) The name of the campaign you want to measure
    af_dp The deep link URI scheme you want to deep-link your users into
    af_web_dp Where to redirect users clicking the link on a desktop
    af_ios_url Where to redirect users that don’t have the app when they click the link in an iOS device
    af_android_url Where to redirect users that don’t have the app when they click the link in an Android device
    is_retargeting For campaigns that retarget existing users, add is_retargeting=true.
  3. Place the OneLink URL in the email you are creating in Netcore Code Editor or Design Editor.


For the sake of readability, URL parameters are not URL-encoded in this example.

Step 5: Testing your links

After steps 1-4 are completed, send yourself a test email. Verify that the following events take place:

  • If you have the app installed, the app should be invoked.
  • If the AppsFlyer SDK deep-linking APIs are implemented, you should be deep-linked into the relevant content.
  • A click appears in the AppsFlyer dashboard, attributed to the provided media source and campaign.
  • A click appears in Netcore's data.