Blog iOS 14.5+ Back to basics guide

Introduction

Data privacy has become a hot-button issue throughout the technology industry, and in June 2020, Apple shook up the mobile marketing world with the announcement of new user privacy regulations beginning with iOS 14. After a delay to give developers time to adapt, these changes went into full effect with the release of iOS 14.5 in April of 2021.

While Apple has previously added other features to give users more insight and control over the data collected on their iOS devices, the introduction of these changes, such as the AppTransparencyFramework, mark a significant shift in how mobile user data can be accessed and shared. For mobile marketers both old and new, navigating the myriad details and implications of these changes can be overwhelming.

In this guide, we provide a “back to basics” walkthrough on the core concepts related to user privacy beginning with iOS 14.5 and beyond, including understanding device identifiers, the IDFA, and the AppTrackingTransparency (ATT) Framework. We also discuss the details of navigating SKAdNetwork, Apple’s attribution solution, as well as other privacy-protecting, Apple-compliant attribution options. At Adjust, we’ve worked closely with Apple and our partners and clients in order to help educate and provide solutions that meet the needs of developers, advertisers, and marketers while protecting user privacy.

Device identifiers

What is a Device ID?

A device identifier is a unique string of numbers and letters that identifies an individual smartphone or tablet. Device identifiers can be either a hard-coded device ID which is difficult for users to change or reset, or an advertising ID, which is easy to reset and intended for marketing use.

In a mobile marketing context, a device ID typically refers to the second option. Advertising IDs enable marketers to identify and track user behavior from a device without revealing any personal or identifying information about the user. Using device IDs, marketers can more accurately track individual user behavior, allowing for accurate attribution, placing users into cohorts based on identifiers, better ad targeting and optimization, and learning how users interact with an app after install.

There are two main device ID types depending on operating service. On Android, the device ID is called the GPS ADID (or Google Play Services ID for Android). On IOS, it’s called the Identity for Advertisers (IDFA).

What is the IDFA?

The Identifier for Advertisers (IDFA) is a random device identifier that is assigned to a user’s device by Apple. Similar to a third-party cookie in a browser, it's used by marketers to track a user’s interactions with advertisements and mobile apps, such as clicks, downloads, and purchases. Using the IDFA, advertisers can deliver targeted ads to users without revealing their personal information.

The IDFA is the most precise way to track iOS users and perform attribution. By assigning a device to a single IDFA, advertisers can identify when users interact with a mobile advertising campaign, whether users click on a given advertisement, and which in-app events the user triggers.

What is the IDFV?

The Identifier for Vendors (IDFV) is an identifier assigned to all apps by one developer by Apple and shared across all apps from that developer on a device. The value of an IDFV is the same for all apps from the same developer running on the same device. A different value is returned for apps on the same device that come from different developers and for apps on different devices, regardless of the developer.

While the IDFA is assigned at the device level and can be reset by users, the IDFV is assigned to all apps by the one vendor and does not persist once all apps from that vendor are uninstalled. If the user deletes all apps from that vendor from the device and then reinstalls one or more of them, the value of the IDFV will change. Typically, the IDFV is determined based on data provided by the App Store about the developer. If the app was not installed from the App Store (for example, enterprise applications and apps in development), a provider ID is calculated based on the app's bundle ID.

IDFVs are important as they provide a means to run cross-promotional iOS campaigns which include users who have not consented to sharing their IDFA. So long as an IDFV is passed in a tracker URL, the IDFV can provide marketers with more accurate attribution data for iOS campaigns.

The AppTracking Transparency Framework

What is AppTrackingTransparency (ATT)?

Beginning with iOS 14.5, user consent for ad tracking is managed through the AppTrackingTransparency system (ATT). ATT is Apple’s framework for letting users control when and how their data is shared with third parties such as ad networks and analytics and measurement partners. The primary goal of ATT is to ensure users have a clear understanding of exactly what data is shared from their device, and to limit that sharing unless the user grants consent.

