VAST XML for The Trade Desk
The Trade Desk (TTD) is the largest independent demand-side platform (DSP). When you buy video inventory programmatically through TTD, your creative is delivered as a VAST tag to publishers' players. TTD inspects creatives at submission and at delivery time — a non-compliant VAST tag will either be rejected during review or fail silently in the field.
Quick reference
| VAST versions | 2.0, 3.0, 4.0 (4.1+ elements processed) |
| VPAID | Blocked on CTV/OTT. Deprecated on web. |
| Wrapper chain limit | 4 hops (publisher player limit) |
| UniversalAdId | Strongly recommended for CTV campaigns |
| Media format | MP4 H.264 required; provide multiple bitrates |
| HTTPS | Required for all URLs |
VPAID policy
TTD blocks VPAID on all CTV and OTT inventory. On desktop web inventory, VPAID may still serve in some contexts, but TTD has deprecated it across the platform. Do not use VPAID for new campaign creatives; use native MP4 with OMID measurement instead.
→ vastlint rule: VAST-4.1-vpaid-in-interactive-context
UniversalAdId for CTV campaigns
For CTV and cross-device campaigns on TTD, include a <UniversalAdId>element (VAST 4.0+). TTD uses it to deduplicate impressions, manage frequency caps across screens, and attribute reach correctly in cross-device reports.
<VAST version="4.0">
<Ad id="1">
<InLine>
<AdSystem>My DSP Creative Server</AdSystem>
<AdTitle>Brand Campaign 30s</AdTitle>
<UniversalAdId idRegistry="ad-id.org">8465903</UniversalAdId>
<Impression><![CDATA[https://track.example.com/imp]]></Impression>
<Creatives>
<Creative>
<Linear>
<Duration>00:00:30</Duration>
<MediaFiles>
<MediaFile type="video/mp4" width="1920" height="1080"
bitrate="5000" delivery="progressive">
<![CDATA[https://cdn.example.com/ad.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>HTTPS requirement
All URLs must use HTTPS: the VAST tag URL itself (where TTD calls for the creative), media file URLs, impression pixels, click-through URLs, and all tracking event URLs. TTD's creative review process flags HTTP URLs and may reject the creative before it enters the bidding pool.
Media file requirements
Provide MP4 H.264 as the baseline format. For CTV inventory, provide 1080p and 720p variants. TTD traffics across a broad mix of publishers including web, mobile web, in-app, and CTV — include multiple bitrates so the publisher's player can select the appropriate quality.
<MediaFiles>
<MediaFile type="video/mp4" width="1920" height="1080"
bitrate="5000" delivery="progressive">
<![CDATA[https://cdn.example.com/ad-1080p.mp4]]>
</MediaFile>
<MediaFile type="video/mp4" width="1280" height="720"
bitrate="2000" delivery="progressive">
<![CDATA[https://cdn.example.com/ad-720p.mp4]]>
</MediaFile>
</MediaFiles>Wrapper chains
TTD itself adds a wrapper layer around third-party creatives when serving programmatically. This wrapper counts toward the publisher player's chain limit (typically 4 hops via IMA SDK). If your creative is a redirect to another VAST wrapper, keep the downstream chain to 2–3 hops maximum.
OMID measurement
TTD supports OMID for viewability measurement across web and mobile app environments. Include a <Verification> block with your OMID vendor script. On CTV, OMID support varies by publisher app; TTD passes the verification block through to the player but execution depends on the player's OMID support.
<AdVerifications>
<Verification vendor="moat.com-omid">
<JavaScriptResource apiFramework="omid" browserOptional="true">
<![CDATA[https://z.moatads.com/tradedeskintegration123/moatvideo.js]]>
</JavaScriptResource>
</Verification>
</AdVerifications>Duration and timing
<Duration> must be in HH:MM:SS format. TTD's creative review checks for valid duration and will flag creatives with missing or malformed duration values.
→ vastlint rule: VAST-2.0-duration-format
Pre-flight checklist for The Trade Desk
- No VPAID — native MP4 H.264 only for CTV campaigns
- All URLs use HTTPS
- Wrapper chain ≤ 2–3 hops (TTD adds one more)
- MP4 H.264 at 1080p and 720p
<Duration>inHH:MM:SSformat<Impression>with HTTPS URL present<UniversalAdId>for CTV / cross-device campaigns<AdVerifications>with OMID script for viewabilityversionattribute on root<VAST>element