iOS 15 and SKAdNetwork postbacks: the good, the bad, and the ugly
As you know by now, the most interesting news for us is that in iOS 15, app developers will be able to define an endpoint that will receive a copy of all the winning SKAdNetwork postbacks (there’s also iCloud+ Private Relay, but that will be a separate post).
This change is very welcome, and we’re excited about it since it creates better transparency for advertisers, but if you think about it more carefully – you realize it can also add complexity, and generate some interesting implications for ad networks and advertisers.
Like every Apple change, this is another part in the ongoing shift in our reality. And I actually think I found the perfect GIF to describe the last year:
The good: Direct access to SKAdNetwork postbacks in iOS 15
More visibility is always a good thing. And getting data right from the source is dramatically better than what we had before. It’s also great to see Apple starting to acknowledge the advertisers in the equation (it felt like SKAN was built for ad networks more than it was for the people who pay the bills)!
Some of the notable benefits of this change that Singular customers will get:
- Access to ALL the winning postbacks, including those that were sent to Facebook and Google, in our API, raw logs, or ETL straight to your database.
- Tools to analyze your privacy thresholds, and how often data is redacted.
- Full visibility into publisher level reporting. Do you remember the days where networks were masking the publisher who drove the install? Now Apple is canceling that, and making the identity of the publisher app transparent (as long as privacy thresholds are met, of course).
- Ability to pass information on top of the conversion value that your ad networks don’t necessarily need or understand. For example: 3 bits could be used for event mapping (tutorial complete, social login, purchase), and 3 bits could be used for day of install.
The ad network can use the event bits, but Singular would use the full 6 bits.
- Ability to compare network vs SKAN numbers in Singular: We ingest aggregate reporting from networks and decoded SKAN postbacks from networks and raw SKAN postbacks from your app. We can now compare all three and verify the numbers are accurate … and more importantly, that the conversion values are accurate.
- Multiple layers of postback decoding:
- Level 1: Raw postback as received from the app
- Level 2: Decoded conversion values
- Level 3: Decoded skan_campaign_id information
- Level 4: Matching of a SKAN postback to upper-funnel campaign/creative data, with spend and ROI
- Better protection against fraud: With iOS 14.6 the SKAN postbacks are still sent from the device, but they go through a proxy Apple is running. With iOS 15, there will be 2 copies sent of the winning postback: one to Singular, and one to the network. This helps us detect any manipulation that happened outside of the device. (I have to say that a motivated fraudster can still exploit SKAN since it’s not a perfectly secure setup, and I don’t want to share all the secret sauce, but we’re building proprietary mechanisms to detect such exploits.)
Wishlist: maybe Apple is going to start sending organic install postbacks as well with conversion values so that organic reporting via SKAN could work as well? Pretty please!
The bad: these postbacks, on their own, are limited in their value
As I’ve described above, getting postbacks in iOS 15 is unequivocally a good thing.
BUT, these postbacks are no panacea… in fact, far from it.
Due to how SKAdNetwork works, the advertiser has no control over the SKAN Campaign ID (reminder: 100 possible values). These are controlled by the ad network, as they should be, and each ad network’s mapping is vastly different from the next.
Since advertisers do not and probably will not have access to this mapping, it means that these postbacks still don’t provide a functional way to build reporting off of them alone. We still need to go to all the other scattered sources to assemble functional reporting.
To illustrate, the data coming from these postbacks will look like this:
|Ad network||Source App||Campaign ID||Conversion Value|
|7 -> ???||21 -> (Revenue $10)|
|53 -> ???||36 -> (Revenue $17)|
It will be interesting to see if ad networks will provide the mapping to the SKAN campaign IDs. My guess is that they won’t share it, for the following reasons:
- Facebook and Google probably use some sophisticated machine learning model to associate their campaigns, ad groups/ad sets, and creatives to the “SKAN Campaign ID,” and it won’t be trivial to share it.
- Since SKAN postbacks have random timers, you can’t always tell what mapping was used for a given SKAN postback. That means that some of these mappings might be statistical by nature, which is not something that is easily sharable with advertisers.
- If Facebook and Google won’t offer it, I think other networks won’t offer it either. It’s too much work, and they already offer translated postbacks through the pipes they built.
The ugly: The crazy complexity marketers face in iOS app marketing
When you have one good clock, you know exactly what time it is. When you have two that vary, you’re not sure anymore. Three? Good luck.
A single — and accurate — source of marketing truth functions the same way. But now mobile marketers have no fewer than six, and probably more.
- IDFV data for installs (but of course without attribution information)
- IDFA data for a fraction of installs (with full attribution information)
- Raw SKAN postbacks from Apple (in iOS 15, and for many ad networks that work with Singular, already now in iOS 14)
- Translated postbacks from networks decoded to what they mean (to the networks that share that)
- Aggregated reporting from Facebook, Google, and other networks that include SKAN data, IDFA opt-in data and their modeled data (the only place with actual campaign names, creative names, impressions, clicks, cost, etc.)
- Deeplink and owned media data
How many clocks do you have now? Which ones are accurate? Do you need to pay attention to all of them? Now, clearly, the one clock that you trusted may not have been right. But your life certainly gets more complicated with six or seven clocks.
So now a marketer wonders: what do I do? Do I pick a few of them and optimize based on those? Do I turn to media mix modelling? Do I turn to incrementality testing? Are these signals enough?
And of course, some marketers start wondering again about fingerprinting. Seeing some MMPs offer it as the default option (!!) or mask it as something else makes people confused about whether they can just ignore all of this SKAN complexity and … fingerprint. I recently talked to a major mobile app developer who’s done a phenomenal job getting ready to adopt SKAN, and actively adopting it, and he felt he’s the only boy scout left, since companies around him are happily fingerprinting their installs, and Apple isn’t enforcing it enough.
Plus, of course, there are still significant gaps in SKAdNetwork.
Conversion values should be signed, so there is a reduced risk of fraud (although even that would not close that loophole completely). We desperately need a SKAN solution for web-to-app. And, perhaps, we need even more clarity, or enforcement from Apple on fingerprinting, so that the rules are clear to all.
The reality: marketing measurement is changing
We are reinventing the future of marketing measurement in real-time: fixing the plane as we fly it.
We need SKAN to be sophisticated. Way more than it is now. We also need to incorporate other complementary solutions (like media mix modeling and incrementality), but the important realization is that there are going to be multiple signals coming into play, and not a single source of truth like we had with IDFA.
That’s why whenever someone asks me about the IDFA changes, and impact to our customers and our business, I tell them that the need hasn’t changed, but the technology did, and MMPs like Singular have an amazing opportunity to build the next-gen measurement that incorporates all available signals.
And we need to produce a simplified hybrid view of marketing effectiveness reality that takes in all the available information on inputs and outputs to give growth teams the directional insight they need to optimize campaigns.
I’ve talked to multiple marketers in the past weeks and months who almost feel exhausted. They’ve made so many changes over the past year and they see more on the horizon.
Our job at Singular is to do that work for you.
And, as we always have, provide the insight you need for growth.
Feeling like Inception is happening to you?
We’re happy to chat. Join our Mobile Attribution Privacy channel on Slack, where there are thousands of smart marketers who can help, and where you can message me directly. Or ping us for a quick meeting to assess how we can help.