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.
Radiant Media Player supports two modes for ad waterfalling:
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.
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="https://cdn.radiantmediatechs.com/rmp/9.3.0/js/rmp.min.js"></script> <!-- Player container element --> <div id="rmp"></div> <!-- Set up player configuration options --> <script> // 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: [ 'https://your-fallback-ad-tag-url-1', 'https://your-fallback-ad-tag-url-2' ], contentMetadata: { poster: [ 'https://your-poster-url.jpg' ] } }; const rmp = new RadiantMP('rmp'); rmp.init(settings); </script>
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.
©2015-2023 Radiant Media Player. All Rights Reserved.