Background

According to iOS 14 new privacy policy, most carriers need to follow Apple's ATT (App Tracking Transparency) to get users' approve before tracking IDFA. If users don't allow tracking, then we need to use SKAdNetwork to do attribution tracking instead.

In order to enable customers to use the third-party monitoring, FuseClick also support tracking with AppsFlyer, Adjust, Branch, Kochava and other 3rd-party companies to ensure the consistency of customer data;


General SKAdNetwork Set up

  • Create SKAdNetwork

Firstly, you need to register with Apple Developer. After registration, you will be able to obtain your ad network ID from Apple. In order to verify the verification process of APP install, channel developers need to put the ad network ID in their app's information property list.
Secondly, the private key and public key need to be generated. On the ad network server, this set of keys will be used to generate the signature; Next, please use the signature to set the value of the <SK Store Product Parameter AdNetwork Attribution Signature" parameter.
 
Set up SKAdNetwork:Go to Advertisers->SKAdNetwork-> Create SKAdNetwork:
Title:SKAdNetwork name
SKAdNetwork ID:Put your/your customer's SKAdNetwork ID。
Private Key:Put private key
Public Key:Put public Key
 
Figure1:The SKAd Column Page
 
Figure2:Cet up SKAdNetwork

1. Create Advertiser, linked with SKAdNetwork

  • When creating new advertiser, you need to choose SKAdNetwork; if SKAdNetwork is not created at this page, you could click on <Add> to jump to the create page.

Figure3:the add link will redirect to SKAdNetwork creation page
  • For existing Advertiser, you could add SKAdNetwork setting in the detailed page, select created SKAdNetwork or add new SKAdNetwork.

Figure4:Link SKAdNetwork with existing advertiser
 

2. Create offer

  • When creating offer, choose conversion tracking protocol as SKAdNetwork,must put APP ID(this must be number);

Figure5:Create SKAdNetwork offer

3. Create campaign;

  • Campaign->Create Campaign , after set up offer, approve it to Affiliate to generate campaign:
 
Figure6:Create SKAdNetwork Campaign

4. Link Apple & Fuse Campaign ID

  • In Advertisers->SKAdNetwork-> Associate Campaign ID List, link Apple with Fuse Campaign ID, link Apple with Fuse Campaign ID,you can choose Sub Affiliate as well(optional, one sub affiliate per line). Currently Apple allows each campaign links with maximum 100 traffic sources.

Figure7:SKAdNetwork-> click on link sign
 
Figure8:Each line only link with one Sub Affiliate
 
Apple Campaign ID:Apple provides Campaign ID, Apple allowed each campaign to creat maximum 100 traffic source.

Fuse Campaign ID:FuseClick provides linked advertisers Campaign ID;
  • SKAdNetwork Postback
Click on postback to get the link like this (don't need to put your token here, you could just use this pb)
http://Advertiser.domain.com/skad
Figure9:Example of SKAdNetwork postback
 
SKAdNetwork send by POST in JSON format,including the following message:
Version: The version of the SKAdNetwork API. The latest is 2.2.
Ad Network ID: Your ID inSKAdNetwork if you're a direct Advertiser or ID of your Advertiser, who uses SKAdNetwork.
Campaign ID: the campaign ID you've set up on the SKAdNetworked it page in FuseClick.
Transaction ID: the ID of the conversion (unique for each conversion regardless of anything).
App ID: the ID of the application that should exist in the offer in FuseClick.
Attribution signature: your personal/your Advertiser's Private key that should exist in SKAdNetwork profile in FuseClick.
Redownload: a flag that indicates the end-user redownloaded and reinstalled the application.
Source App ID: the ID of the application in App Store, which contains an advertisement.
Conversion value: the Conversion value.
Fidelity type: indicates whether the install was generated via an impression or a click.
 

5. Data postback verification process

FuseClick received postback and checked for required parameters: ad network ID, Apple App ID (consistent with app ID in offer detail), campaign ID. In order to verify that the request is from apple, the signature must be verified. Apple's public key is used to decode the signature and compare the decoded information with the byte array reconstructed with the same parameters. A UTF-8 string is created by placing the parameters in a fixed order and separated by the implicit character '\u2063'.
 
 
You will see all the parameters that SKAdNetwork sends to you:
 
{
"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
}
 

6. Data display - SKAD Report

After FuseClick received SKAdNetwork data, it would be shown in SKAD Report:

  • Offer Name
  • Affiliate Name   
  • Transaction ID:the SKAdNetwork transaction ID received from apple
  • Payout
  • Revenue
  • Conversion IP
  • Conversion Time
  • Conversion Message:Main message of this conversion, including status, transaction ID, send to third-party, etc.
  • Status:Here means if the conversion is received successfully from advertiser.
  • Postback parameters:Comprehensive SKADNetwork message

Figure10:Example of SKAD report