At a glance: Attributing app installs using SKAdnetwork.
SKAdNetwork
iOS 14 updates
- Starting with the release of iOS 14 in September 2020 until early 2021, the Grace Period, access to IDFA remains unchanged and you don't have to implement ATT.
- As of September 16, 2020, AppsFlyer SDK versions are tested and interoperable with iOS 14 as follows:
- SDK V6.0.X
- Attribution continues to operate unchanged compared to iOS 13.
- During the Grace Period:
- Implement the AppsFlyer SKAdNetwork Solution.
- Make sure that your ad network partners have SKAdNetwork integration with AppsFlyer.
- Use AppsFlyer SKAdNetwork simulation to get a better understanding of how ATT will impact your attribution.
- There is no need to display the ATT prompt.
- Note! We may need to make changes to the SDK to support iOS updates at the end of the Grace Period.
- iOS SDK V5.4:
- Attribution continues to operate unchanged compared to iOS 13.
- During the Grace Period consider adopting SDK V6.X as described above.
- SDK V6.0.X
SKAdNetwork infrastructure, part of iOS by Apple, helps advertisers measure campaign success while maintaining user privacy. The SKAdNetwork infrastructure operates without IDFA or other advertising ID. Consequently, there is no need for user consent to implement the solution.
- SKAdNetwork Solution implementation checklist for marketers
- List of AppsFlyer integrated partners and their SKAdNet ID
Related reading
Definitions
- SDK: AppsFlyer iOS SDK V6.X integrated into an app.
- SKAdNetwork Infrastructure or Infrastructure: Refers to the attribution functions embedded in iOS 14, as defined by Apple.
- SKAdNetwork Solution or Solution: SDK, Infrastructure, and AppsFlyer platform working together. The Solution provides advertisers and ad networks with LTV data via dashboard analytics, reports, and postbacks.
- Measurement window has a duration of 24 hours starting with the first app open.
- Conversion value is the measure of user quality calculated by the SDK as described in this article.
This article describes the relevant characteristics of the Infrastructure, the Solution, and the available configurations.
Apple SKAdNetwork Infrastructure basics
Characteristic | Description |
---|---|
Prerequisites |
To enable the use of SKAdNetwork in the app:
|
Supported |
|
Not supported |
|
Provides |
|
SKAdNetwork Solution
Solution principles and flow
To overcome the functional and structural limitations of the SKAdNetwork infrastructure, the Solution takes into consideration the characteristics in the table that follows.
Characteristic | Description |
---|---|
Data collection |
|
Data validation |
|
Data enrichment |
|
Data delivery |
Enriched SKAdNetwork data is available using the following: |
Seamless integration |
|
Agility |
Advertisers can change measurement configurations as needed in the dashboard. |
SKAdNetwork attribution flow
- Advertiser sets SKAdNetwork measurement settings in the Platform.
- After the user opens the app for the first time, Platform instructs SDK how to calculate the conversion value using the current configuration set by 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 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.
Performance measurement
Conversion value
- Calculated according to the user-quality measurement setting existing at the time the user opens the app for the first time
- Updated by the SDK after each measurable user action
- A numerical value from 0-63
- User actions occurring after the expiry of the measurement window are not recorded.
- Sent once per install, by iOS 24-48 hours, after the most recent conversion value update
- Sent in the postback
The Solution supports the following user-quality measurement types:
- [Default] Revenue: Total revenue generated by the user.
- Conversion: Record the unique in-app events (1-6) the user performs.
- Engagement: The number of times (0-63) the user performs a specific in-app event.
The sections that follow, contain descriptions of the metrics available and measurement examples. Use these to understand the capabilities and limitations of SKAdNetwork attribution and identify the measurement that will provide you with the greatest indication of user quality. Advertisers select the measurement type as needed via the dashboard.
Metric |
Formula/type |
---|---|
Installs | Count |
Clicks | Count |
Impressions | Count |
Click-to-install rate |
Installs / Clicks *100 |
Cost | Campaign cost |
Effective cost per install (eCPI) | Cost / Installs *100 |
Converted users |
Count of unique users performing a designated measurement event:
|
Converted users rate |
Converted users / Installs * 100 |
Effective cost per action (eCPA) |
Cost / Unique users performing a designated event |
User-quality measurement types
- [Currently available] Single-mode: One measurement type
- [Coming soon] Split-mode: Two measurement types simultaneously
Measurement type | Description |
---|---|
[Default] Revenue |
Revenue generated during the Measurement Window Settings:
Metrics:
Consideration: In the app, foreign currency amounts are translated to USD which are converted to conversion units. Fractions of a conversion value unit are rounded up to complete units. For Example, EUR 10, after translation using the current exchange rate is USD 11.25. If the conversion value unit rate selected is $1=1 unit, this is 11.25 units which is rounded up to 12 conversion value units. |
Conversion |
In-app event performed at one or more times during the Measurement Window Settings:
Metrics per in-app event:
Example of user counts:
Clarification! Use conversion measurement to count if a user performed an event. To count how many times a user performs an event use engagement measurement. |
Engagement | Number of times the user performed a specified in-app event during the Measurement Window Settings:
Metrics for the in-app event:
Example: Measure the number of times a user opened the app. |
Measurement type examples
Factor | Remarks |
---|---|
Scenario |
|
SKAdNetwork Attribution Configuration |
|
Selected metrics | Revenue related metrics available
|
Developer considerations |
Events carrying revenue are recognized |
Factor | Remarks | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example |
|
|||||||||||||||||||||||||
SKAdNetwork Attribution Configuration |
Select measurement type: Conversion
|
|||||||||||||||||||||||||
Selected metrics |
Note! Because the designated Conversion Event is in-app 1, the value 4 is used to calculate app-level metrics and for in-app-1 metrics. |
|||||||||||||||||||||||||
Developer considerations |
|
Factor | Remarks | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example |
Five users install the app and open the app the number of times listed in the table.
|
||||||||||||
SKAdNetwork Attribution Configuration |
|
||||||||||||
Selected metrics |
Sample metrics available
|
||||||||||||
Developer considerations |
On each occasion the user performs the selected engagement event: send the in-app event. SKAdNetwork counts the number of times you send the event. |
Procedures
Configuring SKAdNetwork attribution
To configure SKAdNetwork attribution:
- In AppsFlyer, go to Configuration > SKAdNetwork Settings.
The SKAdNetwork settings page opens. - Select a measurement type from one of the following:
- Revenue: Select a unit-to-USD rate to translate revenue units to USD. There are up to 63 revenue units. The maximum measurable revenue is the unit-to-USD rate X 63. Options available: $0.01, $1.00, $10.00
For example, $10 X 63 = $630, $1 X 63 = $63, $0.01 X 63 = $0.63. - Conversion:
- Select up to 6 in-app events performed by users.
- From the in-app events selected, select one as the conversion event. This event is used to calculate the converted users metric at the app level.
- Engagement: Select an in-app event whose occurrences are counted.
- Revenue: Select a unit-to-USD rate to translate revenue units to USD. There are up to 63 revenue units. The maximum measurable revenue is the unit-to-USD rate X 63. Options available: $0.01, $1.00, $10.00
- Verify that Enable SKAdNetwork measurements is on. If off, the SDK doesn't update iOS conversion value.
- Click Save changes.
Measurement is active. Users opening the app for the first time are measured using these settings. SKAdNetwork attribution data updates in the dashboard 48-72 hours after the first app open.
Disable SKAdNetwork measurement
To disable SKAdNetwork measurement:
- In AppsFlyer, go to Configuration > SKAdNetwork Settings.
- Disable SKAdNetwork measurements.
Amongst other things, the SDK stops setting the conversion value. - Click Save changes.
Additional information
Reporting options
Report name | Type | Enriched by AppsFlyer | Delivery method |
---|---|---|---|
Aggregate performance report of install, in-app events, and revenue. The data is similar to that found in the SKAdNetwork dashboard. |
Aggregated |
Yes |
API |
Aggregated postback data. SKAdNetwork postbacks aggregated to the greatest level of granularity possible. | Aggregated | No | API |
SKAdNetwork raw-data reports via Data Locker (with examples). Reports available:
|
Raw data | Yes | Data Locker |
Features coming soon
Setting | Description |
---|---|
Split-mode |
[Coming soon] Enable split-mode to support two measurement types simultaneously
Example:
|
Measurement Window |
A configurable timer having a duration of 24 hours starting with the first app open. The SDK updates the conversion value
|
SKAdNetwork Solution implementation checklist
Action | Description | Responsibility |
---|---|---|
Prepare |
|
Marketer, Developer |
Configure |
In AppsFlyer, configure the SKAdNetwork solution |
Marketer |
Prepare the app |
Migrate the app to AppsFlyer V6 SDK
|
Developer |
Confirm partner integrations |
|
Marketer |
Timing from app install until dashboard update
Timer element | Description | Range (hours) |
---|---|---|
Measurement window |
|
24 |
SKAdNetwork timer |
|
24–48 |
SKAdNetwork random delay timer | Random postback delay time: 0–24 hours | 0-24 |
AppsFlyer processing | Postbacks received on a given day are processed at the end of the day starting at 00:01 on the following day. The data is available 8 hours later on the next day. Average delay of 20 hours. For example, a postback received on Monday is processed on Tuesday. The dashboard updates by 08:00 UTC. | 8-32 |
Summary | The average time elapsed from app open to data in the dashboard: 68 hours. | 32–104 |
Sending postbacks to integrated partners
AppsFlyer sends the ad network partner attributed with the install postbacks. The postbacks contain information relating to the install and the associated in-app event data of actions performed by the user during the measurement window.
Postbacks can be sent with or without the SKAdNetwork transaction ID. Consider that sharing the transaction ID with the partner could enable them to decode the Conversion Value.
To enable transaction ID sharing: In AppsFlyer, go to Configuration > Integrated Partners > select a partner > Integration tab > Data sharing.
Traits and limitations
Trait | Remarks |
---|---|
Ad network access | Ad networks are provided with postbacks |
Agency access | Not available |
Agency transparency | N/A |
Timezone | UTC |
Currency | USD |
Organic data | Based on SDK event data. For example, organic install metrics are calculated as follows: Data of all installs reported by the SDK less non-organic installs reported by SKAdNetworks. |
Non-organic data | Based on SKAdNetwork postbacks |
Data freshness |
Daily. Due to SKAdNetwork timing issues on average 68 hours (~3 days) after app open. Range: 32-104 hours. |
Historical data |
Earliest date, availability of iOS 14 (September 16, 2020) |
Team member access | Available. According to account permissions |
App clips | App clips are attributed to organic in the SKAdNetwork dashboard. Use the Overview dashboard to view invocation media sources. |