SKAdNetwork is a privacy-first ad framework introduced by Apple in 2018. Due to the changes introduced in iOS 14, it became a go-to solution for advertisers to run high-volume ad campaigns. Unlike fingerprinting/ probabilistic attribution, advertised apps are not at risk of being banned when using SKAdNetwork. Moreover, SKAdNetwork enables advertisers to cover all of the potential users regardless of their ad tracking opt-in status. At the same time, SKAdNetwork is privacy-centric at its core. This leads to a range of limitations when compared to previously dominated IDFA/ deterministic attribution. Also, there is an additional layer of complexity for advertisers that want to comprehend the framework’s data.
IMPORTANT DISCLAIMER: iskadnetwork.com has no relationship with Apple. Everything that you read on this website is based on the author’s experience.
This website is meant to educate advertisers, publishers, and ad networks about how to effectively use SKAdNetwork.
How does it work?
There are two main use cases for Advertiser:
- Measure the effectiveness of advertisement using anonymous aggregated data – SKAdNetwork attribution.
- Send anonymous ad performance data to ad networks so they could optimize advertisers’ campaigns – SKAdNetwork optimization.
Implementation
In order to implement SKAdNetwork advertisers need either to follow the original instructions by Apple or their respected MMP partner:
Also, SKAdNetwork data is available in major analytics platforms:
Advertiser guide
First Advertiser needs to understand what’s going on under the hood of SKAdNetwork. Let’s look at the more simplistic version of this.
1. As the first step user taps on an Ad within the App or sees an Ad in a publisher app (app A)
2. User installs and launches an advertised app (app B)
Attribution window:
User has 30 days to install an app, if they have clicked on the ad and 24 hours if they have viewed the ad, but did not click on it. Also, a user has 60 days to launch the app after the installation. Otherwise, the user is not going to be attributed to the ad campaign.
3. Postback timer starts – this step anonymous the user so the advertisers could not pinpoint the user based on the install time.
4. As the postback timer expires, an ad network receives a Conversion Value with campaign details via a postback. Conversion Value can be both install or specific in-app event; this depends on the app configuration.
5. (if configured) MMP or Advertiser end-point receives conversion data postback.
Full attribution logic is available in the SKAdNetwork attribution page.
Major ad networks with SKAdnetwork support
Discrepancies
Data discrepancies have always been a major pain for mobile advertisers (read about dealing with install discrepancy in a deterministic-first data world) Due to its privacy-first nature, SKAdNetwork takes it to the next level. A couple of precondition needs to be fulfilled before we can talk about how to troubleshoot discrepancies.
Defining Installs
SKadnetwork installs are equal to the total number of received postbacks. It includes only installs resulting from advertising activity – there are no organic users.
SKAdNetwork pings (sends a postback) to ad network and advertiser (requires additional plist changes and applies only for iOS 15+ users) when a user has installed an app or has completed a defined in-app event (made a purchase, completed level). In order to receive an in-app event, a developer needs to assign a numerical value of the event via the Conversion Value method. If ConversionValue is not defined then it’s going to be mapped to 0 and is going to be triggered at the time of install. In other words, when a user, acquired by an advertising channel, installs an app – the default conversion value is 0.
However, it does not mean that an advertiser or ad network will be notified about this immediately.
Defining date range – prepare for at least 24-hour delay.
Due to the postback timer, there is always a delay between the real-time when a user has installed an app and when it was reported. The minimum time for the delay is 24 hours. Maximal time for the delay for install reporting is 48 hours. There is no way to define what delay a particular install has. If an app also triggers other conversion values, the delay may reach 64 days (in case conversion values are triggered for each available value. This brings data comparison impossible because there is no timestamp in the install-validation postback. For the sake of simplicity, we consider that the app only uses a conversion value of 0.
Defining the number of postbacks
When SKAdNetwork’s postbacks were initially introduced (version 2.0), advertisers and ad networks could receive only one postback. SKAdNetwork 4.0 provides an option to send 3 postbacks. However, two additional ones can only be sent 3 days after the installation and can only be used as a campaign optimization signal, not as the means to compare the data.
Comparing SKAdNetwork and App store data
At this moment (SKAdNetwork 4.0), there is no sense in comparing the data between the app store SKadNetwork presents the data only in the advertisement dimension. There are no ‘Organic’ users in SKAdNetwork. Therefore, advertisers can only compare the SKadNetwork installs with the advertising installs.
ATT
SKAdNetwork uses encrypted data in their API their conversion data is going to be passed to the ad network regardless if they have opted-in via ATT (App Tracking Transparency) or not.
IDFA
One important thing to note is that events attributed via IDFA / deterministic attribution and SKAdNetwork conversions are not reconciled – the same user performance can be attributed to different campaigns.
Ad monetization guide
App publishers that want to show SKAdNetwork ads need to render them according to SKAdNetwork documentation. Additionally, they need to ids of their respective monetization channels into info.plist
of the app. More about ad monetization with SKAdNetwork is available on SKAdNetwork Ad Monetization page.
What does SKAdNetwork stand for?
SKAdNetwork is formed by combining the abbreviation SK and the word Ad Network.
SK stands for StoreKit. StoreKit is another Apple’s framework that is utilized for handling in-app purchases and interactions with the App Store.