DT Exchange supports the following Ad Formats
- HTML Ads
- Mraid 2.0
- Vast and End Cards
DT Exchange HTML Ads Include all display ads, such as banners, MRECs, and interstitial ads.
|Creative File type
Small square Ads
300x250, 300x50*, 320x50, 320x100*
Snippets of JS or HTML code.
Horizontal and Banner Ads
468x60*, 728x90, 480x320
|Ad markup should be CGI escaped.
Note: should not be URL
Vertical and large rectangle Ads
160x600, 120x600, 300x600*, 600x300*, 768x1024, 1024x768
GIFs and Animated GIFs
DT does not support application/x-shockwave-flash|
encodedDT strongly advises using secured URLs (https://) for all creatives. Should you redirect from HTTP to HTTPS, it may fail on Android and result in tracking errors.
How are Click Events Tracked on Image Ads?
The click tracking URL is fired (triggers the JS click event) when the user taps on the ad container (webView).
*How are multi ad sizes (300x50, 300x600, 320x100, 468x60) passed?
These sizes are in an array of format objects via banner—format in the bid request. Please take a look at the example sample bid request here. To enable these sizes to your bidder, please get in touch with your demand account manager.
To display HTML ads in mobile apps, an MRAID-compatible container called the "Ad View Container" invokes a rendering engine called the "web view." The web view usually doesn't specify ad sizes or behaviors in response to user interactions.
DT SDK supports MRAID 2.0 according to the IAB MRAID 2.0 specification
|Bid Request and Bid Response
|Media File Limits
|MRAID Support Methods
|Bid request - MRAID 2.0: supported based on “banner.api”: 5 when MRAID 2.0 is supported.
|For interstitial MRAID 2.0 ads, DT recommends returning ad markups with an ad size of 320x480 or 480x320.
To ensure the user experience flow renders as expected, please test your creatives with our test app.
SMS - If the device supports using the SMS: protocol to send an SMS message, DT will support this
|Bid response - should include “bid.ext.crtype”: “MRAID 2.0.”
|When ads are not set to 320x480 or 480x320, DT will scale up MARID 2.0 ads to the center of the screen.
|Calendar - DT's SDK will try to open the calendar.
How is a Click Event tracked on MRAID 2.0?
- The click tracking URL is fired (triggers the JS click event) upon mraid.open event.
- The creator of the MRAID 2.0 ad markup determines when the mraid.open event is triggered.
DT's close button immediately appears on the top right corner unless the DSP leverages the useCustomClose() method.
Best Practices on useCustomClose()
- DT supports useCustomClose() on all MRAID 2.0 inventory when initiated by the partner.
- To initiate custom close, partner must useCustomClose() per MRAID 2.0 spec.
- Partners can delay the close button show for up to 5 seconds with customClose.
VAST and End Cards
Video Ad Serving Template (VAST) is an IAB standard for structuring ad tags that serve ads to video players. Using an XML schema, VAST transfers important metadata about an ad from the ad server to the video player.
VAST was created to standardize in-stream video ad serving. In-app, fullscreen (i.e., interstitial) video is also considered in-stream, linear video (from the IAB).
How Does VAST Work?
- The video player pre-fetches the ad request
- The ad server passes an XML ad response, which contains:
- VAST version
- Impression tracking pixel
- Video duration
- Click tracking pixel
- Click through URL
- Quartile event tracking pixels - fired at video start, 1st quartile, 2nd quartile, 3rd quartile, and video complete
- URL to video mediafiles
- CompanionAd height, width, and assets
The VAST response does not include any information on the placement or timing of video elements. See below for DT's video player elements.
- A VAST ad markup can either be Inline, meaning it contains all the elements necessary to display the video, or a VAST wrapper, which points to a downstream VAST document that must be requested from another ad server
- A single click-through on the ad is expected, but multiple named click-tracking URIs (CustomClick) can be provided to allow per-publisher customization. In addition, separate URIs can be provided for tracking the click (ClickTracking) and for the destination page to open upon a click-through (ClickThrough)
- The video player reports the quartile tracking URLs
- The ad server(s) record the impression
VAST Versions Supported by DT
- DT accepts VAST 2.0, 3.0, and 4.x
- DT supports some VAST 3.0 and VAST 4. x elements, including:
- Tracking events:
- Fullscreen - The user activated a control to extend the video player to the edges of the viewer’s screen)
- Expand - The user activated a control to expand the creative
- exitFullscreen - the user activated the control to reduce the video player size to original dimensions
- Collapse - the user activated a control to reduce the creative to its original dimensions.
- closeLinear - the user clicked the close button on the creative. Support starting from version 7.0.6 (iOS) and 7.1.3 (Android). This is fired once the ad is closed.
- Progress - the creative played for a duration at normal speed that is equal to or greater than the value provided in an additional attribute for offset. Support on iOS only, starting SDK 8.2.3.
- CompanionClickTracking node, starting from specific SDK versions for VAST wrappers vs. inline (more details below)
- DT's SDK is responsible for firing the VAST tracking pixels and rendering video playback.
- VAST 2.0 is not entirely backwards compatible with VAST 1.0
- Events are only relevant for the use case where the video started in a non-full-screen mode
|VAST Versions supported based on bid request
|Supported Video MIME Types
|Supported VAST Filter Types
|Vast Video Ad Sizes
video.protocol”: 5 when VAST 2.0 is supported
DT supports up to 5 VAST wrappers
Android:mp4, webm, 3gpp
Android:mp4, webm, 3gpp
Portrait (Vertical) Ad Formats:
“video. protocol”: 6 when VAST 3.0 wrapper is supported
If a partner uses more than 5 VAST wrappers, DT stops loading the ad, which is discarded.
iOS:QuickTime, mp4, m4v, 3gpp, 3gpp2, x-m4v, 3gp2, 3gp4, 3gpp4
Landscape (Horizontal) Ad Formats:
“video. protocol”: 8 when VAST 3.0 wrapper is supported
DT recommends using as few wrappers as possible
Flash and .mov are not supported
Video Media File Size Limits
running videos under 3MB
Maximum bitrate of 5000kbps.
Preferred max bit rate is up to 2000kbps.
Note: Videos above 5000kbps are discarded
Maximum duration of 30s
|If DT cannot retrieve the video file
within approximately 10 seconds, the video is timed out.
DT's SDK runs videos with any aspect ratio; no constraints are put on aspect ratio.
But recommends the following video aspect ratios:
Video Asset Algorithm
DT employs an algorithm for prioritizing media files passed within the VAST tag.
The prioritization is determined based on the following criteria:
|Aspect Ratio Alignment
|Media files that do not exceed the maximum bitrate are given priority
|The file types considered for prioritization include MP4, 3gpp, and webm.
The order of file type preference is applied to Android and similarly to iOS based on their supported mime types. DT respects the mime types passed under the video object.
|Preference is given to the video file with an aspect ratio matching the best screen size.
This algorithm helps ensure efficient and effective handling of media files within the VAST tag, prioritizing based on bitrate, file type, and aspect ratio alignment.
Tracking Click Events on VAST
DT enriches the TrackingEvents object with DT's click tracking URL and fires the click when the user taps on the CTA (call to actions) button or the video (in case there's no CTA).
- The video only pauses if the user leaves the app and then returns to the app.
DT SDK Video Player
This table provides a structured overview of the features related to DT's video player and their respective descriptions.
|Call to Action
|Video Close Behavior
|End Card Behavior
|The sound icon is always available for user toggling, appearing in the upper left of the user's screen.
Non-rewarded video (<= 15s)
Non-skippable; no skip button is shown.
DT attempts to show the end card immediately after video completion.
|Appears at the bottom left based on the video duration specified in VAST XML
|Default CTA text: "Install Now" (starting from Android and iOS 7.7.1 for DT Exchange, 3.7.0 for DT Fairbid).
|Tapping the X button on the video end card returns the user to the app (resumes gameplay).
|Shown after video completion or when the user skips the video.
|DT supports the device's sound setting. If the device is muted, the ad plays with sound off; otherwise, it plays with sound on
Non-rewarded video (> 15s)
Skippable after 5 seconds; a skip button appears in the upper right corner.
DT attempts to show the end card immediately after video completion.
|Text changes to "Download" when an app store is detected as the landing page (starting from specific SDK versions).
|Clicking the CTA button during video playback takes the user to the DSP's landing page (app store, in-app browser, deep link).-
|X-button on the end card appears after 5 seconds.
|Publishers can override sound settings per user session, starting from DT Exchange Android SDK version 7.4.0 and iOS version 7.5.2.
|After closing the landing page, video resumes based on the Skip & Close logic.
|If no DSP-provided end card or if it fails, DT displays a default end card.
End Cards (CompanionAds)
- In-app, a CompanionAd is commonly a display or rich media ad that follows the video experience. End cards are shown when the user completes or closes the video and may be interactive. End cards often have a call-to-action for the user.
- DT recommends running end cards with all video types to improve performance.
- For Playable End Cards, we recommend a maximum size of 2MB
This table presents DT's preferences and recommendations criteria and their descriptions for identifying End Card support based on the bid request.
|End Card Supported based on bid request
|End Card Mime Types
|End Cards Ad sizes
|Sorting and selecting the CompanionAd Asset Algorithm based on
|Supported if any of the values ["1", "2", "3"] are present in the bid request.
|Orientation (closest match to the video media file's orientation)
|Supported if "video.ext.mraidendcard" is set to 1 in the bid request.
|Ad Size (closest match to the device's height and width)
|Resource Type (HTML, iFrame, Static)
|Minimum ad size is 300x250
|No maximum size, but static end cards larger than the screen is scaled down and centered.
|MRAID 2.0 and MRAID Playables
|HTML and iFrame end cards should not exceed the height and width passed in the bid request.
Other criteria for selecting the CompanionAd
- If one media file fails to load, then we fall back to the next one. If none load, we track an error internally
- If no valid end card is provided, then DT adds a default end card with the last video frame blurred and displays a CTA button above it.
- DT fetches the end card immediately after receiving the ad markup in the bid response, so it is ready once the video is finished playing.
Digital Turbine Default End Cards
- DT added support for default end cards starting in SDK versions 7.3.0 (DT Exchange) and 2.1.0 (DT Fairbid).
- DT pauses on the last frame of the video and adds a green call-to-action button with "Install Now" text.
Video End Card Close Behavior and Custom Close
- The "x-button" on all video end cards appears on the upper right-hand side after 5 seconds.
- There is no countdown timer on the end-card x-button
- If a DSP provides its own MRAID end card and uses MRAID ()useCustomClose, DT adds a fail-safe X button on the video end card, which appears after 15 seconds
Companion Click Events & CompanionClickTracking
- DT's SDK handles the CompanionClickThrough once the end card is shown and clicked on by the user.
- DT supports CompanionClickTracking, a VAST 3.0 component, starting in DT Exchange Android SDK version 7.7.1 and iOS 7.5.2 for VAST wrappers.
- CompanionClickTracking for VAST inline is added starting in DT Exchange iOS and Android SDK versions 7.7.1 and DT Fairbid 3.7.0
Enhancements for Video Click Tracking
Understanding user engagement in real time is critical for creative optimization. New attribution methods will delay postback data, and we’re here to help address new ways to measure user intent. DT is adding support for 2 new substitution macros available for DSPs to add to their click tracking URLs. Support is available for substitution in both
- [ADPLAYHEAD]: macro passes a value in HH:MM:SS.mmm format expressing the amount of time the video ad was played before the user clicked on the VAST CTA button or the SKIP button
- [CLICKAREA]: macro passes a string value describing where the user clicked on the VAST ad
- "cta" when the user clicks on the CTA button on the video player
- "companion" when the user clicks on the companion / end card
VPAID support has been deprecated across all DT supply, as of April 1st 2021. Serving VPAID ads is no longer allowed on DT Exchange and will result in a creative violation.