Thanks!

SKAdNetwork (SKAN)

SKAdNetwork is a privacy-centric interface operated by Apple. It helps ad networks and advertisers measure their ad activity (such as impressions, clicks, and app installs) on an aggregated level, without accessing individual user data.

What is SKAdNetwork?

First introduced by Apple back in 2018, SKAdNetwork (often shortened to SKAN) provides attribution data to advertisers on iOS so they can measure and optimize campaigns. Because it does this on an aggregated level, without revealing any user-level or device-specific data, it offers an accurate yet privacy-preserving source of campaign insights.

Did you know?
SKAd Network is short for StoreKit Ad Network. The StoreKit is a framework that enables various features and functionalities for iOS apps, including transactions, in-app purchases, and ad attribution.

How does it work?


Before we launch into the mechanics, let’s take a look at the four main players involved, each having specific roles and responsibilities: 

  1. Publishing app – where the ad is displayed.
  2. Ad network – connecting app advertisers to publishers.
  3. Target app – the app that is being advertised.
  4. Mobile measurement partner (MMP) – responsible for connecting all the dots by attributing and optimizing app data and campaign performance metrics. Holistic SKAdNetwork management allows marketers to measure, visualize, and optimize with ease.

There are two types of engagements that SKAdNetwork registers:

  1. Views – whether an ad was viewed
  2. StoreKit renders – whether or not a StoreKit rendering was generated.

The SKAdNetwork flow

  1. An ad is displayed in the publishing app. As soon as the ad is displayed, the publishing app starts the three-second timer and notifies SKAdNetwork that it has started.
  2. If the ad is displayed for at least three seconds, the publishing app will then notify SKAdNetwork that the three-second timer is up and this activity will be recorded as a successful view. If the user engages with the ad, the publisher renders the advertised app StoreKit. 
  3. Once it’s displayed, SKAdNetwork registers that the StoreKit was rendered successfully. The next step would hopefully be for the user to download the advertised app. 
  4. If the StoreKit was rendered, the user can download the app right then and there. If the user installs the app and launches it within the SKAdNetwork attribution window, the install is attributed to the ad network and the device sends the install postback to the ad network and a copy to the advertiser.

A note on postbacks

A postback is where an attribution provider (in this case, SKAd Network) sends data back to the ad network and advertiser on user behavior — for example, whether they clicked on an ad or downloaded an app. This provides vital feedback that enables advertisers to optimize their campaigns. 

Unlike standard postbacks, SKAdNetwork postbacks are not immediately sent to the ad network and advertiser when the app is first launched. In fact, the attribution window (the period in which an ad impression or engagement is considered responsible for a conversion) can be up to 30 days between click and install, depending on the ad type. 

SKAdNetwork postbacks are built on a timer mechanism that only sends the postback when the timer runs out. This timer delays the postback by a minimum of 24 hours. Once the timer runs out, the ad network and advertiser receive the postback. 

It’s important to note that postbacks don’t contain any device or user data. Together with the timer delay, this ensures that user data remains private by removing the ability to single out a specific user.

If the advertiser is working with an MMP, like AppsFlyer, postbacks will be reported to the MMP via dedicated dashboards and APIs, or as configured by the advertiser.

The challenges – and how to address them

Compared with previous methods of attribution, SKAdNetwork does present a number of complexities and challenges for advertisers. To name a few:

  • No real ROI/LTV – SKAdNetwork measures mostly installs, conversion values, and post-install data, but in a very limited, time-restrictive way. Prior to SKAN 4.0, the lifetime value (LTV) was constrained within 24 hours or the advertiser-defined activity window. However, with the introduction of SKAN 4.0, advertisers can now receive up to three postbacks, each corresponding to distinct timeframes (0-2 days, 3-7 days, and 8-35 days).
  • Granularity – In SKAN versions 2 and 3, data granularity was restricted in terms of dimensions, and limited to only 100 SKAN campaigns. However, SKAN 4.0 provides increased granularity, allowing for up to 10,000 SKAN campaigns.
  • Postback delay – Postbacks are delayed by at least 24 hours, limiting how fast you can optimize campaigns.
  • Ad fraud risk – Data can easily be manipulated in transit, resulting in wasted budget.
  • No attribution support for re-engagement activity, which is vital for reducing churn and building user loyalty. . 

Fortunately, there are ways to navigate these challenges, so you can continue to measure and predict the value of your acquired users. 

The key to unlocking value from SKAdNetwork is to understand Apple’s unique conversion value mechanism.

Conversion values – and how to make them work for you

Conversion values are configured by app developers to measure post-install activity, and tie it back to the install. A single conversion value is included in the one-time postback that Apple sends to the ad network and advertiser. 

As a result, the information in this conversion value is all you get on a user’s post-install activity (assuming they didn’t consent to “tracking”), making it extremely important. After all, in a freemium world, optimization is driven by post-install data.

