SKAdNetwork vs MMP installs: What you should choose to calculate ROI
Introduction
The release of SKAdNetwork in 2020 brought chaos in the way iOS installs are measured and attributed. And we’re not even talking about conversion values here yet.
In order to get an accurate overview of your ROI, you first need to understand the differences in the ways your installs are being reported by your paid campaigns.
In other words, you need to understand the differences between tracked, reported and SKAdNetwork installs.
Tracked vs Reported vs SKAdNetwork installs
-
tracked_installs are tracked by your MMP (e.g. Tenjin) through its SDK
-
reported_installs are installs reported by ad networks through their APIs
-
sk_installs_ad_network are SKAN or SKAdNetwork installs reported by the Ad Network
-
sk_installs_apple are SKAN installs reported by Apple (only for iOS 15+ devices)
Here is a summary of what you need to know about these four ways to track installs:
Metric | Tracking | Reporting | Over / Under Reporting | Delay | Notes |
---|---|---|---|---|---|
tracked_installs | Tracked by Tenjin’s SDK in a deterministic way. Can involve probabilistic modelling from Tenjin | By Tenjin | Given SKAN constraints, this metric is often underestimated by Tenjin, but probabilistic modeling is here to close the gap | These installs are tracked as soon as they happen. Probabilistic modelling can attribute installs later depending on the model used | If the ad network does not let Tenjin track its ads, then Tenjin can’t attribute tracked_installs to this ad network |
reported_installs | Differs depending on the ad network. e.g., Meta can use SKAdNetwork as a basis for their reported_installs and add installs they modelled as attributed to them, while another SDK network can use Tenjin’s SDK as a basis for their reported_installs. Other combinations are possible, and you need to understand what each network relies on to count the installs they bill you for | Through the ad network’s API | Depends on what method the ad network uses to track these installs | Depends on what the ad network uses to track these installs | |
sk_installs_ad_network | Apple’s SKAdNetwork | Apple sends this data to Ad Networks, and Ad Networks then report it through their API | These are reported by the Ad Network and are supposed to be equal to what Apple tracked with SKAdNetwork | Depends on whether the network decides to report with a 24h delay or not – this delay can be corrected | Not reported per country. Only campaign / network / source app |
sk_installs_apple | Apple’s SKAdNetwork (given users have updated their device to iOS 15 or higher). | Apple sends this data to Tenjin or any other MMP | These are reported by Apple and are supposed to be equal to what Apple tracked with SKAdNetwork. However, given that not 100% of installs happen on iOS 15+ devices at the time of writing this article, this value is currently under reported | 24 hour delay – this delay can be corrected | Not reported per country. Only campaign / network / source app |
You also need to understand that each network has its own specificities. It is important to understand how each ad network’s reported installs are calculated, as they act as a basis to compute CPI on the network side.
Here is a summary for the top Ad Networks:
Note: For this example we consider the date when ‘tracked installs’ happened to be Day 0.
Ad Network | tracked_installs | reported_installs | sk_installs_ad_network | sk_installs_apple | comment |
---|---|---|---|---|---|
Applovin | 100 | 125 | 125 | 70 | Applovin’s reported_installs align with sk_installs_ad_network |
Mintegral | 100 | 100 | 95 | 70 | Mintegral’s reported_installs align with tracked_installs |
Unity Ads | 100 | 100 | 120 | 70 | Unity’s reported_installs align with tracked_installs |
ironSource | 100 | 100 | 120 | 70 | ironSource’s reported_installs align with tracked_installs |
Google Ads | 20 | 150 | 120 | 70 | Google’s reported_installs are not aligned with other metrics |
TikTok Ads | 100 | 150 | 150 | 90 | TikTok’s reported_installs are aligned with sk_installs_ad_network |
Facebook Ads | 0 (can’t be tracked) | 100 | Facebook does not report it | 75 | Facebook’s reported_installs are supposed to be aligned with sk_installs_ad_network, but we only have access to sk_installs_apple |
Snap Ads | 20 | 150 | 125 | 115 | Snap’s reported_installs are not aligned with other metrics – its closest metric is sk_installs_ad_network, but it is always higher |
Apple Search Ads | 70 | 100 | N/A | N/A | Apple Search Ad’s reported_installs are lower than tracked_installs and Apple does not use SKAdNetwork |
How Growth FullStack can help
Growth FullStack can help you centralize this data and visualize it easily, thanks to a ready-to-use view built on top of the Data Warehouse of your choice.
Build a dashboard and visualise your own data in no time
Here is an example dashboard built using this table, which we used to draw the above conclusions.
Timothé Rey
https://twitter.com/timothe_rey