SKAdNetwork 4.0 is an updated version of Apple's SKAdNetwork framework, designed to allow advertisers to share more information about app installs and users' post-install activity with the advertising network while preserving user privacy.

SKAN 4.0 uses a system of three postbacks per install, each of which includes varying amounts of information based on Apple's privacy thresholds.



Table: The SKAdNetwork 4.0 Postback Schedule


What are the main changes in SKAN 4.0?

Multiple Postbacks

SKAdNetwork 4.0 sends up to three postbacks per install (depending on the crowd anonymity thresholds - see image above) , giving you a view into user activity up to 35 days after the install.

However, only the first postback, which measures user activity up to 2 days after the install, includes a fine conversion value as we know it from SKAN 3.0.

Two Types of Conversion Values

Instead of one type of conversion value, SKAN 4.0 postbacks may include either of the following:

  • Fine conversion value: the 0-63 conversion value used until now
  • Coarse conversion value: only has three possible values - low, medium, and high.

Only the first postback, which measures user activity up to 2 days after the install, may include a fine conversion value. The subsequent 2 postbacks can only include a coarse conversion value.

Source ID (Instead of the Campaign ID)

Instead of a campaign ID, SKAdNetwork now supports a 4-digit Source ID that can be used to encode both a campaign ID and additional information. This dimension replaces in SKAN 4 the SKAN campaign ID which was used in older versions of SKAN. 

Depending on the level of anonymity (as determined by Apple's privacy thresholds), the Source ID actually included in a postback may include only the first 2 or 3 digits.

What is the coarse conversion value?

The coarse conversion value is designed to provide some information about the user's activity for a longer period after the install, while still preserving user privacy.

This type of conversion value only has three possible values: "low", "medium", and "high". You can assign meanings to each of these values when you configure your conversion model.

  • The first postback sent for a SKAN 4.0 install may include the normal (fine) conversion value (0-64), a coarse conversion value, or no CV at all - deepending on privacy thresholds.
  • The second and third postbacks can only include a coarse conversion value or no CV, deepending on privacy thresholds.
What is the SKAN 4.0 postback schedule? What data does each postback include?

The following table summarizes the functionality of the 3 postbacks sent for each install.

Note that the information included in each postback depends on crowd anonymity -- Apple's privacy thresholds. High-volume campaigns have high crowd anonymity and can be expected to give you the maximum amount of information possible for each postback.


What is the structure of a SKAN 4.0 postback?

Here is an example of a SKAN 4.0 postback:

    “version”: “4.0", 
    “ad-network-id”: “com.example”, 
    “source-identifier”: “5239", 
    “transaction-id”: “sdgsdfgsdf-0170-4243-bbe4-whruf",
    “app-id”: 525463029, 
    “attribution-signature”: “sfsdfgdsgwert“, 
    “redownload”: true, 
    “source-app-id”: 1234567891, 
    “fidelity-type”: 1, 
    “did-win”: true, 
    “coarse-conversion-value”: “high”, 
    “postback-sequence-index”: 0, 
    “skan_ip”: “”, 
    “skan_timestamp”: 1601555400, 
    “adn_campaign_id”: “102", 
    “adn_campaign_name”: “My Campaign” 

The new SKAN 4.0 fields are:

Postback Field Description Field Name in Singular's User-Level Logs
postback-sequence-index Whether this is the first, second, or third postback (P1, P2, or P3) sent for the install. The possible values are 0, 1, and 2, respectively. SKAdNetwork Sequence Index
coarse-conversion-value The coarse conversion value is included in P2 and P3, and may be included in P1 if the fine conversion value is not available due to privacy thresholds. The possible values are "low", "medium", and "high". SKAdNetwork Coarse Conversion Value
source-identifier The Source ID, which contains 2, 3, or 4 digits, and replaces the older Campaign ID. See How does the Source ID work? SKAdNetwork Source Identifier
How does the Source ID work?

Instead of the Campaign ID, SKAN 4.0 postbacks include a Source ID field that can include up to 4 digits.

The network partner can choose what information to encode in the digits of the Source ID.

The actual number of digits included in a postback may be 2, 3, or 4, determined by Apple's privacy thresholds. Low-volume campaigns may be considered low anonymity and therefore yield only 2 digits of the Source ID. High-volume campaigns provide a high level of anonymity and therefore are expected to yield the full 4 digits of information in the first postback sent after an install.


In the following example, provided by Apple, 2 digits of the Source ID are used to encode the campaign ID, the 3rd digit is used to encode location, and the 4th encodes ad placement. Based on the anonymity level of the campaign (low, medium, or high), postbacks may include 2, 3, or 4 digits.


(Graphic: Apple)

How do I configure conversion models for SKAN 4.0?

As in SKAN 3.0, you configure conversion models for SKAN 4.0 in the Singular app (at SKAdNetwork > Model Configuration). See How do I configure a new conversion model? for a general outline.

Differences Between SKAN 4.0 and SKAN 3.0 Models:

  1. When configure your SKAN 4.0 model, you configure the model-specific settings (e.g., the revenue buckets) for each of the 3 postbacks separately.

    Singular provides a wizard to help you with the new, three-part model definition flow.


  2. For the first postback (P1), you need to configure both the fine conversion value (0-63) model as well as the coarse conversion value model ("low", "medium", or "high"). The 1st  postback (P1)  may include the fine value, the coarse value, or no value.

    The following screenshot shows an example of configuring revenue buckets for both types of conversion value.


  3. For the second and third postbacks, you only need to configure a coarse conversion value model. These postbacks will never include a fine conversion value.


How can I make my conversion model compatible with both SKAN 3.0 and SKAN 4.0?

When creating a new SKAN 4.0 model or migrating an older model to SKAN 4.0, you have the option to select “I’m running both SKAN 3 and SKAN 4 campaigns" under SKAN Compatibility Mode.

Screenshot 2023-09-06 at 16.14.27.png

Enabling SKAN 3 compatibility mode shortens the P1 measurement period to 24 hours post-install. This means that Singular will only update the conversion values in the 24 hours after install. This ensures that any SKAN 3.0 campaigns you still have running, will have consistent data as they are still only gathering information about the user behavior in the  first 24 hours.  

Notably, using the SKAN 3 compatibility mode,  reduces the amount of data you can collect about users in SKAN 4,0 campaigns. This means that if there is a SKAN 4.0 campaign, we will still only collect data for the 1st 24 hours, and we will not update conversion values between hours 24 - 48.  However, you can leverage additional SKAN 4 features such as Coarse conversion values in P1, as well as P2 and P3 postbacks.

By choosing SKAN 3 compatibility mode, you can enjoy the best of both worlds, making the migration process smoother while taking advantage of the enhanced capabilities of SKAN 4.0.

Which conversion models does Singular support for SKAN 4.0?


The following models are supported:

Postback 1 (P1) models:

  • Conversion Events
  • Revenue
  • Funnel
  • Engagement
  • Mixed:

    • Funnel and Revenue

    • Events and Revenue

Postbacks 2 and 3 (P2/P3) models:

  • Conversion Events
  • Revenue