A Guide to Your Mobile Measurement Partner’s iOS 14 SKAdNetwork ChangesThis post has been written using the latest MMP and ad network documentation as of March 25, 2021. If there are more recent updates that make some of the information invalid, please share with [email protected] and [email protected]

Doomsday is quickly approaching. SKAdNetwork has already started to reduce our granularity beyond the campaign level. A lot of advertisers have started to see the impact on Facebook with historical Return On Ad Spend (ROAS) nullified, where they’re left to compare attribution windows. In some cases, advertisers are seeing ROAS deteriorate as the attribution window changes from 28D click/view to 7D click/1D view or 1D click/1D view (in Automated App Ad or “AAA” campaigns). And to bring tensions to a head, from early spring 2021, Apple will force developers to show users the App Tracking Transparency (ATT) prompt in order to collect their data.

In this post, we take a deep dive into the solutions offered by mobile measurement partners (MMPs) such as AppsFlyer, Adjust, Branch, Singular, Kochava, and Tenjin. We cover conversion value models, SKAN dashboards, and technical implementation guides for developers and marketers, and finish off with an impact summary across all the major ad networks such as Google, Facebook, Snapchat, TikTok, and Apple Search Ads. 

Don’t have an MMP? Kevin Bravo says no problem, as he is working on a solution to SKAN and ad network software development kits (SDK) with custom call methods. Stay tuned!

MMP overview 

While there are differences between the capabilities of each MMP, at the very least, they all support reporting for iOS 14.5 users through SKAN with a conversion value model. Some MMP’s have multiple models to choose from. You can only select one at a time, but what’s nice is that you can archive an existing model and switch to testing a new one at any point. Our recommendation to clients has been to test either the conversion value or revenue model (depending on data level need and KPI) and then test the other models.

MMP Table updated

Note that the table above and MMP order listed below are organized solely in alphabetical order and are not ranked based on the quality of service. 

*This is not possible for all MMPs, but bit strategy refers to splitting the single field of conversion values into different parts so you can measure different KPIs within one field. 6 bit and 0-63 conversion is the same thing and is interchangeable. Your team can configure bits in any way you choose, but the limitation is 6 bits. If this is the route you choose, plan accordingly with marketing, product, and analytics teams. You can also keep your MMP support team in the loop for guidance. Learn more about the conversion timer and bit strategy on QuantMar.


As of late February 2021, Adjust was still running a SKAN beta, so you’ll have to request for it to be enabled. Adjust offers the conversion value model, which allows you to track up to 6 events of your choice. More details can be found here. SKADNetwork data will be available in the Adjust Data Canvas, which is a new type of dashboard that serves as a pivot table/graph builder. You’ll be able to analyze the event count for each of the conversion events you pick (the count, in this case, = unique users triggering each event at least once), in addition to some key metrics like impressions, CPM, CTR, etc. that are provided by each network.

New Data Set Dashboard

New Widget Dashboard


Appsflyer offers 3 different approaches to conversion value management that you can choose from and change from time to time. 

  1. Revenue: Revenue generated by users
    • Considerations: 
      • Can only be tracked for early purchases (24~72 hours), so can’t account for purchases occurring later in the life cycle. Therefore, it may become difficult to set up exploratory market tests (i.e., setting up a test in country A to assess ROI) if there aren’t enough substantial events coming through per week. For instance, advertisers may experience challenges with Facebook App Event Optimization (AEO) purchase-optimized campaigns that have less than 50 conversions per week. 
      • Revenue tracked from pre-defined factors: $0.01, $1.00, $10.00 (currency translation is automatic)
  2. Conversions: Enables you to select up to 6 events of your choice
    • Considerations: 
      • Only up to 6 events 
      • Impossible to measure revenue/user value based on events, so you’ll have to create your own estimate based on historical average revenue per user (ARPU) or life-time value (LTV)
      • Similar to Adjust, there won’t be information available around the number of occurrences for each event
  3. Engagement: A number of times a specific in-app event occurred
    • Considerations: 
      • Can only track one event, so it may work for an app-only optimizing off CPI
      • No granularity in user engagement

AppsFlyer is also working on a predictive LTV model. 


Branch offers the conversion value model, which allows you to map all the 0 to 63 values to a specific event. This is considerably more limited than the 6-event approach as you probably don’t have 63 events you can rank based on higher to lower intent. You can also set it up manually in your app and send conversion values to Branch using SKAN methods. By default, the Branch measurement period for SKAN is 72 hours. You can overwrite it manually and define a custom measurement period specified in the documentation here.

A preview of the Branch SKAN Overview below shows the capabilities that you will have when tracking events per ad network. 

Branch SKAdNetwork Overview


Kochava offers 4 models to choose from: 

  • Revenue: Tracks the revenue generated by the user but has the same limitations as AppsFlyer
  • Highest event completed (aka the conversion model similar to AppsFlyer, Adjust, and Branch):
    • Especially useful if you have a lot of steps in your activation funnel and/or would like granular data on how far the user went (e.g., games with levels where purchase would still be the top event)
  • Engagement: A number of times a specific in-app event occurred but has the same limitations as AppsFlyer 
  • Post-install user journey (similar to Singular’s funnel model)
    • Great approach if you have “classic flows” or two distinct user experiences (e.g., marketplaces with people selling and buying) or perhaps a different user persona that you want to track separately

