AppsFlyer Tracking Link Structure and Parameters


AppsFlyer uses tracking links to track many elements relevant to the users clicks on mobile ads.

When a user clicks on an AppsFlyer tracking link the URL is saved in AppsFlyer's data bases, and the user is redirected to download the app. Supported parameters in the link get parsed and are available via AppsFlyer's raw data reports for advanced analysis.

AppsFlyer's Base Tracking Link 

The base tracking link contains the minimum information to record the click and redirect the user to download the app. Additional parameters may be added to the link after the '?' character, to trace extra information.{app_id}

The base tracking link goes to AppsFlyer via It contains the {App_id} parameter, which is the Application ID for Apple iTunes/App Store app, or the package name for Google Play.


The following tracking link for the com.greatapp app uses several parameters including Publisher ID (pid), campaign name (c) and adset ID (af_adset_id). See the table below for the full list of supported tracking link parameters and their explanations.

Tracking Link Parameters

The following parameters are available to use within the generated tracking link:

Parameters Display Name Description
pid Media Source Media source name - provided by AppsFlyer for integrated partners and should not be changed. More details.
c Campaign Campaign name - provided by the advertiser. Campaign names that exceed 60 characters in length are displayed on the dashboard as "c_name_exceeded_max_length"



Agency Account Name - allowed by the advertiser


Marketing Partner

Allows marketing partners of major publishers to receive postbacks per install


Currently this parameter is relevant only for Pinterest Marketing Partners.



The Ad network unique click identifier


Site ID

Ad Network publisher ID


Sub Site ID

Ad Sub-Network/Publisher ID


Campaign ID

Campaign ID - provided by the advertiser



Adset Name - provided by the advertiser. Adset is an intermediate level in the hierarchy between Campaign and Ad. See more


Adset ID

Adset ID



Ad Name (see more)




Ad Type

Ad Type - please use one of the following name conventions: 



Lookback Window for Click Attribution. This window's duration is the maximum CTIT (Click Time to Install) for the new user to be attributed to the source displaying the ad/link.

Configurable number of days for the lookback click attribution period.  Available parameter values: 1d - 30 days OR 1h-23h (hours). The default value is 7d.  


Only available for click URL and not impression URL.


Lookback Window for View-through Attribution

Configurable number of days for the lookback view-through attribution period.  Available parameter values: 1h - 48h, 1d - 7d. The default is 1d. 


Only available for impression URL and not click URL


Is Retargeting Campaign? 

Whether this click or impression is considered from a retargeting campaign.  Related to re-attribution or re-engagement conversions.  Values are true or false.


Re-Engagement Window

Change the re-engagement attribution window by adding this parameter to the tracking link.

You can insert here any time from 1 day up to 90 days.  You can enter the time as either 24h or 36h (for hours) or 1 or 1d up to 90d (for days).



The channel through which the ads are distributed (example: YouTube vs Google Search)



Keywords list for text-targeted campaigns


Cost Model

Cost model - CPI (default) is currently the only supported model, which can populate cost value in AppsFlyer's aggregated data, e.g. on the dashboard's overview page. 


Cost Currency

Currency code (e.g. USD). Find all possible currency codes


Cost Value

Cost value. Supporting up to 4 digits after the decimal point


Sub Param 1

Custom Parameter 1 (for the use of advertisers only)

af_sub2 Sub Param 2 Custom Parameter 2 (for the use of advertisers only)
af_sub3 Sub Param 3 Custom Parameter 3 (for the use of advertisers only)
af_sub4 Sub Param 4 Custom Parameter 4 (for the use of advertisers only)
af_sub5 Sub Param 5 Custom Parameter 5 (for the use of advertisers only)
af_r N/A Redirect users to the specified URL on all operating systems and platforms
af_web_dp N/A Redirect desktop users to a different web page than configured in the OneLink template. Use this to keep attribution data of desktop users on other platforms (e.g. Google Analytics or Omniture)
af_dp N/A The path for an internal activity in the app that users are deep linked into. Use this for deep linking and retargeting
af_ios_fallback N/A Supply fallback URL for users of iOS 10.3 and above. Use this to improve the broken flow for iOS 10.3 users
af_ref N/A
Ad networks working with S2S clicks are able to send a unique referrer value using the following parameter: &af_ref=ReferrerValue
The af_ref value must consist of a unique value, structured as follows:
is_incentivized true/false
Incent or non incent

