How SKAdNetwork 4 works
With SKAdNetwork 4, Apple changes certain fundamental aspects of how SKAdNetwork (SKAN) reports ad attributions. These changes allow for greater reporting flexbility and granularity in your data.
In this article you can find out how SKAN 4 works. Then, learn how to set up and see SKAN 4 campaign reporting in Adjust.
Availability
- iOS 16.1 and later
Multiple conversion windows and postbacks
Ad networks receive attribution information from SKAN via install-validation postbacks.
For devices running iOS 16.1 and ads signed using SKAN 4, you can receive up to three postbacks for the winning ad attribution. Each postback has its own conversion window. These multiple conversions offer greater insight into post-install behavior as they cover up to 35 days post-install.
Apps can update the conversion value throughout all three conversion windows, since by default SKAN waits until the end of a conversion window to get the final conversion value. When the conversion window ends, the postback is sent after a random delay.
- Postback 1: 0 to 2 days conversion window
- 24-48 hours delay
- Postback 2: 3 to 7 day conversion window
- 24-144 hours delay
- Postback 3: 8 to 35 day conversion window
- 24-144 hours delay
Lock conversions
You can finalize a conversion value before the conversion window ends by locking the conversion. You can lock a conversion in any or all conversion windows.
Once a conversion value is locked, the conversion value cannot be updated again within the same conversion window. Once a conversion is locked, SKAN sends the postback randomly during the applicable delay period.
By locking a conversion value, you can:
- Draw insights from your conversion values faster.
- Apply the lock at key moments in the user journey, to standardize how you measure lifetime value (LTV).
Data tiers
To maintain users’ privacy and ensure crowd anonymity, SKAN 4 expands the privacy threshold into four tiers of crowd anonymity: 0, 1, 2, and 3. The postback data tier is determined by the crowd size associated with the app or domain displaying the ad, the advertised app, and the hierarchical source identifier the ad network provides.
Apple assigns a tier to each install and uses this to determine data limitations in the postbacks that SKAN sends. The following SKAN postback fields are affected by the data tier:
Postback field | Field description |
---|---|
source-identifier | The hierarchical source identifier that may include two, three, or four digits. |
conversion-value | A fine-grained conversion value available only in the first postback. |
coarse-conversion-value | A coarse conversion value, which the system sends instead of the fine-grained conversion value in lower postback data tiers, and in the second and third postbacks. |
source-app-id | The identifier of the app that displayed the ad. |
source-domain | The identifier of the domain that displayed the web ad. |
With this video, discover at a high level how Apple’s privacy concepts of crowd anonymity and data tiers work together to structure the conditions under which you receive more or less detailed information about your campaign.
Source identifier
The source identifier replaces the campaign identifier
from SKAN 3. This four-digit value lets you identify which campaign the app install is attributed to, as well as additional information.
The source identifier is intended to be read as a combination of 2, 3, and 4 digit numbers. This gives you more flexibility in campaign structure and variable testing, as there are now potentially 10,000 different combinations available.
Since the first two digits will always be received, you can prioritize them and leverage the second two for more granular dimensions. So, two digits can represent the ad campaign ID, three digits represent the location, and four can represent the ad placement.
The use of data tiers and adapted postback data means you have:
- Reduced
null
conversion postbacks. - Potential for more granular reporting data to optimize on.
- Coarse values to measure specific events, revenue, or retention that are closely tied to the metrics that drive your app’s LTV.
- The chance to leverage your fine conversion values to associate each value with distinct activities, given that fine values can now decrease in addition to increasing.
Conversion value levels
There are two levels of conversion values: coarse and fine.
Fine conversion values are conversion values which operate the same as in earlier versions of SKAN. They are a 6-bit value, which allows for up to 64 combinations (0 to 63), that are intended to help collect information about user behavior.
Coarse conversion values are used when the volume of conversions isn’t high enough to meet the privacy threshold for providing a fine conversion value. The coarse CV can be none
, low
, medium
, or high
, which act as aggregated buckets for pre-defined CV values.
Apple sends none
whenever none of the conditions that are set for low, medium, and high were met. For example, when no coarse CV mapping was set for the app.
For all three postbacks, you can still receive a null
conversion value, and both fine and coarse conversion values can be null
. Below are the combinations that are possible:
- Fine conversion value is 0-63, the coarse conversion value is
null
. - Fine conversion value is
null
, the coarse conversion value isnone
,low
,medium
, orhigh
. - Both fine and coarse conversion values are
null
, this means that it's a "true"null
, and the metric is conversion valuenull
. See the SKAdNetwork metrics for more details.
Postback data tiers
The first conversion window ends two days after the user first launches the app. The system prepares the postback after the conversion window ends, unless you lock the conversion window.
Use the table below to see what information the first, second, and third postbacks contain for ads in tiers 1, 2, 3.
Postback 1 | Postback 2 | Postback 3 | |
---|---|---|---|
Measurement window | 0-2 days | 3-7 days | 8-35 days |
Postback delay | 24-48 hours | 24-144 hours | 24-144 hours |
Tier 0 | Source identifier with 2 digits | Not sent | Not sent |
Tier 1 |
|
|
|
Tier 2 |
|
|
|
Tier 3 |
|
|
|
Web-to-app attribution
With web-to-app attribution it is possible to attribute web advertising that directs to App Store product pages. If you have inventory across app and web, this means SKAdNetwork can perform cross-channel attribution.
Example postbacks
As provided in Apple's documentation, here you can see different examples of SKAN 4 postbacks.
This is the first postback from a web ad, in a high postback data tier. The source-identifier contains four digits, and the postback contains the fine-grained conversion-value.
{
"version": "4.0",
"ad-network-id": "com.example",
"source-identifier": "5239",
"app-id": 525463029,
"transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e30",
"redownload": false,
"source-domain": "example.com",
"fidelity-type": 1,
"did-win": true,
"conversion-value": 63,
"postback-sequence-index": 0,
"attribution-signature": "MEUCIGRmSMrqedNu6uaHyhVcifs118R5z/AB6cvRaKrRRHWRAiEAv96ne3dKQ5kJpbsfk4eYiePmrZUU6sQmo+7zfP/1Bxo="
}
This is the first postback from a web ad, in a low postback data tier. The source-identifier contains two digits, and the postback includes a coarse-conversion-value.
{
"version": "4.0",
"ad-network-id": "com.example",
"source-identifier": "39",
"app-id": 525463029,
"transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e31",
"redownload": false,
"source-domain": "example.com",
"fidelity-type": 1,
"did-win": true,
"coarse-conversion-value": "high",
"postback-sequence-index": 0,
"attribution-signature": "MEUCIQD4rX6eh38qEhuUKHdap345UbmlzA7KEZ1bhWZuYM8MJwIgMnyiiZe6heabDkGwOaKBYrUXQhKtF3P/ERHqkR/XpuA="
}