At a glance: AppsFlyer determines the media source motivating a user to install or re-engage with an app and attributes the user action to that source using the AppsFlyer attribution model.
What is attribution?
Attribution is the act of determining what motivated (caused) a user to install an app or to perform post-install acts like re-engagement and re-attribution. The attribution result is either:
- A non-organic media source: The user interacted (usually by way of impression or click) with a media source.
- Organic: The user did not interact with a media source. Note! For ease of understanding, we often refer to a user as being attributed organically. We know that this is not strictly true, as users installing organically aren't attributed at all.
Mobile attribution is essential to optimizing user acquisition, re-engagement efforts, and results.
What is a mobile app install?
The Attribution Model is a set of rules, that determine how credit for an event is assigned to touchpoints in conversion paths. Each of the players in the mobile marketing ecosystem, Google Play, App Store, Apple, ad networks such as Facebook and Twitter, and mobile measurement companies, have their own attribution models. Each counts installs and events differently.
What's important is not the difference between the models but rather that the rules are clear and are implemented in a manner that is unbiased. Enabling advertisers to optimize campaigns and compare the quality of user performance.
It is important to understand the models and rules of the players you work with. Most important is to understand the model and nuances of the methods supported by AppsFlyer.
In AppsFlyer, an attributable event occurs when any of the following occur:
- In the context of user acquisition: An install is recorded and attributed after the user downloads and launches the mobile app. This means that in AppsFlyer, the timestamp of an app install is the first launch. In contrast, ad networks use the engagement time and App stores use the download time.
- In the context of retargeting:
AppsFlyer uses a number of attribution methods, listed in the table that follows:
|Method||Uses an ID||Technique||
|Device ID matching||Yes||Deterministic||AppsFlyer||Yes||Yes||Yes|
|Aggregated Advanced Privacy (AAP)||No||Aggregate||AppsFlyer||No||Yes||No|
(1) Supported by some third-party stores
(2) Google Play and third-party stores
(3) Universal Windows Platform
The attribution methods are utilized according to the priorities shown in the chart. Upon a new install, if there is more than one valid engagement, AppsFlyer prioritizes clicks over impressions, and deterministic over probabilistic methods.
Find below detailed descriptions of AppsFlyer attribution models.
Install referrer (Android only)
Android apps downloaded from Google Play and alternative app stores are usually attributed by the install referrer method. The referrer provides the original URL, clicked before redirecting to the Android store. This is the primary method for Android attribution. Currently, Google Play and Huawei app store support install referrer attribution. Alternative app store attribution using the referrer.
Device ID matching
The ad network, which has access to the user's device, sends the device ID to AppsFlyer on the click URL, or when notifying AppsFlyer that an impression has been served. This allows AppsFlyer to match the click device ID with the device ID fetched by the AppsFlyer SDK.
Device ID matching is the primary attribution method on iOS.
Available IDs are:
- iOS devices: IDFA, IDFV
- Android devices: having Google Play services: GAID
- Android devices without Google Play services: OAID, Android ID, IMEI, Fire ID
Device IDs can be hashed using SHA1 or MD5 on attribution links.
Device ID matching using IDFV (iOS)
- The identifier for vendors (IDFV) is available in iOS 6.-0+. It is not subject to Apple ATTrackingManager and LAT mechanisms. It is always available and can be used for cross-promotional advertising of apps from the same vendor.
- AppsFlyer SDK collects IDFV by default.
- According to Apple, The value of this property is the same for apps that come from the same vendor running on the same device.
- An IDFV is generated by Apple when the user installs the first app of a given vendor. Meaning, Apple checks that there are no other apps from the same vendor on the device. As a result, deleting all the apps of a given vendor and then installing an app from the same vendor results in a new IDFV.
- You should send IDFV if available. It improves attribution. We make use of IDFV in a number of scenarios including:
- Cross-promotion attribution.
- Reinstall attribution on the same device.
- Raw data reporting.
Device ID matching for self-reporting networks
Upon the first app launch, AppsFlyer checks in the app settings if traffic is expected from any of the self-reporting networks (SRNs), like Facebook, Snapchat, and Google Ads.
AppsFlyer queries the relevant SRNs using the unique device ID of the new install. The query uses Mobile Measurement Partners (MMP) APIs as defined by the SRNs. Based on the response, AppsFlyer may attribute the new uses to an SRN.
Probabilistic modeling is a statistical technique leveraging machine learning to estimate campaign performance. Probabilistic modeling parameters are collected:
- initially on the click or ad view (if enabled)
- again when the app is launched
Note for iOS apps:
Starting iOS 14.5+ probabilistic modeling is limited to the context of owned media, cross-promotion, and consented web-to-app flows.
- Uses statistics and is not based on unique IDs.
- Is a fallback method, used in the absence of a referer or advertising IDs. Deterministic attribution methods are given priority.
- Loses to clicks with referrer or ID matching, if they occur within the lookback window.
- The attribution window is determined by AppsFlyer dynamically, based on the user network. The window duration is adaptive but shorter than the window of other methods (up to 24 hours).
- Click-through probabilistic modeling is always enabled.
- View-through probabilistic modeling needs to be enabled in the app settings page and in the integration tab of non-SRNs.
Aggregated Advanced Privacy (AAP)
Aggregated Advanced Privacy (AAP) exposes campaign performance results in an aggregated manner, preventing any option to track users across apps and websites owned by different companies, and the ability to uniquely identify a user or a device.
AAP utilizes the Apple SKAdNetwork privacy levels as a minimum benchmark for its privacy-preserving thresholds. AAP is the default attribution model for Apple devices operating on ios 14.5+, except in cases that are explicitly permitted by Apple, such as owned media, and ATT consented users.
Unlike the other attribution methods described, the AAP machine learning algorithm's goal is to maximize the accuracy of the campaign’s aggregated performance, not the end-user attribution accuracy.
AppsFlyer supports the attribution of organic installs to TV and radio campaigns under the TV media source. An organic install is TV attributed when all of the following occur:
- The download, install, and the first launch together takes place a short time after the commercial is aired.
- The user is physically located in the country where the ad is aired. The option to limit to a specific city is permitted.
Methods of TV attribution:
- File Loading
- TV Integrated Partners
AppsFlyer supports attributing app installs when the app was installed on the device prior to the user purchasing the device.
Because there is no preceding user engagement, click-through, or view-through, installs are attributed on the first launch using the AppsFlyer SDK API. If there is an engagement from another source before the first launch, the preinstall has a higher priority and gets attributed.
Attribution methods per media source and AppsFlyer feature
See the sections that follow for a full breakdown of which particular attribution methods are supported, depending on:
- Media source: owned or paid
- AppsFlyer feature used
- User device: Android or iOS
|Media source||Feature||Attribution method|
|Owned media: email (including ESPs), SMS, social media posts, influencers/affiliates, print, etc.||OneLink||
|Owned mobile website/landing page with paid or organic incoming traffic||Smart Banners||Probabilistic modeling||Probabilistic modeling|
|OneLink Smart Script||
|Owned mobile apps||User invites/referral||
|Cross-promotion||Device ID matching||Device ID matching|
|Media source||Attribution method|
Device ID matching
Ad networks (non-SRNs) via attribution links for partners
|TV attribution||TV attribution|
User engagement attribution types
Attribution is performed based on click-through and view-through engagements. Media source attribution is achieved by making use of device ID matching and probabilistic modeling techniques.
Most installs are the result of user clicks on ads, like banners, videos, and interstitials.
Upon the ad click, a click lookback window opens having a default duration of 7 days. Installs occurring within the lookback window period are non-organic and are attributed to the media source. Installs that occur after the duration of the lookback window are considered as organic installs. Often referred to as being organically attributed.
- A seven-day click lookback window is regarded as the industry standard. Set the window duration in accordance with your agreement with the media source.
- Align SRN lookback windows with the duration determined by the SRN.
(All Integrated Partners)
Referrer, ID Matching
1 – 30 Days
Related reading: Lookback windows
Users who view mobile ads, but do not click on them, can be attributed to the ad network serving the ad.
The lookback window for view-through attribution:
- is shorter than that of click-through attribution
- is configurable.
To enable the view-through attribution, set the lookback window in the configuration window.
This is especially helpful for video ad networks that traditionally have low CTRs on their video ads, but also for traditional ad networks serving regular ads.
1 Hour - 2 Days
In cases where both a click and an impression occur, the click always prevails, as it is an active engagement.
Related reading: View-through attribution
Advanced attribution topics
AppsFlyer fully attributes only one media source per install, usually using the last ad click or the last ad impression (if there were no clicks).
Assisted Installs (AKA multi-touch attribution) are installs where the media-source/campaign was not the last touchpoint but touched the user before the install and the touch took place within the attribution lookback window.
Assisting networks are shown as contributors to the install in AppsFlyer.
For more information, click here.
A reinstall occurs when a user installs the app, uninstalls it, and then reinstalls it. Reinstall attribution is regulated by the re-attribution window as follows:
- If the reinstall occurs after the expiry of the re-attribution window: a new install is recorded.
- If the reinstall occurs during the re-attribution window, one of the following applies:
- If the user engaged with a retargeting campaign before the reinstall: a retargeting reinstall (AKA re-attribution) is recorded.
- If the user did not engage with a campaign or engaged with a UA campaign: no install is recorded. In-app events of these reinstalling users are attributed to organic.
For device testing and multiple installs, register the device in AppsFlyer. If you don't register the device only the first install is recorded.
Reinstalling iOS apps that are backed up in iCloud
When an application is backed up using iCloud and later restored (on the same device or on another device), AppsFlyer doesn't count it as a new install or reinstall. A user who restores an app from iCloud maintains their AppsFlyer ID and attribution data.
- When existing users update the app to a subsequent version, this is not treated as a countable attribution event, if the user was previously attributed by AppsFlyer. Note! If you migrate to AppsFlyer from a different MMP existing users on the first app-open, after migration, are attributed to organic.
- Metrics relating to the number of users per app version are available in the SDK Information dashboard.