We ran experiments with Adjust tracking on Liftoff + Twitter and here are the results
Your app marketing will fundamentally change with Apple’s new privacy layer. A tremendous amount of information about your user acquisition campaigns will look different. You won’t be able to run retargeting campaigns for a good portion of your users. Neither will you be able to track users with regular tracking links placed in websites, emails nor on your influencer campaigns – web to app tracking is not supported by Apple’s Skadnetwork but neither is it allowed to do good old Fingerprinting. On the flip side, as Adxchanger pointed out: “PCM will offer support for measuring app-to-web conversions on iOS and iPadOS apps and will not be available in SKAdNetwork, which is only for measuring app-to-app conversions.”
Table of Contents
Campaign tracking & structure will change fundamentally
The reason for all those changes is the release of Apple’s Skadnetwork tracking. That comes with a significant change and reduced granularity in the data structure that you are used to receiving. Most partners and apps are so early-stage that you are not able to see a lot of data points yet. Hence you can’t predict how your planning needs to change and how you could potentially analyze any of your campaigns. I was able to run some tests and here are the first results I want to share with you.
Skadnetwork sounds nerdy?
Skadnetwork, SKAN, Skad … a new nerd term is going places these days. It might sound like a nerd thing but it will have a massive impact on your business, so you should be aware. Many managers haven’t even heard of it yet. Or at least they didn’t spend enough time to actually understand how much it will impact their business. They consider it “just another nerdy thing” in marketing and proceed with their business plans. But it’s far bigger than they anticipate and spending time thinking about marketing effectiveness, structure, strategy is necessary.
This article won’t explain why also products (read: apps and UX) will fundamentally change just because of this little nerd thing. There is plenty of knowledge and articles out there explaining & discussing all these changes including forecasts of what it could mean for your Facebook ads, etc.
I made my hands dirty. Launched some tests using Skadnetwork. Successfully received the first data from a few of our advertising channels even though iOS14.5 hasn’t been released yet to the public. In the following, I will share my experiences. The data that I see, and how I interpret it. Please leave a comment if you think I am entirely on the wrong way. Or if you saw different values in your own experiments. Having a transparent exchange certainly helps the entire industry to adapt and make the best out of the new privacy-centric tracking world.
Which data you can get from Apple Skadnetwork
I was able to run campaigns on 2 Networks, Twitter and Liftoff (programmatic inventory). Before we run into the data analysis you need to understand that Skad reporting is extremely limited. Only the following metrics & Dimensions/filters are available through adjust at the moment. Appsflyer doesn’t even bother offering a proper CSV export unless you purchase their rather expensive data locker feature.
The SKAN KPIs you can find down below.
What your marketing team will lose
Comparing this to the regular data exports which you know you will see that dimensions like country, adgroup, or creative are entirely missing. At least at the moment, you can only analyze on campaign level while impressions, clicks, engagements are still available. Given that we can run max. 9 campaign IDs in FB, 8 on Google, or I believe 70 on Twitter there is literally no way to analyze your 16 languages supporting app campaigns, your 2500 creatives that your team pumps out on a weekly basis, your shopping feed performance, or even interests you may have targeted. You are a food delivery and want to run campaigns for your 200 restaurant chains separately? Good luck with that.
Re-Attributions or cohort analysis?
Not available and neither announced to happen … there might be workarounds abusing Skadnetworks bit structure (Adjust article) to build LTV buckets and simplified 7 days cohorts as described by Eric Seufert but that’s basically it.
Another good overview is also provided by Appsflyer where it’s also mentioned that mobile web is not supported. And nobody is talking about that enough, to be honest:
Mobile web including your smart app banners, email campaigns, or any other traffic routed through a normal click URL without device ID attached makes a significant contribution to mobile app conversions – many of us surf on mobile websites and click on ads to convert into an app. This won’t be supported by Apple’s Skad but neither do they allow fingerprinting which would be required for such.
One more thing to consider is the delay in postbacks from Skadnetwork. Once you pause a campaign you will need to wait for about 3 days (72 hours) before you can re-assign a campaign ID. So plan your pausing and launching wisely. The same applies to your conversion value setup. Once set up think about changes wisely and make sure you don’t fire different conversion value setups from different SDKs.
Will my influencer marketing be impacted?
You have provided a lot of tracking links to your influencers in the past. They posted those links in their bio, under the video, or wherever. Those campaigns were attributed by fingerprinting which means you didn’t need the IDFA to match click to install. But Apple made it quite clear that any kind of tracking without consent is not allowed. At the same time, Skadnetwork doesn’t come with a solution. You could use UTM links and might be able to track installs but I haven’t explored that option yet.
Another option, thanks @thomasBCN pointing this out, could be to route all click traffic through our own first-party website before sending users to AppStores. In theory, you could do fingerprinting here without violating the new rules but this is certainly some grey area. At least I am not aware of any yet.
How your campaigns will change
So far you were used to seeing a nice reporting down to creative level containing loads of data points about your marketing campaigns. Your campaign naming convention might have helped you map an ad network data with MMP data. This is one of the things that goes away. Let me give you a simple example of what the new normal looks like in the case of a user who didn’t opt-in for tracking: in traditional reports, you would receive campaign names and IDs from your advertising network and could map it with data in your MMP reports.
This is not available. You only get “Campaign: 1” or “Campaign: 2” from Skad reports and you have to find a way to map your data with your advertising network. Liftoff’s or Twitter’s dashboard doesn’t show the IDs either – only traditional names.
For my tests, I did the mapping manually – on a larger scale it needs a solution from MMPs or Adnetworks. But I am sure they are working on such things.
How does Skadnetwork data look like?
The data from my tests is real. It’s one of my clients’ actual campaigns we ran together with Liftoff. Twitter suddenly started sending some data but was not an actual planned iOS14 campaign. We look at results from 01.02.2021 to 02.03.2021 – so basically one full month. Skadnetwork tells us if a user is a new or a returning user. The Reinstall ratio between Twitter and Liftoff is quite different but nothing disturbing for a first test.
In the table, you can see something new called “Invalid Payloads” which is also given by Apple and is some kind of “fraud check” it seems. I wasn’t able to find any clear documentation but this description.
Now let’s look at Conversions
At the moment I was able to map up to 6 events via Adjust dashboard and you can only map to some IDs like Conversion 1,2 or 3. For the following data, you need to know that I mapped various conversions along the user funnel – from Onboarding Completed = 1 to Purchase = 4. Conversion 5 and 6 were not mapped at all just because in this case it didn’t make sense. Conversion 2 and 3 can actually be ignored because the events were deprecated. So let’s concentrate on Conversion 1 and 4 as all as conversion rates from Install.
One important thing to highlight here: Conversions are certainly reported from Re-Installs as well … but there is literally no way of building real cohorts or knowing if a conversion came from a new user or Re-Install.
The CR from Install to Conversion 1 is almost double if we trust Twitter’s postbacks
CR from 1 to 4 is even more extreme. 4,9% conversion seems legit looking at Liftoff. Remember those are non-cohorted conversions. If we stopped advertising tomorrow there could still come conversions. What boggles my mind though is Twitter’s conversion count. I filed a support ticket to adjust and wait for feedback. Maybe it’s just a false setup somewhere. Especially because I never mapped conversion 5 but still got a lot of conversions counted here.
Deduplication is missing
Because there are not enough challenges with the randomized event timers and all the other limitations Apple has invented for us, I also do not see a nice and simple way to deduplicate Skadnetwork conversions and installs from Opt-in and regularly tracked conversions because both types of users are reported into Skadnetwork conversions. And remember: Skadnetwork data and regular tracked data live in 2 separate reports – you have to find a way to get data from both and deduplicate & match it. My current idea is to use one of the conversion values to actually track if a user opted in or not. This way I could retrieve a percentage of users and at least deduplicate based on this percentage. A simple but certainly not very scientific solution.
Sources of your app install traffic
Below you can see what “Source Apps” we got reported, meaning which app reported how many new installs. Source App is being assigned by Apple and reflects the AppStore ID that you used to see in the URL of an app, eg. id1234567 – if you parsed this URL you could map this against the real publisher name that generated clicks & converted users from your campaign.
Keep in mind: Source App will only be reported by Apple when some mysterious privacy threshold is met. So expect a lot of traffic on Source App “0” when you get a lot of traffic from very tiny publishers. I have blurred the source App IDs here to make sure I do not disclose any client’s data.
Almost 90% of unknown traffic sources
As you can see, when we look at Liftoff we have almost 90% unknown sources. This could either mean Apple is obfuscating a lot, having a really high privacy threshold or? I don’t know the answer to be honest because we can see traffic sources with only 2 installs which contradicts the privacy threshold idea.
As Alasdair Pressney highlighted in the Mobile Dev Memo Slack channel the 2 reported installs may have been reported because the privacy threshold for this publisher was met already. So let’s say this app ID already converted more than 102 users while the threshold is maybe 100. There are now multiple options about what Apple could do (and nobody knows this apparently!!).
- Option 1: report the last 2 conversions only
- Option 2: report some random 2 conversions
How I read this is Option 1 makes the most sense because the first 100 conversions have fired already with Payload containing Source App ID 0. So how would anyone be able to remove those conversions again from any statistic and refresh the statistic with Source App ID 12345? So it makes total sense to wait for meeting the privacy threshold and only fire the very last conversions after that condition is met.
Campaign IDs mapping magic
Let’s have a look at campaign data. Apparently, we need to filter out Twitter here, as the data currently does not contain campaign IDs … I am waiting for feedback from Adjust.
In the table below I only imported installs to have a better overview but you can certainly try to build analysis on conversion values & conversion rates, etc. given the above-mentioned limitations. In my case Liftoff drives a lot of traffic from Source 0 via campaign 1.
Campaign 1 in general is the biggest traffic source at the moment. From our campaign structure I know, this is the campaign targeting the United States. Apart from source 0, I can see that only very few sources drive kind of significant volume. What shall we do with this information? Well, it depends on the ad network.
Bidding & Budgeting in a Skad world
Liftoff is a CPA bidding network – you give them your goal and they try to achieve it for you using machine learning & campaign automation. At least this is their sales pitch. On other networks, you may want to increase your bids & budgets on some dashboards while you can see app publishers or websites that brought you all the traffic. This granular reporting helped a lot to build advanced setups with LTV prediction models.
The new normal under Apple’s rules is cohorts cannot be built because event timestamps are missing or obfuscated by random timers and “source app” doesn’t exist the same way in regular deliverables reports of your MMP so I don’t see a way to map Skad results back to regularly reported app publishers. This essentially means: your analysis of Skad campaigns but also your campaigns with opted-in and granular reported users might be extremely misleading and your conclusions utterly wrong.
Summing this up:
- Country reporting – No
- Cohorted reporting – No
- Adgroup reporting – No
- Creative reporting – No
- Fingerprinting – No
- Mobile web tracking – No
- Influencer campaign tracking – No
- Mapping Campaign names with Campaign IDs is a hassle
- Currently, no purchase values are possible to get reported only plain event counts
- Still kinda broken setups on adnetworks (Twitter in this case)
- No postbacks from Facebook yet (and I heard they will never send some – so we might need to export data from FB directly and again map it with other data sources)
- Source App IDs are possible to be mapped to actual publisher names
- No fraud protection other than Apple’s magic “valid conversion”
- Opt-In tracking still not reported to see how many users per network actually allowed tracking which would help in deduplication
- Basically, no clever way to deduplicate data
What happens to ATT opted-out users?
If a user does not allow tracking and MMPs won’t be able to report on a granular level, how does this data live in their usual reportings when we report all users on both Skadnetwork data as well regular data? Well, there is no hint how MMPs will treat such users but my first guess would be those users either fall into “organics” or there must be a new tracker level that reports on “no consent” users but still shows all the events that those users do inside the app. The latter would make more sense to me as pushing opt-out users into “organics” would make the whole point of any tracking entirely useless.
And what about Apple Search Ads?
Apple Search Ads certainly requires another article to go into every detail but it’s definitely worth mentioning that Apple abuses its power a little bit here. They give themselves a higher privacy priority and play the game under their own rules:
- If a user has personalized Ads for Apple toggled on (default setting!!!) >> you get all data.
- If a user has this toggle off: you still get the full data except for the click timestamp via a new service – Adservices – by Apple! It’s unknown if they will ever allow any other network to use the same service and how the opt-in rule would be for them.
This means there is an automatic opt-in for all users using Apple Search Ads and this means you can track your campaigns down to keyword level, fully opted in. This is an abuse of market power from my perspective – but who am I to discuss this?
Keeping you posted. I wish you would respond to this post and give your feedback, share your insights, and discuss the results you see on your campaigns publicly so the whole industry can learn. My article may have helped you to put your own experience in context – let others also benefit from it. Share this post, respond to it, like or comment!