All VAST error codes
304Wrapper errors · VAST 4.0+

VAST Error 304: Inline ad failed to display in time

The chain resolved to a real ad, but the ad failed to start playing within the player's time limit — resolution succeeded, display didn't.

Added in VAST 4.0, error 304 covers the gap after wrapper resolution: the inline ad arrived, but loading its assets — media file, verification scripts, interactive components — took longer than the player's display budget, so the slot was abandoned.

Think of it as the display-phase sibling of 301: the chain was fast enough, the creative wasn't.

Why error 304 happens

Heavy media files on slow connections

A high-bitrate file with no lighter renditions takes too long to buffer to first frame on mobile or congested networks.

Slow verification or interactive scripts

OMID verification, VPAID units, or interactive layers that load synchronously can eat the display budget before playback starts.

Slow creative CDN

The media file's CDN responds slowly from the user's region even though the ad servers were fast.

How to fix VAST error 304

  1. 1

    Time the full asset load, not just the chain

    Validate the tag with media inspection: measure how long the media file takes to become playable, not just how fast the XML resolved.

  2. 2

    Provide lower-bitrate renditions

    A proper rendition ladder lets constrained players pick a file they can start quickly.

  3. 3

    Audit attached scripts

    Each verification vendor and interactive layer adds load time. Cut redundant vendors; prefer asynchronous OMID over legacy VPAID wrappers.

Free VAST validator

Seeing error 304 on a live tag?

Paste the tag URL or XML — the validator resolves the full wrapper chain, validates the schema, downloads every media file, and shows exactly which stage fails.

Validate your VAST tag

VAST error 304 — frequently asked questions

How is 304 different from 402 (media file timeout)?+

402 is specifically the media file URI timing out. 304 is the broader "ad didn't display in time" — it includes script loading, verification, and rendering, not just the file transfer.

Why do I only see 304 from newer players?+

The code was added in VAST 4.0. Older players report the same failure as 400 or 900, or just silently abandon the slot.

Related error codes

Keep reading