AD OPS

VAST Ad Tag Simulator & Tester

Resolve a VAST ad tag's macros, preview the exact request a Roku, Fire TV, or tvOS player would send, copy a ready-to-run curl command, and parse the ad server's response - ad system, media files, tracking, wrappers, and errors.

1 · Build the request

Paste a tag, or build one in the VAST Macro Builder and hit Simulate request to arrive here pre-filled.


        

        

2 · Inspect the response

How the simulator works

A live video player never sends your tag as-is. It resolves the macros, adds a device User-Agent, fires the request, and reads the ad server's VAST XML. This tool reproduces that pipeline: it resolves the macros to example values, shows the exact request URL and headers for the device you pick, and hands you a curl command that sends the real device User-Agent. Paste the response back in and it parses the returned ad - inline vs wrapper, ad system, media files, tracking, clickthrough, and errors.

Why the in-browser "Send" often fails: browsers block cross-origin reads of ad-server responses (CORS) and forbid JavaScript from overriding the User-Agent. Most ad servers do not return permissive CORS headers, so a direct fetch is blocked - that is expected, not a bug. The reliable path is the curl command (it sends the device UA), then paste the XML to parse it. The "Send" button still works for the minority of servers that allow cross-origin reads.

Frequently Asked Questions

What is a VAST ad tag simulator?

A VAST ad tag simulator resolves the macros in an ad tag, builds the exact request a video player would send (including a device User-Agent), and parses the ad server's VAST XML response so you can see the returned ad, media files, tracking pixels, wrappers, and errors before you ship the tag.

Why can't the tool fetch the ad response in my browser?

Browsers block cross-origin reads (CORS) of ad-server responses and forbid JavaScript from setting the User-Agent. Most ad servers do not send permissive CORS headers, so a direct in-browser fetch is blocked. Run the generated curl command in a terminal - it sends the device User-Agent - and paste the XML back into the tool to parse it.

Why does the device User-Agent matter for VAST?

Ad servers target and format creatives by device. A Roku, Fire TV, or tvOS User-Agent can return a different ad, media file type, or bitrate than a desktop browser. Simulating the real device User-Agent is the only way to see what a connected-TV player will actually receive.

What does the simulator show about the response?

It reports the VAST version, whether each ad is an inline ad or a wrapper, the ad system and title, the media files (type, bitrate, resolution, delivery), impression and tracking URLs, the clickthrough, any VASTAdTagURI to unwrap, and error codes or an empty no-fill response.

What is a VAST wrapper and how do I follow it?

A wrapper is a VAST response that points to another VAST tag via a VASTAdTagURI instead of containing the creative itself. The simulator surfaces the wrapper URL so you can load it back in and simulate the next hop, following the redirect chain to the final inline ad.

Related tools

Related reading