The Complete Guide to SKAdNetwork Conversion Value

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.

What is Conversion Value (CV)?

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.

How Your Conversion Value is Tracked and Displayed

There are two different methods for app developers to track data like CV with the SKAdNetwork. These are:

  • registerAppForAdNetworkAttribution (). When a user first opens the app after installation, this is counted as a conversion. This is needed to attribute app installs to a particular source.
  • updateConversionValue (). This is used to track PIEs like upgrading to a paid version of the app or making other in-app purchases. You can track up to 63 different actions, and they’ll be given a number between 1 and 63 that’s directly tied to the PIE data. App developers need to notify the ad network what value each integer corresponds to, making the data more actionable.

How to Implement These Tracking Options

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.

How Does Conversion Value Impact Install Tracking?

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.

What Happens with Install Tracking Without CV?

Here’s what happens without conversion updates tracking in place:

  • A user installs the app.
  • This is registered by the SKAdNetwork.
  • The timer is set for 24 hours and begins its countdown.
  • After the first timer is finished, the second will begin to randomize when the install data is sent; this will happen within 0-24 hours.
  • The install is sent to the SKAN and to the advertising network, becoming visible to the advertiser and the app developer.

This means it may take 24-48 hours to receive information about an install from the point of installation.

What Happens When Conversion Updates Do Happen?

When you are using CV to assess the efficacy of your campaigns, the following happens:

  • A user installs the app.
  • The install is registered for SKAN.
  • That 24-hour postback timer begins its countdown.
  • At some point, a CV event occurs.
  • At this point, the timer is reset.
  • Once the timer reaches zero, the second begins to randomize the sending of the install; this happens within 0-24 hours.
  • The install + CV is sent to SKAN and to the advertising network.

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.

If It’s Just a Number, Why Does It Matter?

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.

Making Conversion Values Work for You

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:

Basic strategy 1: Conversion value = revenue

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?

Basic strategy 2: Conversion value = revenue band

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.

Advanced Strategies: Binary Measures

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:

NumberBinary codeNumberBinary codeNumberBinary codeNumberBinary code
0000000160100003210000048110000
1000001170100013310000149110001
2000010180100103410001050110010
3000011190100113510001151110011
4000100200101003610010052110100
5000101210101013710010153110101
6000110220101103810011054110110
7000111230101113910011155110111
8001000240110004010100056111000
9001001250110014110100157111001
10001010260110104210101058111010
11001011270110114310101159111011
12001100280111004410110060111100
13001101290111014510110161111101
14001110300111104610111062111110
15001111310111114710111163111111

So, our 64 options can all be represented with binary bits, which opens up new and more complex strategies of using conversion values.

Advanced strategy 1: Six different in-app events

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:

  1. Registration
  2. Sign-in
  3. Tutorial completion
  4. First level-up
  5. In-app purchase
  6. Invite to a friend

So, we have six events and six switches, which we can use to inform ad networks of users’ post-install activity.

  1. Binary of 32 – 100000
  2. Binary of 48 – 110000
  3. Binary of 56 – 111000
  4. Binary of 60 – 111100
  5. Binary of 62 – 111110
  6. Binary of 63 – 111111

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.

Advanced strategy 2: Split

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.

Who codes and decodes conversion values?

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.

Why a change of strategy requires campaign suspension

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.

Final Thoughts: The Pros & Cons of Using CV

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.

pros and cons of skadnetwork

That being said, you can use tools like myTracker to collect and view CV analytics so you can get stronger, more accurate, and actionable data to optimize your campaigns moving forward. 

Contents