VASTlint

VAST error codes / Ad type and trafficking

VAST error 408: Conditional ad rejected (deprecated)

Short answer: The player rejected an ad marked conditionalAd. The mechanism is deprecated. Introduced in VAST 4.0.

What your player reported

408 · Conditional ad rejected. (deprecated along with conditionalAd)

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

`conditionalAd` let a wrapper say an ad should only render if the player could support a specific interactive runtime. Both the attribute and this error code were deprecated alongside VPAID, so seeing a 408 means something upstream is still trafficking a creative model the spec retired.

Common causes

  • A wrapper still sets `conditionalAd="true"` on `<Ad>`
  • Legacy VPAID-era trafficking that was never migrated
  • A player that still evaluates and rejects conditional ads

How to fix it

Stop emitting `conditionalAd`. Deliver a normal linear ad with a real `<MediaFile>` fallback, and move interactivity to SIMID. A tag producing 408 is running on a deprecated path and should be re-trafficked rather than patched.

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

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

Use the right tool for this failure

If you already have the resolved XML, run a pure spec check. If you only have a live tag URL, test that endpoint first. If the failure happens in the wrapper chain, inspect each hop.

Further reading