Attribution link specification for ad networks

At a glance: Ad networks integrating with AppsFlyer specify their attribution link according to this article. 

Attribution links for ad networks

Attribution links are used to notify AppsFlyer that a user engaged with an ad by clicking it. In its simplest form, the attribution link is placed behind an ad so that when a user clicks on an ad they are clicking on an attribution link.

Attribution model

What happens on the journey from a first click or impression to the attribution of an install or an event—and beyond.


  1. A user clicks on a banner or an offer link.
  2. The banner or link redirects the user to an AppsFlyer attribution link. The AppsFlyer attribution link is then populated with information that is collected during the click.
  3. We gather the information from the attribution link and store it in our database.
  4. An install occurs and the app is opened for the first time. The AppsFlyer SDK inside the app calls our servers with the information about the device that the app is installed on.
  5. We match this data to our click database using our Attribution methods:
    • Referrer matching
      This attribution method is unique to Android devices. When a user clicks on a link and gets redirected to Google Play, Google Play gives it a unique Referrer ID. When the install takes place, we collect this ID from the device. Then we match it with Google Play records.
    • Device ID matching
      We match the Device ID (IDFA for the iOS or GAID for the Android device) collected upon the click to the ID of the device that performs the install.
    • Probabilistic modeling

    More about attribution methods.

    We look for the referrer, device ID, and probabilistic modeling data points (in that order) in our click database. If we find a match, we attribute the install to the click. If not, we attribute the install to an organic download.

  6. Once the install is attributed, we send a postback with the conversion details to the ad network.

As it follows from this flow, we use attribution links to get information from you, and postbacks to send the information back to you.


If you use third-party performance marketing tools such as TUNE, CAKE, or Affise, see platform-specific instructions.

Attribution link template

The attribution link (the link behind the banner/offer) can look like this:{clickid}&advertising_id={gaid}&af_siteid={affiliate_id}&af_cost_model=CPI&af_cost_value={cost_value}&af_cost_currency={currency}&c={Campaign}&af_ad_type={AdType}&af_adset={Adset}&af_ad={Ad}&is_incentivized={true\false}&expires={timestamp}&signature={signature} is the AppsFlyer endpoint, com.yourapp is App ID, and pid=mediaName_int is a unique media source name that we assign to your Ad Network.

This part of the link is static and doesn’t require anything from you.

Link structure explanation:

  • The values after ‘=’ inside {} are macros populated by you when the click takes place and gets sent to AppsFlyer. When you prepare your template, replace the value in brackets {} with your parameter names. 
  • Macro naming has no significance provided that your system replaces them with the actual and correct values. The parameters before the ‘=’ sign are placeholders used by AppsFlyer so we know which values you are sending us.
  • To integrate with AppsFlyer, send us the attribution link template by email with your macro names. 

Regard the parameters listed in the table that follows as the recommended minimum. We support a larger set of parameters. You should share with us as much information on the click as you collect. See the list of attribution link parameters.

Recommended minimum attribution link parameters 

Parameter Description
&clickid={clickid} Click ID is a unique click identifier for each click that happens on your ad network.
&advertising_id={gaid} or
The device ID of the device on which the click takes place (GAID for Android and IDFA for Apple).
&c={campaign} The campaign name, as defined by the advertiser.
&af_siteid={publisher_id} Publisher or affiliate ID of the publisher or affiliate that drove the click.
&af_ad_type={search_text} Ad Type. You can use one of the following name conventions:
&af_adset={adsetid} Adset Name - provided by the advertiser/publisher. Adset is an intermediate level in the hierarchy between Campaign and Ad. See more
&af_ad={ad_id} Ad Name (see more) - provided by the advertiser/publisher
&is_incentivized={true} Incentivized or non-incentivized campaigns (can be true/false)
&af_cost_value={cost_value} Conversion Cost Value - supports up to 4 digits after the decimal point.
Make sure to use ONLY numerical digits (use the decimal point if needed), e.g., "56", "2.85" etc.
&af_cost_currency={currency} Cost Currency — currency code (e.g. USD, EUR). The default value is USD.
List of currency codes.
&expires={timestamp} Unix timestamp after which the ad network doesn't claim the click. Used for click signing to prevent click fraud. Learn more
&signature={signature} HMAC-SHA256 signature used to validate the click and prevent fraud. Learn more