At a glance: From the release of iOS 14.5, in April 2021, Apple requires that you implement and comply with the terms of AppTransparencyTracking (ATT). ATT means that if your app collects data about end-users and shares it with other companies for purposes of tracking across apps and websites, you must use the ATT consent prompt and get user consent in both the publisher and advertiser app. If you don't track you don't need to display the prompt.
Attribution measurement in an ATT environment
AppsFlyer provides you with multiple attribution methods giving you a complete range of attribution solutions. The ATT consent requirement impacts attribution in the context of paid app-to-app campaigns. As such, advertisers need to use a mix of attribution and reporting solutions.
In the case of paid app-to-app campaigns, SKAdNetwork is implemented to provide deterministic attribution results. Other campaign types like owned media, web-to-app, and Apple Search Ads use AppsFlyer traditional attribution tools. The traditional tools provide long-term LTV measurement, whereas SKAdNetwork measures user performance during the initial days post-install.
In summary, to obtain a complete picture, you must use both SKAdNetwork and AppsFlyer traditional solutions because they complement one another.
This article provides advertisers with an introduction to SKAdNetwork and ATT. It is intended for advertisers familiar with the AppsFlyer platform. Related reading: AppsFlyer getting started step-by-step
SKAdNetwork Solution principles
AppsFlyer provides aggregated attribution results using SKAdNetwork postbacks from iOS. The postbacks contain anonymized attribution records enriched with a conversion value (CV) set by the advertiser. The CV is a measure of user quality during an initial post-install window. AppsFlyer SKAdNetwork Solution provides advertisers with:
- SKAdNetwork dashboard aggregating postbacks from all ad networks enriched with other data points like cost.
- Ability to control what the CV measures without the need to make changes to app code. The CV can be used to measure revenue, engagement, or conversion events.
- Campaigns: Doesn't support, for example, Apple Search Ads, cross-promotion campaigns, and web-assisted installs.
- Measurement period: The effective measurement period is limited to a few days. For now, the AppsFlyer measurement default option limits the period to the first 24 hours after install.
- The advertiser sets SKAdNetwork measurement settings in the Platform.
- After the user opens the app for the first time, the Platform instructs the SDK how to calculate the conversion value using the current configuration set by the Advertiser.
- During the Measurement Window, SDK updates the conversion value for each measurable user action.
- 24-48 hours after the most recent conversion value update, iOS sends the postback to the ad network.
- Ad network forwards the postback to AppsFlyer.
- AppsFlyer validates and decodes the conversion value. Decoded data is:
- Recorded and attributed before being made available in AppsFlyer via dashboards, reports, and APIs.
- Sent via a postback to the ad network to enable campaign optimization.
The ATT prompt provides advertisers with a way to get explicit user consent to collect and share their data. Starting iOS 14.5 IDFA is available only if the user grants explicit consent via the ATT prompt.
Both the publisher and advertiser apps can display the prompt. If the user provides consent in both apps, it means that the user agrees to be tracked, and advertisers are permitted by Apple to track the user between apps owned by different companies.
ATT is set to one of the values listed in the table that follows. Initially, iOS sets ATT to not determined or restricted.
Consider that use of the consent prompt to convert a user from not determined to authorized is optional. If you don't display the prompt, you can't get authorization.
|Not determined (until iOS 14.4)||Yes||
(starting iOS 14.5)
Occurs if any of the following are true:
|Authorized||Yes||Set after displaying the prompt|
Due to ATT, many users won't consent, IDFA won't be available, and tracking not permitted. As a result, advertisers who until iOS 14.5 relied on user-level attribution reports must shift some analysis to aggregated attribution methods and reporting. AppsFlyer attribution models.
Attribution-related data for an app comes from a number of sources. The identifier available and used by each differ. Most data displays using the traditional attribution tools. However, for installs attributed using SKAdNetwork, reporting is via the SKAdNetwork dashboard.
Which dashboard has the install?
In iOS14 an install can be attributed to both the traditional and SKAdNetwork dashboards. In addition, depending on the media source context it can be attributed as organic in one dashboard and as non-organic in the other.
Use the table that follows as a guide.
[May 5, 2020] The table is being updated and will be available by May 7, 2020.
iOS 14 important knowledge
|Area||Article||Special interest: FAQ, discrepancies, comparisons|
|SKAdNetwork||SKAdNetwork partner interoperability (article section)||SKAdNetwork integrated partners list|
|SKAdNetwork||Facebook and AppsFlyer SKAdNetwork integration||Troubleshooting and discrepancies|
|Privacy||Aggregated Advanced Privacy (AAP)|
|Privacy||Restricted media sources||Restricted raw data fields|
|iOS 14||Nutrition labels—prepare for the App Store review|
|iOS 14||Configuring ATT in the app (SDK guidance developers)|
|iOS 14||About self-reporting networks (SRNs) like Google, Facebook, and so on||Where are SRN installs reported?|
|Billing||Billing for iOS apps|
iOS 14 impact on attribution and measurement
Consider that due to ATT, metrics relating to ATT non-consenting users can be affected as follows:
|Non-organic vs. organic||Organic||Non-organic|
|Reinstalls vs. installs||Installs||Reinstalls|
|Retargeting||Organic installs and in-app events||Re-engagements, Re-attributions|
|Apple Search Ads||--||--||Unchanged. Both consenting and non-consenting users are attributed correctly.|
Deferred deep linking using the legacy method of onConversionDataSuccess may not work for iOS 14.5+ since it requires attribution data that may not be available due to privacy protection.
We recommend using unified deep linking (UDL). UDL conforms to the iOS 14.5+ privacy standards and only returns parameters relevant to deep linking and deferred deep linking:
deep_link_sub1. Attribution parameters such as
af_sub1-5 return null and can’t be used for deep linking purposes. Learn more
iOS 14 related updates
|Updated||Area||Links & details|
|2021-04-21||Campaign management APIs||SKAdNetwork campaign management API for analytics partners is available|
|2021-04-21||Release of iOS 14.5||iOS 14.5 release date is April 26, 2021.|
|2021-04-04||Postbacks from partners||Partners can send the app_id and ad_network_name as a query param with the postback.|
|2021-31-03||Postbacks from partners||Added support for fidelity in the iOS postback|
|2021-31-03||Aggregated Advanced Privacy||Aggregated Advanced Privacy|
|2021-03-16||Is LAT||How LAT translates to iOS 14|
|2021-03-16||SKAdNetwork partner list||The partner list is updated weekly on Mondays|
|2021-03-16||SDK||If you implement SKAdNetwork revenue measurement, you must adopt SDK V6.2.4+|
|2021-01-25||Integration||Facebook SKAdNetwork integration with AppsFlyer|
|2020-12-23||Aggregate report||SKAdNetwork postback aggregate reporting API|
|2020-12-23||Raw data report||SKAdNetwork raw data reports via Data Locker|
|2020-09-17||iOS 14 release||Guidance about SDK V6.X and SDK V5.4|
|2020-09-04||Getting started guide||Getting started with iOS 14; an AppsFlyer guide for advertisers|
|2020-09-04||SKAdNetwork dashboard||Simulation view|
|2020-08-20||iOS SDK V6||iOS SDK V6.X integration guide for developers|
|2020-08-11||Server-to-Server API||Add IDFV and ATT parameter to events reported by server-to-server API|
|2020-08-10||SKAdNetwork||AppsFlyer SKAdNetwork Solution (iOS 14)—attribution without IDFA|
|2020-08-10||SKAdNetwork||SKAdNetwork overview dashboard|
What happens to an app using an SDK version before V6.0?
- SKAdNetork and Apple Search ads won't work.
- If you submit the app to the App Store, expect it to be rejected.
Is it mandatory to display the ATT prompt?
No. You only need to ask for ATT consent if you want to track a user, collect IDFA, or both.
In SKAdNetwork, am I limited to 100 campaign IDs per ad network?
Yes. However, ad networks map the SKAdNetwork campaign ID to their campaign ID and can reuse the SKAdNetwork ID over time by mapping it to multiple ad network IDs.
What is the use case for SKAdnetwork raw data?
- Use raw data to aggregate dimensions that aren't available via aggregated APIs.
- Easily adjust existing raw data import processes to consume SKAdNetwork raw data.