The iOS 14 Readiness Checklist

Are you prepared to survive the IDFA Apocalypse? Use this checklist to grade your progress.

See the checklist!

To customize your list, which solution
do you use for ad measurement?

We use Branch Another MMP In-house Tools

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.

 

Want to talk iOS 14 with one of our experts?

Set up a time today to learn more about preparing your marketing stack.

Request a Demo

Your iOS 14 Checklist

Here's a list of all the steps you've already taken, and more info on areas you might still want to check!

Save checklist: Generating link...
 

Topics to Review

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?

Review Apple's latest privacy guidelines

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 More

Make sure you understand how SKAdNetwork works, and its limitations

SKAdNetwork 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:

  • Only aggregate campaign data.
  • No impression or view-through data.
  • Very limited down-funnel reporting.
  • No control over attribution windows.
  • Arbitrary data delays of at least 24 hours.

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 More

Find out the details of Branch's SKAdNetwork support

We 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 More

Learn about your MMP's SKAdNetwork support

Most MMPs are building new functionality to integrate SKAdNetwork, but everyone is handling the details a bit differently. Learn more about your MMP's plans:

Understand Branch's overall approach to iOS 14, and expected platform impact

Take 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 More

Understand your MMP's overall approach to iOS 14, and expected platform impact

Take 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 MMP:

Learn how Branch's Predictive Modeling engine preserves device-level insights

Savvy 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.

 

Important Decisions

Before you jump into implementation steps, there are a few important choices to make first.

Establish a cross-functional taskforce to oversee all iOS 14-related changes

Adapting successfully will require support from multiple teams in your organization. Here are a few key stakeholders to include:

Product

  • Understanding of overall iOS 14 impact.
  • Effects of removal of device-level data on data and BI.
  • Branch's new SKAdNetwork functionality.
  • Best practices and testing when showing Apple's ATT framework.

Engineering

  • Technical integration changes to internal systems.
  • iOS SDK updates.

Marketing

  • Changes to ad campaign strategy.
  • Network/format diversification.
  • New SKAdNetwork functionality from your MMP.
  • SKAdNetwork conversion-value strategy.

Ensure you have a strategy for capturing down-funnel campaign performance

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).

Make a decision on whether to request users to opt in to ad tracking

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).

Plan for how you'll optimize your ad tracking opt-in rate

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.

Read More

Check for IDFA and other device/user-level data usage in internal systems

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.

Choose how you will assign SKAdNetwork conversion-value values

The 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.

 

Technical Updates

These are the important in-app and infrastructure updates you'll need to make.

Integrate the AppTrackingTransparency modal

If 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 More

Implement the SKAdNetwork framework in your app

Branch supports two options for SKAdNetwork integration:

  • Option 1: Use the Branch SDK to manage all calls to SKAdNetwork.
  • Option 2: Integrate directly with SKAdNetwork to fully control what's sent to Apple.

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 More

Implement the SKAdNetwork framework in your app

Every 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.

Implement the SKAdNetwork framework inside your app

If you are not working with a MMP, you can integrate the registerAppForAdNetworkAttribution() and updateConversionValue() SKAdNetwork calls into your app directly.

Read More

Create a system to update SKAdNetwork conversion-value definitions without continual code changes and App Store updates

You'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.

Set up infrastructure to collect SKAdNetwork postbacks from all your ad networks into a single reporting location

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).

Check for IDFA usage in internal systems

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.

Understand the implications to any +match_guaranteed use cases

Branch'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.

Read More

Make sure you've implemented setIdentity() with your Branch SDK integrations

Sending 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 More

Update any ad monetization integrations

While 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.

 

Other Tasks

Aside from technical updates, there are also a few other things to take care of before you're ready to go.

Request early access to Branch SKAdNetwork dashboard

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.

Enable the Branch SKAdNetwork integration in your dashboard

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 More

Define conversion-value mappings in the Branch SKAdNetwork dashboard

If 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.

Read More

Enable your MMP's SKAdNetwork integration

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.

Define conversion-value mappings in your MMP's SKAdNetwork dashboard

If 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.

Confirm which of your network partners will support SKAdNetwork only, and which will continue to provide device-level data

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.

Run an end-to-end test of SKAdNetwork with your ad networks

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 More

Update your Facebook app ads configuration

Facebook 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.

Read More

Update your Facebook web ads configuration

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 More

Update your Google app ads configuration

Google 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 More

Update your Twitter app ads configuration

Twitter 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 More

Update your Snap app ads configuration

Snap 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 More

Update your Tiktok app ads configuration

TikTock 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.

Read More

Get familiar with the new AdServices framework for Apple Search Ads

Apple 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 More

Provide information for your App Store 'privacy nutrition label'

Apple 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 More
 

Extra Credit

Once you've completed all the critical preparation items, here are a few longer-term projects to consider.

Consider ways to expand your acquisition strategy so that it is less reliant on ads

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 More

Learn about the advantages of Branch's Predictive Modeling engine

Most 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.

Sign up for email updates on iOS 14
Thank you for signing up for email updates on iOS 14!