Are you prepared to survive the IDFA Apocalypse? Use this checklist to grade your progress.
To customize your list, which solution
do you use for ad measurement?
Last updated: February 17, 2021
At WWDC 2020, Apple threw the mobile industry into chaos by announcing plans to deprecate the IDFA (Identifier For Advertisers) on iOS. On January 28th, 2021, Apple announced that with the release of iOS 14.5 (likely this spring), all apps must gain user consent for any ad tracking via their App Tracking Transparency (ATT) framework only. If an app does not secure user opt-in via this framework, Apple has ruled that SKAdNetwork will be the only acceptable alternative.
Learn more about iOS 14 on our resource hub
Our mission at Branch is to help mobile teams everywhere grow their apps. We've compiled this checklist to help you understand whether you're on track, and uncover any gaps in your plans.
Set up a time today to learn more about preparing your marketing stack.
Request a DemoHere's a list of all the steps you've already taken, and more info on areas you might still want to check!
The best place to start is by making sure you're in the loop on the latest news. Which of the following have you already completed?
There is plenty of spin in the ecosystem around these new iOS 14 privacy policies, with vendors and independent thought leaders publishing various interpretations of what they believe Apple is trying to do.
Interpretations are all well and good (and often quite useful!), but it's also worth reviewing the details straight from the source.
Read MoreSKAdNetwork is Apple's attribution framework, facilitating ad measurement without device-level data. It is a fundamental change to how ad attribution works on iOS, and some of the biggest changes include:
If you have not already read up on SKAdNetwork, now is the time! You can also reach out to us at Branch and we'll be happy to give you a full run-down.
Read MoreWe have built a suite of new functionality to make sure you're set up to get the most from SKAdNetwork, including dashboard reports, SDK updates, and updated integrations with ad networks.
As of early January 2021, the necessary iOS SDK updates are already available for all customers, and we're in the process of rolling out the new dashboard configuration and reporting pages to Universal Ads subscribers.
Read MoreTake a few minutes to understand the broader impact of iOS 14, and what changes (if any) you can expect to non-attribution areas of your Branch implementation.
Read MoreSavvy marketers are going to find that SKAdNetwork data alone is insufficient for their needs. When users opt in to ad tracking, Branch's Predictive Modeling engine is designed to operate in parallel to SKAdNetwork, using privacy-safe event analysis to provide granular insights that allow you to continue optimizing your campaigns, even when IDFAs are missing.
To learn more, reach out to your Branch contact, or set up a time to talk.
Before you jump into implementation steps, there are a few important choices to make first.
Adapting successfully will require support from multiple teams in your organization. Here are a few key stakeholders to include:
Product
Engineering
Marketing
conversion-value
strategy.Unless you have an extremely simple (and short!) customer lifecycle, a basic SKAdNetwork implementation is not going to provide all the data you need to measure the long-term performance of your acquisition campaigns.
There are a variety of ways you can approach this, ranging from optimizing for high user opt-in rates to share their data, to adventurous (building an econometric analysis model to show campaign incrementality).
Apple requires users to consent to any type of ad tracking (including via probabilistic methods) via their ATT framework, or else rely on SKAdNetwork.
Requesting it likely makes sense for certain apps/verticals especially if you can show a clear value proposition to users (though take care to understand Apple's guidelines on what constitutes 'unacceptable' incentivization).
If you decide to ask users to opt in to ad tracking, you must show the AppTrackingTransparency
permission prompt. And as with any permission prompt (just think of push notifications or location info for a few examples), there is both an art and a science to securing the user's consent. You'll need to consider things like providing a prompt that gives users context about what you're asking them to do and why, and testing when in the onboarding experience to trigger the pop-up. Note that Apple is cracking down on pre-permission prompts, meaning you cannot use a prompt other than the ATT prompt to secure user opt-in.
We recommending starting to test your modal now to prepare when Apple requires the official AppTrackingTransparency
modal. But don't launch the ATT modal at full scale just yet. Because Apple isn't yet enforcing the new permission until iOS 14.5 goes live, you could end up unintentionally 'opting in to the opt-in' earlier than necessary…and losing critical insight right as it's most important for understanding all your other preparations. Instead, if you plan to request the permission, you can begin by experimenting with a 'contextual-providing prompt' that you control yourself.
Most in-house systems should already be using other identifiers (for example: IDFVs), but it's a good idea to do an audit to make sure nothing internal will break when IDFAs and other identifiers stop coming through.
conversion-value
valuesThe SKAdNetwork conversion-value
parameter allows you to get a limited amount of post-install insight, but it has significant technical limitations (by design).
MMPs (including Branch) have built functionality that uses existing SDK integrations and dashboard-based configuration tools to simplify the management of conversion-value
codes. This will likely be sufficient for many advertisers, at least as a starting point while the ecosystem learns how to work effectively with SKAdNetwork. However, if you want to build a more custom model, you can opt out of your MMP's functionality and implement the conversion-value
functions yourself.
Either way, it's important to invest some time now to consider your current customer journey and pick which subset of events will provide meaningful performance insights within the limits of SKAdNetwork.
These are the important in-app and infrastructure updates you'll need to make.
AppTrackingTransparency
modalIf you decide to collect user and device-level data, you'll need to implement the AppTrackingTransparency
framework. This is Apple's new system for requesting user permission to collect any sort of potentially identifying data for the purpose of cross-app tracking.
You'll most likely need to integrate this yourself, because third-party vendors (including Branch) are generally not planning to trigger this permission on your behalf via their SDKs (though Branch will automatically collect device-level data for you, including the IDFA, if you've received permission from the user).
Read MoreBranch supports two options for SKAdNetwork integration:
For most advertisers, the first option is simpler and preferred.
Note: if you are using a server-to-server integration, you must integrate the calls directly. Reach out to your Branch contact for more info.
Read MoreEvery MMP has released updated SDKs with support for in-app implementation of the SKAdNetwork framework. Review the integration steps for your MMP:
You can also disable the built-in support and integrate the registerAppForAdNetworkAttribution()
and updateConversionValue()
SKAdNetwork calls into your app directly.
Note: if you are using a server-to-server MMP integration, you must integrate the calls directly.
If you are not working with a MMP, you can integrate the registerAppForAdNetworkAttribution()
and updateConversionValue()
SKAdNetwork calls into your app directly.
conversion-value
definitions without continual code changes and App Store updatesYou'll probably want to tweak your SKAdNetwork settings regularly, and you won't want your marketing campaigns to be blocked by your product release cycle. Make sure your team has a way to update conversion-value
definitions without re-architecting your code-level event tracking implementation each time.
iOS devices send SKAdNetwork conversion postbacks directly to each registered ad network. Unless you run ads via only a small number of partners, it will quickly become unwieldy to check each network's reports separately.
You'll want an automated workflow to collect this data and aggregate it for analysis (pro tip: this is where a mobile measurement partner like Branch typically fits in to your stack).
Most in-house systems should already be using other identifiers (for example: IDFVs), but it's a good idea to do an audit to make sure nothing internal will break when IDFAs stop coming through.
+match_guaranteed
use casesBranch's +match_guaranteed
parameter provides a way to securely implement data-sensitive use cases (for example: auto-login, PNR visualization).
Post-iOS 14, +match_guaranteed
will usually be false on install events (there will be no change for non-install events), unless users opt-in to IDFA collection.
setIdentity()
with your Branch SDK integrationsSending unique, anonymous identifiers for your users was a great best practice even before IDFA deprecation. Without IDFAs, setting these identifiers (and doing so as early in the user journey as possible) will make it easier for you to analyze your data, and will help Branch measure cross-platform, cross-device user journeys.
Read MoreWhile this checklist is primarily focused on preparing for iOS 14 as an advertiser, if you also monetize your app using ads, you'll likely also need to update those integrations to work with SKAdNetwork.
Check with your ad network partners for more information.
Aside from technical updates, there are also a few other things to take care of before you're ready to go.
We're in the process of rolling out our new SKAdNetwork configuration and reporting dashboard functionality to all Universal Ads customers. In the meantime, you can reach out to your Branch contact or email support to request early access.
If you're planning to use the Branch SDK's built-in handling of registerAppForAdNetworkAttribution()
and updateConversionValue()
SKAdNetwork calls, you need to enable this via your Branch dashboard.
This is important, because you only want one party firing these calls. If you integrate them directly (or use another third-party to do so), you don't want accidental conflicts and should leave this disabled.
Read Moreconversion-value
mappings in the Branch SKAdNetwork dashboardIf you're using Branch's built-in handling of SKAdNetwork calls, this process will set up the mapping between existing Branch tracked events and when the Branch SDK fires SKAdNetwork updateConversionValue()
events.
If you're making the SKAdNetwork calls yourself, this will still allow you to associate human-readable names to the raw conversion-value
integers, for easier reporting.
If you're planning to use your MMP's built-in handling of registerAppForAdNetworkAttribution()
and updateConversionValue()
SKAdNetwork calls, you need to enable this via your MMP's dashboard.
conversion-value
mappings in your MMP's SKAdNetwork dashboardIf you're using your MMP's built-in handling of SKAdNetwork calls, this process defines when the MMP's SDK will fire SKAdNetwork updateConversionValue()
events.
This is important, because you only want one party firing these calls. If you integrate them directly (or use another third-party to do so), you don't want your MMP's SDK getting involved and causing accidental conflicts.
Most ad networks are planning to use SKAdNetwork on iOS, but many of them are also supporting device-level attribution data in parallel (through Branch's Predictive Modeling system, or basic probabilistic methods from traditional MMPs).
Branch is maintaining a list of networks and campaign types that support each method, but it is a good idea to confirm with your networks directly.
Once you and your network partners have everything set up for SKAdNetwork, you'll want to run a full test to make sure the data is flowing correctly. This can be a complex process, so better not to leave it until the last minute.
Read MoreFacebook will use SKAdNetwork for app ad campaigns targeting iOS 14 users, and has released additional information about how iOS 14 will affect advertisers. This includes a conversion-value
mapping process, to allow Facebook to make campaign optimizations based on post-install user activity.
If you're working with an MMP, the attribution and measurement components (including the conversion-value
mapping) should be handled behind the scenes on your behalf, but you will still want to be aware of the limitation of 9 active campaigns per app and 5 ad sets per campaign.
Facebook will show the AppTrackingTransparency
prompt to users, and if the user opts in on both sides, the existing MMP API will continue to return device-level data in addition to SKAdNetwork.
Facebook is also making changes to web ad campaigns on iOS 14, including deprecation of longer attribution windows and a limit of 8 conversion events per domain.
If you run web campaigns on Facebook, you'll want to get familiar with these changes too.
Read MoreGoogle plans to use SKAdNetwork for app ad campaigns targeting iOS 14 users, and has released additional information about how iOS 14 will affect advertisers. In addition to SKAdNetwork, Google will expand their use of modeled conversion data for iOS campaigns.
Google will not show the AppTrackingTransparency
prompt to users of its own app, but will use it for AdMob inventory. If the user opts in on both sides, the existing MMP API will continue to return device-level data in addition to SKAdNetwork.
If you're working with an MMP, the attribution and measurement components should be handled behind the scenes on your behalf, but you will still want to be aware of the new limitations on bidding types and total of 8 campaigns per app.
Note: Google is not yet sharing SKAdNetwork data with MMPs, though they expect this to be available later in Q2 2021.
Read MoreTwitter plans to use SKAdNetwork for app ad campaigns targeting iOS 14 users, and has released additional information about how iOS 14 will affect advertisers.
Twitter will show the AppTrackingTransparency
prompt to users, and if the user opts in on both sides, the existing MMP API will continue to return device-level data in addition to SKAdNetwork.
If you're working with an MMP, the attribution and measurement components should be handled behind the scenes on your behalf, but you will still want to be aware of the limitation of 70 ad groups per app.
Read MoreSnap plans to use SKAdNetwork for app goal campaigns targeting iOS 14 users, and has released additional information about how iOS 14 will affect advertisers. Advertisers must opt in their Snapchat Ad Sets for SKAdNetwork measurement.
Snap will show the AppTrackingTransparency
prompt to users, and if the user opts in on both sides, the existing MMP API will continue to return device-level data in addition to SKAdNetwork.
If you're working with an MMP, the attribution and measurement components (including the conversion-value
mapping) should be handled behind the scenes on your behalf, but you will still want to be aware of the limit of 10 ad sets opted into SKAdNetwork attribution and reporting for a given iOS app.
Note: Snapchat requires connecting a Snap App ID via your MMP dashboard to access SKAdNetwork functionality within Snapchat Ads Manager. Setup instructions for Snap App ID can be found here.
Read MoreTikTock plans to use SKAdNetwork for app goal campaigns targeting iOS 14 users, and has released additional information about how iOS 14 will affect advertisers.
If you're working with an MMP, the attribution and measurement components (including the conversion-value
mapping) should be handled behind the scenes on your behalf, but you will need to create new, dedicated iOS 14 campaigns, and will want to be aware of the limitation of 11 campaigns per app.
AdServices
framework for Apple Search AdsApple Search Ads campaigns will not use SKAdNetwork for attribution, but Apple is introducing a new AdServices
API that will align with AppTrackingTransparency
restrictions.
If you use an MMP to manage Apple Search Ads attribution, these updates should be handled behind the scenes on your behalf when they eventually roll out.
Read MoreApple has already enabled the new privacy report section of App Store product pages. You'll need to complete the Privacy Practices Questionnaire before submitting your next app update.
If you're using Branch, you can find the information you need about which data types we collect on your behalf here.
Read MoreOnce you've completed all the critical preparation items, here are a few longer-term projects to consider.
The iOS 14 privacy changes primarily affect paid ads, but ads aren't the only mobile marketing option. This is a great time to consider new ways to leverage both owned and earned channels, including user content sharing, organic social media, web smart banners, and deep linked email campaigns.
Read MoreMost savvy marketers are going to find that SKAdNetwork data alone is insufficient for their needs. Branch's Predictive Modeling engine is designed to operate in parallel to SKAdNetwork, using privacy-safe event analysis to provide granular insights that will allow you to continue optimizing your campaigns when users opt into ad tracking. Traditional MMPs typically offer some sort of 'probabilistic' fallback that sounds similar on the surface, but these methods vary widely in both coverage and accuracy.
To learn more, watch our Navigating IDFA Changes webinar or set up a time to talk.