Starting with SKAN 4.0, there are two types of conversion values: 

  • Fine-grained conversion values are defined by six bits, which are binary measures, meaning they can be turned on or off (0 or 1). This opens up the potential for 64 measurement combinations within those six bits – from 0 to 63. Although this might sound limited, there are still plenty of options to work with to measure revenue, engagement, funnel progress, and more. 
  • Coarse-grained conversion values are divided into three types: low, medium, and high. These values are assigned by the advertiser to indicate varying levels of user engagement, allowing advertisers to receive at least some attribution data in cases where the privacy threshold is not met. 

As long as you properly map your conversion values based on your internal logic, these values can be used in any way you want. They’re yours to control and assign to the KPIs that are most valuable to you. 

The 64 fine-grained values and 3 coarse-grained values, each with their own unique decoding configured by the app developer or advertiser, are then attributed to the source of the install, enabling campaign measurement and optimization.

Different approaches work for different app types. For example, data from AppsFlyer’s Conversion Studio shows that gaming apps are laser-focused on revenue – as such, it’s a model that’s being involved in most conversion value schemes. On the non-gaming side, in-app activity is the most configured option.

Learn more here about how to make the most of conversion values, including benchmarks on activity window timer, and optimal usage of the 64-combination capacity. 

SKAdNetwork 4.0 (SKAN 4.0)

On October 24, 2022, Apple released the next version of SKAdNetwork (4.0). This introduced significant changes that allow advertisers and ad networks to measure more while maintaining user privacy.

Three postbacks instead of one

SKAdNetwork 4.0 enables advertisers to receive up to three postbacks, each based on a specific activity window (0-2 days, 3-7 days, and 8-35 days). This allows advertisers to understand how users engage with their app over time. 

The first postback is sent within 24-48 hours as before. However, the length of the timer increases for the second and third postbacks, which are sent after 24-144 hours.

Although it’s important to note that these three postbacks cannot be connected and tied to a specific user, advertisers are still able to count unique event occurrences.

LockWindow

Although each postback is based on a limited activity window, SKAN 4.0 also introduces a new ability called LockWindow, which allows app developers to finalize the conversion value and lock the measurement window in order to receive postbacks sooner. For example, app developers can lock the window of the second postback anywhere between day 3 and day 7.

SKAN 4.0 LockWindow
 Source: Apple Developer

Crowd anonymity

Crowd anonymity is a new term that Apple uses to describe the privacy-preserving way in which SKAN delivers attribution data. In short: the more installs you get, the more data you get.

To maintain user privacy, Apple limits the data that SKAN shares in postbacks. Postback data tiers are based on the conversion-volume of the campaign, like this:

SKAN 4.0 - Crowd anonymity
 Source: Apple Developer

Apple decides which crowd anonymity tier each install belongs to, and shares data accordingly. 

For example, for ads in tier 0, the postback will not include a conversion value (null). Whereas for ads in tier 1, the first postback will include only a coarse conversion value and a two-digit source identifier. However, for ads in tiers 2 or 3, the first postback will include a fine-grained conversion value and a two to four-digit source identifier. The second and third postbacks will only be shared if the crowd anonymity tier is above 0, and will include only a coarse conversion value and a two-digit source identifier.

Here’s a summary:

Hierarchical conversion values and source identifiers

In earlier versions of SKAdNetwork, postbacks included a conversion value only in cases where Apple’s privacy threshold was met. When crowd anonymity is low, Apple takes extra precautions to protect user privacy by masking the conversion value and source app ID. 

SKAdNetwork 4.0 introduces a new set of “coarse-grained” conversion values (in addition to the 64 “fine-grained” values that exist today).  

As previously mentioned, coarse-grained conversion values are categorized into three types: low, medium, or high. Advertisers assign these values to signify varying degrees of user engagement, enabling them to obtain partial attribution data when the privacy threshold isn’t reached, particularly at lower levels of crowd anonymity.

Another change introduced in SKAN 4.0, which significantly impacts campaign granularity, involves the source identifier. Apple has taken the step of renaming its campaign identifier field as the source identifier, and along with this change, has expanded its range from two digits (equivalent to 100 options) to four digits (equivalent to 10,000 options).

Although the source identifier is presented as a single number, Apple urges advertisers to interpret it as a sequence of three hierarchical numbers. By adopting this approach, advertisers gain the ability to comprehensively measure various parameters, including factors like ad placement, geographic targeting, creative components, and more.

Coarse-grained values are provided in the 2nd and 3rd postbacks, or in the 1st postback if the privacy threshold is not met; whereas the fine conversion value is included in the 1st postback only.

Hierarchical source identifier

From SKAN 4.0 onward, Apple is renaming its campaign identifier field to source identifier and increasing its range from 2 digits (representative of 100 options) to 4 digits (representative of 10,000 options). 

