This guide documents important changes to click handling logic for our demand partners using SKAdNetwork and iOS 14 and above.
Below, we cover various click handling logic changes for VAST, VAST CompanionAds, and Display ads, including MRAID, Javascript and HTML ads.
Video Click Logic
For iOS 14 and above only, when the demand partner returns BidResponse.seatbid.bid.ext.skadn
object with a valid itunesitem
,
For VAST Videos
- DT will continue to supprt click tracking through the VAST
<ClickTracking>
and<ClickThrough>
element, and we stop redirecting once we reach the App Store URL or another non-redirect response.
* Non-redirect responses include any internal or external browser links
For VAST CompanionAds
- DT supports click tracking through the VAST
<CompanionClickThrough>
, and we stop redirecting once we reach the App Store URL or another non-redirect response. - The same logic applies for static, iFrame and HTML end cards
For VAST CompanionAds
<CompanionClickTracking>
.- DT will continue to support click tracking through the VAST
<CompanionClickTracking>
and<CompanionClickThrough>
elements. - The same logic applies for static, iFrame and HTML end cards
Display Click Logic
For iOS 14 and above only, when the demand partner returns BidResponse.seatbid.bid.ext.skadn object with a valid itunesitem.
Display creatives may use various methods to implement clicks:
- Call mraid.open(), if the creative supports MRAID
- Call window.open(), if the creative supports Javascript
- Update window.location, if the creative supports Javascript
- Use < a href="https://someurl" >< /a >, for regular HTML creatives
Once the user clicks, DT calls loadProduct() and shows the iOS StoreKit according to the itunesitem (bundle) we receive on the bid response. In parallel, DT's SDK iterates on the click redirect, and once it reaches a URL that leads to the App Store or is a non-redirect URL it stops redirecting.
Refer to the diagram below to see how DT handles Display Ad clicks. We use MRAID as an example, but all of the above display click methods follow the same flow:
What is the User Experience for Video and Display?
The user is not aware of any of the redirects, the user only sees the iOS StoreKit app content while the redirects occur in the app’s background
Demand Partner feedback is highly encouraged, contact your account manager if you have any questions or recommendations.
Future Enhancements to Click Handling
Warning
The following is currently unsupported by DT. We are awaiting DSP feedback to determine if this solution works best for our partners.
For phase 2 support of SKAdNetwork click handling, Digital Turbine suggests using the below specifications. We are also working closely with the IAB SKAdNetwork working group to collect DSP feedback on the below bid response extension for more clean and efficient click handling:
BidResponse.seatbid.bid.ext.link
Attribute | Definition | Type | Example |
---|---|---|---|
url | Landing URL of the clickable link. For SDKAdNetwork, should be omitted. | String: Required | “appname://path/to/location" |
urlfb | Fallback URL for deep link to be used if the URL specified in URL is not supported by the device. | String | “https://www.appwebsite.com/” |
trkr | List of third-party tracker URLs to be fired on click | String array: Required | "trkr": ["https://clickurl.dsp.com/sessionid"] |
ext.deepling | A boolean value indicating when a deep link is used | Boolean | 1 |
Custom Product Page
DT Exchange supports Custom Product Pages (CPP), a feature available in iOS 15, as of SDK v8.1.5.
The Custom Product Pages feature allows app developers to create up to 35 versions of each App Store product page on iOS 15/iPadOS 15 and above to emphasize different features or content within their application.
For demand partners to leverage CPP with DT, they must pass back the PPID appended to the click URL. In Apple's example Click URL below, you can see the PPID is passed as 45812c9b-c296-43d3-c6a0-c5a02f74bf6e after "ppid=".
Click URL with PPID: https://apps.apple.com/us/app/mountain-climber/id12345678?ppid=45812c9b-c296-43d3-c6a0-c5a02f74bf6e
With the bid response, the DT Exchange SDK parses the query parameters of the click URL. Once the CPP identifier is found the SDK uses it with the StoreKit controller, thus the custom product page is shown to the user instead of the default AppStore page.
DT has enabled this feature on its test application on the App Store so you can easily test it with your creative: