iOS 14+ User privacy frameworks

Adjust offers continued client attribution and ad measurement support for Apple’s iOS 14+ releases with ATT and SKAdNetwork dashboard feature. Adjust offers iOS 14+ support with our latest SDK versions, along with ATT, and SKAdNetwork dashboard features. Follow the next steps to ensure that you have everything in place for iOS 14+ .

Steps to support iOS 14+

1. Update your SDK

Adjust’s latest SDK versions offer support for key parts of iOS 14 and above. This includes an enhanced number of data points that are used for probabilistic matching, to attribute installs from clicks when the IDFA isn’t available.

iOS 14+ builds only work in the latest Xcode, although the Adjust SDK is backward compatible with Xcode 11. For new builds, Xcode 12 beta 5 is available from Apple (Read More).


 iOS / Unity / Cordova / Flutter / Titanium / Corona / Cocos2d-x / React Native

The SKAdNetwork framework is an alternative method used for attribution without access to user-level data. For access to the SKAdNetwork, ad networks must first be registered with Apple. Next, developers must ensure that their apps are compatible with Apple-registered networks and the new framework.

The Adjust SDK has integrated support for the SKAdNetwork and is switched on by default. This means that Adjust will automatically register for SKAdNetwork attribution upon SDK initialization and can handle the conversion value update. You can choose to turn it off.

AppTrackingTransparency (ATT) 

 iOS / Unity / Cordova / Flutter / Titanium / Corona / Cocos2d-x / React Native

App publishers will need to use Apple’s AppTrackingTransparency framework if their app collects the user’s IDFA and shares it. The ATT framework will present an app-tracking authorization request to the user and the Adjust SDK can track this authorization status. A user can still control privacy at the app level. Users can also block all apps from tracking them at the global level. In iOS 14 and above, block app tracking in the device's Settings menu.

Launch an opt-in pop-up via Adjust

You can use the Adjust SDK wrapper function to present the app-tracking authorization request to users. Optimize your chances of gaining the user opt-in by choosing when to launch the app-tracking authorization request in your app. 

Adjust’s SDK wrapper for the ATT framework means you don’t have to do any extra work to implement Apple’s ATT API. When the wrapper is called the first time, the iOS pop-up launches. Every time after, the wrapper retrieves the tracking authorization status. This is sent to the Adjust backend, and Adjust relays the information directly to you.

2. Placeholder updates

The Adjust placeholder {att_status} lets you receive information about how an iOS 14+ user chooses to share their data. Add the placeholder to your callback URL or CSV definition to receive the ATT status in your raw data.

The user status is populated using four (4) possible integer values:

nullIf a user is on a pre-iOS 14 device, or the developer has not implemented the ATT framework in the app.
0 (Not Determined)If a user hasn’t yet received an authorization request to allow app-related tracking data. 
1 (Restricted)If the authorization to allow app-related tracking data is restricted.
2 (Denied)If the authorization to allow app-related tracking data is denied.
3 (Authorized)If the user gives the authorization to allow app-related tracking data. 

Adjust changed the behavior of two existing placeholders to assist you with the transition to iOS 14 and above if you can’t yet switch to use the {att_status}. You’ll see this change only if you update to the latest SDK and for your iOS 14.5+ users.

The behavior for {tracking_enabled} and {tracking_limited} changes in the following way:

PlaceholderValue returned
  • Returns 1 if the user opt-in status is authorized
  • Returns 0 if the user opt-in status is not determineddenied, or restricted
  • Returns 1 if the user opt-in status is not determineddenied, or restricted
  • Returns 0 if the user opt-in status is authorized

Changes to the Limit Ad Tracking (LAT) KPI

Since LAT will be deprecated after iOS 14, Adjust has transitioned how the current KPI behaves in the dashboard. Until you are able to switch to using {att_status}, note these changes. 

The LAT KPI is temporarily still visible in the dashboard and filled using the following behavior. 

  • Counts 1 if att_status is restricted, or denied, or not determined
  • Counts 0 if att_status is authorized

You’ll see this change only if you update to the latest SDK and only for your iOS 14.5+ users.

Apple plans to deprecate the Limit Ad Tracking (LAT) setting. This means that if you don’t update to the latest SDK, Adjust sets the LAT value based on whether the IDFA is present. If the IDFA is a string of zeroes, LAT is considered ON.

iOS 14.0-14.4 only

Changes to

3. Added callback activity: ATT update (iOS)

To support iOS 14+ changes, Adjust has included a new activity type for callbacks: ATT update (iOS). This is included by default in your global callbacks, which provide a full list of data points from all Adjust-tracked activities. 

Now, when a user’s authorization status changes and you are using global callbacks, user-level data is sent directly to your servers seconds after Adjust tracks the event. To quickly find these events, filter the {activity_kind} for att_update.

For a full overview of how to create global callback URLs, follow Adjust’s guide to Real-time Callbacks.

4. Testing Console support

Previously, you could only enter the IDFA to verify raw device activity directly within your Adjust dashboard. The Testing Console now supports the use of IDFV and ADID.