---
title: "VAST vs VPAID: video ad tags explained"
description: "What VAST and VPAID actually are, how Epom serves each across its five video banner types, which VAST versions the placement tag offers, and why VAST is the more transparent format."
type: "concept"
audience: [network-manager, admin]
keywords: [VAST, VPAID, VMAP, video ad tag, linear, non-linear, wrapper, inline, in-stream, quartiles, VPAID framework, deprecated, VAST version, VAST 4.2, Open Measurement, OMID]
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# VAST vs VPAID: video ad tags explained

VAST and VPAID are two IAB standards you will meet the moment you traffic video in Epom. They
are often named in the same breath ("a VAST/VPAID tag"), but they solve different problems: one
describes *what* video ad to play, the other lets the ad *run its own code* inside the player.
Knowing the difference tells you which banner type to pick, why one third-party tag is more
transparent than another, and what the VAST tag URLs on a video placement are for.

## The two standards, in one paragraph each

**VAST** (Video Ad Serving Template) is an XML document. It answers "which media file do I
play, where does the click go, and which pixels do I fire at each playback milestone?" The
player parses the XML, downloads the media file, plays it, and fires the tracking beacons VAST
lists (start, first quartile, midpoint, third quartile, complete, and so on). The ad is
**passive data** — the player is in control the whole time. Epom serves VAST 2.0 through 4.3
(IAB never published a 4.3 schema, so the 4.3 tag serves the 4.2 structure under a 4.3 version
string, for players and partners that insist on seeing it); each version adds capabilities (3.0
added ad pods and skippable ads, 4.0 separated media from verification and interactivity, and
**4.1 is where Open Measurement became usable** — see
[viewability](https://epom.com/ad-server/docs/concepts/viewability-and-open-measurement.md)), but the shape is the same: an XML template
the player renders.

**VPAID** (Video Player-Ad Interface Definition) is a runtime contract, not a document. A VPAID
creative ships **executable code** (historically a Flash SWF, later a JavaScript module) that the
player loads and hands control to. The code can draw interactive overlays, expand, collect its
own metrics, and decide when the ad is "done". This power is exactly why VPAID is being retired:
it is a security and performance liability (arbitrary code inside the player), it doesn't work in
server-side ad insertion, and the industry has moved to VAST 4.x plus
[Open Measurement](https://epom.com/ad-server/docs/concepts/viewability-and-open-measurement.md) for verification. **Epom still supports
VPAID** — deprecated is not the same as removed — but treat it as legacy, and note that a VPAID
tag is one of the things Open Measurement does not cover.

A **VPAID creative is almost always delivered inside a VAST wrapper**: the VAST XML points at a
`VPAID` media file instead of a plain video. That is why the two names travel together.

> **Note:** **VMAP** (Video Multiple Ad Playlist) is a third, orthogonal standard — it schedules
> *when* ad breaks happen in a content stream (pre-roll, mid-roll, post-roll) and hands each
> break off to a VAST response. It is not an alternative to VAST/VPAID; it wraps them.

## How Epom’s five video banner types map onto this

Every video banner Epom serves ultimately produces (or proxies) a VAST response. The five
[video banner types](https://epom.com/ad-server/docs/guides/advertising/banner-video.md) differ only in *where the video comes
from*:

| Banner type | What it is | VAST or VPAID |
|---|---|---|
| **Local Video** | You upload the file; Epom hosts it and wraps it in VAST. | VAST (Epom-generated) |
| **External Video** | You give a hosted file URL; Epom wraps it in VAST. | VAST (Epom-generated) |
| **Third Party VAST/VPAID Tag URL** | Another ad server hands you a tag; Epom proxies it. | Either — depends on what the third party returns |
| **VPAID Framework** | An interactive VPAID framework your network administrator installed, parameterised per banner. | VPAID |
| **Advanced Local Video(s)** *(Beta)* | Multiple renditions/media files in one VAST response. | VAST (Epom-generated, multi-MediaFile) |

For the first two and the last, **Epom writes the VAST** — so it knows the media file, can inject
its own impression and click tracking, and the creative is fully inspectable. For the tag-URL
type, Epom is a **proxy**: it fetches whatever the third party returns and passes it through
(injecting its own tracking pixels into the `<InLine>`/`<Wrapper>` before serving). The
**VPAID Framework** type is the one case where Epom deliberately serves interactive VPAID.

> **Corner case:** the internal name of the tag-URL type is `VAST_2_0_TAG_URL`, but its label is
> the generic *Third Party VAST/VPAID Tag URL* — the "2.0" is historical. It accepts any VAST
> version the partner returns; it does not downgrade the response to 2.0.

## Linear vs non-linear (the In-Stream video type)

Independent of VAST/VPAID, a video ad is **linear** or **non-linear**:

- **Linear** — the ad *takes over* the video slot and plays in the timeline (pre/mid/post-roll).
- **Non-linear** — an overlay shown *over* the content while it keeps playing (a banner strip).

On a tag-URL banner you set this with the **In-Stream video type** field, and it is not free
choice per type: linear video is available on every video banner type, while **non-linear is
limited** to the tag-URL, HTML Code and file types — Local/External/Advanced Video and the VPAID
Framework are linear-only. Pick the wrong one and a player that expected a linear pre-roll gets an
overlay (or vice-versa).

## The VAST tag URLs on a placement

A [video placement](https://epom.com/ad-server/docs/guides/inventory/placement-video.md) exposes three tag URLs, and the player
loads exactly one:

| Tag | Player asks for | Serves |
|---|---|---|
| **VAST** | A specific VAST version — chosen with the **VAST version** picker (2.0, 3.0, 4.0, 4.1, 4.2, 4.3; **4.2** by default) | Whatever linked demand resolves, rendered as that VAST version |
| **VPAID** | An interactive video slot | The VPAID-capable response (at a version fixed on the server — it does not follow the picker) |
| **VMAP** | A break playlist for a content stream | A VMAP document scheduling VAST breaks (its inner VAST is 3.0) |

The version in the URL tells Epom which VAST dialect to speak back; the demand that fills it is
the same pool either way. It is not a purely cosmetic choice, though — **the version decides
whether the response can be viewability-measured** (4.1 and up), which is why the picker defaults
to 4.2. See [Video viewability and Open Measurement](https://epom.com/ad-server/docs/concepts/viewability-and-open-measurement.md).

> **Scope:** this describes the new interface, where one **VAST tag** field is driven by a
> version picker. The classic placement page still shows a fixed row per tag — **VAST 3.0**,
> **VAST 4.0**, **VPAID** and **VMAP** — with no picker and no way to reach 4.1, 4.2 or 4.3. If
> you need a measurable tag, copy it from the new interface.

When Epom requests programmatic video from a DSP on this placement, it advertises support for
**VAST 2.0, 3.0 and 4.0 plus their wrapper variants** in the bid request — so a DSP can return an
inline creative or a wrapper chain and Epom's player will follow it. That list is about what
bidders may return, and it is deliberately narrower than the versions Epom serves to your own
players.

## Why VAST is the more transparent format

This is the trafficking decision the whole page builds toward. A plain VAST creative is
declarative XML pointing at a media file and a click-through: you can read exactly what it
will show and where it sends the viewer. A VPAID creative is code that runs in the player, so
what it does is only visible when it runs. When you have the choice, VAST is the safer format.

## Practical decisions

- **You have the file and want full tracking and transparency** → Local / External / Advanced Video
  (Epom-generated VAST). Epom owns the markup, injects its own pixels, and the creative is clean.
- **A partner hands you a tag** → Third Party VAST/VPAID Tag URL. Accept that if they return
  VPAID you lose some transparency and server-side control.
- **You need genuine interactivity** → VPAID Framework, understanding it's legacy.
- **You're buying video programmatically** → an [OpenRTB banner](https://epom.com/ad-server/docs/guides/advertising/banner-openrtb-dsp.md)
  with video mime types; the DSP's creatives are scanned when that partner has scanning on.

## Related

- [Video banners](https://epom.com/ad-server/docs/guides/advertising/banner-video.md)
- [Video placements](https://epom.com/ad-server/docs/guides/inventory/placement-video.md)
- [Video viewability and Open Measurement (OMID)](https://epom.com/ad-server/docs/concepts/viewability-and-open-measurement.md)
- [Protect your inventory from bad creatives and bad traffic](https://epom.com/ad-server/docs/use-cases/creative-policy-protection.md)
- [OpenRTB (DSP) banners](https://epom.com/ad-server/docs/guides/advertising/banner-openrtb-dsp.md)
- [How ad selection works](https://epom.com/ad-server/docs/concepts/how-ad-selection-works.md)
- [Banner types — reference](https://epom.com/ad-server/docs/reference/banner-types.md)