This article provides a summary of how DT handles click event logic for video and display ads as of iOS 14 and Custom Product Pages as of iOS 15. Demand Partner feedback is highly encouraged. If you have any questions or recommendations, contact your DT Account Manager.
Tracking Click Events with the SKAdNetwork
When a Demand Partner returns the BidResponse.seatbid.bid.ext.skadn
object with a valid itunesitem
attribute from a click, DT uses the iOS StoreKit controller to display the App's App Store product page. For more information about the specifications for the BidResponse.seatbid.bid.ext.skadn
object, see the DT Exchange Open RTB Specifications.
In parallel, the DT SDK iterates on the click redirect until it reaches a URL that leads to the App Store or is a non-redirect URL such as a browser link. The device user is not aware of any of the redirects, and only sees the iOS StoreKit app content while the redirects occur in the background.
Tracking Click Events for VAST Video
DT uses the following VAST elements to track clicks:
-
VAST Videos
<ClickThrough>
<ClickTracking>
-
VAST CompanionAds including static, iFrame, and HTML end cards:
<CompanionClickThrough>
-
<CompanionClickTracking>
(starting with VAST 3.0)
Tracking Click Events for Display Ads
Display Ad creatives may use various methods to send a click event to the DT SDK:
- For MRAID creatives, call
mraid.open()
. - For Javascript creatives, call
window.open()
and updatewindow.location
. - For HTML creatives, use a hyperlink such as
<a href="https://someurl"></a>
The following diagram shows how DT handles a click event from an MRAID Display Ad. DT uses the same flow for handling all Display Ad click events.
Handling Custom Product Pages
The DT Exchange SDK version 8.1.5 or higher supports Apple's Custom Product Pages (CPP), a feature available as of iOS 15. CPP allows app developers to create up to 35 versions of each App Store product page to emphasize different features or content within their application. Each Custom Product Page has its own unique Product Page ID (PPID) that you can append to the unique URL for the app in the App Store.
The following sample App Store URL shows an appended PPID for a specific CPP:
https://apps.apple.com/us/app/my-fun-game/id12345678?ppid=45812c9b-c296-43d3-c6a0-c5a02f74bf6e
To leverage CPP as a DT demand partner, pass back the entire App Store URL with appended PPID. When received in the bid response, for example in bid.ext.skadn.productpageid
, the DT SDK parses the click URL and uses the PPID along with the StoreKit controller to display the specific CPP instead of the the app's default App Store page.
Future Enhancements to Click Handling
To further support SKAdNetwork click handling, Digital Turbine suggests a new bid response extension for more clean and efficient click handling. DT is working closely with the IAB SKAdNetwork Working Group to collect DSP feedback on the following proposed bid response specifications.
Suggested bid response extension:BidResponse.seatbid.bid.ext.link
Attribute | Required | Description |
---|---|---|
url | Yes | Landing URL of the clickable link. For SDKAdNetwork, should be omitted.
Example: |
urlfb | No | Fallback URL for deep link to be used if the URL specified in url is not supported by the device.Example: |
trkr | Yes | List of third-party tracker URLs to be fired on click. Example: |
ext.deeplink | No | A boolean value indicating when a deep link is used.
|
Note
DT is currently gathering feedback from Demand Partners regarding this suggested response specifications. If you have any questions or recommendations about these specifications, contact your DT Account Manager.