The SKAdNetwork API lets registered advertising networks attribute app installations to a particular campaign by receiving a signed signal from Apple. SKAdNetwork supports multiple advertising formats, including static images, videos, audio, and interactive ads. This enables advertisers to verify how many installations came from an ad and measure which campaigns were most effective, without tracking individual users or devices across other companies. SKAdNetwork accomplishes this by limiting the data included in the attribution postback.
SKAdNetwork attributes installations based on clicks or views. Click-through attribution occurs when someone clicks or taps an ad that goes to an app’s product page, and installs the app within 30 days. View-through attribution occurs when someone views an ad and installs the advertised app (without a link in the ad) within 24 hours of viewing the ad.
When an app installation occurs, advertisers and developers (if they’re opted in) can receive a postback within 24-48 hours of a user launching the app. In SKAdNetwork 3.0 or later, a postback is sent to up to five ad networks, so they can understand when an ad they presented qualified for attribution but didn’t win (on iOS 14.6 and iPadOS 14.6 or later). A winning postback includes attribution information, including:
- App ID. The advertised app’s identifier.
- Redownload information. Identifies whether the installation was a redownload. Advertisers can use this to evaluate the success of reengagement campaigns. SKAdNetwork 2.0 or later.
- Source App ID. The specific app from which an app installation occurred. This allows advertisers to identify which app should be credited with initiating the download. This value is conditional and only displays when privacy thresholds are met. SKAdNetwork 2.0 or later.
- Source identifier. The source identifier the ad network provided when displaying the ad.
- Conversion values. Advertisers can configure conversion values based on their preferences, with each representing a different type of engagement. For example, they might configure three conversion values to capture when someone finished an onboarding tutorial, made an in-app purchase, or purchased a subscription. This information can be used alongside the SourceAppID (when applicable) to understand the quality of the campaign. This value is conditional and only displays when privacy thresholds are met.
Advertising networks can use the SKAdTestSession class in the StoreKitTest framework to test and validate portions of their SKAdNetwork implementation (including advertising impression signatures and parameters), as well as receive test postbacks.
What’s new with SKAdNetwork 4.0
SKAdNetwork 4.0 includes updated values in attribution postbacks, giving advertisers more information about their campaigns while continuing to preserve user privacy. The winning postback for the advertiser and developer of the advertised app (if they’ve opted in) will include the following information:
Hierarchical source identifiers. Previously called the campaign ID field, the source identifier field lets advertisers identify which campaign an installation was attributed to, as well as additional attribution information. Advertisers can configure this four-digit value based on their goals, such as campaign values, ad placement, or type of ad creative.
The hierarchical source identifier field always includes at least two digits in the postback. Up to four digits can be included, depending on the number of installs met by the campaign and the postback data tier. For example, if a campaign hasn’t generated an adequate number of installations, only two digits would appear in the source identifier field in the postback. This gives advertisers more campaign flexibility, as well as additional attribution insight when privacy thresholds have been met, while preserving user privacy across apps.
Coarse conversion values. A conversion value can be either a coarse- or a fine-grained value. While both values are captured during the measurement window, the final value is determined by the number of installations met by the campaign and the postback data tier.
Coarse-grained values let advertisers receive limited attribution information when a campaign has a low number of app installations. A coarse-grained value can be low, medium, or high.
Multiple conversions. Advertisers can receive up to three postbacks, each of which are based on a specific conversion window (0-2 days, 3-7 days, and 8-35 days, respectively). This allows them to better understand how much someone who installed an app from a campaign engages with the advertised app over time. Each conversion window can include multiple engagements. The second and third postbacks include the two-digit source identifier and coarse-grained conversion value when sufficient crowd anonymity levels have been met.
SKAdNetwork for web ads. SKAdNetwork supports attribution for web-based ads in Safari that direct to the advertised app’s App Store product page after a user taps an ad. In addition to in-app advertising, advertisers can now attribute web advertising using Private Click Measurement.
Frequently asked questions
How does Apple’s crowd anonymity function work?
Ad networks and developers will receive additional data in the attribution postback as more installations are attributed to an advertisement. Apple performs a real-time check for a particular download to determine the postback data tier and the level of information that will be included in the postback.
Learn more about crowd anonymity
Do I need to ask for the user’s permission to track them in order to use SKAdNetwork?
No. SKAdNetwork allows advertising networks to attribute app installations while preserving user privacy, so you do not need to use the AppTrackingTransparency prompt. However, if your app includes any instances of tracking, you will need to receive the user’s permission through the AppTrackingTransparency framework to track them or access their device’s advertising identifier.
What kind of conversion events does SKAdNetwork support?
Up to 64 signals of user value can be shared with your advertising network on an SKAdNetwork install notification.
What if the value for conversion-value or a source-app-id is null in a postback?
In order to maintain user privacy, conversion-value and source-app-id are conditional values that are only included in SKAdNetwork postbacks when certain thresholds are met. In the absence of a conditional value, your network (or any advertising partner’s networks you work with) might represent the value as “null.”
Can I use multiple advertising networks for the purposes of SKAdNetwork?
Yes. You can use multiple advertising networks as long as they are registered with SKAdNetwork. Contact your advertising networks of choice to understand whether they are integrated with SKAdNetwork.
How does SKAdNetwork attribute app installs?
An app installation is attributed when a user launches the advertised app. If a user saw more than one advertisement, the attribution will go to the most recent interaction with the highest fidelity.
What does SKAdNetwork do to minimize advertising fraud?
All transactions that are tied to an SKAdNetwork event are cryptographically signed and verified by Apple in order to prove the postback is attached to a known conversion event by Apple. The postback also includes a unique transaction ID (a unique identifier for a transaction such as a purchase or redownload) in order to detect replays of valid conversion events.
Can I use SKAdNetwork in conjunction with fingerprinting?
No. Per the Apple Developer Program License Agreement, you may not derive data from a device for the purpose of uniquely identifying it. Examples of user or device data include, but are not limited to: properties of a user’s web browser and its configuration, the user’s device and its configuration, the user’s location, or the user’s network connection. Apps referencing SDKs, including but not limited to Ad Networks, Attribution services, and Analytics are prohibited under the Apple Developer Program.