Understanding Singular's Conversion Value Management

In the SKAdNetwork framework, the conversion value is a single number that is sent by a newly installed app to let the relevant ad network know that it has an install attributed to it. The value can be used to encode additional data. Singular can manage this automatically for you to give you focused and actionable campaign measurements.

For instructions on how to configure conversion models in Singular, see How to Get Started with SKAdNetwork and the Model Configuration FAQ.

What is the conversion value?

SKAdNetwork, Apple's framework for measuring mobile app install attribution without compromising the end-user's privacy, relies on the conversion value as a way to track a user's post-install activity and tie it to the install/re-engagement attribution.

The conversion value is a single number between 0 and 63 that is set by an app after it is installed. The app shares the number with Apple, who then includes it in the SKAdNetwork postback that is sent to the advertising network that was responsible for the app install or reinstall.

The app can update the value multiple times before it's sent (with certain limitations) but only the last value is included in the postback

This single postback, including this single number, is all the information that the network gets about the fact that an install/reinstall occurred - as well as about any post-install user activity.

In spite of these severe limitations, Singular's SKAdNetwork conversion management solution can encode several different pieces of information into this one number, giving you insights on:

  • Campaign ROI
  • Cohort analysis of post-install activity
  • User retention

What are the limitations on the conversion value?

Apple imposes the following limitations on using the conversion value:

  • Each install/reinstall results in only one SKAdNetwork postback, containing one conversion value. The postback is sent automatically.
  • There is an initial time window of 24 hours to set the conversion value before SKAdNetwork sends the postback. 
  • However, every time the app updates the conversion value, the time window is extended by 24 hours.
  • To update the conversion value it must be increased (you cannot change it from 30 to 20, for example - SKAdNetwork will not accept the new value).

Why are some conversion values censored?

In order to maintain user privacy, SKAdNetwork sometimes censors data in the postback they send. They either censor the ad publisher, or both the publisher and the conversion value. This censoring is based on the number of installs, which means they censor data when there is a small group of users to prevent them from being uniquely identified.

This decision is made at the time of install and is unrelated to user activity within the app itself. Singular estimates that the threshold is 10-15 installs per SKAN Campaign ID in a 24-hour period.

Note: An ad network campaign may contain multiple SKAN Campaign IDs that use different ad sets based on targeting metrics such as location, age, language, etc. While your network installs might be above the threshold, you may still see heavy censoring based on the number of installs per SKAN campaign ID.

You can use the Source, Campaign Name, SKAN Campaign ID, and Installs dimensions in Singular’s Raw Data Report to see how many campaign IDs are being used by your ad network per campaign, and how many installs each campaign ID has. Be sure to verify the date period that you are looking at.

To minimize the effects of censoring, you would need 25-30 installs in the same time period. Since the decision is made at the time of install, some censoring is unavoidable.

Singular now offers Conversion Value modeling to extrapolate censored data. See SKAdNetwork Advanced Analytics: FAQ and Troubleshooting.

How can the conversion value be used to encode campaign performance data?

Even though the conversion value is a number between 0 and 63, Singular has ways to encode a lot of information about the install and the user's post-install activity into that single number.

Once the device sends the conversion value postback to the network, which forwards it to Singular, Singular decodes the value and translate it into useful campaign performance metrics that are displayed in your reports, postbacks, data destinations (ETL) exports, etc.

The conversion value can be modeled with a 6-bit array, where each bit holds the value 1 or 0. If you multiply the content of the bit by 2 to the power of the location of the bit, you get a number between 0 and 63 that uniquely describes the array.



You can have Singular use the conversion value to encode information about whether the user has completed several post-install events (you define the events in your Singular SKAdNetwork dashboard). Each event is allotted a bit. The bit is set to 1 if the event has occurred at least once.

In the example below, the user has signed up, reached level 2 of the game, and watched a video tutorial. Singular encodes this information as follows:


Once the device sends the conversion value postback to the network, which forwards it to Singular, Singular decodes the value (37) based on your SKAdNetwork settings and knows that:

  • An install is attributed to network X
  • After installing, the user has signed up, reached level 2, and watched a video tutorial.

Note: The different ways of encoding user activity into the conversion value are called conversion models. The method shown above, which focuses on specific pre-defined events, is only one possible conversion model. Singular offers several different conversion models and you can choose the model that gives you the most relevant information for your business and your KPIs.

How can I manage the conversion value from the back end?

Singular's SKAdNetwork solution allows you to manage your conversion value model on the server side. This means you can switch between conversion models (different ways to encode information into the conversion value) through the dedicated dashboard. Having implemented the SKAdNetwork solution included in the Singular SDK, you do not need to change your app code to experiment with different conversion models.

The flow for conversion value management is as follows:

  1. The Singular SDK in your app sends user sessions and events to the Singular servers. 
  2. The Singular servers encode this information based on the conversion model you've selected, and send back a conversion value.
  3. The SDK updates the conversion value by implementing the appropriate Apple SKAdNetwork API calls.
  4. Once the SKAdNetwork timeout elapses (you can influence this by setting a measurement period), the device sends a postback to the ad network containing the conversion value.
  5. The ad network forwards the conversion value to Singular.
  6. Singular decodes the conversion value and extracts the user event and revenue information which can then be displayed in your reports.

Note: SKAdNetwork information will be displayed in a different set of reports, APIs, ETL tables, and postbacks, which will allow you to measure and test SKAdNetwork side by side with your existing campaign optimization efforts.

What is a "conversion model"?

A conversion model is a way to encode some information about the user's post-install activity into the very limited space of the conversion value. Each conversion model emphasizes a specific type of information and leaves out other types of data.

When you select a conversion model, you select which information will be available to you about the post-install activity of your users. Choose the conversion model that best matches your KPIs and campaign optimization processes.

What conversion models does Singular offer?

In your Singular SKAdNetwork dashboard, you can choose one of the following conversion models:

For more information, see the SKAdNetwork Model Configuration FAQ.