iOS 14 User privacy frameworks

Adjust offers continued client attribution and ad measurement support with Apple’s iOS 14 release.

Adjust offers iOS 14 support with the latest iOSUnityCordovaFlutter, TitaniumCoronaCocos2d-x, and React Native SDK, version 4.23.0, along with ATT and SKAdNetwork dashboard features. Follow the next steps to ensure that you have everything in place for the release of iOS 14.

Steps to support iOS 14

1. Update your SDK

Adjust’s latest SDK versions offer support for key parts of Apple’s iOS 14 update. 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.

Use the link to the specific chapter of Adjust’s GitHub developer documentation to update your SDK. 

Note: 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.


 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. From 2021, 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, 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 new 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. 

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. 

Changes to {tracking_enabled} and {tracking_limited} placeholders

Adjust changed the behavior of two existing placeholders to assist you with the transition to iOS 14 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 only for your iOS 14 users.

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

  • Returns 1 if the user opt-in status is authorized, or not determined
  • Returns 0 if the user opt-in status is denied, or restricted
  • Returns 1 if the user opt-in status is denied, or restricted
  • Returns 0 if the user opt-in status is authorized, or not determined

Note: 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.

Changes to the Limit Ad Tracking (LAT) KPI

Given that after iOS 14, LAT will be deprecated. Adjust is transitioning 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
  • Counts 0 if att_status is authorized, or not determined

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

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.