Apple’s latest iOS 14.5 updates have thrown app developers for a bit of a loop, as many wonder how the big focus on privacy will impact their tracking capabilities
The SKAdNetwork, which is Apple’s way of attributing ad performance to app installs, has always been privacy focused. It has provided conversion data to advertisers without actually sharing any user information on an individual, or even device-level data.
Knowing how to actually understand the conversions coming through the SKAdNetwork, however, is essential to getting the most out of this data and acting on it accordingly.
In this post, we’re going to review everything you need to know about the SKAdNetwork’s conversion values and how you can use this data to your benefit.
The conversion value is a specific number between 0 and 63 that contains information on whether an install/reinstall happened and if any post-install activity took place. In order to track your conversion value, the SKAdNetwork is essential. You need to have it implemented at app level so that you can connect the data between the click, the app download, and additional in-app conversions. An ad network like Google Ads, after all, could tell you that a user clicked, but without the associated in-app tracking, you’d have no way of knowing that there was a conversion tied to that click.
Each post-install action will be assigned a number between 1 and 63, which can then be tracked. The integer 0 is reserved for installs.
When users click on your ad and install your app, a 24-hour postback timer starts immediately. If a post-install event (PIE) occurs — like an in-app purchase is made or an account is created — then the timer resets to 24 hours. This happens every time an in-app, post-install event happens that updates your conversion value.
At the end of this period (when the timer reaches 0), the ad network will receive confirmation that the app was installed along with the highest conversion value.
There are two different methods for app developers to track data like CV with the SKAdNetwork. These are:
The two methods discussed above can either be set up manually by the app owner (which you can learn more about here) or implemented using popular app tracking systems.
With myTracker, for example, customers don’t need to worry about setting up and registering app installs with the SKAdNetwork, as SDK 2.1.2 allows installs for SKAN to register automatically.
Every time you update your conversion value, you reset the 24-hour clock that’s counting down to track the highest-value action that resulted from the click. This means that CV directly impacts your Install metric; the install data won’t be received by the ad network until after that timer reaches zero.
This is because the SKAdNetwork waits until all that information is in before they submit any data. Then, the network will wait a random period of time before registering the information so that it can’t be tracked back to an individual user by the marketer. This means that you won’t be able to tie installs to ads in real time, so give it a few days to get reliable data.
Here’s what happens without conversion updates tracking in place:
This means it may take 24-48 hours to receive information about an install from the point of installation.
When you are using CV to assess the efficacy of your campaigns, the following happens:
If the CV keeps getting updated just before the CV timer reaches zero, the maximum amount of time that it could take the ad network to receive the installation and conversion data could be up to 64 days from the time of the actual install.
The CV is just a number; there aren’t any additional details. That being said, it’s still crucial, because it’s the only info about the install and post-install actions that can be sent to the advertising network. The idea is that it’s used to determine the overall quality of result the campaigns drove instead of giving you detailed, individualized metrics.
Despite this, the thought that it might take days, weeks, or even months to get this information is enough to drive any app developer a little crazy. This isn’t what ad networks or advertisers want. As a result, most major players ask to limit the update time to within 24 hours of installation. This allows data to be received within 48 to 72 hours post-install.
With 64 options (from 0 to 63) at your disposal, you can measure revenue and pretty much any user actions during the day following the install.
After the release of iOS 14.5, mobile advertising market players and analysts had to come up with joint strategies to optimize SKAdNetwork-based ad campaigns:
By default, the CV = 0 at install.
If a user makes a $1 purchase, the CV = 1. A $2 purchase would then return a CV of 2, and so on.
This way, CVs can be used to measure revenue in the USD 0 to USD 63 range. But what if the minimum purchase exceeds USD 63?
Here, each number from 0 to 63 is represented by a range with, say, USD 10 increments.
That means CV = 1 for a $0–$10 purchase, CV = 2 for a $10–$20 purchase, etc.
You can configure CVs to return any numerical KPIs, not just revenue. But what about in-app actions like registration, level completion, sign-in, etc.?
This is where binary coding comes into play.
You don’t have to be a mathematician or a programmer to understand how this works. Think of it as a table lamp switch.
Lamp on – 1
Lamp off – 0
Any number can be represented through a switch combination. The bigger the number, the more switches you need.
63 can be written as a 6-bit binary code.
To give you a better understanding of the conversion values in a binary system, we have prepared a table:
|Number||Binary code||Number||Binary code||Number||Binary code||Number||Binary code|
So, our 64 options can all be represented with binary bits, which opens up new and more complex strategies of using conversion values.
In the same way that the light goes on with 1 and off with 0 in our lamp analogy, we can tell if an event took place within the app or not.
Say you want a conversion value to carry the following information:
So, we have six events and six switches, which we can use to inform ad networks of users’ post-install activity.
Let's say a user registers, signs in, completes a tutorial, reaches the first level, but does not make a purchase or invite a friend. Four bits out of six occurred, giving us 111100, which corresponds to 60 in the table and hence returns a CV of 60.
Knowing the binary coding, an ad network can decipher the incoming CV and use it to optimize the campaign.
The upside of this method is that you can transmit any six events from your app.
The downside is that the events you choose have to be supported by the ad network and be uniform across different networks because at the time of install you cannot know its source.
This strategy is similar to the previous one in that it still utilizes the same six bits, but now they are split into groups (in our case – two groups of three bits).
The first group can be dedicated to revenue:
000 – no revenue
001 – $5
010 – $10
011 – $15
100 – $20
101 – $25
111 – >$25
The second group of bits can be devoted to user in-game actions:
100 – registration
010 – completing a tutorial
001 – reaching level 5
This gives you an opportunity to send both revenue and event data in one fell swoop. For example, a user has made a $15 purchase, registered, completed a tutorial, and reached level 5.
The resulting binary value would be 011001.
Cross-reference it with the table and you get 25.
That means for this install iOS sends a CV of 25 to the ad network.
Keep in mind that the CV is sent at the time of the install, not after it. If you code in an event that cannot be completed within a day after install, for instance, “Daily launches for a month”, it will never come to pass.
If app owners configure CVs manually, then they also have to handle the binary conversion. They should understand what, how and in which order to assign to the available numbers.
This can also be configured using ad networks’ analytics systems or SDKs.
Installs are sent according to a random delay timer (0–24 hours) rather than at pre-arranged times, so when switching strategies you need to wait for all data under the old strategy to come in.
If you limit conversion updates to the first 24 hours, then a campaign needs to be suspended for 72 hours to make sure all installs under the previous strategy are received.
There’s a lot to consider when using SKAdNetwork’s CV tracking system.
The biggest advantages include getting more information about the quality of the installs coming from the ad network, the capacity for predictive analytics, and the ability to compare different ad networks.
There are disadvantages too, however. It increases the waiting time to receive information about installs, and the data is only sent with install data. It’s also essential that the strategy be the same within all parameters, otherwise, the CV could be interpreted differently through different ad platforms. This can make it difficult to use on your own.