Supported Ad Formats
This document describes the various advertising clients, formats and servers supported in the Enterprise edition of JW Player. See Configuring Video Ads for actual configuration options.
The Enterprise edition of JW Player supports two ways to deliver video ads:
- Ads served by a VAST-compliant video ad server (a list is printed below). This is the default and most widely used method. See Our VAST/VPAID blog post for some background info.
- Google IMA
- In-video ads served by Google's Dart For Publishers (DFP), supported through the Interactive Media Ads (IMA) SDK version 3. JW Player is one of Google's official video technology partners.
Note that advertising support in JW6 builds upon functionality previously offered in separate OVA and IMA plugins. Although JW6 supports the same formats and servers (plus new stuff, like VAST in HTML5), all configuration options have been drastically changed. See Migrating from OVA/IMA to JW6 for more info.
JW Player can render itself and play videos using either of two technologies: Flash and HTML5. The same goes for video advertising, which means a single JW Player setup is capable of delivering ads across desktop browsers and mobile devices (iOS/Android). In particular, we support the following standards:
|vast||VAST 2.0 + VPAID 1.0||VAST 2.0|
|googima||IMA version 3||IMA version 3|
Note that video advertising is not supported on Android 2.3 devices, where JW Player gracefully ignores the advertising options. On all other player supported devices, this advertising functionality is also included.
For VAST, JW Player supports multiple ad breaks per video, but only a single ad per break. Every ad in the schedule can include a different companion, but only a single companion area can be set. The following creative types can be used:
|Format||Flash mode||HTML5 mode|
|Linear||MP4, MOV, FLV, VPAID (SWF)||MP4, MOV, WEBM|
|Non-linear||VPAID (SWF)||GIF, JPG, PNG|
|Companions||GIF, JPG, PNG, HTML, IFRAME||GIF, JPG, PNG, HTML, IFRAME|
Note that support for creative types also depends upon the device's Flash or HTML5 capabilities. In general, FLV and VPAID work in Flash, MP4 works everywhere and WEBM only works in Firefox/Chrome in HTML5.
For IMA, all creatives served by the DFP server are supported. See the IMA SDK Documentation for more info.
Since VAST is a widely implemented standards, JW Player supports a large number of ad servers and networks. Any server producing VAST will work with JW Player. Here's a list of ad servers that are known to work with JW Player:
|24/7 Real Media||Adap.tv||DoubleClick||Adotube|
|TidalTV||Smart Ad Server||Brightroll||Zoom.in|
For HTML5 advertising, ad servers must support Cross-Domain File Loading through a CORS header. Not every server does this yet, so make sure to check this if you intend to serve ads to mobile devices.
For IMA, both DoubleClick for Publishers (DFP) and the Google AdSense network are supported. See the IMA SDK Documentation for more info.
Many VAST ad servers use so-called tag variables tags to get more info about content and player to optimize fill. JW6 supports a number of these variables for VAST. They are surrounded by double underscores:
- The ID of the companion div, for example to allow VPAID ads to talk to companions.
- The domain name the player is embedded on.
- Playlist Item Properties
- This isn't a single variable, but rather a group of variables. Playlist item properties allow publishers to send any metadata from the JW Player Playlist to the ad server. This is useful to e.g. target ads to metadata keywords or to target different ads to each item in a playlist. Here are a few example properties:
- __item-title__: the title of the currently playing video.
- __item-description__: the short description of the currently playing video.
- __item-file__: the file URL of the currently playing video.
- __item-duration__: the duration in seconds of the currently playing video.
- The height of the video player on the page in pixels.
- The width of the video player on the page in pixels.
- Typically used as a so-called cache-buster, to ensure there is no local caching of the VAST response.
- The URL of the current page (the one the video is embedded in).
- The current time of the user's computer, as a UNIX timestamp.
Here's an example VAST tag with the __random-number__ variable:
Note that variables are replaced with an empty string if they cannot be filled.
See Configuring Video Ads to learn how to setup ad tags in JW6.
For IMA, all tag variables produced by the DFP server are supported. See the IMA SDK Documentation for more info.
Here's an example setup for all four Advertising API use cases:
- Impression Verification, e.g. towards your analytics back-end.
- Custom Scheduling, e.g. for live streaming or podcasts.
- Tag Waterfalling, e.g. for optimizing fill across multiple ad networks.
- Multiple Companions, e.g. for impactful website takeovers.
For IMA, only the playAd() API call is not supported to date.