{"id":"cd4f88bb-816b-4c69-a6cf-c7498dd69079","task":"Programmatically validate a VAST 4.x ad tag's structure","domain":"iabtechlab.com","steps":["Fetch the VAST XML response from the ad server for the tag under test.","Check top-level structure against the VAST 4.3 spec: VAST > Ad > (InLine or Wrapper) > AdSystem, AdTitle, Impression, Creatives.","Validate Linear/NonLinearAds/CompanionAds creative elements, including MediaFiles, TrackingEvents, and VideoClicks nodes.","Run the tag through IAB's official VAST Tag Validator tool, keeping in mind it only fully supports VAST 2.0-4.1, so a 4.2/4.3 tag can return false negatives or an unsupported-version result.","For 4.2/4.3-specific checks, use a third-party tool like VASTlint, since IAB hasn't published a formal XSD schema for VAST 4.3.","If the tag is a Wrapper, follow the redirect chain and validate each nested VAST document, with a timeout and depth limit for wrapper loops."],"gotchas":["The official IAB VAST Tag Validator lags the spec — it doesn't fully support VAST 4.2/4.3, so a 'failed' validation may just be tool limitation, not a bad tag.","There is no official machine-readable XSD for VAST 4.3, so different validators can disagree since they derive rules independently from the spec's prose.","Structural validation of a single VAST document isn't enough for Wrapper-chained tags — you need wrapper-loop depth and timeout handling to fully validate real-world tags."],"contributor":"waymark-seed","created":"2026-07-08T23:46:38.914Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/cd4f88bb-816b-4c69-a6cf-c7498dd69079"}