Ad Network Integration Guide

Last updated: May 2016

This article is intended for Ad Networks that want to integrate with AppsFlyer's NativeTrack™ solution.

AppsFlyer is an attribution platform that provides a tracking solution allowing advertisers (and ad networks) to manage user acquisition (UA), optimization and analysis.

The ad network integration with AppsFlyer has 4 primary steps:

  1. Define the Ad Network Global Click URL/impression URL (tracking link) parameter placeholder/macros
  2. Define the Ad Network Global Install postback endpoint and parameter placeholder/macros
  3. Define the Ad Network Global In-App postback endpoint and parameter placeholder/macros
  4. Define the Ad Network Global Re-attribution postback endpoint and parameter placeholder/macros
  5. Define the Ad Network Global Re-engagement postback endpoint and parameter placeholder/macros

IMPORTANT NOTE:

If you are using one of the below platforms, you can find detailed information on how to integrate with AppsFlyer:

Follow the steps below to complete the integration process.

Step 1: Define the Ad Network Global Click URL/impression URL (tracking link) parameter placeholder/macros

The first step is to define your Click URL - the Click URL should be in the same format for all future campaigns.

See below AppsFlyers base tracking link with a detailed explanation per macro:

https://app.appsflyer.com/app_id?pid=mediaName_int&c={campaign}

AppsFlyer Base URL

Description

https://app.appsflyer.com

AppsFlyer End-Point 

app_id

Application Unique ID - Dynamic value changed per app (will be provided automatically by AppsFlyer)

pid=

Media source name concatenated with  _int to identify integrated networks (will be provided by AppsFlyer)

In addition to the above, ad networks can add available macros which are added automatically by its system, for example: Click ID, Publisher ID, Campaign ID, Ad Type, Cost etc.

Below is a list including the most important parameters:

Name

Description

Parameter Name Convention

Campaign name

Campaign name

c

IDFA (iOS only)

The IDFA of the iOS device from which the  click/impression was received

Idfa

GAID (Android only)

The Google Advertising ID (GAID) from which the click/impression was received

advertising_id

Click ID

The ad-network unique click identifier

clickid

Publisher ID

Ad-network publisher id. If the network works with several different publishers they can be identified by using site ID

af_siteid

Sub Publisher ID

Ad-network sub_publisher id. If the network’s publishers have additional sub_publishers or site ids, they can be identified by using sub_site ID

af_sub_siteid

Cost

1. Cost model (i.e. CPI, CPC, CPA)

2. Cost value (the actual cost in numbers – i.e. 1.99)

3. Cost currency (i.e. USD)

The cost of the campaign/ad-set/ad. This is important so advertiser can see ROI and eCPI

Cost

1.       af_cost_model

2.       af_cost_value

3.       af_cost_currency

Ad type

Ad type - anything that describes the ad format (i.e. "video", "banner", "medium size", "big size" etc.)

af_ad_type

For the full list of available macros, see here.

Example:

Base Tracking Link Template:

https://app.appsflyer.com/com.appsflyer?pid=mediaName_int

Extended Android Tracking Link parameter example:

https://app.appsflyer.com/com.appsflyer?pid=mediaName_int&clickid={clickid}&af_siteid={affiliate_id}&af_sub_siteid={affiliate_subid}&af_c_id={campaign_ID}&af_adset={Adset_name}&af_adset_id={Adset_ID}&af_ad={Ad_name}&af_ad_id={Ad_ID}&af_ad_type={Ad_type}&af_channel={Channel}&af_keywords={Keywords)&af_cost_model={Cost_model}&af_cost_currency={Cost_currency}&af_cost_value={Cost_value}&android_id={android_id}&sha1_android_id={sha1_android_id}&advertising_id={advertising_id}&sha1_advertising_id={sha1_advertising_id}

Extended iOS Tracking Link parameter example:

https://app.appsflyer.com/com.appsflyer?pid=mediaName_int&clickid={clickid}&af_siteid={affiliate_id}&af_sub_siteid={affiliate_subid}&af_c_id={campaign_ID}&af_adset={Adset_name}&af_adset_id={Adset_ID}&af_ad={Ad_name}&af_ad_id={Ad_ID}&af_ad_type={Ad_type}&af_channel={Channel}&af_keywords={Keywords)&af_cost_model={Cost_model}&af_cost_currency={Cost_currency}&af_cost_value={Cost_value}

NOTES

  • Tracking links can be created outside AppsFlyers dashboard/UI.  Instead of configuring the macros in the AppsFlyer UI each time, advertisers can copy and paste the name of the macro into the correct place.
  • All Macros {} can be changed according to your system configuration.

