Ad Waterfalling

Why do you need waterfalling?

It is all about fill-rate. At a given point in time an ad-server may not have inventory to return a VAST response with an available creative included. Fill-rate for an ad campain can be anywhere between 5% to 95%. Fill-rate may vary based on country, audience, ad-type (in-stream vs. out-stream) or your contract with the ad service provider. On top you must account for potential network errors as the VAST process typically requires several HTTP requests to complete.

A solution to maximise fill-rate is to use ad waterfalling. This can either be a player-side or server-side process. For client-side waterfalling you can use the adTagWaterfall setting to maximise fill-rate and thus revenue with Radiant Media Player. Using this setting requires you to use at least 2 different ad service provider so that the player can waterfall from one to another.

Supported waterfalling modes (a.k.a. fallback or mediation)

Radiant Media Player supports two modes for ad waterfalling:

  • Waterfalling based on adTagWaterfall player setting: VAST tags for waterfalling are passed to the player as a configuration option. The player will sequentially run through all available VAST tags until it finds one that is suitable or has no more VAST tags to waterfall upon.
  • VAST-embedded waterfalling: known as VAST redirects (VAST Wrapper) and described in the VAST 3 specification. The player will follow any redirect information it finds in a VAST response until it locates a suitable VAST tag or has no more redirect to follow. This may be configured with your ad service provider.

Waterfalling based on player setting

adTagWaterfall: Array

Specifies an array of backup VAST tags if the first adTagUrl produces an error. The player will cycle through all available VAST tags (in order) in adTagWaterfall until one is available or will resume content if no valid response is found (e.g. no inventory). Default: [].

When the player tries to load a new VAST tag with the adTagWaterfall setting, a adclientsidewaterfallrequested API event fires

Player code example:

<!-- Include Radiant Media Player JavaScript file in your <body> or <head> -->
<script src=""></script>
<!-- Player container element -->
<div id="rmp"></div>
<!-- Set up player configuration options -->
  // Streaming source - HLS in this example
  const src = {
    hls: 'https://your-hls-url.m3u8'
  // Player settings
  const settings = {
    licenseKey: 'your-license-key',
    src: src,
    width: 640,
    height: 360,
    ads: true,
    adTagUrl: 'https://your-ad-tag-url',
    // Here comes our waterfall array with fallback adTag urls  
    adTagWaterfall: [
    contentMetadata: {
      poster: [
  const rmp = new RadiantMP('rmp');

VAST-embedded waterfalling

The player will automatically follow any VAST redirect information (VAST Wrapper) until it finds a suitable VAST response or has no more redirect to follow. This may be configured with your ad service provider.

If you use Google Ads refer to this article for more information on video fallback.

When no valid VAST response after one or more Wrappers is available the player will fire an aderror event. The getAdVastErrorCode API method shall provide the error code 303 (Empty VAST response returned). See VAST 3 video error codes for more information.

The player will always look for VAST-embedded waterfall before using data in the adTagWaterfall setting when both waterfalling options are available.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License.

©2015-2024 Radiant Media Player. All Rights Reserved.