C3T

Paste your tag

HTML5, MRAID, VAST, VAST URI, VMAP, or VMAP URI — the format is detected automatically as you type.

Waiting for input
Switch to Ad Preview to render, or:
Nothing loaded

No creative loaded yet.

Paste a tag in the Creative Tag tab, then hit Run in Ad Preview.

0 / 20 items
Name Type Date

Stash is empty.

Save creatives here to keep them handy across sessions.

No preview run yet
Time Type Host URL

No requests captured yet.

Run a creative in Ad Preview to see everything it calls out to — pixels, beacons, and scripts included.

No VAST/VMAP tag loaded
This fires every declared tracking URL directly, ourselves — bypassing IMA entirely, so nothing is hidden inside a sandboxed frame. That also means it's a reachability check, not a playback simulation: URLs fire immediately rather than at the real quartile/impression moment, and macros like [CACHEBUSTING] are substituted with placeholder values, not real user data. "Reachable" means the request completed — some ad servers correctly respond with an empty 204, which is normal, not a failure. Cross-origin browser rules mean we can't read the exact HTTP status code, only whether the network request itself succeeded or failed outright (DNS/connection error, blocked request, etc). Works for pasted VAST/VMAP XML, or a VAST/VMAP URI we can fetch directly.
Status Category URL

Nothing to check yet.

Paste VAST or VMAP XML (or a URI) into the Creative Tag tab — its declared trackers will show up here.

No creative loaded
HTML5/MRAID creatives don't declare click tracking in a structured spec the way VAST does — it's just JavaScript baked into the creative. This scans the pasted source for the common conventions: a global clickTag/clickTag2 variable, an anchor tagged with id="clickTag", or a Google Studio/CM360 Enabler.exit() call. Some ad-builder frameworks compute the real click URL from macros at runtime instead of writing it anywhere as text — those won't show up here from the static source alone, but running the creative once in Ad Preview lets this also check common globals (like window.clickTag or window.runtime_clickTag) after the ad actually initializes, which catches many of those. If a creative uses something else entirely for click handling, this won't find it either way — there's no reliable way to detect arbitrary custom code without actually clicking it.
Status Type URL

No click tags found.

Paste an HTML5 or MRAID creative into the Creative Tag tab — any clickTag variables, clickTag-id anchors, or Enabler.exit() calls it contains will show up here.

Paste VAST tag URLs below
Paste several VAST tag URLs (one per line, optionally with a label like 30s - in front or on the line above) and run the same checks as the VAST Trackers preflight on each one: tag structure, duration of every rendition against the VAST <Duration>, and flat or black frames at the start. Nothing is fired, so no impressions or clicks are counted. Each tag is requested several times (set below) and the responses are compared, because some ad servers answer differently from one request to the next. A tag that differs only now and then can be missed, so raise the number if you need to be sure. Each tag downloads up to about 4 MB for the frame check; untick the box to do duration only, which is a few KB per tag.
0 tags detected
Result Tag Findings

No QA run yet.

Paste one or more VAST tag URLs above and hit Run QA. Click a result row to see every finding for that tag.

Choose a vendor and paste tags
Paste one or more tags (VAST URLs, HTML5 tags or VAST XML), choose the vendor the tags are built for and, if there is one, the client. The tool lists which of the vendor’s expected macros are missing from each tag, which are written in the wrong syntax or case, and which macros in the tag it does not recognise. Nothing is fetched or fired. You confirm each missing macro is intended, or remember it as optional for that vendor. Separate several HTML or XML tags with a blank line.
Show
0 tags detected
Result Tag Findings

No macro check yet.

Paste a tag above, pick its vendor, and hit Check macros. Click a result row to see every macro and what to do about each one.