With the AppsFlyer + Iterable integration, you can send customer data from AppsFlyer to Iterable and use it to include deep links in your campaigns.
In this article
Enabling the integration
In Iterable
- Go to Integrations > API Keys.
- Click New API Key.
- Give your API key a name (for example, "AppsFlyer Integration") and select Server-side.
- Click Create.
- Copy the API key to your clipboard.
IMPORTANT
Store your API key in a safe location. Once you close this menu, you won't be able to view the full API key again.
In AppsFlyer
-
Go to Collaborate > Partner Marketplace.
-
Search for "Iterable" and click Manage Integration.
-
In the
api_key
field, enter the Iterable API key you created earlier. Select the events that you’d like to send to Iterable. (This integration currently does not support attribution links or data enrichment features.)
IMPORTANT
You must track user ID values with the AppsFlyer SDK in order to send postbacks from AppsFlyer to Iterable. For postbacks to be successful, the user IDs that you set up in AppsFlyer and Iterable must match. If you haven't set up an AppsFlyer customer user ID (CUID) for some of your users, you won't be able to track their install and event postbacks in Iterable.
To learn more about AppsFlyer's Customer User ID field (CUID) field, see AppsFlyer's support article Customer User ID (CUID).
Setting up deep links with the Iterable + AppsFlyer integration
TIP
Before getting started, set up your iOS and Android apps to support deep links. For more information, see iOS Universal Links Setup and Android App Links Setup.
In AppsFlyer
Set up OneLink and enable deep linking
To get started with deep linking, you'll need to set up an AppsFlyer OneLink and enable deep linking in your AppsFlyer account. For detailed instructions on how to do this, see AppsFlyer's support guide OneLink Links and Experiences.
In Iterable
Step 1: Create a tracking domain
If you don't already have one, you'll need to create a tracking domain. See Email Setup for detailed instructions on how to do this.
Step 2: Configure HTTPS for your tracking domain
See Configuring HTTPS for Link Tracking Domains for detailed instructions on how to do this.
Step 3: Add a destination domain
Add your AppsFlyer OneLink domain (<YOUR_DOMAIN>.onelink.me
) as a
destination domain.
Step 4: Set up an Apple App Site Association (AASA) file for iOS
-
In your browser, go to the following web address:
https://<YOUR_APPSFLYER_ONELINK>/.well-known/apple-app-site-association
Copy the contents of this page and paste them into the Apple section of your destination domain's configuration.
Step 5: Set up an Asset Links file for Android
-
In your browser, go to the following web address:
https://<YOUR_APPSFLYER_ONELINK>/.well-known/assetlinks.json
Copy the JSON content from this web page and paste it into the Android section of your destination domain's configuration.
TIP
For more information about this step, see the following support articles:
- AppsFlyer documentation: Iterable Integration with AppsFlyer
- Iterable documentation: Configuring Deep Links for Email or SMS
In your mobile apps
Step 1: Configure your apps to support deep links
For detailed instructions on how to do this, see AppsFlyer's support article Setting Up Your App.
Step 2: Set up the AppsFlyer SDK
Update the code for your iOS and Android apps using AppsFlyer's iOS and Android SDKs.
Set up your apps to support deep links.
Call AppsFlyer's
setResolveDeepLinkURLs
method to fetch your OneLink URL from AppsFlyer.After fetching your OneLink URL, call AppsFlyer's
onAppOpenAttribution
method to get additional deep linking and attribution metdata from AppsFlyer.
NOTE
For help with this step, see AppsFlyer's documentation:
AppsFlyer postbacks reference
The following data fields are available in the installation postbacks:
-
attr_source
: "AppsFlyer" -
media_source
: AppsFlyer Partner ID -
campaign
: Campaign Name -
adset
: Adset Name -
ad
: Ad -
adgroup
: Ad Group -
publisher_id
: Publisher ID -
match_type
: Fingerprinting, Device ID or Referrer -
is_attributed
: 0 (organic) or 1 (non-organic) -
retargeting_type
: Retargeting type -
af_timestamp
: AppsFlyer Install time -
idfa
: iOS Advertiser ID -
advertiserId
: Android Advertiser ID -
app_id
: App ID -
app_name
: App Name (as displayed in AppsFlyer) -
language
: device language -
user_agent
: device user-agent -
platform
: iOS or Android
These come through as custom tracking events, called install
, via Iterable's
POST /api/events/track
API endpoint.
The post-install events contain the same fields, with additional fields to denote event and revenue-based values:
-
event_name
: Event named tracked in AppsFlyer -
attr_source
: "AppsFlyer" -
media_source
: AppsFlyer partner ID -
campaign
: Campaign name -
adset
: Adset name -
ad
: Ad -
adgroup
: Ad group -
publisher_id
: Publisher ID -
match_type
: Fingerprinting, device ID or referrer -
is_attributed
:0
(false) or1
(true) -
retargeting_type
: Retargeting type -
event_value
: Event value JSON from AppsFlyer -
revenue_usd
: Event revenue displayed in USD -
revenue
: Event revenue displayed in the currency that was sent to AppsFlyer -
currency
: The currency that AppsFlyer originally received with the event -
af_timestamp
: AppsFlyer event timestamp -
idfa
: iOS advertiser ID -
advertiserId
: Android advertiser ID -
app_id
: App ID -
app_name
: App name (as displayed in AppsFlyer) -
language
: Device language -
user_agent
: Device user-agent -
platform
: Device operating system (iOS or Android)
Event names are passed through as they are named and tracked via AppsFlyer.
TIP
To learn about AppsFlyer and IDFA, see AppsFlyer's documentation:
Questions?
To contact AppsFlyer support, email support@appsflyer.com.