Android Specific Parameters

Parameter Display Name Description


Android ID

Device Android_id - Requires ad network support



Device Android_id hashed with SHA1 - Requires ad network support


Advertising ID

Google Advertising ID - Requires ad network support



Google Advertising ID hashed with SHA1 - Requires ad network support



Redirect Android users to a different URL than the app's page on Google Play. Use for out-of- store apps



Used for desktop to mobile tracking - email hashed with SHA1, requires ad network support



Amazon's Fire Advertising ID

iOS Specific Parameters

Parameters Display Name Description



Apple Advertiser ID - should be provided using upper case format, requires ad network support


Redirect iOS users to a different URL than the app's page on iTunes

Use this for landing page redirections



Apple Advertiser ID hashed with SHA1 - Requires ad network support



Device mac address - Requires ad network support



Device mac address hashed with SHA1 - Requires ad network support


All parameters are available in the Installation Report and the Analytics, Reports and APIs.

Why is PID (Publisher ID) the Most Important Parameter?

Among all available tracking link parameters PID stands out as the only parameter that MUST be included in every tracking link. 

PID, Publisher ID, is actually the Media Source name. This is the primary field for attributing the install to its source.  

Each one of AppsFlyer's Integrated Partners has its own unique PID value, which ends with "_int". When using Custom Tracking Links you can set any PID name you'd like, as long as it's not reserved by integrated partners. 

Here are some examples of important integrated publisher IDs: organic, googleadwords_int (Google AdWords), Facebook ads, Twitter. You can use any name for non integrated sources like email, sms or mail pigeons.

Avoid These Common PID Issues

The following PID Issues should be avoided.

1. Always include PID in your tracking links

Without the PID on the tracking link the user is automatically attributed to a "None" media source and the original installation source is gone.

2. Don't use Integrated Partner PIDs for other sources
For each integrated source use only the designated PID for correct attribution of its installs. For any custom media source, such as email, SMS or even viral unpaid posts on Facebook use other, non-integrated PID values.
3.  Use only legal characters
If the pid parameter in the Tracking Link contains one of the following characters ":<>*&?/" - the click/install appears in the dashboard under invalid_media_source_name.


Try to avoid using white spaces in the PID value, or make sure to URL encode your tracking links before using them.

Levels of Data Granularity

You can use up to four URL parameters to reach deep dive into your ads performance. Using all 4 parameters on all your active tracking links enables you to:

  • Attribute all user installs and events to specific ads
  • Drill down and compare performance of all your ads per ad set, per campaign and per media source on aggregated reports to optimize on every level
  • Compare all of your ads from all the used media sources on the raw data reports and Pivot table

The parameters are:

  1. Media source (pid=)
  2. campaign name (c=) 
  3. Ad set (af_adset=)
  4. Ad name (af_ad=) 


Frequently Asked Questions 

What is this Play Store error message?

If you ever encounter the following error message in the Play Store after following a tracking link:


This is because the tracking link includes a # character. For example:

Usually, these characters are in the link because they are macros, and are dynamically replaced by a value, so it is not a really big problem and you can ignore the message.

What is the maximum length for a campaign name?
AppsFlyer limits the campaign name length in the tracking link URL to 60 characters. If the character limit is exceeded, the campaign name is changed to the following string: c_name_exceeded_max_length
Was this article helpful?
3 out of 4 found this helpful
Powered by Zendesk