App Tracking Transparency with OneTrust iOS SDKs

With the release of iOS / iPadOS / tvOS 14, Apple will require applications to requires permission from the user before any tracking of advertising and analytics purposes is performed. OneTrust customers can leverage the OneTrust SDK and prompts to improve their conformance to this regulation.

Note:

For more technical information on how to implement this with OneTrust SDKs, see the OneTrust SDK Portal.

Apple's Privacy Nutrition Label on App Store

As of December 8, 2020, new apps and existing apps needing upgrade are required to have a Privacy Nutrition Label, submitted through App Store Connect. This new privacy feature is featured with the iOS, iPadOS, and tvOS 14.3 release. Apple has provided all the information for generating this Nutrition Label requirement here.

Since applications use OneTrust SDK as a third-party for managing user consent and preferences, customer applications will need to declare any personal data processing the OneTrust SDK performs. To aid this process, follow our guidance for OneTrust SDKs and Apple’s Nutrition Label Requirement.

App Tracking Transparency Permission

Apple has indicated that starting in early 2021, any application that tracks users or utilizes the IDFA (ID for Advertisers) will be required to obtain permission to do so prior to any processing. Applications that do not adhere to this will be out of compliance with Apple’s Privacy Policy and will be technically incapable of using the IDFA (will be obfuscated to all 0’s).

There are two options for applications to obtain this new permission:

  • Collect App Tracking Transparency permission on your own, without using OneTrust SDK

  • Collect App Tracking Transparency permission using the OneTrust SDK

Without Using OneTrust SDK

Please follow Apple’s guidance and work with your developer teams to build a solution using Apple’s App Tracking Transparency framework.

Using OneTrust SDK

As of the 6.12.0 SDK, OneTrust now provides a way to collect the App Tracking Transparency permission on your application’s behalf and log consent to the OneTrust for audit and reporting requirements. To help improve the opt-in rate for this permission, which can only be asked for once, the OneTrust SDK provides the following UI features:

Note:

For more information on how to configure prompts, as well as how to link categories and purposes to these prompts, see Configuring App Tracking Transparency Prompts for Mobile Apps.

Pre-Prompt

A Pre-Prompt is a notice to the user presented before the App Tracking Transparency permission prompt has been shown or requested. Pre-Prompts are a chance to educate the user on why the app is about to ask permission for something. Since Apple only allows applications to ask for App Tracking Transparency permission once, it is important to make the most that single chance. By allowing organizations to customize the image, text, translations, and branding of this Pre-Prompt, the OneTrust SDK is meant to help you maximize your opt-ins without much developer effort.

A Pre-Prompt displays the following to an end user:

  • Image

  • Title text

  • Description text

  • Continue button

Users can select the following with the Pre-Prompt:

Note:

These buttons aren’t required to say “Continue”. You can customize the text and translations presented to the user.

Selection

Action Taken

Tap Continue button

The OneTrust SDK will display Apple’s App Tracking Transparency permission prompt to the user. See App Tracking Transparency with OneTrust iOS SDKs for more information.

App Tracking Permission Prompt

Users can select the following with the App Tracking Transparency permission prompt:

Selection

Action Taken

Allow Tracking

The Apple device will record the user’s choice in the application’s device settings.

If Consent Logging is enabled on Geolocation rule, OneTrust SDK will log a consent transaction for App Tracking & Transparency purpose with status Confirmed.

The Pre-Prompt will be dismissed and a completion handler will launch so the application can take the next action.

The Apple device’s IDFA will be available for use.

Ask App Not to Track

The Apple device will record the user’s choice in the App’s device settings.

If Consent Logging is enabled on Geolocation rule, OneTrust SDK will log a consent transaction for App Tracking & Transparency purpose with status Opted Out.

The Pre-Prompt will be dismissed and a completion handler will launch so the application can take the next action.

The Apple device’s IDFA will not be available for use.

Settings Prompt

A Settings Prompt is a notice to the user after the App Tracking Transparency permission dialogue has been shown once differing slightly from a Pre-Prompt. As a results, a Settings Prompt does not have the ability to resurface Apple’s App Tracking Transparency permission prompt. Instead, a Settings Prompt can only help navigate the user to an application’s device settings to update the App Tracking Transparency permission setting. With this in mind, we recommend only using a Settings Prompt in a scenario where the user previously selected Don’t Allow Tracking.

A Settings Prompt displays the following to an end user:

  • Image

  • Title text

  • Description text

  • Continue button

  • Close Button

Users can select the following with the Settings Prompt:

Selection

Action Taken

Tap Continue button

The user will be deep linked away from the application and into the application’s device settings where they can update their App Tracking Transparency setting.

Tap Not Now button

The OneTrust Setting Prompt will be dismissed.

No Consent Logging will occur.

Application Device Settings

Users can select the following for their application's device settings:

Options

Result

Toggle On

Allows Tracking

Toggle Off

Ask App Not to Track

No Action

No change to the OneTrust CMP.

FAQs

Can the OneTrust SDK change the consent value for the App Tracking Transparency?

No, Apple does not allow this. The App Tracking Transparency permission can only be updated in the following ways:

  • User interacts with Apple’s App Tracking Transparency permission prompt.

  • User updates the App Tracking Transparency permission value in the device’s settings.

The OneTrust SDK can only:

  • Show Apple’s App Tracking Transparency permission prompt to the user, via Pre-Prompt.

  • Deep link the user to the application’s device settings for updating App Tracking Transparency permission, via Settings Prompt.

What happens when the user closes the app or turns off their device while the App Tracking Transparency permission prompt is being displayed?

Apple records this as a Ask App Not to Track user selection. This will impact the application in the following ways:

  • The application will not be allowed to show the App Tracking Transparency permission prompt to the user again, since it was already shown once.

  • Calling OneTrust SDK’s showConsentUI() method will result in a Settings Prompt, not a Pre-Prompt.

  • If Consent Logging feature is enabled, the next time startSDK() or checkAndLogConsent() is called, the OneTrust SDK will log a consent transaction for the App Tracking & Transparency purpose with status Opted Out.

What happens when the user closes the app or turns off their device while the OneTrust SDK’s Pre-Prompt is being shown?

Nothing happens. The OneTrust SDK will not log any consent transactions.

The next time OneTrust SDK’s showConsentUI() method is called, the Pre-Prompt will still be shown because the App Tracking Transparency permission prompt has yet to be shown to the user.

What happens if the user updates the App Tracking Transparency toggle in device settings to a new value and returns to the application?

The application will restart (Apple device does this automatically).

If Consent Logging is enabled on Geolocation rule, the next time startSDK() or checkAndLogConsent() is called, the OneTrust SDK will log a consent transaction for App Tracking & Transparency purpose with status of Confirmed or Opted Out (depending on user’s new selection.)

What happens if the user updates the App Tracking Transparency toggle in device settings to a new value, returns to the application, and ATT Purpose Linking is enabled?

If the user turned off App Tracking Transparency, then a status of Opted Out for linked purposes will be returned and consent logged to OneTrust.

If the user turned on App Tracking Transparency, when it had previously been turned off, the user can update the settings in their Preference Center, but the OneTrust CMP will not automatically show a status of Opt In for a user.

What happens if App Tracking Transparency is turned off globally in a user's device settings?

The application will return a status of denied.

When startSDK() or checkandLogConsent() are called, Opted Out will be logged in the receipt.

What happens if App Tracking Transparency has a purpose with a status of Not Given?

If a status of Not Given has been logged, the ATT Pre-Prompt has been disabled and consent was not recorded for the user.