---
title: AdAttributionKit
framework: AdAttributionKit
role: collection
role_heading: Framework
platforms: [iOS 17.4+, iPadOS 17.4+, Mac Catalyst 17.4+]
path: adattributionkit
---

# AdAttributionKit

Present, process, and register postbacks for in-app ads in the App Store and alternative app marketplaces.

## Overview

Overview AdAttributionKit helps advertisers measure the success of ad campaigns while helping maintain user privacy. The API involves three participants: Ad networks that sign ads and receive postbacks after ads result in conversions Publisher apps that display ads from the ad networks Advertised apps that update conversion values as people engage with the app Ad networks register with Apple to get an ad network ID and to use the API. Developers configure their apps to accept attributable ads from ad networks and receive copies of winning postbacks. For information about setup, see Registering an ad network, Configuring a publisher app, and Configuring an advertised app. Below is the path of an ad impression that wins ad attribution. The ad network serves an ad that an app displays. A person taps the ad and downloads or reengages with the advertised app.

Apple determines a postback data tier for the conversion, and the device uses the tier later to determine the level of detail the postback can contain to help ensure crowd anonymity. For more information about the postback contents and the data tiers, see Receiving postbacks in multiple conversion windows. If a person launches the app within an attribution time-window, the ad impression is eligible for postbacks. As that person engages with the app, the app updates the conversion value. The system provides three conversion windows if the ad network meets the criteria for conversion. The system sends the postbacks to the ad network, and to the app’s developer if they opt in to receive postbacks. Devices send postbacks to multiple ad networks that sign their ads. One ad network receives postbacks, as part of multiple conversion windows, with a did-win parameter value of true for the ad impression that wins the ad attribution. For install conversions, up to five other ad networks receive a postback with a did-win parameter value of false if their ad impressions qualify for the attribution, but don’t win. For reengagement conversions, a single ad network may receive winning postbacks in multiple conversion windows. The framework doesn’t generate runner-up postbacks for reengagements. The following diagram shows the path of ad impressions that qualify for, but don’t win, the ad attribution. Up to five ad networks receive a single nonwinning postback.

For more information about receiving ad attributions, including time-window details, information about install and reengagement conversions, and other constraints, see Receiving ad attributions and postbacks. The information in the postback that Apple cryptographically signs doesn’t include user- or device-specific data. It can include values from the ad network and the advertised app if providing those values meets the privacy threshold that Apple sets. For more information about postback values and postback data tiers, see  Receiving postbacks in multiple conversion windows. For more information about the contents of postbacks, see Verifying a postback. Present ads, update conversion values, and receive attribution Each participant has specific responsibilities when using the APIs to present ads and receive attribution. The ad network’s responsibilities are to: Register and provide its ad network identifier to developers. See Registering an ad network. Serve signed ads to the publisher app. See Presenting ads in your app. Receive postbacks at the URL it establishes during registration. Verify the postbacks. See Verifying a postback. The publisher app’s responsibilities are to: Add the ad network identifiers to its information property list. See Configuring a publisher app. Display ads that the ad network signs. See Presenting ads in your app. The advertised app’s responsibilities are to: Register a conversion by updating the conversion value when a person first launches the app by calling one of the conversion updating methods, such as updateConversionValue(_:lockPostback:). Optionally, continue to update the conversion value as the person engages with the app by calling one of the conversion updating methods, such as updateConversionValue(_:coarseConversionValue:lockPostback:). Optionally, specify a server URL in its information property list to receive a copy of the winning postback. See Configuring an advertised app . Apple designs ad attribution APIs to help maintain user privacy. Apps don’t need to use App Tracking Transparency before calling ad attribution APIs, and can call these APIs regardless of their tracking authorization status. For more information about privacy, see User privacy and data use.

## Topics

### Essentials

- [Understanding AdAttributionKit and SKAdNetwork interoperability](adattributionkit/adattributionkit-skadnetwork-interoperability.md)
- [Presenting ads in your app](adattributionkit/presenting-ads-in-your-app.md)
- [Receiving ad attributions and postbacks](adattributionkit/receiving-ad-attributions-and-postbacks.md)
- [Identifying conversion values with conversion tags](adattributionkit/conversion-tags.md)

### Ad network registration and configuration

- [Registering an ad network](adattributionkit/registering-an-ad-network.md)
- [Configuring a publisher app](adattributionkit/configuring-a-publisher-app.md)
- [Configuring an advertised app](adattributionkit/configuring-an-advertised-app.md)
- [Configuring attribution rules for your app](adattributionkit/configuring-attribution-rules-for-your-app.md)

### Ad attribution testing

- [Testing ad attributions with Developer Mode](adattributionkit/testing-adattributionkit-with-developer-mode.md)
- [Creating postbacks in developer settings](adattributionkit/creating-postbacks-in-developer-settings.md)
- [Testing ad attributions with a downloaded profile](adattributionkit/testing-ad-attributions-with-a-downloaded-profile.md)

### Signatures

- [Generating JWS impressions](adattributionkit/generating-jws-impressions.md)

### App impressions

- [AppImpression](adattributionkit/appimpression.md)

### Postbacks

- [Postback](adattributionkit/postback.md)
- [PostbackUpdate](adattributionkit/postbackupdate.md)
- [CoarseConversionValue](adattributionkit/coarseconversionvalue.md)

### Postback verification and parameter identification

- [Verifying a postback](adattributionkit/verifying-a-postback.md)
- [Identifying the parameters in a postback](adattributionkit/identifying-the-parameters-in-a-postback.md)

### Errors

- [AdAttributionKitError](adattributionkit/adattributionkiterror.md)

### Articles

- [Receiving postbacks in multiple conversion windows](adattributionkit/receiving-postbacks-in-multiple-conversion-windows.md)