According to Apple’s guidelines, any iOS app that collects end-user data and shares it with third parties must use the ATT framework. In order to obtain access to a device’s IDFA, app developers and their partners must receive explicit consent from the user through an iOS system prompt. This consent can only be granted via an opt-in, on a per-app basis. Without that opt-in, the ATT will not allow access to and tracking of the IDFA and user level data.

The ATT Prompt

In order to request access to the IDFA from a user, an app can trigger a one-time popup prompt to the user. The prompt is a system alert from Apple that the user will see when in the requesting app, and controls access to the IDFA. Apps control if, when, and to whom the prompt is shown, but until a user opts-in using this prompt, their IDFA will not be available.

The alert consists of a header (which is not editable) and a subheader (which is editable), and two choices for the user. The header is written by Apple and states “Allow ‘app name here’ to track your activity across other companies’ apps and websites?” Beneath this is a subheader which allows an app developer to state a reason for the request, such as “Your data will be used to provide you better and personalized ads.”

The user has two options to select:

  • Allow Tracking. If the user selects this, the app publisher and their partners can read the IDFA of the device.

  • Ask App Not to Track. If the user selects this option, the app publisher and their partners cannot read the IDFA. The prompt will never be shown to the user in this app again, unless they uninstall and reinstall it.

    Img

    Even if a user chooses “Ask App Not to Track,” they can always go to their Settings for the app and choose to share the IDFA. Additionally, users can decide to toggle off the ability for apps to ask for permission using this prompt. With this option selected in the device’s Settings, anytime an app asks for permission, the popup never appears and the IDFA is returned to the publisher as a string of zeros.

    Regardless of this setting, even if the consent form never pops up, a developer can still link users to the Settings for the app. They can do this at any time, and enable tracking for this app, even if the above setting is off. With this mechanism, if the user agrees, they can always be sent conveniently to the correct app-level Settings page and consent there.

    ATT statuses

    The ATT has four statuses of user consent, which determine access to app-related data that can be used for tracking the device:

    • 0 - Not Determined. This value means the user has not yet received the ATT prompt in order to request access to the IDFA.
    • 1 - Restricted. This value is returned if authorization to access the IDFA is restricted.
    • 2 - Denied. The user has denied access to the IDFA. This includes having switched “Allow apps to request to track” to OFF at a global level in the device’s Settings.
    • 3 - Authorized. The user has granted permission to access the IDFA.

    User opt-in

    One of the most important ways for marketers to be successful after iOS 14.5+ is to maximize user opt-in rates. After all, the higher the consent rate, the closer you will be to pre-iOS 14 capabilities - which is a huge competitive advantage.

    The ATT user consent popup can only be triggered once, so it’s crucial to optimize for the opt-in. Take care to provide a good user experience and trigger the popup when users are likely to value the app experience in exchange for device data.

    • Don’t trigger the pop-up immediately. While it’s nice to have the IDFA as soon as possible for analytics purposes, Adjust can backfill a device’s data with the IDFA when it can be retrieved. It’s more important to ask at a time when the user is more likely to say yes.

    • Demonstrate value. Before asking the user to provide you with something (they’ll likely say no), first provide a good experience and demonstrate your app’s value, which will make the user more willing to share their data in exchange.

    • Use a pre-permission prompt to request consent prior to triggering the iOS pop-up. This prompt can be designed, customized, and worded to best fit your app. To learn how to develop a strong UX strategy and persuasive pre-permission prompt, see our blog post on getting the opt-in.

    • Consider the user’s relationship with the app, and past experiences with the app, when crafting a message asking to track the device. Thank the user and if possible, acknowledge the ways they’ve already used the app.

    • Show the future value the user can get if they do consent to tracking. Do you wish to show targeted ads, or sell the user related services? If so, prove how this is for the benefit of the user.

      Img

      Since Apple first announced the AppTrackingTransparency framework in 2020, Adjust has worked with clients to prepare and learned a lot about what steps to take to improve opt-in rates — and what steps to avoid. To learn the do’s and don'ts of using design to improve your opt-in rates, check out our blog post documenting key learnings on the topic.

