Prebid is more than a product; it’s a product suite, a community and an organization.
Header bidding is a response to a fragmented and highly inefficient process for digital ad display. It is an alternative to the “waterfall” method, the process of offering impressions in one sales channel and if that does not succeed moving to less valuable channels. Header bidding is sometimes referred to as advance bidding or pre-bidding. When the page loads, header bidding enables publishers to have simultaneous auctions with all SSPs and ad exchanges. Publishers can receive bids on their inventory that may be unavailable through their primary ad server and exchange. The returned bids are then passed into the ad server so they can compete with direct demand and the primary ad server’s exchange on a level playing field.
The early days of header bidding were dominated by bad practices, closed proprietary tech, poor standards, and little to no cooperation between competing companies. Publishers were presented with a confusing and time consuming process of having to manually patch together various solutions from different companies and processes. Prebid.js launched in 2015 to make header bidding easy for publishers by bringing conformity and simplictity to the header bidding process. By creating a simple, open tech layer upon which companies could add their code to a standard but optimized foundation, Prebid.js made it easier to implement header bidding, and offered the largest repository of working adapters. Today, Prebid.js is the most widely used header bidding “container” or “wrapper” on the web. The ecosystem supports more than 150 demand partners, over fifteen analytics providers, and numerous publishers.
The Prebid product suite offers publishers multiple benefits designed to foster a better header bidding experience:
Prebid.js is the core product of the Prebid suite. Implemented on multiple formats to include display, video, and native, it provides a simple process for header bidding that can be ramped up to fit the complexity of your needs.
One of the main problems publishers experienced with other header bidding solutions was the delay between the bid requests being sent and the responses being returned. Many solutions use synchronous calls, meaning each SSP or ad exchange had to receive the request and return a response before the next SSP was called. This could lead to long delay from the web page being called to it loading. Prebid resolves this issue by concurrently calling the selected SSPs and ad exchanges within the set timeout. That setting is respected by Prebid.js, and any bidder not returning a result within the timeout duration is excluded from the auction. This dramatically decreases the page load time, providing a better user experience.
A simple Prebid.js process follows these steps:
Prebid Server provides a server side solution to header bidding. Built on the same core principles of Prebid.js, our server solution can reduce latency and improve page load time. Several Prebid.org members provide hosted solutions, enabling publishers to receive the benefits of server side header bidding without the need to implement and manage the process themselves.
If a publisher would prefer to implement their own solution, source code is available from our Github page and detailed instructions for configuring, deploying and testing your implementation can be found in the Prebid Server section of this site.
Prebid Server process
Prebid Server provides multiple endpoints for auctions as well as data retrieval and supports the AMP (accelerated mobile pages) format. The primary endpoint is
/openrtb2/auction and the process follows these steps:
For mobile apps, Prebid provides Prebid Mobile (PBM), an end-to-end header bidding solution for both iOS and Android. Working in conjunction with Prebid Server, PBM reduces latency and enables access to more mobile buyers, provides options for banner and interstitial ad formats, and enables user to set global targeting values for the bid request.
Prebid Mobile process
The PBM header bidding process follows these steps: