App Tracking Transparency

IDFA (Identifier for Advertisers)

  • Before iOS 14.5, advertisers could use the IDFA (Identifier for Advertisers) to measure ad performance and deliver personalized ads. With the introduction of ATT (App Tracking Transparency) in iOS 14.5 and stronger privacy protections, the IDFA value can now be obtained only if the user grants consent.

circle-info

To maximize ad revenue on iOS 14.5 and later, handling related to the ATT (App Tracking Transparency) frameworkarrow-up-right is required.

Use of ATT (App Tracking Transparency)

  • To request permission to access and use identifiers such as IDFA on iOS 14.5 and later, you must use the ATT (App Tracking Transparency) consent prompt. If you want to manually obtain permission to access the IDFA through code, please follow the five steps below.

circle-info

It is recommended to use AdMob UMP (User Messaging Platform) to automatically handle the ATT (App Tracking Transparency) consent prompt.

triangle-exclamation

Step 1. SDK Preparation

For new or updated apps, use iOS SDK version 2.5.0 or higher, and for Unity, use Unity Package version 2.5.0 or higher.

Step 2. SKAdNetwork Configuration

Regardless of the user’s ATT consent decision, Apple introduced SKAdNetwork to officially measure the success of ad campaigns. To use SKAdNetworkarrow-up-right, add the list of ad network identifiers to your iOS app project’s Info.plist file.

circle-info

You can find the list of identifiers supported by each ad network in the SKAdNetwork ID List section of this guide.

(example)

Step 3. Add Usage Description for Permissions

Add the NSUserTrackingUsageDescription key to your Info.plist file and provide a message explaining why the app is requesting permission.

triangle-exclamation

The usage description message you provide will be displayed in the ATT consent popup.

Step 4. Request permission

To display the permission request, call requestTrackingAuthorizationWithCompletionHandler:arrow-up-right

triangle-exclamation
  • The ATT consent prompt must be requested when the app is fully running and in the Active state to display correctly.

    • Calling ATT in application:didFinishLaunchingWithOptions: will not work starting from iOS 15.

  • After the user grants App Tracking Transparency permission, use the completion callback to allow the ad SDK to access the IDFA and then request ads.

circle-exclamation

Last updated

Was this helpful?