SKAdNetwork
SKAdNetwork tells an ad network that its ad worked, but not for whom. It trades user-level detail for privacy, and every UA team buying iOS traffic outside Apple Ads has to plan around that trade.
Updated
Apple introduced SKAdNetwork so that install attribution could continue on iOS without tracking individual users across apps. It became central to iOS measurement once App Tracking Transparency made the IDFA available only to users who opt in. Instead of the app or network matching device IDs, Apple’s system validates the ad and the install and sends the result to the network itself.
How SKAdNetwork works
- A registered ad network signs its ad with information such as the campaign and the app being advertised.
- The user sees or taps the ad and installs the app from the App Store.
- After launch, the advertised app can update a conversion value that encodes what the user did early on, such as starting a trial.
- When a timer expires, the device sends a cryptographically signed postback to the ad network, and optionally a copy to the advertiser, without any user or device identifier.
Conversion values
The conversion value is the only post-install signal SKAdNetwork carries, so its design is a real product decision. Teams map a limited range of values to events or revenue bands: for example, one value for an install with no action, another for a trial started, higher values for a purchase in successive price ranges. Later versions of the framework added coarse values and more than one postback window, so early and later behavior can be reported separately.
Delays, thresholds and crowd anonymity
- Delayed postbacks. Timers and random delays mean data arrives days after the install, so daily optimization on fresh results is not possible.
- Crowd anonymity. How much detail a postback contains depends on how many installs the campaign drives. Small campaigns may receive only coarse values or none at all, and fine-grained campaign identifiers can be withheld.
- No user-level data. Postbacks cannot be joined to individual users, so cohort analysis per campaign has to be modeled rather than observed.
- Aggregated reporting only. Results are counts per campaign, not per creative variant unless the network encodes it.
The practical response is to keep campaign structures simple, give each campaign enough volume, and read SKAdNetwork results as directional. Many teams calibrate them against incrementality tests or marketing mix models rather than treating postback counts as exact.
SKAdNetwork, AdAttributionKit and Apple Ads
AdAttributionKit, introduced with iOS 17.4, is Apple’s newer attribution framework and is designed to interoperate with SKAdNetwork, so networks can support both during the transition.
Apple Ads is a separate case. Its attribution runs through Apple’s AdServices framework, which returns the campaign, ad group and keyword behind an install to the advertiser’s app. That makes Apple Ads the one major iOS channel where keyword-level results can be joined with the subscription events your app records, without waiting on SKAdNetwork postbacks.
Related terms: IDFA, ATT and mobile attribution are covered in the adapty.io glossary.