VPAID-no-video-fallback
No MP4/video fallback alongside VPAID <MediaFile>
The block contains a VPAID but no standard video (MP4, WebM, etc.). Players that do not support VPAID — which includes all CTV native players and an increasing number of programmatic environments — will receive an empty media file list and show a blank ad slot. A standard video fallback ensures the ad plays on environments that cannot or will not execute VPAID.
Why this matters in production
Treat this as a migration and compatibility warning. VPAID issues often survive desktop QA and then fail silently on mobile, CTV, or SSAI paths. Compatibility rules matter because VPAID support varies sharply by environment. Desktop web can still execute some units that mobile and CTV platforms reject outright.
How to fix
Add a standard <MediaFile> MP4 video element to <MediaFiles> alongside the VPAID entry. Players pick the first <MediaFile> they can use — VPAID-capable players will still use the VPAID unit.
Invalid
<MediaFiles>
<!-- only VPAID, no video fallback -->
<MediaFile delivery="progressive" type="application/javascript"
apiFramework="VPAID" width="1280" height="720">
<![CDATA[https://example.com/vpaid.js]]>
</MediaFile>
</MediaFiles>Valid
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4"
width="1280" height="720">
<![CDATA[https://example.com/ad.mp4]]>
</MediaFile>
<MediaFile delivery="progressive" type="application/javascript"
apiFramework="VPAID" width="1280" height="720">
<![CDATA[https://example.com/vpaid.js]]>
</MediaFile>
</MediaFiles>VPAID-no-video-fallback and other issues instantly.Validate a tag →