Launch the ATT pop-up and initialize the SDK

With the "Pop up, then Initialize" approach, we recommend displaying the ATT consent pop-up shortly after the user opens the app, and then initializing the Adjust SDK after the user responds. You need to initialize the SDK regardless of whether the user allows or denies tracking. After you initialize the SDK, we track installs for new users or sessions for existing users. Since the install or session does not start until after the popup is displayed, any user activity before that point will not be tracked.

For users that provide consent, this approach allows the SDK to send the IDFA as part of the install information.

You can either use Adjust's App-tracking authorization wrapper or call the requestTrackingAuthorization(completionHandler:) method on your own to launch the consent prompt.


  1. The user opens the app for the first time after installing it or after upgrading to iOS 14.5 or later.
  2. (Optional, only for new users) Your app displays its onboarding screens.
  3. Your app displays a pre-permission prompt if you have set this up.
  4. Your app calls on the Adjust SDK’s consent prompt wrapper and displays a consent pop-up.
  5. The user selects either “Allow” or “Ask App Not to Track”.
  6. Your app initializes the Adjust SDK.

Based on the user's response, the Adjust SDK collects data.

  • If the user selected "Allow", the SDK sends install information to the backend along with the IDFA. The IDFA will be available in all installs, subsequent post-install events and sessions, unless the user opts-out later.
  • If the user selected "Ask App Not to Track", the SDK sends install information for new users and session information for existing users to the backend without the IDFA. The IDFA will be unavailable in all subsequent post-install events and sessions. This will not impact existing attribution data.

Customize prompt timing

If your app includes an onboarding process or a tutorial, you may want to delay the launch of the ATT prompt until after the user has completed it. The Adjust SDK enables you to delay the ATT prompt launch for up to 120 seconds to give your users time to complete the initial onboarding before informing you of their consent decision.

See the Custom prompt timing documentation for more information.