Have you ever wondered how your favorite apps can serve relevant ads without compromising privacy? Enter SKAdNetwork, a privacy-focused framework developed by Apple that helps app developers measure the effectiveness of their ad campaigns without revealing any personally identifiable information about the user.

The importance of SKAdNetwork cannot be overstated, as it is a critical tool in balancing the need for effective ad targeting with user privacy. With growing concerns around data privacy and security, users are becoming more aware and protective of their personal information, and this is where SKAdNetwork comes in to protect users’ privacy. Users can feel more confident in their app interactions by limiting the amount of data shared with advertisers.

In this article, we will dive into the specifics of what SKAdNetwork is, how it works, and its benefits and applications for users. Whether you are an app developer, an advertiser, or a concerned user, understanding the role of SKAdNetwork is crucial for navigating the mobile advertising landscape while prioritizing user privacy.

What is SkAdNetwork?

SkAdNetwork is a framework for mobile app advertising, allowing advertisers to measure ad campaign effectiveness while preserving user privacy. It uses a randomized, privacy-preserving mechanism to report conversion events to advertisers.

Created by Apple, this software suite and protocols enable marketers to get aggregated attribution on mobile app marketing campaigns.

SkAdNetwork was introduced in 2018 by Apple as an API to preserve privacy while allowing mobile apps to track the attribution of their installs due to marketing campaigns. While its adoption was slow since its launch, the new Apple privacy guidelines and AppTracking Transparency make SkAdNetwork more popular. This change to Apple’s data collection policy requires mobile marketers to ask users to consent to track them across apps and websites outside Apple.

How does SkAdNetwork work?

SkAdNetwork allows mobile marketers to measure conversion KPI, such as Cost per Install (CPI) or app installs, without sharing the user’s identity. The framework has a learning curve, but don’t worry; we’ll try simplifying the explanation.

The entities involved

There are three main entities involved in the SkAdNEetwork framework.

1. Ad network –  The platform that delivers the ads and reports the metrics, such as installs and conversions.

What are the ad network’s responsibilities? 

  • Register with SkAdNetwork and provide the identifier to developers.
  • Serve the signed ads to the publisher application.
  • Also serve signed ads for display on Safari web pages through the SkAdNetwork for Web Ads API.
  • Receive install-attribution postbacks and verify them.

2. Source app – The app where the ad network displays the ad.

What are the source app’s responsibilities?

  • Ads the network identifier to the info.plist file.
  • Display the ads from the ad network.

3. Advertised app – The app that is advertised in the ad.

What are the advertised app responsibilities?

  • Account for an app installation by updating the conversion value with the first launch by the user.
  • The app has three options to update the conversion:
    • Register the installation when the user first launches the app by using updatePostbackConversionValue(_:coarseValue:lockWindow:completionHandler:)
    • Continue to update the conversion value as the user engages with the app by using updatePostbackConversionValue(_:coarseValue:lockWindow:completionHandler:)
    • Specify a server URL in the info.plist file and receive a copy of the winning attribution postback.

A fourth player may be The mobile measurement partner (MMP), which connects all the partners, attributing and optimizing the data.

SkAdNetwork considers accountable two different types of interactions: views and StoreKit renders.  That means if users view the ad or a StoreKit rendering is generated.

The SKAN flow

To start with SkAdNetwork, an ad network registers with Apple. This enables them to get an ad network ID and use the API. On the other side, developers configure applications to accept attributable ads from an ad network and receive copies of postbacks. 

The SKAN flow

Source: Apple

The above diagram shows a typical path of an ad impression that wins attribution. In broad terms, the ad network serves an ad that displays on an application. A user carries an action with the ad, viewing it, clicking on it, or downloading the advertised app. How does the SkAdNetwork process work? Here are the steps:

  1. The ad is displayed in the source app. As soon as this happens, the publishing app starts a 3 seconds timer and notifies SkAdNetwork.
  2. What happens if the ad is run for 3 seconds or more? The source app will notify SkAdNetwork of that, and it will record a successful view.
  3. If, in addition to viewing the ad, the user interacts with it, the publishing app will render the StoreKit.
  4. When this happens, SkAdNetwork registers the rendering.

How SkAdNetwork ensures privacy on downloads? 

Apple sets a postback data tier for the application download. To ensure anonymity, the device uses this tier to determine how much detail the postback can have. If the user launches the app within the attribution time window, the ad impression gets attribution postback, and the app updates the conversion value.