Example for Alternative macros: (# instead of {} )

https://app.appsflyer.com/com.appsflyer?pid=mediaName_int &clickid=#clickid#&af_siteid=#affiliate_id#&af_c_id=#campaign_ID#&af_adset=#Adset_name#&af_adset_id=#Adset_ID#&af_ad=#Ad_name#&af_ad_id=#Ad_ID#&af_ad_type=#Ad_type#&af_channel=#Channel#&af_keywords=#Keywords)&af_cost_model=#Cost_model#&af_cost_currency=#Cost_currency#&af_cost_value=#Cost_value#&android_id=#android_id#&sha1_android_id=#sha1_android_id#&advertising_id=#advertising_id#&sha1_advertising_id=#sha1_advertising_id#

Below is the redirect flow starting at the end user click until the final destination (Appstore)

Impression Attribution

AppsFlyer also allows ad-networks to get attributions based on impressions.

To send impression data to AppsFlyer you can use the same structure as in the above tracking link.

The only change required is to replace http://app. with http://impression.

In order for AppsFlyer to attribute install from an impression, ad networks must include the Device ID in each call.

For more information please refer to this article.

Step 2: Define the Ad Network Global Install Postback endpoint and parameter placeholder/macros

The second step is to define the Global Install Postback.  An Install postback URL is a request sent to the ad network notifying them of a successful install conversion. This call can contain all the relevant macros placed on the click URL.

Example:

http://YourDomain.com/postback?clickid={clickid}&af_siteid={affiliate_id}

The base install postback structure can be changed according to specific ad-network preferences.

For the full list of available parameters please see here.

NOTE: When sending the postback URLs to AppsFlyer for integration purposes it is mandatory to use AppsFlyer's macros as specified in the above link.

AppsFlyer can also provide static parameters per install conversion postback.

These parameters are added by the advertiser in the AppsFlyer UI.

In addition to the attributed installs AppsFlyer can also send a postback for every non-attributed install. These postbacks can be marked with a specific parameter called “can claim”.

&can_claim=1 indicates an install that is attributed to the ad-network.

&can_claim=0 indicates an install that is attributed to another network or organic source.

http://YourDomain.com/AppsFlyer?clickid={clickid}&can_claim={1\0}

Non attributed installs are missing specific parameters such as the Click ID which is available only when reporting attributed installs.

Step 3: Define the Ad Network Global In-App Postback Endpoint and Parameter/Macros

This section is relevant only for ad networks able to receive such postback events – if you are unable to support this, skip this step.

The third step is to define the Global In-App Postback Endpoint and Macros.

An In-App Postback URL is a request to the ad network notifying them of a successful In-App Conversion. When AppsFlyer measures an In-App Conversion it determines which ad network is responsible for generating the specific event based on the install conversion, then AppsFlyer attributes the In-App Event to that ad network.

Global In-App Event Postback example:

http://YourDomain.com?clickid={clickid}&event_name={event-name \ mapped-iae}&currency={currency}&value={revenue}

All install parameters are also available in the In-App Event Postback.
For the full list of available macros, see here.

You can either pre-configure the event tags to standardize the information the advertisers can send you, or you can leave the event tag open for advertisers to enter free text.

Example of Free Text Event Tag:

Example of Pre-Configured Event Tag:

 

Step 4: Define the Ad Network Global Re-attribution postback endpoint and parameter placeholder/macros

This section is relevant only for ad networks that are running re-targeting campaigns – if not, skip this step.

Re-attribution - having the targeted user engaging with the re-targeting campaign and causing them to re-install the app.

Please define which postback you would like to receive for re-attributed users.

You can choose between:
1. Your install postback, including a unique flag for the re-attribution
2. Your in-app event postback, including a unique flag for re-attribution
3. Or a custom postback

For more information about re-targeting (re-attribution and re-engagement) including the structure of the tracking link and relevant parameters please see here.

NOTE: You can define one postback for both re-attribution and re-engagement with a flag that will indicate whether the user was re-attributed or re-engaged.

Step 5: Define the Ad Network Global Re-engagement postback endpoint and parameter placeholder/macros

This section is relevant only for ad networks that are running re-targeting campaigns – if not, skip this step.

Re-engagement - when an existing user that has the app installed engages with the re-targeting campaign

Please define which postback you would like to receive for re-engaged users.

You can choose between:
1. Your install postback, including a unique flag for the re-engagement
2. Your in-app event postback, including a unique flag for re-engagement
3. Or a custom postback

For more information about re-targeting (re-attribution and re-engagement) including the structure of the tracking link and relevant parameters please see here.

NOTE: You can define one postback for both re-attribution and re-engagement with a flag that will indicate whether the user was re-attributed or re-engaged.

Finalizing Your Registration 

  1. If you currently have an integration with AppsFlyer contact us at partners@appsflyer.com
  2. If you do not currently have an integration with AppsFlyer, complete the ad Partners Registration application here.

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request
Powered by Zendesk