Adform VAST validator guide
Short answer: Adform's video guidelines, updated 28 August 2025, say Adform supports VAST 2.0, VAST 3.0, and VAST 4.2, plus VPAID 2.0 on a standard video banner. The same page publishes file types, a 100 MB cap, H.264 for MP4, companion sizes, and four ad registries. Validate the tag, then check the registry ID before the tag is sent to inventory for approval.
Need an Adform VAST validator?
Request VAST XML with the master tag parameter t=2, then paste that response into the validator.
Quick reference
| VAST versions | 2.0, 3.0, and 4.2 |
| VPAID | 2.0, for any standard video banner |
| VAST request | Master tag parameter t=2 returns VAST XML. t=1 is the script tag. |
| Files | .mp4, .mpg, .mov, .webm, .ogv, .mpeg, .m4v, .mkv. Maximum 100 MB. |
| Codec and scan | H.264 recommended for MP4. Progressive scan, no interlacing. Full HD recommended. |
| Frame size | 16:9 recommended at 1920×1080, minimum 640×360. 4:3 recommended at 640×480, minimum 480×360. |
| Bitrate and audio | 600 kbps at low 360p through 3,000 kbps at 1080p. Stereo MP3 or ACC, at 48 kHz or 96 kHz. |
| Companions | PNG, JPEG, or GIF. Listed sizes include 300×250, 300×600, 970×250, 320×480, 1024×768, and 1×1. |
Versions, VPAID, and the master tag
Adform describes VAST as the script a video player uses to run a video ad with a partner ad server, and it names three versions: 2.0, 3.0, and 4.2. VPAID 2.0 is listed separately, for any standard video banner, because it adds the interaction reporting that a plain VAST media file does not carry. A banner placement and a CTV player are different environments. The guidelines support VPAID on the banner. They do not say a connected TV player will execute it.
When you need the XML rather than the script tag, set the master tag parameter t=2. t=1 remains the standard script response. Fetch the t=2 URL in the tester, then validate that body. A script tag will not parse as VAST.
Skip behavior and silent autoplay
For in-stream video, Adform says a pre-roll longer than 31 seconds must let the visitor skip within the first 6 seconds. That is a trafficking guideline for the player experience. In the XML it shows up as skipoffset on a linear creative that is long enough to need it. Mid-roll is called out as intrusive, and the page does not offer a skip exception for it.
For outstream, the guideline is that autoplay stays silent until the visitor turns sound on. The tag can still be a normal linear VAST creative. The mute policy is enforced by the player, which you confirm in the placement rather than in a VAST element.
Registered ad IDs
Adform supports IAB Tech Lab's Ad Creative ID Framework on VAST video ads. You enter the ID in the tag edit section, in the Ad Registry field. After the tag is sent to inventory for approval, the ad in that tag can no longer be replaced. One registered ID belongs to one tag, and it cannot be used on a dynamic or rotator ad.
| Registry | VAST versions | ID shape Adform publishes |
|---|---|---|
| Clearcast (United Kingdom) | VAST 2, 3, and 4 | Clock number AAA/BBBB123/456, slashes included. UK broadcasters reached through FreeWheel SSP require it. |
| Auditel (Italy) | VAST 4 | 14-character CUSV, also called an Auditel Spot ID |
| AD-ID (United States) | VAST 4 | 12 characters in Adform's description: a 4-character prefix, a 7-character code, and an optional trailing H or D. Example: ABCD1234567H. |
| ARPP (France) | VAST 4 | Pub-ID shaped as XX_XXXX_XXXX_XXXX_0000_000_D |
VAST 4.x carries that registry value on UniversalAdId. The UniversalAdId reference covers the element. The clock number and Pub-ID patterns above are Adform's published shapes, including the slashes Clearcast requires.
Pre-flight checklist
- The root version is 2.0, 3.0, or 4.2.
- The response you test is the
t=2VAST XML, not the script tag. - MP4 media is H.264, progressive, and within the 100 MB cap.
- 16:9 creatives are at least 640×360, with 1920×1080 when the placement can use it.
- A pre-roll longer than 31 seconds can be skipped inside 6 seconds.
- A registered ad ID, when used, matches the registry row and is not shared across tags.
- The XML passes the validator before the tag is sent for inventory approval.