How the ad attribution process works

The ad attribution process changed from iOS 16.1. In this new version, apps can use three different conversion windows to update conversion values. As a result,  for each ad signed in SkAdNetwork 4, there can be up to three postbacks. 

How do the postback systems work? 

  1. The device sends install-validation postbacks to multiple ad networks that signed their ads ( in SkAdNetwork version 3 or later).
  2. The winning ad network receives the postback with a did-win=true for the ad impression that wins the ad attribution.
  3. If the ad impression qualifies for the attribution but doesn’t win, the ad network receives a postback with a  did-win=false, (up to five ad networks).

How do the postback systems work?

Source: Apple

The above image shows what happens to ad impressions that qualify for but don’t win the ad attribution.

What is included in each Apple postback, and what isn’t?

May Include
Values from the ad network
Values from the advertised app
Doesn’t include
Any user or device-specific data

With SKAdNetwork APIs, applications don’t need to use App Tracking Transparency when calling the SKAdNetwork APIs, calling the API regardless of the tracking authorization status.

What is SkAdNetwork used for?

StoreKit Ad Network, or SKAdNetwork, is an Apple-operated API that helps ad networks and publishers measure ad activity, such as impressions, clicks, and installs.

Apple’s SKAdNetwork aims to protect the user’s privacy during mobile installs. It measures conversion rates without having to share the identity of the user. Because the attribution process takes place through the App Store and in the Apple servers, where it is removed from any user-identifying data, the ad network receives clean data.

What do you get when using SKAN?  

SKAdNetwork is a privacy-preserving framework created by Apple that measures the attribution of mobile ad campaigns for iOS apps while protecting user data. This technology benefits advertisers and publishers in the mobile app ecosystem.

Benefits for Publishers

Here are some benefits that SKAdNetwork offers to app publishers:

Helps publishers stay relevant: For publishers to stay relevant in the mobile app ecosystem, they must adapt and adopt the support of SKAdNetwork. If most advertisers use SKAdNetwork with Apple’s tracking and primarily utilize programmed advertising on iOS, SKAdNetwork inventory may be the only thing to bid on.

Provides a reliable method of attribution: SKAdNetwork provides a reliable method of measuring attribution for ad campaigns in a privacy-preserving way. This helps publishers understand their advertising efforts’ effectiveness and make data-driven decisions to improve performance.

Protects user privacy: SKAdNetwork measures conversion rates of app install campaigns without compromising users’ identities. This is achieved by providing limited data to advertisers and publishers while maintaining user privacy. This is a key benefit for publishers who want to build user trust and maintain a positive brand image.

Benefits for Advertisers 

Here are some benefits that SKAdNetwork offers advertisers:

Improves user trust: Advertisers that want to maintain a positive brand image and increase the trust of their users will benefit from SKAdNetwork’s restrictions on user privacy.

Helps advertisers understand the effectiveness of their campaigns:  Because SKAdNetwork’s attribution is reliable, it helps marketers check how effective their campaigns are, providing a way to make data-driven decisions.

Offers a way to continue advertising on iOS: With Apple’s iOS 14 update, the use of Identifier for Advertisers (IDFA) has been restricted, making it more difficult for advertisers to track users and target them with ads. SKAdNetwork allows advertisers to continue tracking and measuring their ad campaigns’ effectiveness on iOS.

SKAN enables advertisers to test contextual campaign parameters and optimize for both click- and view-through conversions without relying on user-level identity.

These transformations from Apple could pose problems for advertisers who utilize specific measurement tools for optimization, campaign budgeting, and reporting. Advertisers must use contextual marketing to understand which ad campaign performance is the best. There are a few things advertisers are asking themselves.

Challenges when using SKAN and How to Overcome them

SkAdNetwork has become the main method to measure attributions on iOS because of its significant benefits. But SkAdNetwork is far from perfect. Here are seven limitations to the framework.

1. Limited granularity

Under the old attribution model in iOS, you had perfect granularity. The IDFA was available to publishers, advertisers, and other players in the ad tech stack. So you could have divide-level data on metrics such as views, clicks, installs, and conversions. Now, you can still do that, but you need permission for every app on the publisher and advertiser’s apps.

Here are some ways granularity is limited with SKAdNetwork:

  • It doesn’t provide device or creative-level data.
  • Allows up to 100 campaigns
  • Provides only 24 hours of post-install conversion data by default
  • Allows only six bits of post-install conversion data

