SKAdNetwork for iOS

Understand SKAdNetwork

StoreKit Ad Network, or SKAdNetwork (and sometimes SKAN), is an API first introduced by Apple in 2018. It enables advertisers and ad networks to perform direct attribution for iOS apps at an aggregated level, while preserving the user’s privacy. (Attribution previously relied on the IDFA, Apple’s unique device identifier, which has become far less useful because Apple allows users to prevent individual apps from tracking them as of iOS 14+.)

SKAdNetwork registers views and StoreKit renders. When a Publisher app displays an ad, it starts a three-second timer, and after three seconds, reports a view to the SKAdNetwork. If the user’s engagement results in a StoreKit rendering, the SKAdNetwork registers that. If the user downloads and launches the advertised app within the SKAdNetowork’s attribution window (~30 days), the install is considered attributable to the ad network. The device then sends an install postback to both the advertiser and ad network. However, none of these postbacks are sent immediately; there is an intentional delay of at least 24 hours to allow for aggregation. This makes it impossible to track the event to a user or a device.

SKAdNework therefore makes it possible to conduct click-through attribution with full transparency into publishers. SKAdNetwork-based attribution informs you whether an install of the advertised app is a first install or a re-download. SKAdNetwork-based attribution provides a conversion value (a number 0-63) that you can set after a conversion, so that you can conduct post-install tracking to get some understanding of the user’s LTV.

SKAdNetwork Support

Liftoff supports Apple’s SKAdNetwork versions 2.0, 2.2, and 3.0 to facilitate app install and conversion tracking for our programmatic buyers buying on iOS 14+. We support:

  • Liftoff Monetize iOS SDK v.6.10.0 and higher supports SKAdNetwork v.2.2 on iOS 14.5+.
  • Liftoff Monetize iOS SDK v.6.10.1 and higher supports SKAdNetwork v.3.0 on iOS 14.6+.

Implement SKAdNetwork for iOS 14+

To use the SKAdNetwork solution, advertisers must update their apps with at least one method. Apps that are advertised by an ad network campaign call the registerAppForAdNetworkAttribution() method (required when the app first launches) or updateConversionValue(_:) method (optional thereafter).

To use the SKAdNetwork solution, advertisers must update their apps with one required method and one optional method:

  • Required method: The registerAppForAdNetworkAttribution() method. This is a quick one line of code. It generates the notification using attribution data loaded by the ad network and Publisher app. The notification will be sent to the postback URL provided by the ad network. This method also starts a 24-hour timer; no postback will be provided before the timer expires (to prevent the use of time tracking to associate a conversion with a specific user or device).
  • Optional method: Call the updateConversionValue(_:) method to update the conversion value sent in the postback. Conversion value is a 6-bit value ranging from 0-63 whose meaning is set by the advertiser and used for estimated user quality. You may have a conversion value mapping to an in-app purchase, an account sign-up, or one value mapping to multiple events (this may be necessary, because Apply only accepts one conversion value in the postback). You have a rolling 24-hour period to call the updateConversionValue() method, but your new conversion value must be greater than the previous value. This restarts the 24-hour timer; after the timer expires, the install notification and conversion value are sent to the ad network.

Review Apple’s instructions for configuring an advertised app for more detail.

Test SKAdNetwork

Contact your Liftoff account manager if you're interested in SKAdNetwork 2.0 testing. Don’t hesitate to email us at if you have any questions on the implementation.

Get Reports for SKAdNetwork Postbacks

SKAdNetwork postback reporting is available through our dedicated SKAdNetwork Reporting API.


Need further assistance, feel free to reach out to us, we’re here to help!

Was this article helpful?