Although the source identifier is a single number, Apple encourages advertisers to use it as 3 hierarchical numbers — allowing them to measure more parameters, such as ad placement, GEO, creative, and more.

As with hierarchical conversion values, hierarchical source identifiers also adhere to Apple’s privacy threshold — meaning the higher the level of crowd anonymity, the higher the level of provided granularity.

Like hierarchical conversion values, these hierarchical source identifiers also abide by Apple’s privacy threshold. This means that the level of detail provided is directly tied to the level of crowd anonymity, making the system adaptable to diverse privacy requirements.

Postback 1Postbacks 2 &3
Crowd anonymity tier 0Source_identifier with 2 digits only x
Crowd anonymity tier 1Source_identifier with 2 digits only Coarse-grained conversion value
Source_identifier with 2 digits only
Coarse-grained conversion value
Crowd anonymity tier 2Source_identifier with 2, 3 or 4 digits
fine-grained conversion value
Source_identifier with 2 digits only
coarse-grained conversion value
Crowd anonymity tier 3Source_identifier with 2, 3 or 4 digits
fine-grained conversion valuesource_app_ID/ source_domain
Source_identifier with 2 digits only
coarse-grained conversion value

Web-to-app support

Previously, advertisers could only measure app-to-app flows, but web-to-app was not supported. In SKAN 4.0, Apple supports web-to-app attribution for Safari, enabling advertisers to measure campaign performance across multiple channels.

Find out more about SKAN 4.0 changes and building your strategy

How can advertisers make the most of SKAdNetwork?

Here are a few steps to ensure your business is SKAdNetwork-ready:

  • Data aggregation – Be sure to collect all SKAdNetwork information from each ad network.
  • Data validation – Ensure all postbacks are signed by Apple and aren’t manipulated in transit. Working with a trusted MMP can help you address this with ease.
  • Data enrichment – Match SKAdNetwork information with other data points, such as impressions, clicks, cost, organic traffic, and more, for complete ROI analysis.
  • Data enablement – Use dedicated dashboards and interfaces to view your data in a clear, convenient way. An MMP can help with this. 
  • Seamless integration – Make sure your mobile attribution solution offers full encapsulation. This will save you time and effort, especially when it comes to future changes in the SKAdNetwork protocol.
  • Conversion events – Be sure to measure server-side, dynamic, and flexible in-app events.

Key takeaways

As the mobile advertising industry continues to adapt to a privacy-centric reality, the ability to measure, attribute, and optimize will continue to improve. Better models, increased usage of predictive analytics, acquired expertise in SKAN, and innovation across the ecosystem have all driven improvements in measurability. 

As an advertiser, you should:

  • Leverage easy-to-use tools to map and constantly update your conversion value schema to make the most of the 64 options, instead of wasting time on development.
  • Use predictive analytics to overcome time limitations and leverage early signs of engagement to predict long-term campaign performance. Put mobile attribution in SKAdNetwork on “autopilot”, removing measurement and timing barriers, so you can maintain and strengthen your competitive edge in this new reality.
  • Keep your data safe from all types of fraud in the new iOS 14 ecosystem. An MMP can offer protection from SKAdNetwork fraud, by ensuring that you’re getting accurate data on your campaign performance. This will protect your ad spend before, during, and after installs, with end-to-end coverage against infrastructure weaknesses, data limitations, and reporting loopholes.
  • Connect with an ecosystem – partner with an MMP that has joined forces with ad networks such as Facebook, Twitter, Snap, or ironSource. Solid cooperation ensures that postbacks, conversion value schemas, and data are delivered to your MMP and chosen partners smoothly and easily.
Thanks for your download!
Background
array(4) {
  ["title"]=>
  string(73) "Get the latest marketing news and expert insights delivered to your inbox"
  ["buttons"]=>
  array(2) {
    ["button1"]=>
    array(7) {
      ["enabled"]=>
      bool(true)
      ["text"]=>
      string(9) "Subscribe"
      ["url"]=>
      string(0) ""
      ["style"]=>
      string(34) "btn btn-primary btn-primary--white"
      ["size"]=>
      string(6) "btn-lg"
      ["target"]=>
      string(29) "popup-newsletter-subscription"
      ["id"]=>
      string(0) ""
    }
    ["button2"]=>
    array(7) {
      ["enabled"]=>
      bool(false)
      ["text"]=>
      string(0) ""
      ["url"]=>
      string(0) ""
      ["style"]=>
      string(0) ""
      ["size"]=>
      string(3) "btn"
      ["target"]=>
      string(5) "_self"
      ["id"]=>
      string(0) ""
    }
  }
  ["image"]=>
  bool(false)
  ["section_settings"]=>
  array(1) {
    ["hide"]=>
    bool(false)
  }
}
Get the latest marketing news and expert insights delivered to your inbox