Video Ads Not Playing

Checklist for outstream (format attribute, hb-video.js loading, rmp-vast CDN, autoplay policy) and instream (vastReady event, VAST URL validation, content requirement) video ad issues.

If your outstream or instream video slots are not showing ads, work through this checklist. Video ad setup has additional dependencies beyond standard banner slots.

Outstream video troubleshooting

1. Confirm the format attribute is set correctly

The slot div must have data-advlume-format="outstream" (lowercase). Any other value, or omitting the attribute, will cause the slot to be treated as a banner.

2. Check that the video module loaded

Open the browser console and look for:

[advlume] Loading hb-video.js for video/outstream slots

If this line does not appear, the wrapper did not detect any video slots. Double-check the slot div attributes.

If the module loaded but no ad plays, look for:

[advlume] Video: no bid won for slot video-mid

This means the auction ran but no demand partner bid on this impression. This is normal on some sessions, particularly for non-consented traffic or geo-limited demand.

3. Check for rmp-vast load errors

The video player (rmp-vast) is loaded from cdn.jsdelivr.net. If your network blocks this CDN, the player won't load. Check the Network tab for failed requests to rmp-vast.min.js.

4. Check browser autoplay policy

Some browsers block autoplaying video without user interaction. Outstream ads are muted by design (compliant with Chrome's autoplay policy), but if a browser extension is overriding autoplay settings, the video may be blocked before it starts. Test in a fresh Chrome profile without extensions.

Instream video troubleshooting

1. Confirm the vastReady event is firing

Add a console listener to verify the event fires:

window.addEventListener('advlume:vastReady', function(e) {
    console.log('VAST ready:', e.detail);
});

If the event fires with vastUrl: null, no bid was won in the auction. Wait for more traffic — instream fill rates are typically lower than banner, especially initially.

If the event never fires, check that your instream slot div has the correct data-advlume-format="instream" attribute and that the video module loaded (see above).

2. Verify your player is accepting the VAST URL

Copy the VAST URL from the event and paste it into a VAST debugger (e.g. Google's VAST Inspector) to confirm the VAST response is valid and contains a playable creative.

3. Content requirement for instream

Instream demand requires genuine video content on the page. If there is no actual video player on the page, demand partners may return very low or no fill. This is by design — instream is for pages with real video, not as a replacement for outstream.

Further reading

Last updated 2 months ago