Apple payload structure

Use the Apple payload structure to send information from the SKAdNetwork payload and any additional campaign information to Adjust.

Adjust supports Apple's JSON SKAdNetwork payload structure.

Before you begin

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

Requirement

Ensure that you receive the SKAdNetwork payload from Apple with the following parameters:

  • version
  • ad-network-id
  • campaign-id
  • transaction-id
  • app-id
  • attribution-signature
  • redownload
  • source-app-id
  • conversion-value
  • fidelity-type (SKAdNetwork version 2.2 and later)
  • did-win (iOS 14.6 and later, SKAdNetwork version 3.0)
  • coarse-conversion-value (iOS 16.1 and later, SKAdNetwork version 4.0)
  • source-identifier (iOS 16.1 and later, SKAdNetwork version 4.0)
  • postback-sequence-index (iOS 16.1 and later, SKAdNetwork version 4.0)

Example:

{
  "version" : "2.2",
  "ad-network-id" : "com.example",
  "campaign-id" : 42,
  "transaction-id" : "6aafb7a5-0170-41b5-bbe4-fe71dedf1e28",
  "app-id" : 525463029,
  "attribution-signature" : "MEYCIQDTuQ1Z4Tpy9D3aEKbxLl5J5iKiTumcqZikuY/AOD2U7QIhAJAaiAv89AoquHXJffcieEQXdWHpcV8ZgbKN0EwV9/sY",
  "redownload": true,
  "source-app-id": 1234567891,
  "fidelity-type": 1,
  "conversion-value": 20,
  "did-win": true
  "coarse-conversion-value": "high" 
  "postback-sequence-index": 0
  "source-identifer": "5239"
}

Create the Apple payload structure

You need to append supported Adjust campaign parameters to the Apple SKAdNetwork payload and send the SKAdNetwork install postback to Adjust.

Follow these steps to create the Apple payload structure:

  1. Append additional information to the Apple SKAdNetwork payload.
ParameterDescription
adjust-tracker6/7-character Adjust link token
adjust-campaignAdjust campaign name
adjust-campaign-idAdjust campaign ID
adjust-adgroupAdjust adgroup name
adjust-adgroup-idAdjust adgroup ID
adjust-creativeAdjust creative name
adjust-creative-idAdjust creative ID
timestampUNIX timestamp (in seconds) at which you received the original postback from Apple.
If this value is empty, then Adjust falls back to the time at which we received the postback from you.
countryTwo character country code showing the install location.
If this value is empty, then Adjust reports it as “ZZ” (or “Unknown” in the aggregated reporting).
  1. Use the HTTP POST method with Content-Type: application/json to send information to Adjust.

Adjust receives the following information:

Example:

URL: https://app.adjust.com/skadnetwork/<sk_network_token>

Body:

{ 
"source-app-id" : 123456789, 
"app-id" : 987654321, 
"attribution-signature" : "xxxxxxxxxxxx",
"campaign-id" : 1, 
"transaction-id" : "6aafb7a5-0170-41b5-bbe4-fe71dedf1e28", 
"conversion-value" : 1,
"fidelity-type": 1, 
"version" : "2.2", 
"ad-network-id" : "xxxxxxxxx.skadnetwork", 
"redownload" : true, 
"coarse-conversion-value": "high" 
"postback-sequence-index": 0
"source-identifer": "5239"
"adjust-tracker": "abc123",
"adjust-campaign": "test_campaign_name", 
"adjust-campaign-id": "test_campaign_id", 
"adjust-adgroup": "test_adgroup_name", 
"adjust-adgroup-id": "test_adgroup_id", 
"adjust-creative": "test_creative_name", 
"adjust-creative-id": "test_creative_id", 
"timestamp": 1597151456,
"country": "de",
"ip-address": "10.10.10.10", 
"user-agent": "App Store"
 } 

Here, user_agent is the user agent from the SKAdNetwork payload. However, we recommend that you send the actual browser user agent. For example: Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5