VAST error codes / Wrapper errors
VAST error 301: Wrapper timeout / URI unreachable
Short answer: A wrapper's VASTAdTagURI timed out or could not be loaded.
Inspect the wrapper chain first
VAST error 301 is a wrapper-chain failure. Inspect each hop, then test the resolved tag.
What your player reported
301· Timeout of VAST URI provided in Wrapper element, or of VAST URI provided in a subsequent Wrapper element. (URI was either unavailable or reached a timeout as defined by the media player.)
Wording from the IAB VAST 4.3 specification error table. Players may shorten or reformat it, but the code is the same.
What it means
The player followed a `<VASTAdTagURI>` and the next response did not arrive within the player's time budget.
Common causes
- Missing or empty `<VASTAdTagURI>`
- A slow or unreachable upstream ad server
- A redirect that points at the wrong host or a dead endpoint
- HTTP URI blocked on an HTTPS page
How to fix it
Confirm every wrapper has a non-empty, reachable HTTPS `<VASTAdTagURI>`, and measure each hop's latency in the inspector.
VAST error codes are runtime buckets emitted by the player. They tell you where the failure happened, not which line of XML caused it. Paste the raw tag into the validator to map this code onto the exact element and rule.
Related vastlint rules
- VAST-2.0-wrapper-vastadtaguri: <Wrapper> must contain <VASTAdTagURI>
Related error codes
- VAST error 300: General wrapper error
- VAST error 302: Wrapper limit reached
- VAST error 303: No ads after wrappers
Debug this tag now
Validate the XML, follow the wrapper chain, or check it in CI before launch:
# CLI: exits non-zero on errors, ideal for pipelines
vastlint check creative.xml