UPDATE. These changes has taken into effect since iOS 14.5
iOS 14 will be released in September, and new privacy rules for user data will go live. The most important update will affect IDFA – Identifier for Advertisers. After iOS 14, IDFA will become available only with user consent. Apple will also make major changes in the SKAdNetwork framework.
An IDFA is a universally unique identifier for iOS devices. It acts as an Apple identifier for advertisers and is used to track app install sources, build look-alike audiences, and run remarketing ad campaigns. Google offers a similar identifier for advertising purposes. It is known as AAID (Android Advertising ID) or GAID (Google Advertising ID).
How does IDFA work? Well, it works similarly to a cookie, except it is tied to a user's device rather than their browser. Advertisers are notified whenever a device's user takes a certain action, such as interacting with an ad in an app. IDFAs are used in non-browser apps, as these apps don't have cookie support. IDFAs do not provide advertisers with identifiable data about users. Instead, they receive aggregated data.
Every iPhone and iOS device that Apple ships comes with its own IDFA. Browser cookies have a short lifespan, but IDFAs are long-lived — they can be considered semi-permanent, as they aren't replaced until the user gets a new device or restores theirs.
IDFA for iOS was introduced in 2016. It replaced Device ID – an identifier that was unique for each iOS device. In an effort to ensure greater privacy for users, Apple introduced a new advertising ID. The main difference is that the IDFA could be reset each time the user restored the iOS device. The user could also reset the IDFA manually or completely deny access to it through the settings (Settings > Privacy > Advertising). IDFAs remained the same for all applications, in contrast to IDFV (Identifier for Vendor). For the last 4 years, such a scheme has worked successfully, although 10-20% of users manually turned off advertising tracking.
IDFAs are considered more secure than other methods of data-sharing, and the App Store requires that app developers only use this ID as their method of gathering anonymous user data.
IDFA tracking offered better insights to advertisers; they were able to get more detailed and accurate data about users' activities and interactions with ad campaigns. Through IDFA, advertising strategists could optimize their budgets and campaigns. Furthermore, IDFAs offer a better level of privacy, as advertisers don't actually receive any personal information from user data.
However, because of Apple's move to its App Tracking Transparency Framework, which we'll examine shortly, users must opt-in for activity tracking. This makes it harder for advertisers to gather data on user actions.
In 2021, Apple made an IDFA announcement, stating that iOS 14 IDFA will no longer be available by default. The announcement took place during their annual Developers' Conference, alongside reveals of other iOS 14 features.
Many of the iOS 14 features announced at the Conference revolved around privacy management, aiming to change how mobile devices are used for targeting, insights, and attribution.
Due to the changes to Apple's Privacy framework, if developers want to get access to an IDFA, they must add a description to the Info.plist file. In this file, they should specify the reason how IDFA will be used. Then during app runtime developer can ask for access to IDFA using the AppTrackingTransparency framework, and if the user agrees, the developer could get the IDFA in the usual way.
Users will see a threatening alert like this one:
You can change the subtitle in this alert. The majority of users will deny the IDFA iPhone request. According to various estimates, IDFA remains available only on 10-20% of all iOS devices.
Prior to iOS 14, consumers had to manually opt out of IDFA tracking. But now, when a user updates to the new iOS, they'll see a prompt that lets them opt-in or out of data sharing altogether. This is in addition to the prompt that shows up at the app level — so users now have two opportunities to opt out of IDFA tracking.
iOS 14 users will also have an "App Privacy" dashboard, in which they can see which permissions have been given to each app.
Marketing platforms like AppsFlyer, Branch, Adjust are forced to use other matching methods. For example, to match users by IDFV or Fingerprint technology (a combination of IP address, device model, current time etc.). This is our opinion that significantly reduces the quality of attribution. Although, according to Kochava estimates an attribution Fingerprint accuracy rate of 98% can be achieved by narrowing the lookback window to 15 minutes.
Super ad publishers like Facebook, Google, Snapchat, TikTok are no longer able to provide attribution to their partners by IDFA. They have to use other solutions. Fingerprint won't help, because SANs do not open a browser after tapping on an ad, and immediately send users to the App Store.
We are sure that SAN and attribution platforms will develop a new way of interacting with each other. Perhaps they will use probabilistic determination of the installation source, pass additional parameters through the API, and match internal identifiers.
Apple also presented their attribution solution based on the SKAdNetwork framework. Using its ad networks you can register non-organic installs without getting user-level information. Such an approach has serious limitations:
It seems like Apple have decided to take control of the entire global iOS traffic attribution business. From now on they will attribute installs themselves and provide ad networks only the information they deem necessary.
Giants like Facebook, Instagram, Snapchat will need to update their iOS apps and add SKAdNetwork support. They will start signing ads in their apps using the framework and redirect users to the App Store page with a special parameter.
When the user installs and opens the app, one of the following two methods should be called to register the installation:
registerAppForAdNetworkAttribution() or updateConversionValue(\_ conversionValue: Int)
Apple will then send information about the successful installation back to the ad network. You probably won't need to manually call these methods; attribution partners will release updated versions of their SDKs with these methods call.
The market is not ready to abruptly switch to aggregated data, so all platforms will use both solutions: SKAdNetwork and probabilistic attribution. Each platform is now actively preparing their solutions.
There are two major opinions on this matter. Some believe that changes in attribution lead to an increase in CPM due to new difficulties in targeting. Small developers will suffer the most. They are fighting for every dollar and cannot afford to spend large test budgets.
On the other hand, the changes may have a positive impact on small developers, because all market players are in the same conditions. It's more difficult for large players to “buy out” top charts in the App Store by injecting enormous funds into advertising; now they can act almost blindly. Ad budgets will be spent more carefully, which means organic traffic will become more and more important. This plays into the hands of high-quality indie apps with small marketing budgets.
Look-a-like targeting is a way to advertise an app among users who are similar to the target audience. The target audience usually contains the most valuable users: for example, top-paying customers. In Facebook Ads Manager, you can launch a Look-a-like campaign by uploading a CSV file containing a list of users IDFA, emails, phone numbers. But since IDFA became almost unavailable, there is nothing to upload. And only a few percentages of apps have the emails and phone numbers of their users.
Due to the lack of an IDFA and real-time attribution a deferred deep link is based mostly on probabilistic matching. This may give an accuracy of up to 98% as estimated by Kochava. Thus, in some cases, the deferred link does not work.
With the release of iOS 14.5 Apphud continue sending events to marketing platforms as usual, because IDFA is not a required parameter to pass subscription events.
At the moment, Apphud receives attribution data from marketing platforms and saves it into the database. This is necessary, for example, to show revenue or MRR charts broken down by ad campaigns. This fall we continue to receive data from our partners as before. In some cases, we receive data only from those users, who authorized access to IDFA.
Let's consider the nuances of each platform separately.
AppsFlyer announced that they will support both SKAdNetwork and the probabilistic attribution model. An additional SKAdNetwork Overview tab will appear in the AppsFlyer dashboard. AppsFlyer will also add a SKAdNetwork configuration page where you can choose which events and conversions you want to track.
Apphud integration works as usual. We continue to pass events to AppsFlyer in full, as Apphud and AppsFlyer use the internal AppsFlyer ID to communicate, but not IDFA.
AppsFlyer Support has ensured us that getting device-level attribution will not stop working, although attribution quality may degrade. If AppsFlyer manages to determine attribution using the probabilistic model, AppsFlyer will return this data to the SDK.
We have requested information from Adjust, and they have confirmed that they will continue to operate as before. Instead of advertising ID, they will use a combination of IDFV and probabilistic attribution. Apphud will transmit data to and receive from Adjust in full. We use Adjust ID to communicate between Apphud and Adjust.
Branch, like Adjust, also confirmed that they continue to operate as before. Instead of advertising ID, they will use a combination of IDFV and probabilistic attribution. Apphud will transfer data to the Branch in full.
We recently updated our documentation. Now we recommend adding one more line to improve the quality of Branch IDFA attribution:
// Initialize Apphud first, then Branch Branch.getInstance().setIdentity(Apphud.userID())
In the absence of IDFA, the data is matched by IDFV or internal Branch ID.
In the absence of an advertising identifier, Apphud uses the FB Anonymous ID, by which the data is sent to Facebook. The integration continues to work as before. Facebook has not yet announced a possible degradation of attribution quality.
We have requested information from Tenjin. They confirmed that they would continue to operate as before. Instead of advertising ID, they will use a combination of IDFV and probabilistic attribution. Apphud pass events to Tenjin in full.
Note that Tenjin does not fully support Facebook: attribution only works through deferred deep links. We do not exclude that Facebook may eventually introduce some restrictions regarding delayed links use.
UPDATE. Apphud has integration with Apple Search Ads via AdServices framework, which works for iOS 14.3+ devices for 100% of users regard.
It is not clear how the upcoming changes will affect on-device attribution for Apple Search Ads. Most likely, Apphud will only receive data from those users who have allowed IDFA mobile app tracking of the advertising ID, which means that most of the data, unfortunately, will not go to Apphud.
UPDATE. Apphud doesn't collect IDFA automatically anymore. For more details please read our documentation.
AppTrackingTransparency
(ATT) support. Add NSUserTrackingUsageDescription
(Privacy - Tracking Usage Description) key to Info.plist and specify how you are going to use the advertising ID. You can use any motivational text, for example: Improve the advertising of this amazing app to people who need it.#if canImport(AppTrackingTransparency) import AppTrackingTransparency #endif import AdSupport import ApphudSDK func requestIDFA() { if #available(iOS 14.0, *) { ATTrackingManager.requestTrackingAuthorization { status in guard status == .authorized else {return} let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString Apphud.setAdvertisingIdentifier(idfa) } } else { guard ASIdentifierManager.shared().isAdvertisingTrackingEnabled else {return} let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString Apphud.setAdvertisingIdentifier(idfa) } }
// Initialize Apphud first, then Branch Branch.getInstance().setIdentity(Apphud.deviceID())
Below are links with some important information from marketing platforms regarding iOS 14.5
IDFA stands for "The Identifier for Advertisers." It is a random identifier that Apple assigns to a user's device for the purpose of customized advertisements. With IDFA, attribution for ads on mobile devices becomes possible. For instance, advertisers can attribute ad spending to user engagement.
Apple has made it possible for users to opt out of IDFA submissions to advertisers. In your Settings, go to Privacy and select Tracking. Within this section, you can turn off the "Allow Apps to Request to Track" option. This means that apps can no longer request your device's IDFA number. Requests are automatically blocked, so you no longer have to deny IDFA permission.
There is not a way to find your actual IDFA on your phone. However, there are various apps that allow you to find this information — for instance, My Device ID. To find your IDFA, download one of these apps, and your device's identifiers will be displayed.
Android users have the option to reset their advertising IDs (GAID is the Android IDFA alternative), but iOS users cannot reset their IDFA through the settings. However, if you've opted out of allowing apps to request to track your IDFA, you can change it back by heading to the same section in your settings and re-enabling the option. There used to be the option to "Reset Advertising Identifier" in the settings, but this is no longer the case with iOS 14.
IDFA identifiers are assigned to each device, so each one has its own unique identifier. When you buy a new device, it will have a new IDFA for marketing.
To get more insights regarding subscription app revenue growth read the Apphud Blog.