SKAdNetwork

What is SKAdNetwork?

In addition to the ATT, the second major implication of iOS 14.5+ is working with SKAdNetwork. SKAdNetwork is Apple's solution for providing attribution for app installs and reinstalls without sharing any user-level data with the app developer.

While it has “network” in the name, it’s actually a service provided by Apple that consists of a combination of SDK functions and API calls. SKAdNetwork is free for app advertisers to use, and information provided by SKAdNetwork can be relayed between the device, Apple, ad networks, and to advertisers and their partners such as Adjust using callbacks. Attribution is first conducted by the App Store, is verified by Apple’s servers, and is cleansed of any user-level data before being sent to ad networks or developers. To use SKAdNetwork, ad networks must register with Apple, and developers must work to ensure that their apps are compatible with the registered networks and the framework. Adjust supports an industry-leading number of SKAdNetwork partner integrations.

The purpose of SKAdNetwork is to provide basic, aggregated attribution data while maintaining a high level of device privacy. SKAdNetwork does not provide real-time data, user-level data, timestamps on installs or events, instead offering a limited number of events, and only the first instance of a post-install event. SKAdNetwork does not currently support deep linking (deferred or conditional), view-through attribution, and does not consider anything but the act of downloading as attributable.

SKAdNetwork is limited to 100 different campaigns per network. Given that there are often countless sub-campaigns for different geographies, device types, or creatives, this can be a limiting factor for advertisers. For example, the use of ten creatives in five countries would only allow two different campaigns per network.

Clients can implement SKAdNetwork either on their own or with Adjust’s help. When integrated with Adjust, Apple still performs the attribution, while Adjust aggregates the data.

What are conversion values on SKAdNetwork?

When an ad is clicked and the App Store is opened, the App Store will send a notification to the ad network or app developer of a successful conversion consisting of the Publisher ID, network ID, and campaign ID. Alongside this, a conversion value will be attached, which can be set by the app.

The conversion value is a number between 0 and 63 (or between 000000 and 111111 in binary) that is set by the advertiser to allow some basic post-install event tracking. This notification and conversion value is sent at least 24 hours after the first time the user launches the app, in order to prevent being able to connect the information to a specific user identity.

It’s up to app developers to decide which events they want to map onto the conversion value; for instance, a game may want to track level-ups. However, there is an important limit to conversion values: they are unidirectional, can only progress upward, and must be mapped to events that occur in the first 24-hours post-install. For example, let’s say a game creates an event code for ‘Level One’ that reads 000001. Then the user buys in-game currency, which is assigned a different value of 000011. If this user later completes ‘Level Two,’ the bits cannot be changed to 000010, since changes in only one direction are allowed. To avoid this, developers need to assign a bit value to each path or combination of possibilities, rather than to any individual event.

One concern about these conversion values is they are unsigned, meaning that app developers will not be able to verify whether the event took place with the same level of certainty as before.

Conversion value timer

When a user launches an app for the first time, a timer begins for 24 hours until the conversion value is sent to the ad network. Every time the conversion value is updated due to an in-app event, the timer gets extended by an additional 24 hours.

Once the timer gets to zero, as no more conversion events have occured within a 24-hour period, a second 24-hour timer for attribution starts counting down. At a random time within this 24-hour window, the SKAdNetwork returns the attribution data in an aggregated form, with no granular data accessible at the user level. This randomization and delay in the delivery of the SKAdNetwork payload prevents any in-app event triggers such as log-ins or purchases from being linked to individual users. However, this delay also prevents marketers from being able to perform real-time optimization on their SKAdNetwork campaigns.

