AppsFlyer Impression Tracking and Attribution for Ad Networks


In addition to click-through, AppsFlyer also supports attribution for view-through.

This means that users who have viewed an ad (but not clicked on it) can be attributed to the ad network that served the ad.

This is especially helpful for video ad networks that traditionally have low CTRs on their video ads, but also for traditional ad networks serving normal ads.

The attribution window (also referred to as the view-through look-back period) for impressions is 24 hours. For clicks, the look-back period is 7 days. In situations where a click is followed by an impression and these two touches happen within the most common (shorter) attribution window, the click prevails.

 Example 1

A user views an ad on his mobile device but chooses not to click on the ad. A few hours later the user installs the app via the App Store - attribution goes to the impression, as it was within the 24 hours attribution window.

 Example 2

A user clicks an ad on his mobile device but chooses not to install the app. 20 hours later the user views another ad for the same app on his mobile device. After one more hour the user installs the app - attribution goes to the click (and not the impression even though the impression was after the click) as last click prevails.

How Does it Work?

Every time an ad is displayed to a user, the media provider sends a request to AppsFlyer.

The endpoint receives the following information:

For which app the impression was received (as part of the URL)
Who the media provider was
The campaign
The partner or agency (if there is one)
The Site ID
Up to five additional advertiser-defined parameters
The android ID of the device from which the impression was received
The IMEI of the android device from which the impression was received
The IDFA of the iOS device from which the impression was received
The Google Advertising ID (GAID) from which the impression was received

Every device ID can be hashed (using SHA1).  The parameter name should begin withsha1_ and be followed by the parameter name.


sha1_android_id, sha1_imei, sha1_idfa, sha1_advertising_id.

Currently, only matching by Device ID is supported, which means that passing it on to the impression link is mandatory.

The Impression API Call looks like this:

GET request:{app-id}?c={campaign name}&pid={media source}&af_prt=
{partner /agency name}&af_siteid={site id value}&af_sub1={free value}&idfa={idfa value}

HTTPS is also supported.


It is very important that this information is sent as early as possible to AppsFlyer so that the data can be attributed appropriately.  Delays in the information being sent can result in incorrect attribution of the impressions.

Ad networks that want to support view-through should contact their dedicated Partner Development Manager or reach out to

Was this article helpful?
1 out of 1 found this helpful