Attributing ads with SKAdNetwork and Private Click Measurement

SKAdNetwork and Private Click Measurement let advertisers attribute their advertising across multiple sources — all while maintaining user privacy. And later this year, SKAdNetwork 4.0 will include additional attribution information and support for web-to-app based campaigns, allowing advertisers to better optimize their efforts across more sources.

SKAdNetwork

SKAdNetwork 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.

Learn more

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) receive a postback after 24-48 hours. 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.
  • Campaign ID. The campaign 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.

Learn more

Coming later this year
Enhanced attribution measurement

Later this year, SKAdNetwork 4.0 will include 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, this 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 and the level of user privacy met by the campaign. 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.

Hierarchical conversion values. A hierarchical 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 and the level of user privacy met by the campaign.

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. Fine-grained values are sent when additional privacy thresholds are met and provide more detailed attribution information while still preserving user privacy. Fine-grained values have 64 possible values. Hierarchical conversion values are conditional and only display when an adequate number of installations have occurred.

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 SourceID, SourceAppID, and coarse-grained conversion values are conditional and are only included in the second and third postbacks when privacy thresholds have been met.

SKAdNetwork attributions for web. SKAdNetwork will support attribution for web-based ads that direct to the advertised app’s App Store product page. Advertisers will be able to attribute in-app advertising, as well as web advertising using Private Click Measurement.

Frequently asked questions

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.

Learn more

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.

Learn more

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.

Learn more

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, that are found to be engaging in this practice may be rejected from the App Store.

Resources

Private Click Measurement

Apple supports Private Click Measurement for iOS and iPadOS apps, in addition to mobile websites. Advertising networks can measure the effectiveness of ad clicks within iOS or iPadOS apps that navigate to a website. This information can be used to understand which ads drive conversions (such as purchases or signups) — while maintaining user privacy. Private Click Measurement accomplishes this by limiting the data included in attribution reports.

Learn more

You can also use Private Click Measurement to measure any conversions that occur when someone taps an ad that directs to your website within an app in SFSafariViewController. Private Click Measurement is available in iOS 14.5, iPadOS 14.5, and Safari 15.4, or later.

Private Click Measurement includes:

  • Conversion fraud prevention via unlinkable tokens for triggering events on merchant websites.
  • Support for same-site conversion pixels on merchant websites, removing dependency on cross-site pixels.
  • The ability to measure links in nested, cross-site frames on publisher websites.

Resources