What makes Kochava unique is that they’re using the first 3 bits for defining the day of the conversion (days since install up to 7 days) as opposed to using all bits for conversion events, which gives marketers more reliable and timely install data. The trade-off is that you will only know the last event users completed (highest event in the funnel) rather than the occurrences of each event for a 6-bit approach. 

If your app is funnel-based, (i.e. as users move down the funnel, they become more valuable with each event they complete) then the Kochava (or Singular) approach is great. If a valuable user is defined by a combination of events for you, you may think it’s more limited than the 6-bit approach (where you can have event combinations).

Kochava four conversion models

Read more about SKAN in Kochava’s documentation here.


Singular offers 4 models to choose from: 

  • Revenue: Similar setup and limitations as AppsFlyer and Kochava
  • Conversion: Similar setup and limitations as AppsFlyer and Kochava
  • Engagement: Similar setup and limitations as AppsFlyer and Kochava
  • Funnel model: Aka a similar setup to the user journey model Kochava offers

Singular models are also dependent on what measurement period you define in the tool. Similar to Kochava, they let you use some of the available bits to get a better understanding of when the installs actually occurred. The longer the measurement period, the fewer bits you have available. We’d recommend considering how much time, on average, users are taking to convert on a purchase, without being inactive for more than a day. 

It’s a tricky analysis to do, but if you can understand, “on average my users take 3 days to go through the funnel and convert”, for example, you know your conversion period can be 3 days. If you believe up to 7 days is necessary, then a 7-day measurement period is also possible, but keep in mind that users will need to come back every day during these 7 days for this to work, which is rarely the case.

Singular four models for funnel

Read more about Singular’s conversion models to find out what’s best for your app. 


Tenjin is testing a closed beta of their iOS 14.5 attribution modeling and is offering the reports for free for all their customers.

Tenjin is not offering any server-side dashboard for conversion values management. Instead, they let you handle the two methods (register & updateConversionValue) manually on the product-side. 

This is not limiting but will require you to define a conversion value table / logic that is handled from the app. Additionally, this means that you’ll need to update the app if you decide to do any change in the way you handle conversion values (Unless you build your custom server-side dashboard to handle conversion values)

In theory, you can apply all the models (revenue / conversion / engagement) or build a custom one with your own implementation. The same applies for measurement period, you can set a custom one.

However, we’d recommend being cautious when building custom approaches as it may impact the network’s capabilities in optimizing your campaigns and/or identifying valuable cohorts. The best approach is to stick to “standard configuration” for now.

Tenjin attribution modeling roadmap overview

Summary of all MMP changes 

All of the MMP’s support automated conversion values set up to 6-8 events. All of them will also handle the SKAN in-app methods for you (registerAppForAdNetworkAttribution and updateConversionValue). In this case, you’ll just need to track the events with the MMP SDK and tell the MMP (on the dashboard side) which events you want to use for your conversion model. 

The other models offered by MMPs can be interesting for some specific use cases, but may not support the way you’d like to use the 6-bit conversion values available. In this case, you can also continue using your MMP but set up a custom conversion value model in your app (the last row in the MMP table). You’ll have to disable SKAdNetwork automatic support from the MMP and call the methods yourself. 

The benefit would be that you will have better control and flexibility in measuring conversions, but it’s probably not the best approach to start with because of the considerations below.

  • A custom approach requires your own engineering and development team for implementation.
  • Privacy thresholds can be applied by Apple if they don’t have enough volume for a specific conversion value. For example, if there are 100 installs and only one user with a conversion value of 27, you won’t see this conversion value as Apple wants to uphold user privacy and prevent you from identifying this one unique user.
  • Some networks may not support your own custom model or you may not be able to optimize your campaigns efficiently, or at all. For instance, Facebook is recommending specific events to your app (see screenshot below). We’re assuming this is to help with algorithm and campaign optimizations, the same way the standard events worked in the past.

Facebook Events Manager ways to configure Skadnetwork events

Image source: Configure Apple’s SKAdNetwork in Facebook Events Manager

Summary of ad network changes

The main challenge across all ad networks will be data latency (of up to 3 days) and misattribution between ad network UI and SKAN. In theory, however, since SKAN has to confirm attribution with Apple before it posts back, only one ad network should be taking credit for a conversion. You can read more about data latency and the IDFA match problem on incrmntal’s blog. 

Channel Facebook Google Snap TikTok Apple
Campaign limitation 9 8 10 11 none
Ad group limitation per campaign 5 No limitations 1 1 none
Event Tracking 8 8 8 8 unknown
ATT enforced? Likely  No n/a yet n/a yet no
Attribution  1-day click Likely 7-day click n/a yet n/a yet

Estimated impact of SKAN per channel 

While most of the ad networks take a hit on campaign limitations, attribution windows, and loss of user-level data, the estimated impact of SKAN is high for paid social channels like Facebook, Snap, TikTok, and for Google App Campaigns. Apple Search Ads is the only channel expected to be least impacted by iOS 14 because of the solution offered through AdServices.

Channel Facebook Google Snap TikTok Apple
Expected impact of SKAN High High High High Low

This post has been written using the latest MMP and ad network documentation as of March 25, 2021. If there are more recent updates that make some of the information invalid, please share with [email protected] and [email protected].