2. No retargeting

In the earlier era of IDFA, you could retarget people that formerly used or installed your app but not anymore. You could use the IDFA to target ads with offers so that they can reengage. Since iOS 14.5, there isn’t a real retargeting option. You have limited functionality as a redownload flag, but you cannot re-target the user via ad networks.

3. Distributed postback data

A postback is, in simple terms, a digital notification of an event, such as app installs, views, or clicks. With SKAdNetwork, every time a user sees an ad for the app clicks on it, and installs it, it generates a postback. The challenge is that your data is distributed among those servers when you use multiple ad networks.

4. No lookalike campaigns.

Previously, you could use the IDFA to make lookalike campaigns. That means you can take your attribution data and conversion values and use them to build a list of the best users. You can then export the list to other ad partners. Guess what? SKAdNetwork does not support IDFAs. So you cannot make lookalike campaigns.

5. No direct link between impressions and postbacks.

You can measure app-to-web journeys in SkAdNetwork with the Private Click Measurement feature. The challenge comes when you try to measure web-to-app journeys. You can easily measure the app to the web because you have an app on iOS that connects to the SKAN framework. In addition, you can be on a browser that Apple doesn’t control on the mobile web, such as Firefox, Opera, or Chrome.

6. Easier to manipulate by fraudsters.

Although the Apple postback for app installs is cryptographically signed, the payload of the post-install conversion data is not. As a result, malicious actors can easily manipulate these unencrypted data in several ways.

  • Fraudsters can easily fake post-install conversion data.
  • Because there is no geolocation data, the traffic can be from anywhere.
  • A fraudster can replay fake SkAdNetwork postbacks repeatedly.

7. Data siloing

SkAdNetwork helps you get the data you need, but it won’t be the only data you need. There is data on IDFA users that opted in or other campaign data that SkAdNetwork does not cover. It can be challenging to decide which dataset you will use to optimize campaigns and how to manage other data types, such as partial IDFA or creative data.

Conversion Values of SkAdNetwork 4.0

What is considered a conversion value in the SKAN 4.0 framework? A conversion value is a single number sent to the ad network by a newly installed app. 

SKAdNetwork 4.0 is the version available in iOS 16.1 and later.

Who can use SKAN 4.0? To receive a version 4 postback, all parties must meet the following conditions:

  • The ad network should generate a signature for version 4.0
  • The app should be built with iOS 16.1 SDK. 
  • Web ads should appear in Safari 16.1 or later.

These advertised apps can opt for up to three conversions resulting in winning ad impressions.

New features of the SKAdNetwork 4.0

  • Multiple postbacks:  Now when you call the update methods:

updatePostbackConversionValue(_:coarseValue:completionHandler:) updatePostbackConversionValue(_:coarseValue:lockWindow: completion andler:),

The app can update the conversion in three different conversion windows, sending multiple postbacks for the winning ad attribution.

1. Lock a conversion during a conversion window: 

a. Call

b. Set the lock to =true.

2. Coarse and fine-grained conversion values: In SKAN,  every conversion value sent can include a fine-grained or coarse-grained value.

    • Coarse-grained conversion values: can result in three different values, low, medium, or high. The value is set according to the event completed by the user and the conversion values set in the advertiser’s mapping. To use them, you call them in the method: 

 updatePostbackConversionValue(_:coarseValue:completionHandler:) and updatePostbackConversionValue(_:coarseValue:lockWindow:completionHandler:).

    • Fine-grained conversion value: These are the conversion values of a 6-bit value that allow up to 64 combinations. 

3. Hierarchical source identifiers. Another new feature of SKAN 4.0 is that it allows ad networks to provide hierarchical source identifiers when signing an ad. This feature replaces the old campaign identifiers. This new source identifier is a four-digit integer. A winning postback may have two, three, or four digits of the source identifier.

How to make the most of SkAdNetwork 

iOS marketing is now all about SKAN, and many marketers still find it challenging to use it fully to measure the performance of their campaigns. If you are in this group, don’t worry, we compiled a list of recommendations you can follow to maximize your strategy when setting conversion values:

With SKAN, your only way to measure post-install performance for users out of the ATT prompt is by setting your conversion values strategically. By setting your conversion values to measure performance, you can gain insights that can help you find valuable app users that can turn into leads.

Take time to configure your conversions values to give you additional KPIs, such as retention, engagement, and revenue. You can also add measures of fraud protection.

