User acquisition in iOS14 with SKAN, Singular’s open source framework for SKAdNetwork
How do you transition between tracking links and postbacks to SKAdNetwork?
How do you manage multiple attribution modes simultaneously?
How do you combine SKAdNetwork data from all your ad partners seamlessly?
There are hundreds of questions in marketers’ minds about iOS 14, mobile marketing, and the future of user acquisition. We’ve answered many of them in a recent webinar, and the mobile marketing community is answering hundreds more in the Mobile Attribution Privacy group on Slack, but there’s more to learn about SKAN.
SKAN is Singular’s open suggestion to the marketing industry on how to implement SKAdNetwork while keeping interoperability between ad partners, managing data in a central place, enabling compatibility with other attribution methods, solving for fraud risk on unsigned post-install event postbacks, and defining a standard implementation for SKAdNetwork’s conversion values.
Singular chief technology officer Eran Friedman announced SKAN almost a month ago. Now we’d like to go deeper.
SKAN proposes role definitions for advertisers, publishers, ad networks, and MMPs. It centralizes and manages SKAdNetwork postbacks. It ensures MMPs can validate postbacks and post-install events so bad actors can’t pollute the advertising ecosystem. It maps SKAdNetwork campaign IDs to human readable factors and rationalizes conversion values returned by SKAdNetwork in a variety of models … and so much more.
So much more, in fact, that we had to get Friedman talking about it in a podcast. Here’s the audio, video and full transcript of our discussion so you can get the insight you need, any way you want it.
Listen: UA in iOS14 via SKAN
(And don’t forget to subscribe to the Singular podcast, Growth Masterminds, on Apple, Spotify, Google, or multiple other platforms.)
Watch: UA in iOS14 vis SKAN
(Suggestion: subscribe to our YouTube channel here.)
Read: UA in iOS14 via SKAN
John Koetsier: How will mobile user acquisition work in iOS 14?
Welcome to Growth Masterminds, the podcast where smart mobile marketers get even smarter. iOS 14 is just around the corner, and everything we thought we knew about mobile marketing is changing. Well, maybe not everything.
Today, we’re chatting with the CTO of Singular, Eran Friedman. Singular recently released SKAN, an open source framework for how the mobile marketing industry can operate with Apple’s privacy-safe attribution framework, SKAdNetwork.
Welcome, Eran!
Eran Friedman: Hi, John. Great to be here.
John Koetsier: Excellent, glad to have you on the show, that’s awesome. You’re the CTO of Singular, first time on the Singular podcast.
Eran Friedman: Ah yes, I believe it’s my first time. Yeah, excited to be here.
John Koetsier: Excellent. Well, so we know user acquisition on iOS is changing, probably forever, with iOS 14. Maybe give us a broad overview of how UA user acquisition and attribution currently work in iOS 13 and previous.
user acquisition or performance marketing is the science of understanding exactly how to acquire the best users for your app or business
Eran Friedman: Right. Yeah, sure. So, you know, user acquisition or performance marketing as sometimes it’s termed, is kind of the science of understanding exactly how to acquire the best users for basically your app or business in a way, and get the best results for the marketing budget that you’re running. Then attribution, specifically, is kind of the technology that helps you do performance marketing in the way, and it does it by connecting your actions and your results.
Basically: tying between the upper funnel sometimes we call it, kind of the campaigns you’re running, the actions you’re making, the creatives you’re managing, the bids that you’re changing, with their lower funnel than results that you’re getting. How many installs you got, how many quality users did you get, how many purchases did you get from these? So kind of tying it together, so basically you will be able to make decisions, right? So when you’re saying what are the next action items that you need to make.
John Koetsier: Mm-hmm.
Eran Friedman: Yeah. Basically today, in terms of how it works, there’s like a variety of methods that operate attribution. So there’s the IDFA-based attribution based on strong identifiers, connecting routine clicks and installs. There is universal links for re-engagement, for example.
So definitely a lot of ways to think about tying between those actions and the results, and it really depends on the use case in the scenario that you’re covering.
John Koetsier: So a lot of things are changing in iOS 14 and a lot of that has to do with an Apple framework SKAdNetwork. What’s basically going to be changing with SKAdNetwork?
Eran Friedman: Right. So yeah, big topic, probably an hour on its own.
So, historically speaking, attribution always relied on matching basically ad clicks or ad touch points, in a way, to app installs at the user level or the device level.
And the idea was that a common method was to base it on a stronger identifier like an IDFA in iOS, and basically a lot of the infrastructure in the mobile ecosystem is basically built on that notion and those technologies. But now in iOS 14, obviously everything changes dramatically, because it’s going to be very easy for a user to say they don’t want to be tracked at that level. It’s just not going to be, either not going to be possible technically based on just not having access to IDFA, or Apple just makes it clear that any other magical solution that helps you tie in between an install and a click will just be forbidden because the user didn’t give you consent to do that.
So that’s just the general change for iOS 14.
SKAdNetwork in itself is kind of super interesting because it’s a different approach to the situation.
Basically, it’s a framework, it allows you to do attribution but just not based on a specific device that made the action. So it still gives you measurement, the ability to tie between the upper funnel and lower funnel as I described it earlier, just not at the device level in a sense.
John Koetsier: Yeah. So we’re going to talk about SKAN, which is kind of the framework that you built to solve some of the challenges that SKAdNetwork brings out, but maybe at first at a high level, what are some of the challenges?
Apple’s introduced this SKAdNetwork. There’s some good things there, attribution is still possible, you can still tell if a campaign is successful and good things are happening, so that’s a good thing.
User-level attribution, granular attribution is no longer possible as you talked about, but what are some of the open challenges with the SKAdNetwork?
Eran Friedman: Right. Yeah, so obviously there are a lot of challenges with SKAdNetwork, but I think the basic thing here is that it’s a shift in doing things or thinking about how to analyze the results. You can still definitely analyze results and do performance marketing, it’s just different from what everyone’s used to. And you know, as a technology person, I always look at that kind of on the positive side.
I feel that it’s interesting because it creates a lot of room for innovation on top of it, not just based on the tools, but also in terms of the practices themselves.
Like how people would think about optimizing using SKAdNetwork, which to me is just a fascinating topic on its own.
But basically just having the aggregated solution, which is a privacy-oriented measurement method, but just different than what we’re used to, is a challenge on its own. First of all, you know, we’ve covered the aggregated piece. People are used to work with the user level, you just can’t do it with SKAdNetwork.
John Koetsier: Yeah.
Eran Friedman: No access to user level at any way, and if you would have found a way, then it would be forbidden by Apple. That’s the whole point of the SKAdNetwork, right?
So first of all, we need to change our mindset and our infrastructure — and to be honest, across the entire ecosystem — to think about aggregated can be still granular, but aggregated versus a specific device ID.
John Koetsier: Yeah.
Eran Friedman: Second, then you need to think about post-install KPIs which, again, works very differently in SKAdNetwork. There is like this you still get a post-install KPI, but those are based on this complex timer mechanism. There’s like this six bit value that you can send, only a single postback with that value.
So there’s a lot of challenges there just working with those limitations, definitely possible, but you need to think really hard about how to work with that.
And of course, there’s the issue of SKAdNetwork basically distributes the results directly to the ad networks themselves. So the advertiser isn’t even like a part of that conversation once they track those conversions or those installs, basically the ad network will get the results.
And then the next challenge is basically on collecting everything and actually making decisions by the advertiser, which is a challenge on its own.
John Koetsier: Well exactly, and especially if you work with multiple advertisers. Maybe you work with 10 different platforms or 20, and it’s not unknown that people work with 50 or 100.
Eran Friedman: Yeah, definitely. If you’ve worked with 50 or 100 different ad channels, then it becomes a mess, not just collecting the data, but how do you standardize all the data, right?
How do you make sure that you’re basically, you have like this single point in which you’re tracking those conversions or those insights from your app. And it’s like spread around, each one of them have their own ways to provide the data. And now, how do you manage all that? That’s pretty tough, yeah.
John Koetsier: So let’s get into specifics then and talk about SKAN, and we’ll go in kind of point by point. Let’s say you’re an advertiser, you currently have, let’s say hundreds of campaigns. It’s possible, it’s not even a theoretical thing, it’s certainly possible that you’re large, you’re global and you might have thousands right now.
And now in SKAdNetwork you have to fit them into 100 campaign ID values. How do you do that?
Eran Friedman: Yeah. So, you know, SKAN was a bid to kind of provide like a set of ideas of implementation suggestions on how to tackle these challenges, and this area of the campaign it is definitely a challenge on the granularity level that we’ve tried to take, and we call it the campaign ID management kind of a system.
So the thing is that these campaign IDs like 1 to 100 are still very flexible, you can still choose to use these in the appropriate granularity level that you want. So we can think about that.
So for example, geolevel data, the country level of statistics — today, you can basically already deduce it in SKAdNetwork based on where the postback was sent from, because postbacks are still sent directly from the device.
John Koetsier: Yeah.
Eran Friedman: So essentially you don’t have to encode the countries and the campaign IDs as you used to do, right? So you can remove that from the equation if you would kind of try to save those precious IDs.
A different kind of question is around publisher level data, you’re already getting transparent publisher IDs from SKAdNetwork if you have enough installs per publisher. So you don’t have to separate between campaigns on different publishers that you’re targeting, you’re going to get the data anyway.
What’s more interesting is like, and that’s what SKAN also tries to cover, is on mapping different granularities with those campaign IDs.
Say, for example, you have a specific campaign running in a specific country and specific publishers. Maybe you can use those campaign IDs to encode those sub campaigns details, like the different ad groups, ad sets, or even creative ideas, depending on obviously the operation that you’re running.
But basically it provides suggestions how to map these IDs to meaningful objects that a third party or the advertiser could basically connect with the ad network to map these IDs to relevant creative names, or these are campaign details, and eventually get all the data in one place.
John Koetsier: Yeah, yeah. Very interesting. I mean, it’s a tough challenge, right? I mean, because you’ve got obviously the advertiser who understands his or her campaigns, however they do: name them, however they do.
You’ve got the ad network who translates that into whatever makes sense for them in terms of what they’re doing, how they’re working, what their systems are.
And then, of course, you’ve got an MMP like Singular, which is saying, ‘Okay, I need to translate all those different things, map them together across multiple advertisers’ — sorry, ‘ad networks per advertiser.’ So there’s some significant challenge and that’s what SKAN helps with?
… when we released SKAN about a month ago, we wanted it to be vendor agnostic and to create this standard across all the advertisers, MMPs, publishers, ad networks
Eran Friedman: Exactly. Yes, and that’s also why when we released SKAN about a month ago, we wanted it to be vendor agnostic, basically, and to create this standard across all the advertisers, MMPs, publishers, ad networks, just to have a common language in which they can basically integrate together, because it is going to be a challenging environment. So it provides suggestions for those definitions to allow everyone to talk in the same language and be able to connect with them.
John Koetsier: Interesting. And talk about who, I don’t know if you can give names right now or anything like that, but you know, who’s starting to think about adopting this.
It’s an open source solution, right? Anybody can grab it and use it, and there’s more partners joining. Can you talk about some of that?
Eran Friedman: Yeah, definitely. I think, you know, to me it’s a very exciting kind of work because we’ve released it about two weeks from the announcement in WWDC basically. And it’s interesting to see how it developed because we’ve received so many feedbacks and requests to kind of work together and build on top of it, which is super fascinating.
In the beginning when we released it, SKAdNetwork was still kind of … the entire industry wasn’t sure exactly how to treat it, right?
There was like we still saw feedback from a vendor saying, ‘SKAdNetwork is crap, you can’t work with it. We need to push back on Apple.’
They went out of their minds and obviously that’s a — you know, SKAN when we released it we called it a practical solution to build basic attribution on top of SKAdNetwork. So we tried to take the practical approach. And I think in the beginning, again, some vendors were kind of hesitant about it. But a lot of partners and advertisers were really advocates of the idea, and by now, you basically see everyone talking about those sets of solutions.
John Koetsier: That’s wonderful.
Eran Friedman: Some of them don’t even necessarily call it SKAN, but definitely they’re implementing various ideas from it, whether it’s the campaign ID management, the conversion value management, the secure setup. And we’re basically talking with all the top kind of media channels, ad networks, about various solutions there and how to implement these things to make it easier for advertisers and publishers to work honestly.
John Koetsier: Very, very interesting. Okay. Let’s get into post-install conversions. We’ve talked about that a little bit. Obviously you want to measure the results of those app installs you get, you’re not just happy with the install. You need to do some conversion management.
In SKAdNetwork you get 64 numeric values. I guess first question is how do you make those values or those numbers mean something?
Eran Friedman: Yeah, that’s a very good question. It is a pretty big change of SKAdNetwork. So the problem there is that Apple provides you only, again, six bit value as they call the conversion value to send those ad networks. And then it means that you have to encode your KPIs essentially, in this value, and in SKAN we had like this entire topic, one of the bigger topics, they’re actually talking about the conversion management systems, basically.
John Koetsier: Yeah.
Eran Friedman: The solution is to work with this value. And the idea is that it allows you to choose, as the advertisers, the UA team basically choose what are the important KPIs that you have right now to test them even, and to use them essentially from the server side — basically from a dashboard or something — to exactly encode what are the KPIs you want to send through these conversions to see those results?
And the idea here is to provide you the flexibility, right, to basically be able to customize exactly which KPIs you want to encode in those numeric values.
And basically any third party can then automatically encode and decode these values, and then use this for experimentation. So basically learning as fast as possible exactly which types of conversion models, as we call it, are the most suitable for your type of business essentially.
John Koetsier: Yes, yeah. So a lot of ad networks … they optimize based on conversions, which are fairly understood these days, but now that it’s some numeric value — you have 64 numeric values and of course there’s a timer on that, which we’ll get into as well — how do ad networks and advertisers get agreement, get on the same page about what they mean?
Eran Friedman: Yup. So that ties again to the area of standardization, right? If the ad network wants to optimize on, again, the KPIs of the business, then they need to understand exactly from the details that they’re getting those conversion values exactly. But the remaining, you know, when they get like the number 15, exactly what does 15 mean, right? So, yes …
John Koetsier: Well, it’s one more than 14.
Eran Friedman: Exactly.
So, definitely part of what SKAN is trying to, the conversion management system is trying to propose is the idea to again encode those values and then decode them for the ad network.
So essentially when the ad networks would get the results or pass the results, they would know exactly what’s the meaning behind it, and would be able to optimize accordingly. So that’s an important part of this solution.
John Koetsier: Excellent. And then hopefully the ad network would also know, hey, be able to correlate with other users that they might have, or other people they might be advertising to, and say, ’Okay, these types of users are going to be more interested in doing that sort of thing,’ and actually then better target your ads.
A question that a lot of marketers are going to ask and be asking themselves — and they’re going to obviously do a lot of testing on this as well — should you send conversion values as soon as possible? Do you want that data back as soon as possible? Or should you let it sit a little bit and accumulate a few more events and send it back a bit later? Any thoughts on that?
Eran Friedman: Yeah. So yeah, there’s definitely this complex timer mechanism that allows you to delay the postback by kind of accommodating more data and sending it in a single time, and sending the best value that you can provide the ad network. And there are some dilemmas that we see across the board from talking with advertisers and exactly what should be their approach.
And first of all, I think it’s not a one-size-fit-all. I think each one of the businesses can have like their own practices.
I would say that the guideline for me is to think about what’s the data that you need to make decisions, basically right, to understand if the install that you got is a quality level user. Some advertisers that we talk with, some of the more sophisticated ones that haven’t invested a ton in their BI have have an existing predictive LTV model, for example, that they can build on top of the first interaction, the first day of the user in that, right?
John Koetsier: Mm-hmm.
Eran Friedman: So that can definitely be, if you have that, then that’s great.
The conversion value management system can help you encode those predicted LTV values into those conversion values and then, you know, already optimized by the first day.
Others might need like a couple of days, three days or so, to get a bit more data based on that user. Again, to funnel into their predicted LTV models or just optimize on the kind of standard KPIs they get through these, like the retention, the level of engagement of those users, those specific events that they need to pass, like a registration or a login. So again, it all depends on the specific business I would say, but that’s why the conversion management system we’ve defined to be very customizable, right? I think that the important thing is to be very flexible and to try a lot of things and see what works.
John Koetsier: That’s a good segue actually, because now you’re starting to get data and you need to optimize based on the data. You built something into SKAN so you can kind of update or change your optimization method kind of on the fly, which is pretty interesting. Can you talk about how that works?
Eran Friedman: Yeah, sure. So I think there are a few elements here. First thing that I think is critical when using SKAdNetwork in general, and I think it’s a practice that all advertisers should consider is, there’s going to be a learning stage, right, for everyone to understand exactly how to use these conversions.
So our best recommendation is to make sure that you’re fit for fast learning, right?
If you would need to prioritize engineer development for the next release of the app to make a change in those conversion and codings, it’s going to be a nightmare. Like making changes to check your optimizations, that’s just going to take too long. So one of the ideas that again this conversion management system proposes, is to have it all live in the backend, right?
So basically communicate with an SDK, we’re supported of course built into our SDK, but with your app for that matter and communicating to the app from the server side exactly what conversion they want to optimize in. That allows basically [providing] the flexibility to understand exactly what type of changes we want to do with the conversions, have fast feedback loops based on their performance and make changes accordingly.
Then there’s also another piece in terms of if you want to make the learning even faster. If you think about it, you can basically simulate the results of those conversions already based on your existing data.
You don’t even have to already start sending those conversions to the ad networks. Essentially you could run queries based on the user level [data] that you’re getting to understand when, if you would use that type of model, what would be the conversion results, right? And then you could potentially compare between those different models and understand what is the best, the most accurate one to predict the user quality. So, you know, when we’re thinking in SKAN, we’re trying to propose different solutions and tools for you to experiment, test them side by side, choose the conversion values and iterate, right, to see what works best with time, because we feel it’s going to be a critical tool, a critical infrastructure for you to be able to optimize your campaigns.
John Koetsier: That’s super interesting because obviously with SKAdNetwork and iOS 14 just basically being imposed on the industry, you know, it’s tempting as you kind of mentioned off the top to go, ‘Oh wow, what are we going to do? This is horrible. This is awful. Everything is changing, everything we wanted, everything we needed is gone.’
And yet kind of what you’ve done here is, in this case and in several other cases, found a silver lining and said, ‘Hey, actually that helped us think at a different level and now we’re actually going to make it, you know, you can do virtual experiments on the data you already have and know what’s going on. And I bet I wouldn’t be surprised — I’m not going to ask you to commit to future product development here — I bet you you’ll kind of automate something like that in the future, which would be interesting.
And maybe even add some sort of like switch and let the machine decide, and it will switch to the most effective optimization method. But I won’t ask you to answer that.
Eran Friedman: Yeah, definitely a lot of room for innovation I think, based on this new infrastructure and definitely there’s a lot of ways you can kind of continue with that and do automation there and optimization. Super fascinating topic.
John Koetsier: Yeah, yeah. So you’re getting some data back. You got the install, you’re getting some post-install data. Now the initial install is cryptographically signed by Apple. So, you know, obviously Singular has pretty impressive fraud detection already and iOS hasn’t been historically as bad in terms of fraud as Android, so that’s a good thing on installs and knowing that, hey, I got an install and it’s a real install. I can check that cryptographically.
What about post-install events?
Eran Friedman: Yeah. So basically again, for every install that you’re going to get in SKAdNetwork that the ad network is going to get, there is only going to be a single postback that would say either an install or a conversion value if you’ve passed conversions.
And the big gap in SKAdNetwork today is that the conversion value isn’t signed by Apple, it’s not included in their cryptographic signature, which is a huge problem for fraud basically.
Think about it, the advertiser doesn’t get the data directly from the devices, data is sent directly to the ad networks. Then the ad networks show you or provide you the results but then the conversion values can easily be changed, and you know, the thing is the ad networks can basically — a bad actor could say like, ‘All of my conversions are just huge whales’ and you don’t have a way to validate it by default, right?
John Koetsier: Mm-hmm.
Eran Friedman: So definitely a huge issue. So obviously there’s ways to mitigate this and one of the proposed solutions in SKAN is, we call it kind of the secure setup or the secure SKAdNetwork solution, which it proposes the idea of the MMPs and the ad networks registering together to enable the MMP to get those conversions directly from the device and validate them, and basically pass them directly to the ad networks later on and to the advertiser.
And you know already, I don’t imagine that necessarily all of the ad networks would use that kind of setup, like a self attributing network. We probably use the same mechanism that they use today of obviously like self attributing the results.
John Koetsier: Yes, just trust us.
Eran Friedman: Right? But for everyone else if you want to experiment with other channels in the ecosystem, having this secure setup basically ensures that you have an unbiased third party which validates those conversions and ensures that you have data that’s protected from fraud.
John Koetsier: Yes.
Eran Friedman: So it also establishes the trust that’s needed to rely on these numbers essentially.
John Koetsier: That makes a ton of sense. I mean, I could tell all my teachers I got a 100% on everything, straight A every time, but yeah, without some proof, obviously some challenges.
So that’s quite a bit about SKAN and SKAdNetwork, and obviously iOS 14, but you know we’re talking about the whole entire ecosystem. iOS isn’t the only game in town. SKAdNetwork isn’t the only thing. There’s still Android around there, you still have the chance of getting an IDFA, and in some cases — we’ll talk about that, there’s a webinar coming out from Singular very soon where somebody is talking about getting IDFA in 70 to 80% of circumstances, which sounds crazy, but we’re going to hear more about that shortly.
Some also might do fingerprinting, even though that’s not kosher, and get caught and face repercussions for that. But you’re going to have a lot of data from a lot of sources across iOS and Android, and also within iOS from different types of sources.
How do you combine all that data together and make sense of it holistically?
Eran Friedman: Yeah, that’s a great question. And I think that’s kind of the last topic that SKAN also tried to provide solutions for it.
So definitely you need compatibility between the different methods, like you have today.
You need like still a single place to see all of your results and still work with the ad networks and that’s the same language. So SKAN proposes the same mechanism. So basically standardizing the integrations with the ad networks and relying on the existing integrations so you would have that SKAN-based data desk and it will base data side by side with everything else. So essentially for the end results, we’ll basically have an additional report, a new data set basically that you can get, again just in addition to everything else.
You don’t need to change anything right now in your existing setup.
You can add a new data set based on SKAdNetwork to try on side by side with everything else, and actually compare the results, like start learning about the new practices for this new world and think SKAN would allow you to do it in the most streamlined way, in a sense.
John Koetsier: Interesting, interesting. Okay. So that sounds great, that’s wonderful. Now you’re a high volume advertiser and you’ve got your own tech stack that you built internally for monitoring, for optimization, for decisioning, all that other stuff.
And this tech stack is built around IDFA granular data, existing vendors. What changes now?
Eran Friedman: Yeah. So definitely first of all, IDFA is still gonna remain maybe, you know, in a certain percentage or so I wouldn’t say delete everything and start from scratch. Definitely a tech stack is going to still be important, but my recommendation is start planning and building actually the internal infrastructure to be able to analyze and digest also aggregated level data based on SKAdNetwork.
And definitely I don’t feel that you need to build everything from scratch around SKAdNetwork because there’s definitely going to be tools. Obviously we’re working on some things and there’s various vendors that are working out there. So I won’t recommend like, you know, again, rebuilding everything from scratch.
But I would suggest start thinking about first of all analyzing aggregated SKAdNetwork data in your tech stack, and also figuring out what would be the best KPIs, and basically the best predicting indicators for you to pass in those conversion value management systems. And of course, obviously we’ll provide some tools to help you in that process, but yeah, that would be my first recommendations.
John Koetsier: Excellent, excellent. Well, we’ve pretty much covered everything. Anything else that you wanted to add about SKAN, not SKAdNetwork, but SKAN?
Eran Friedman: Right. So I think we covered the basics. The only thing maybe to add is that we’ve, Singular just released the SKAdNetwork-based SDK which supports all the capabilities we’ve been talking about in SKAN, basically as the standard.
So, and we definitely have some cool things to show just to demonstrate exactly how the results look like, right, when you, once you’ve bid on that. So if anyone is interested, we’d love to hear feedbacks from people and, you know, people can feel free to reach out to me personally or anyone in our team.
I’m eran@singular.net and I’d love to share some cool tricks.
John Koetsier: Wow, giving the full email out, that’s amazing. Well, thank you so much for your time. I really do appreciate it.
Eran Friedman: Awesome. Yeah, thank you for your time too, John.
John Koetsier: Excellent. Everybody else who’s watching, maybe on YouTube or you’re listening on your favorite audio podcasting platform. Thank you so much for being along. Have a wonderful day!