VMAP Ad Schedule

To access these features, Upgrade Now

The IAB Video Multiple Ad Playlist, or VMAP, is an XML template that video content owners and ad networks can use to schedule multiple ad insertions from a single tag. This method of ad scheduling is supported via VAST and Google IMA plugins, but is not supported via FreeWheel.

A VMAP xml document can be setup to contain ad schedule information in the form of percentage offsets, exact times within a video, and shorthand notation for pre-roll and post-roll slots. All of this can of course be done in the schedule configuration block but the VMAP tag provides an easy way to create an entire schedule from an ad network.

Note: JW Player only accepts VAST 3.0+ ad tags within a VMAP response.

Configuring VMAP

Since the VMAP xml document contains all of the information to schedule ads, in order to use one in the JW Player Ads edition, call up the schedule configuration block and set it to the location of your VMAP tag.

advertising:{
   client:"vast",
   schedule:"//domain/yourvmaptag.xml"
}

All ad configuration options are supported when using VMAP

Sample VMAP tag

This is what a VMAP schedule tag looks like with a Pre-Roll, Mid-Roll, and Post-Roll.

<vmap:VMAP xmlns:vmap="http://www.iab.net/vmap-1.0" version="1.0">
  <vmap:AdBreak breakType="linear" breakId="mypre" timeOffset="start">
    <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="1">
      <vmap:VASTAdData>
        <VAST version="3.0" xsi:noNamespaceSchemaLocation="vast.xsd">
        ...
        </VAST>
      </vmap:VASTAdData>
    </vmap:AdSource>
    <vmap:TrackingEvents>
      <vmap:Tracking event="breakStart">//MyServer.com/breakstart.gif
      </vmap:Tracking>
    </vmap:TrackingEvents>
  </vmap:AdBreak>
  <vmap:AdBreak breakType="linear" breakId="myid" timeOffset="00:10:23.125">
    <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="2">
      <vmap:VASTAdData>
        <VAST version="3.0" xsi:noNamespaceSchemaLocation="vast.xsd">...
        </VAST>
      </vmap:VASTAdData>
    </vmap:AdSource>
    <vmap:TrackingEvents>
      <vmap:Tracking event="breakStart">//MyServer.com/breakstart.gif
      </vmap:Tracking>
    </vmap:TrackingEvents>
  </vmap:AdBreak>
  <vmap:AdBreak breakType="linear" breakId="mypost" timeOffset="end">
    <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="3">
      <vmap:VASTAdData>
        <VAST version="3.0" xsi:noNamespaceSchemaLocation="vast.xsd">
          ...
        </VAST>
      </vmap:VASTAdData>
    </vmap:AdSource>
    <vmap:TrackingEvents>
      <vmap:Tracking event="breakStart">//MyServer.com/breakstart.gif
      </vmap:Tracking>
    </vmap:TrackingEvents>
  </vmap:AdBreak>
</vmap:VMAP>

Features not yet supported

  • repeatAfter attribute

Example

The following example uses a simple VMAP file to display a preroll, a midroll at the 50% point of the content, and a postroll once the content completes. Rather than inputting the VAST data into the VMAP file, we're able to reference a collection of external tags using the adtagURI field. The one major detail to notice is that the adtagURI section should not use the vmap: prefix. Not adhering to to this may result in erratic VMAP behavior between browsers.

​The VMAP file itself looks like:

<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
    <vmap:AdBreak timeOffset="start" breakType="linear" breakId="preroll">
        <vmap:AdSource id="preroll-ad" allowMultipleAds="false" followRedirects="true">
            <AdTagURI templateType="vast3">
                <![CDATA[preroll.xml]]>
            </AdTagURI>
        </vmap:AdSource>
    </vmap:AdBreak>
    <vmap:AdBreak timeOffset="50%" breakType="linear" breakId="midroll">
        <vmap:AdSource id="overlay-1-ad" allowMultipleAds="false" followRedirects="true">
            <AdTagURI templateType="vast3">
                <![CDATA[midroll.xml]]>
            </AdTagURI>
        </vmap:AdSource>
    </vmap:AdBreak>
    <vmap:AdBreak timeOffset="end" breakType="linear" breakId="postroll">
        <vmap:AdSource id="postroll-ad" allowMultipleAds="false" followRedirects="true">
            <AdTagURI templateType="vast3">
                <![CDATA[postroll.xml]]>
            </AdTagURI>
        </vmap:AdSource>
    </vmap:AdBreak>
</vmap:VMAP>
 

Did you find this article helpful?

Please log in to rate this article.