> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/publishers/vast.md).

# VAST

VAST (Video Ad Serving Template) is a specification defined and released by the **Interactive Advertising Bureau (IAB)**. VAST sets a standard for communication requirements between Ad Servers and Video Players to present video ads, and it is declared using `XML`.

In short, VAST makes it possible for an ad provider to serve ads to various video players using a universal way of communication which all these players understand.

A thorough description of the overall idea behind VAST, as well as the full VAST specification, can be found here: [VAST 3.0](https://www.iab.com/guidelines/digital-video-ad-serving-template-vast-3-0/).

**Note:** The default standard served through ExoClick is `v3`, but VAST Wrappers might use other VAST versions based on advertisers preference.

## How VAST Works

A regular VAST communication happens like this:

1. **VAST Request:** The video player makes a call to the ad server for a VAST response.
2. **VAST Inline Response:** The ad server responds with a VAST Inline response that contains all the media files and tracking URIs required to display and track the ad.
3. **Tracking URIs Pinged:** The video player requests tracking resources from the tracking URIs provided when associated events occur in the ad.

## Events and Statistics

Currently the system tracks three events when a VAST ad is being processed:

* **Video Impression:** the exact timing of the event depends on the video player, but most often it is triggered when the site visitor presses the player Play button. .
* **Video View:** this event happens after watching 10 seconds of video ad playback at normal speed. When this event takes place, the video player notifies the ad provider and a view is registered. This event is important for determining the cost of CPV campaigns.
* **Click:** this event happens when clicking on the video ad. The video player notifies the ad provider and a standard click event is registered.

## Sample VAST structures

ExoClick uses VAST to handle **In-Stream**, **Outstream**, **Slider** and **In-Video** ads. In this section you will find visual examples of XMLs returned by our ads and detailed explanations of each element within these XMLs:

* [Inline VAST](/publishers/vast/vast-tag.md)
* [Wrapper VAST](/publishers/vast/vast-wrapper.md)

Note that you will only need to process the VAST events when receiving a VAST tag ad zone, which corresponds to either **In-Stream** or **In-Video**. For a simple explanation on how to add an In-Stream or In-Video ad zone to your website, please check our tutorials:

**In-Stream:**

* [In-Stream: How to implement In-Stream Part 1 - Setting up the Ad zone](/tutorials/tutorials/publishers-tutorials/how-implement-in-stream-part1.md)
* [In-Stream: How to implement In-Stream Part 2 - Implementation examples](/tutorials/tutorials/publishers-tutorials/how-implement-in-stream-part2.md)
* [In-Stream: How to implement In-Stream Part 3 - Testing the ad zone](/tutorials/tutorials/publishers-tutorials/how-implement-in-stream-part3.md)

**In-Video:**

* [In-Video: How to implement In-Video](/tutorials/tutorials/publishers-tutorials/how-implement-in-video-vast.md)

## VAST errors

If your video player is experiencing issues when interpreting the VAST responses, you can check out our [**list of errors**](/publishers/vast/vast-errors.md) to help you debug your problem.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/publishers/vast.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
