Languages 
  • English
  • 中文
  • 日本語

SKAdNetwork settings

SKAdNetwork is Apple’s own attribution framework for app installs and reinstalls. This means that Apple performs attribution and notifies the relevant ad network, who then sends a callback with the data to Adjust. Adjust aggregates and reports the data from all your ad networks. 

Adjust’s support for the SKAdNetwork framework lets you set up SKAdNetwork conversion and event mapping easily in Adjust. You can also collect SKAdNetwork raw data to leverage and analyze for campaign optimization.

Before you begin

Here’s what you need to know before getting started. 

Requirements

Helpful information

  • You can set up SKAdNetwork on your own or with Adjust. When you work with Adjust, you can control everything from your Dashboard and do not need to update your app code to make changes. Your setup method will also determine how you view your conversion value data in Adjust. 

How it works

The SKAdNetwork leverages App Store download data to perform attribution. This means there is no device-level data tracked or shared, and that your SKAdNetwork data is separate to your Adjust-tracked data. 

After an install or reinstall, Apple lets you use conversion values to identify in-app events triggered by the user. For example, completing a level or making a payment. 

What is a conversion value?

The conversion value is a 6-bit value. It contains six numeric characters, which can only be 0 or 1. A 6-bit value can take 64 different values: 0 - 63.

Min: 000000 [0]
Max: 111111 [63]

The registerAppForAdNetworkAttribution() method is called at app open. This starts a resettable 24-hour timer. If the updateConversionValue(_:) method is called before that timer ends, for example when a user triggers a specified event, the conversion value is updated to a higher value. The timer is then reset for another 24 hours. 

Once 24 hours pass with no conversion value update, another random timer of up to 24 hours starts. When it ends, Apple sends the final conversion value in a postback to the attributed ad network. 

Important: SKAdNetwork attribution data is never shared in real-time. Due to the timer that is activated when a method is called, there will always be a minimum 24-hour period between an install and the postback to the attributed ad network.

Manage SKAdNetwork with Adjust

With Adjust you can select up to 6 events that will trigger a conversion value update. These are custom events that can only be mapped once. 

When a user triggers a mapped event, the Adjust SDK tracks it and sends it to the Adjust backend. The Dashboard event mapping is read and returns the corresponding conversion value, which the SDK uses to call the updateConversionValue(_:) method. 

Adjust receives Apple’s postback data from an ad network, and we decode the conversion value to reflect the actual events in our reporting.

Here’s what the process looks like. 

Add Adjust event tokens to your app

Select up to 6 unique events you want to track with the SKAdNetwork. Adjust can report how many users trigger each event; we cannot track how many times a user triggers one event. 

Important: SKAdNetwork will only share the event’s conversion value if the installed app provides it and if it meets Apple’s privacy threshold. 

The events you select should be events you’ve already set up in your Dashboard. You can use existing events, but if you want to set up new events, check Basic event setup. When you set up new events, remember to ask your developer to add the event tokens to your app. 

Set up conversion value event mapping

To set your SKAdNetwork conversion value event mapping in Adjust, follow these steps. 

  1. Find your app and select the app option caret (^)
  2. Select All Settings > iOS 14 support > SKAdNetwork settings
  3. Turn ON Conversion value management 
  4. Add up to 6 events
  5. Select Save

Great, Adjust now manages SKAdNetwork conversion values and maps them to events. 

View aggregated SKAdNetwork data

You can see your aggregated SKAdNetwork data in the Adjust Data Studio. For more information about how to use this, read our dedicated Adjust Data Studio guide

Set up SKAdNetwork raw data export

To receive SKAdNetwork attribution updates in your raw data, use the dedicated activity type: SKAdNetwork. Note that this is not included in your global callback by default. 

Depending upon your data export method, update your CSV definition or callback URL with the following supported placeholders. Be aware that Apple uses two versions of the install validation postback. 

  • Version 1 is used if the source app uses a pre-iOS 14 SDK, or if the advertised app runs earlier than iOS 14 

For more information about the parameters passed in Apple’s postback to ad networks and their availability with different versions, read Apple’s documentation

PlaceholderDefinition
{sk_ts}A UNIX timestamp (in seconds) of when the original postback was received by the ad network
{sk_payload}The complete SKAdNetwork payload received from Apple (URL encoded)
{sk_version}The postback version sent to the ad network
{sk_network_id}The ad network identifier
{sk_campaign_id}The campaign ID provided when displaying the ad
{sk_transaction_id}A unique value for this validation; use for deduplicating install validation messages
{sk_app_id}The item identifier of the advertised product
{sk_attribution_signature}Apple’s attribution signature
{sk_redownload}

A Boolean flag indicating if the customer redownloaded and reinstalled the app

[true/false]

{sk_source_app_id}

The item identifier of the app that displayed the ad

Note: The source app ID appears only if the installed app provides it, and if providing the parameter meets Apple’s privacy threshold.

{sk_conversion_value}

An unsigned 6-bit value that the installed app provided

Note: The conversion-value appears only if the installed app provides it, and if providing the parameter meets Apple’s privacy threshold.

{campaign_name}Campaign name as it appears in the extended SKAdNetwork postback
{adgroup_name}Adgroup name as it appears in the extended SKAdNetwork postback
{creative_name}Creative name as it appears in the extended SKAdNetwork postback
{tracker}6 character Adjust tracker token

Manage SKAdNetwork without Adjust

If you choose to manage your SKAdNetwork settings yourself, be aware of the following points. 

  1. Your app developers need to call the SKAdNetwork registerAppForAdNetworkAttribution() method at app open 
  2. Developers should define what each conversion value means within the app
  3. Adjust only reports the conversion value as it is received from the ad network. This will be a value between 0 - 63 as found in the network payload. 

Example ad network payload: 

{
 "version" : "2.0",
 "ad-network-id" : "com.example",
 "campaign-id" : 42,
 "transaction-id" : "6aafb7a5-0170-41b5-bbe4-fe71dedf1e28",
 "app-id" : 525463029,
 "attribution-signature" : "MDYCGQD0AdGn5gUnSuVGk8Wi0IgxzWiKdBzwJrQCGQCJfkrI5bda93EC4Xm1H+MtNxstFmnVBn0="
 "redownload": true,
 "source-app-id": 1234567891
 "conversion-value: 20
}