iOS 14 User privacy frameworks

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

With iOS 14, Apple is giving end-users greater control over their personal data. This means that a user must opt-in to have Apple’s unique Identifier for Advertisers (IDFA) read and shared. Apple’s update to their SKAdNetwork now assists campaign measurement without user-level data.

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 iOS and Unity 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.

SKAdNetwork User-added image 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) User-added image iOS / Unity / Cordova / Flutter / Titanium / Corona / Cocos2d-x / React Native

App publishers need to use Apple’s AppTrackingTransparency framework if their app collects the user’s IDFA and shares it. The ATT framework presents 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

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

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

  • Returns 0 if the user opt-in status is authorized

Note: Apple plans to deprecate the Limit Ad Tracking (LAT) setting. This means that if you don’t update to the latest SDK, {tracking_enabled} will always return 0 and {tracking_limited} will always return 1.

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 not determined, restricted, or denied

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

On this topic