Mediavine Video Player: Upgrading Prebid.js and What it Means

man in sweatshirt working on a laptop and drinking tea at a coffee shop

We love header bidding at Mediavine, especially video header bidding. Header bidding allows for a single auction and democratizes bids across our ad partners and exchanges.

It also means more competition among exchanges, and ultimately, that added level of competition means advertisers are paying top dollar for your inventory.

When it comes to video, that translates into a major earnings boost.

One of our big projects has been to tackle the auction dynamics of video. What does that mean? Let’s take a peek under the hood to discuss Prebid.js and how we’re using it in our video player.

A mobile user views a video; in the background, on the tabletop, is a wireless keyboard and mouse, and a cup of coffee.

What is Prebid.js?

Prebid.js is an open source library that makes it easier to integrate header bidding with various ad exchanges. It’s responsible for sending out bid requests, getting those bids back, and running the particular ad creative provided by the winning bid.

It’s pretty powerful stuff, and part of the technology that powers the real time auctions in both the Mediavine Script Wrapper and the Video Player.

Upgrading Prebid.js

The exciting part is that we’re finally upgrading the version of Prebid.js we run. What we refer to as the “old legacy branch” is finally giving way to an exciting new version.

The Script Wrapper has been running the latest version of Prebid.js for nearly a year, but the video player has been unfortunately stuck on the old branch.

A beauty vlogger filming with makeup.

What took us so long?

1.0 made some major changes to the exchanges and the requirements to be a bidder in Prebid.js. Many of our ad partners adapted quickly to the new 1.0 requirements for display ads, but unfortunately, some of our exchanges took longer than others to adapt to video.

Without all of these exchanges in place, we couldn’t upgrade to 1.0 without a major performance hit to your bottom line. Obviously, we held off as a result.

The good news is that finally, the last of our ad exchange partners is getting its 1.0 adapter live, which means we’ll be upgrading in the coming weeks.

GDPR and Personalized Ads

An updated Prebid means we’ll be able to pass the consent we’re collecting in the Mediavine CMP to the ad exchanges. That means in the EU, we’ll no longer be serving non-personalized video ads with all of our Prebid.js video partners.

We’ll soon be able to serve personalized ads to EU users that opt in, which means higher CPMs and therefore higher EU RPMs!

What is a cache? How caching works to provide a better user experience. (via Mediavine)

More Exchanges = More Revenue

Higher EU CPMs is just the beginning. The good news is that the rest of the world, including the U.S., will also benefit from new bidders we’re adding.

New exchanges aren’t building products using old technology, so we’ve had to hold off on working with a few of our partners when they’ve added video over the past year. At last they’re coming into the auction, which will mean more competition driving higher CPMs and fill rates.

Updates to Player Size

The original Prebid.js was built for display, so video was awkwardly shoehorned in. The concept of “ad units,” with video represented as the size of the ad in your server, was the only viable option.

We run Google Ad Manager (GAM), formerly known as Google DFP, as our video ad server, which means we originally used the standard Google default size of 640×480 for all of our video.

This wasn’t giving advertisers easy access to the size of the player on the page before bidding, and as a result, all videos were treated as though they were the same size in the auction – a large sticky video player, a small video adhesion and everything in between.

Last year, we came up with a custom fix to this player size issue for our partners that supported it, but it wasn’t a good long-term solution. With Prebid 1.0, we’re able to use the new player size standard and easily pass this value on to all of our exchanges.

We expect with the true player size, it will give advertisers a better chance to buy into the units that better match the KPIs of their campaigns. Happy advertisers ultimately means repeat business from them, so we expect this to provide a nice increase in revenue.

The silhouette of a man filming, while the sun sets behind him.

Parity with the Script Wrapper

Most importantly, upgrading the Mediavine Video Player to the new version of Prebid.js means parity with our Script Wrapper. In non-coder terminology, this allows us save valuable developer resources and share code amongst the Video Player and Script Wrapper.

When it comes to the auction, there are many things our two code bases can share, so we’re really excited to bring all of those to the Video Player.


As always, Mediavine strives to remain agile and adaptable in an ever-changing programmatic ad industry, and with these changes, the Mediavine Video player will be able to achieve exactly that, keeping up with the latest trends and improving publisher performance.

Related Posts