Tracking in iOS 14.5

Changes in iOS 14.5

Starting with iOS 14.5, by default, apps and ad networks don't have access to the IDFA, a device ID that helps them recognize the same user across the apps.

There are two was to request IDFA access from the user:
  • Show the selection window when the app starts, but only once.
  • Suggest going to system settings.
If the user refuses, you won't be able to identify the device.

Previously, the device owner could also prohibit apps from receiving the IDFA (through the same system settings), but only a small percentage of users did this. Now the share of users without an IDFA will grow significantly.

Along with this restriction, Apple's new rules prohibit attempts to identify the device in other ways, including heuristic ones: the company does not allow the use of fingerprints or probability matching.

What does the lack of IDFA affect?

Behavioral targeting
In a number of advertising networks, the ability to target by behavioral characteristics of the audience will decrease. Applications will no longer recognize the user and show them relevant ads, so ad effectiveness will decrease.
Advertising campaign optimization
The advertising partner won't be able to adjust settings on the fly to show ads to the users who convert more. Without the IDFA, it's impossible to choose the users with higher conversion from the entire audience.
App install attribution
Attribution of iOS installations and subsequent target actions (for devices without an IDFA) will no longer work in mobile measurement partners. If the user doesn't allow IDFA access, the mobile measurement partner won't be able to track specific traffic sources, so the default settings will fall under organic installations.
Completeness of statistics
Apple's statistics will be aggregated and won't combine with other indicators in the reports, so it will be more difficult to compare site efficiency. It also won't be possible to reliably evaluate the LTV of users who were brought by one advertising network or another.

SKAdNetwork

Apple offers its own attribution: SKAdNetwork. It will work even for those users who didn't give tracking permission. This is the only way to calculate complete and accurate statistics.

For this, ad networks must send data about ad placements to Apple, and developers and publishers must send data about conversions from their apps. Sending takes place through the Apple framework: SKAdNetwork, which must be supported by both parties. Apple will return statistics through it, but in an unusual form: the platform won't generate reports. Instead, ad networks will receive aggregated click and installation data from Apple. They can collect them in separate reports and broadcast them to advertisers.

In the new model, trackers don't receive data from SKAdNetwork by default. However, ad networks can pass the data received from Apple to mobile measurement partners so that advertisers can evaluate the efficiency of different channels in a single interface.

What will statistics look like in AppMetrica?

In standard reports on traffic sources (in AppMetrica, this is User Acquisition), data from iOS will be displayed as follows:

  1. Broken down by channel with detailed statistics:
    • Installations from earlier iOS versions.
    • Installations from iOS 14.5+ by users who allowed IDFA access.
    • Installations from Apple Search Ads, regardless of the iOS version.
  2. Without breakdown by channel in the organic installations row without additional statistics:
    • Installations from iOS 14.5+ without an IDFA.

To analyze the sources of installations from iOS 14.5+, there will be a separate report with aggregated data from advertising networks that they receive through SKAdNetwork:

For this, the advertising network must forward the data received from SKAdNetwork to AppMetrica. Supported parameters are described here.

Apple Search Ads

The release of iOS 14.5 won't affect the capabilities of Apple Search Ads, Apple's own app promotion platform, where attribution works differently. AdServices, another new framework from Apple, provides attribution of a specific device, but doesn't disclose the device IDFA to the developer. This allows you to keep the usual benefits of tracking (accurate counting of conversions and actions in the app by user), as well as grant the ability to segment users and explore their behavior in the app.

Note.

Apple Search Ads doesn't work through SKAdNetwork.

You can read about campaign tracking in Apple Search Ads on this page.

Requesting IDFA access via App Tracking Transparency

When working with iOS 14, use the new App Tracking Transparency framework. Use it to display the system dialog box in your application. In the window, the user will choose to allow or deny IDFA access.

Note.

The system dialog box can only be displayed once each time the application is installed. If the user chooses Ask App Not to Track, there will be no way to show this window again for this application.

  1. The system dialog box can't be changed, but you can add text with an explanation. To do this, add the NSUserTrackingUsageDescription key to Info.plist. For example:
    <key>NSUserTrackingUsageDescription</key>
    <string>This identifier will be used to deliver personalized ads to you.</string>

    The text from Info.plist will be shown to the user in the system dialog box. In this text, explain to the user why the app requests permission to use the IDFA.

  2. To display a dialog box requesting IDFA access, call the requestTrackingAuthorization(completionHandler:) method.

    Example of a system dialog box

  3. Wait until you receive the callback before loading the ad. Then the Yandex Mobile Ads SDK will be able to use the IDFA in the ad requests.

    #import <AppTrackingTransparency/AppTrackingTransparency.h>
    ...
    - (void)requestTrackingAuthorization {
      [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        // Start ad loading
      }];
    }
  4. To check the App Tracking Transparency authorization status, use the trackingAuthorizationStatus property.

For more information on App Tracking Transparency, see the Apple documentation.