TUNE (formerly, HasOffers) integration with AppsFlyer

At a glance: Learn how ad networks that use TUNE (formerly HasOffers) to manage affiliate marketing campaigns can integrate with AppsFlyer and receive attribution data about installs and in-app events. 

To initiate the integration, prepare, and send the following information to AppsFlyer:

  1. Your attribution link
  2. Your postbacks (for installs and in-app events)

Create attribution link

The attribution link consists of the following AppsFlyer base attribution link and additional macros added by the ad network.

See the following AppsFlyers base attribution link with a detailed explanation per macro:

AppsFlyer Base URL Description


AppsFlyer endpoint


Unique app ID – dynamic value changed per app promoted


Media source name concatenated with _int to identify integrated networks


Campaign name

Example attribution link after adding TUNE macros

http://app.appsflyer.com/com.appsflyer?pid=mediaName_int&clickid= {transaction_id}&af_siteid={affiliate_id}&af_c_id={offer_id}&af_ad_id={offer_file_id}&idfa= {ios_ifa}&advertiser_id={google_aid}&af_sub5={offer_id}
  • In the previous link, af_sub5={offer_id} has been added for TUNE reporting purposes.

Read more about TUNE macros.

Create install and in-app event postbacks

Step-by-step instructions for creating your install and in-app event postbacks:

  1. Create or select an offer that uses the Postback w/Transaction ID protocol.
  2. In the details section of the offer page, click the link labeled Tracking.
  3. Copy the URL from the box labeled Postback URL.
  4. Remove the offer_id parameter and value from the postback URL to convert it from a specific postback to a global postback.

Read more about TUNE global postback URLs.

Sample postbacks

Global install postback:


In-app event postback:


In the above postback URLs:

  • NETWORK_ID = domain name (network ID) provided by TUNE
    • To ensure proper attribution, the NETWORK_ID should always be the branded domain name provided by TUNE, not a custom tracking domain used for a specific offer (if any).
  • goal_id = event tag in the AppsFlyer dashboard for each of your apps. This is the actual in-app event name from the app.

Learn more about Dynamic Event Mapping for In-App Events.

Finalizing your registration

  • If you have an integration with AppsFlyer, contact us using the partner assistant widget.
  • If you don't have an integration with AppsFlyer, complete the ad Partners Registration application here.