SKAdNetwork 2.2 Support

Bid Request

Bid requests should make it clear which versions of SKAdNetwork are supported. It’s currently possible for 2.0, 2.1, and 2.2 to be supported in the same request.
Also in skadn object you can find several features that are supported:

  • "overlay" flag which specifies if SKOverlay is supported on current application or not
  • "autostore" flag which specifies if showing StoreKitView is supported on current application or not
Old Bid RequestNew Bid Request
BidRequest.imp.ext.skadnBidRequest.imp.ext.skadn
{
"version": "2.0",
"overlay": 1,
"autostore": 1
}
{
"version": "2.0",
"versions": ["2.0", "2.1", "2.2"],
"overlay": 1,
"autostore": 1
}

Bid Response

View Through Attribution (VTA)

SKAdNetwork introduces view through attribution (VTA), allowing buyers to claim credit for installs that occur when a user installs an app after having seen an ad within 24 hours. Credit submission is done using a new Apple API, and requires the ad renderer to define a startImpression time and an endImpression time. Apple will only consider views that lasted 3+ seconds for attribution credit.

Apple distinguishes a click attribution claim from a view attribution claim using a new fidelity-type attribute. The fidelity-type must be declared inside the attribution signature, and in the click claim itself. (Currently, it does not appear that it needs to be declared in the view claim). It is also present in the install postback, which allows advertisers to measure how many installs were driven by each fidelity-type.

Current fidelity-types:

Attribution ClaimFidelity-type
View (min. 3 seconds)0
Click1

Given that each fidelity type requires its own signature, the bid response needs to change so that the SSP can accept signatures for multiple fidelity types. The bidder should be able to choose which fidelity types they wish to submit claims for.

BidMachine SDK also supports following features:

  • displaying SKOverlay during the ad. Please note that not all SDK versions support it, and for identification please use BidRequest.imp.ext.skadn.overlay flag. To show it - pass "overlay":1 within BidResponse.seatbid.bid.ext.skadn object.
  • displaying StoreKitView upon closing/skipping the ad. Whenever user is finishing video ad or skipping it - SDK will show App Store page before presenting end card

BidMachine is proposing the following options for how to adapt the bid response.

Old Bid ResponseNew Bid Response
BidResponse.seatbid.bid.ext.skadnBidResponse.seatbid.bid.ext.skadn
{
"version": "2.0",
"network": "net1.skadnetwork",
"campaign": "1",
"itunesitem": "123456789",
"nonce": "12345",
"sourceapp": "987654321",
"overlay": 1,
"autostore": 1
"timestamp": "1594509109",
"signature": "sig"
}
{
"version": "2.0",
"network": "net1.skadnetwork",
"campaign": "1",
"itunesitem": "123456789",
"sourceapp": "987654321",
"overlay": 1,
"autostore": 1
"fidelities": [
{
"fidelity": 0,
"signature": "sig1",
"nonce": "12345",
"timestamp": "1594509109"
},
{
"fidelity": 1,
"signature": "sig2"
"nonce": "12345",
"timestamp": "1594509109"
}
]
}

Client Behavior

Clicks

Click behavior is largely unchanged. The fidelity-type field should be included in the call to loadProduct() when using v2.2.

View

If view through attribution is requested by the bidder, the client should create the SKAdImpression object and set the startImpression time at the same time as when the client considers an impression to have been rendered. This is typically the time at which other impression trackers are fired.