AdsBalance

What is Apple SKAD network and how post-IOS 14.5 mobile attribution works?

On April 26th 2021 Apple released IOS 14.5, which is said to have changed the mobile advertising market forever. The main issue is the new IDFA rules that impact the ad tracking heavily.

As we all know, Apple states they value user data privacy above all. That is one of their USPs, and from time to time it has to be reconsidered, proved, enhanced/upgraded.  Steve Jobs told once in his interview to All Things digital as early as in 2010. This is one of the foundation stones of the ecosystem, and this make the most drastic difference from Google and Facebook who earn from user data.

We have a whole article dedicated to the new IDFA rules, but, in short, IOS will no longer allow the default app usage data collection: users will have to opt in for each app extended permissions.

What Is IDFA?

IDFA (The Identifier for Advertisers) is the unique number assigned to every Apple device. Companies such as Appsflyer, Adjust, Singular, Kochava and others use this number to assign the app install to a specific ad campaign. For example, Facebook saved IDFA when showing their ads inside their own apps. As users head to App Store to install the app, follow the necessary steps, and inside the newly installed app the Facebook SDK enable. It matches the IDFA of the “installation user” with the “ad viewer IDFA” . This is as simple as it sounds, but the technology itself allows to track any, absolutely any in-app actions, including purchases. All the user acquisition analytics is (was, maybe1) based on the IDFA. Now the advertising market will have to think of something else.

To provide the industry with a legit tracking solution and also to smooth over the consequences of the controversial decision Apple have introduced their own technology – SkAd network.  

What is SkAd network?

In general, SkAd is the API for ad networks. According to their own websites, this API involves three participating sides:

  1. Ad networks that sign ads and receive install-validation postbacks after ads result in conversions

 

  1. Source apps that display ads provided by the ad networks

 

  1. Advertised apps that appear in the signed ads

 

It appeared as early as in 2018, but didn’t gain popularity due to a huge number of restrictions. It sends conversion data to advertisers’ tracking systems without sharing any user or device information. It has plenty of limitations, like granular tracking. Think of all the data placed into a sandbox where it is processed, with a limited number of parameters to be let go outside. 

The most important restrictions include:

  • limited granularity in campaign efficiency analysis.  (Data granularity, according to MeasurementMojo, is the level of detail considered in a model or decision making process or represented in an analysis report. The greater the granularity, the deeper the level of detail. Increased granularity can help you drill down on the details of each marketing channel and assess its efficacy, efficiency, and overall ROI)
  • the absence of timestamps (basically that means you will never know the exact conversion time)
  • timers (will explain below)
  • the one and only 6-bit postback. 

What are timers and how do they work? 

 1) A user opens the app which shows the ad. Before the ad is displayed the app sends the advertisement info to the ad network (ad type, basic user info, type of ad interaction, like click of impression)

 2) The ad network returns Skad Network signature and ad parameters (usually the campaign ID, this is how attribution works). We’ll talk of the details on our webinar dedicated to IOS 14.5 so don’t miss it! Or, at least, the record)

 3) After at least 24 hours (depends on the postback settings) SkAd sends the install data to the ad network. After anything valuable happens, the timer is set to 24 hours again before the new portion of info is sent to the network. Sounds confusing? Technically, it’s as follows:
The 24-hour timer is reset each time the updateConversionValue() method is fired with a 6-bit value that is higher than the 6-bit value currently recorded. (no info on the 6-bit value yet, but please be patient and wait for a couple more lines!). So, as a conclusion: it’s a very long and un[redictable time vs. the previous real time.

A user opens the app which shows the ad. Before the ad is displayed the app sends the advertisement info to the ad network (ad type, basic user info, type of ad interaction, like click of impression)
The ad network returns Skad Network signature and ad parameters (usually the campaign ID, this is how attribution works). We’ll talk of the details on our webinar dedicated to IOS 14.5 so don’t miss it! Or, at least, the record)

After at least 24 hours (depends on the postback settings) SkAd sends the install data to the ad network. After anything valuable happens, the timer is set to 24 hours again before the new portion of info is sent to the network. Sounds confusing? Technically, it’s as follows:
The 24-hour timer is reset each time the updateConversionValue() method is fired with a 6-bit value that is higher than the 6-bit value currently recorded. (no info on the 6-bit value yet, but please be patient and wait for a couple more lines!).

So, as a conclusion: it’s a very long and un[redictable time vs. the previous real time.

There’s no one like Appsflyer to picture this

So what on Earth are 6-bit postbacks and how do they operate?  

Those postbacks derive from a single parameter — conversion value. That is the, we daresay, most important parameter Apple sends to advertising platforms.
The conversion value is a 6-bit value, constitute by 6 characters, and each of the characters can only take the value of 1 or 0. Sounds a bit familiar, right? Anyway, basic maths tell us there can be 64 options for that value (2^6), where 111111 is the “highest” and 000000 is the lowest.

Conversion Value is a parameter that was added to the SKAdNetwork 2.0 postback that is sent from Apple to the ad network that sourced the user to the app. The conversion value is a 6-bit value; a 6-bit value is a sequence of six characters, each of which can only contain either a 0 or 1. Basic maths tells us this 6-bit value can be presented in 64 combinations. (2^6 = 64).

That sounds easy, but it gets more complicated when we decide what kind of information is the most important for you to be written in that value. For example, we can use all of those 6 bits for passing the revenue parameter. If we state that one value (sorry for “values” overload!) equals to $1, we can pass revenues from $1 to $64, however, we can assign the value of $10 to the parameter, which makes is $1-$10, $11-20 to $621-620 and $631 to eternity. Sounds tolerable, yet rather frustrating, what do you think?

Hardships start when you have many more types of parameters to pass. You can divide those 6 bits into groups, 3 bits for two parameters, 2 bits for three, etc (not exactly et cetera since the number of relevant combinations is limited here). You can encode the number of daily sessions, the level players reach, whatever is of importance for you.


The majority of ad networks and ad tracking systems have already stated their compliance with SkAd 2.0, and most of those use postbacks, while there are the traditional game-changers — Google and Facebook who use Reporting AP

That’s only a brief description of how everything works from now on.
If you want to know more, subscribe to our updates and don’t miss a record of our webinar fully dedicated to IOS 14.5 consequences for mobile app marketing and how to tackle them.

  • If you need further details and insights, just drop us a line and we’ll define the strategy that fits you most and take a closer look at the bottlenecks of your user acquisition funnel 🙂 

Related articles