Open source video ad players often fail to meet VAST 4.3 standards
Do Open-Source Video Ad Clients Follow VAST 4.3? An Empirical Study of Player Conformance
Software EngineeringMultimediaNetworking and Internet Architecture
Summary
Video ads rely on special instructions called VAST 4.3 to play correctly and count views accurately. The authors tested several open-source video ad players to see if they follow these instructions properly. They found many mistakes that can cause errors in counting ads or even crash video players. This means companies relying on these players might get wrong ad data or have playback problems.
What this means in practice
- •For video app developers: Detect and fix compliance gaps in open-source VAST clients to improve ad counting accuracy and playback stability across browsers.
- •For ad operations teams: Use shared conformance tests to verify video ad players meet VAST 4.3 duties important for consistent ad measurement.
Authors
Prashant Chaudhary
Abstract
Context. Video ads reach streaming and connected-TV apps through VAST documents, and companies count ads from the HTTP requests the player's client library sends. A tracking error can leave playback intact and surface later as disagreeing counts. Objective. To measure how far open-source VAST clients meet the player duties of VAST 4.3, whether verdicts depend on the runtime, what generated inputs add, and when deviations were introduced. Method. A catalog of 108 requirements was extracted from the specification. Six open-source clients in eight configurations ran against 69 crafted test vectors and the IAB's sample tags, under Node.js and in five browsers on three engines, with every request recorded. Grids, fuzzing and a sweep over 36 releases extend the catalog; Google's closed IMA SDK is a comparison. Results. The open-source clients have 78 findings and 3 to 21 must-level deviations per configuration. None of the tested open-source clients that follow redirect (Wrapper) chains fills the required macros in a Wrapper's request; the archived IMA 3.794.0 configuration tested does. One library's timeout throws an exception no caller can catch, ending a Node.js process. In a pod (ads played back to back), one player credits a finishing ad's completion to the next ad, fixed in release 5.3.0. A library can conform under jsdom and deviate in every tested Chrome- and Safari-family browser. Conclusions. The tested clients diverge on the duties other companies use to count and diagnose ads. A shared conformance suite run in real browsers could expose most graded deviations; the harness and vectors are released.