So, how do you do it? The golden rule for networks is the earlier the postback, the better. For instance, use one of the most important metrics in marketing, the Return on Advertising (ROA), to track the revenue you earn from each dollar spent in marketing, if possible. However, because you cannot always track ROA accurately, you can still have insights by getting an earlier indication of performance.

Why? Earlier signals give a network more incentive to optimize the campaigns and earn more of your budget. Sending a postback on day one instead of day four can increase your overall conversion value by increasing the number of experimentations available.

Understanding Apple’s conversion value mechanism

We discussed the challenges and limitations of SKAdNetwork compared with previous attribution methods. The key to making the most of the framework starts by understanding how Apple’s conversion value mechanism works. This section will give you a primer on this.

First, let’s understand what bits are

Apple’s conversion values are configured, so a single conversion value is included in the postback iOS sends to the ad network. The conversion value contains all the information you can get about a user’s post-install.

A conversion value is defined by 6 bits on 64 possible combinations. You can use these values to measure revenue, engagement, gender, and device, assigning the KPIs that are most valuable to you. These values, with their own decoding, are attributed to the source of the install.

To make the most of your conversion value strategy, you must define what you assign to each bit. What events matter most to your campaign goals? There are several ways to combine those six bits, but we can categorize them broadly into three:

  • Flat – All 6 bits measure a single KPI, for example, measuring revenue. The bit combination shows a specific binary value that informs the app the user generated a specific amount of revenue.
  • Split – Three bits measure one KPI and the other three another KPI, for example, revenue and time on the app.
  • Combo-split –  Here, the six bits are divided into three sets, a set of three values, another of two, and another single value, which measures three different KPIs.


SKAdNetwork is a framework developed by Apple to help app developers measure the effectiveness of their ad campaigns while protecting user privacy. The SKAdNetwork framework allows for measuring ad clicks and conversions without revealing any personally identifiable information about the user.

One of the main benefits of SKAdNetwork is that it enables app developers to better understand their ad campaigns’ performance and optimize them accordingly. This can lead to more effective ad targeting, higher conversion rates, and, ultimately, increased revenue for the app developer.

In addition, SKAdNetwork helps protect user privacy by limiting the amount of data that is shared with advertisers. This can help build user trust in the app ecosystem, which is especially important given the growing data privacy and security concerns.

SKAdNetwork has already been adopted by a growing number of app developers and ad networks and is expected to become an increasingly important part of the mobile advertising landscape. As more and more companies seek to balance the need for effective ad targeting with the importance of user privacy, the benefits of SKAdNetwork are likely to become even more apparent.


How do I set up SkAdNetwork?

Please bear in mind that SKAN is only available on devices running iOS 14 and later. For ad networks, you first need to register as an ad network with Apple in order to get your Ad Network ID. Publishers displaying SKAdNetwork ads must include this id in the app configuration. You can find more information about registering an ad network in the Apple documentation.

Then you need to provide signed ads to the source application. When the application loads the ad, they call the loadProduct() method and give a signature that combines the following values.

  • The version of the ad network API you are using.
  • The ad network identifier
  • The campaign identifier (integer number from 1-100)
  • Ad network nonce ( a unique number generated for each impression)
  • App Store ID of the app displaying the ad
  • Timestamp

Then the ad network verifies the postback, including the transaction ID, source app Id, and conversion value.

What version of iOS is SKAN on?

SKAdNetwork is available for iOS version 14, but the new version SKAdNetwork 4.0, is available in iOS 16.1 and iPadOS 16.1.

Why don’t I see Apple Search Ads (ASA) data in the SkAdNetwork report?

Because Apple Search Ads doesn’t support SKAN but uses a different mechanism for measuring a campaign’s performance.

Why are installs lower than expected?

Note that SKAdNetwork does not register all installs. The following are not supported:

  • Web-to-app installs
  • Re-engagements
  • The install postback is usually sent at least 24 hours after the install

Why are Revenue metrics lower than expected?

If the revenue metrics are significantly lower, check if all the postbacks have a conversion value.

Does Google support SKAdNetwork?

Google initiates SKAN attribution by Google Mobile Ads SDK if the click action lands in Apple App Store. Learn more about Google attribution with SKAdNetwork.

Does Facebook use SKAdNetwork?

Facebook partners with Mobile Measurement Partners (MMPs) to support SKAdNetwork for Facebook ads. Learn more about Facebook’s guide on SKAN.