VAST error codes / Ad type and trafficking
VAST error 204: Ad category required but not provided
Short answer: The placement required an ad category and none was supplied. Introduced in VAST 4.0.
Debug this tag now
If you only have a live URL, test it first. If the failure is in the wrapper chain, inspect each hop. Validate resolved XML when you already have the response.
What your player reported
204· Ad category was required but not provided.
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
Competitive separation or brand-safety rules required a `<Category>`, but the inline ad did not declare one.
Common causes
- `<Category>` omitted where the buyer or placement requires it
How to fix it
Add a `<Category>` with the correct `authority`. Pair with 205 when a category is present but blocked.
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 error codes
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