Img

To make the most of SKAdNetwork, marketers need to work thoroughly within the first 24 hours, leveraging all data possible to paint a clear picture of user behavior. Unpacking the user behaviors that occur within the first 24 hours is the key to building conversion values that can accurately predict and assess the quality of the users you’re acquiring. Since this data can only be gathered in the first 24 hours, app developers need to engage users as much as possible within that first 24-hour window. This will allow you to gain an understanding of the users that perform well long-term so that you can continue to target and acquire them.

Attribution after iOS 14.5

How does attribution work post-IDFA?

Given the AppTrackingTransparency framework, what options for attribution on iOS does that leave marketers going forward?

There are three options for attribution after iOS 14.5: SKAdNetwork, deterministic attribution, and probabilistic attribution. Marketers have the choice of using whichever combination of these best methods best suits their needs. Adjust can support each of these methods, and can provide guidance on which may work best for a particular app.

If a user consents to sharing the IDFA, deterministic attribution remains the most accurate option for advertisers. However, given opt-in rates, advertisers will also need to use SKAdNetwork. While it has its limitations, it should be very accurate in last-click attribution of aggregated installs. We believe that using all three methods, while posing the most complexity, also provides the most opportunity.

What is probabilistic attribution?

Probabilistic attribution is a form of attribution based on probabilities, not ID or device matching (known as deterministic attribution). It relies on machine learning and statistical modeling techniques to identify conversions to a high degree of probability, in a way that’s compliant with Apple’s guidelines.

In the case of Adjust, probabilistic matching is our secondary attribution method. We use device details to attribute installs to clicks and impressions with matching characteristics. As an MMP, we don't track or target users across sites or apps. Our only goal is to attribute an install to an engagement with some degree of certainty. Since 80% of installs happen within the first hour of a click, this type of attribution does not require any persistent ID. We are able to make predictions with temporary data (such as time of click, time of install, and basic device information) that becomes obsolete within a few hours.

Probabilistic attribution isn’t meant to replace SKAdNetwork and will never be as accurate. However, it provides real assets to any advertisers running campaigns. Probabilistic attribution provides marketers with more visibility into creative data, enabling them to analyze creatives, build efficiency models around media spend, and improve ROI. However, combining attribution methods can create an issue with duplicated attribution.

What is duplicated attribution?

Duplicated attribution is a problem that can arise for advertisers running ads on a network that supports a mixture of both deterministic attribution and SKAdNetwork, which results in advertisers getting charged twice for the same user. How does duplicated attribution occur?

Let’s say you are running a non-SKAdNetwork campaign, and a user consents both on the publisher app and your app, leading the channel to track the user using the IDFA. However, the user has also clicked on or seen a SKAdNetwork ad from another media source in the past 30 days, leading SKAdNetwork to give credit for the install. Because SKAdNetwork install data is aggregated, there is no way to de-duplicate the attribution.

To learn more, read our blog post on how to avoid duplicated attributions in iOS 14.5+.

Conclusion

While the changes beginning with iOS 14.5 have been a watershed moment for the maturing mobile marketing ecosystem, they have not been as disruptive as many early predictions anticipated. Advertising and user acquisition remain essential for growth-seeking apps, and those that can adapt to change and remain agile while protecting user privacy and following Apple’s guidelines will have the most success.

With this in mind, Adjust has developed a multifaceted approach to empower marketers to continue to use their data with certainty. This includes full support for the ATT framework, a comprehensive SKAdNetwork solution, and our in-house conversion value modeling solution, designed to bridge the gap between deterministic and SKAdNetwork approaches.

To find out more about iOS 14.5+, to keep up-to-date with the latest information and developments, or to receive advice tailored to your specific app or business needs, you can request a demo to see how the Adjust solution works in practice, or browse our iOS 14.5+ resource center for an overview of all our guides and information.

Want to get the latest from Adjust?