As you’re here, we assume that you are familiar with header bidding and how the header auction happens on a site. If not, we strongly suggest you learn it; we’ll be using it often.
Header bidding can be implemented in more than one way. For instance, you can pair up with a managed header bidding provider who provides you a wrapper – which, in turn, helps you run client-side/server-side header bidding seamlessly. The managed header bidding provider will typically have direct relationships with SSPs and/or agencies to bring demand for your impressions.
Or you can also use open-source repositories like Prebid, Pubfood, etc. to run header bidding. In this piece, we will focus on prebid wrapper, a community-powered header bidding wrapper for publishers.
But wait? What’s a header bidding wrapper?
Good question. To put it simply, the wrapper is simply a container (like a Google Tag Manager) which can help you facilitate bids from different header bidding partners for sending it down to the ad server.
The ad server will get the bids and then, decides the winner. So, the primary function of the wrapper is to manage multiple demand partners and get bids from them for each and every impressions.
Before diving into the specifics of a wrapper, you need to know why there’s a wrapper in the first place. Imagine a scenario, where a header bidding partner (for instance, OpenX) would like you to connect with you and if they’re the first one, you can just place their JS code on your pages. Sounds simple, right?
Now, what if there’s another header bidding partner with its own demand, wants to compete for your impressions? The situation gets worse as the demand for your impressions increases – a bunch of codes, hard-to-experiment setup, limited customization, discrepancies, and the list goes on.
The wrapper, at its essence, is a tag management system with features that would help you seamlessly run, test, and optimize header bidding. How? It connects multiple demand partners, rather than forcing you to individually set up/run auctions for all the demand partners. You can use a single wrapper and connect to the supported demand partners.
What’s a prebid wrapper (or Prebid.js)?
Prebid wrapper, also known as prebid.js is one of the open-source frameworks available, to let web publishers and app developers to set up and run header bidding themselves. It comes with 150 demand partners, 15 analytics adapters, and built-in modules to help you with currency conversion, GDPR, and common ID systems.
How does it work?
Let’s see how prebid works on a higher level.
If there’s no header bidding or prebid wrapper tag, whenever a user loads a page, ‘ad tag’ on the page will send ad requests to your ad server. But with the prebid wrapper tag, the ad server code is paused, allowing the prebid.js (prebid wrapper) to fetch bids and creatives from various demand partners.
Sidenote: The wrapper doesn’t interfere with the ad server. It just puts all the demand partners on an equal footing by sending out ad request almost simultaneously (in random order). There’ll be a timeout to ensure page load time is optimal. The bidder partners who return bids within that range will get the chance to compete for the impression.
The information about those bids will be sent to the ad server via ad server’s tag on the page. The bids will match with line items which you’ve created and enable them to compete. Finally, ad server picks the winner.
If a bid from prebid wrapper won the impression, ad server returns a signal to the wrapper to render the winner’s ad creative to the user. If not, ad server will render the winner’s ad creative to the user.
How to setup prebid wrapper on your site?
By now, you probably might have guessed that we require both engineering and adops teams to set up header bidding with prebid.
Though other proprietary wrappers are different, the overall logic remains the same. In prebid, you are required to do everything. When it comes to managed header bidding providers and proprietary wrappers, they’ve developed a wrapper and likely put automation in place to take care of the setup for you.
So, how will you set up prebid to run header bidding?
You need to use developers for setting up the wrapper and adding prebid code on your pages, and then take help from adops engineers to set up and configure the ad server to work with the prebid wrapper.
While we can’t list out all the tasks/steps involved in detail, we’ll try to give you an overview of the steps that should be taken in the prescribed order to efficiently run header bidding via prebid.
Let’s start with the prebid wrapper. Shall we?
Step 1: Prebid library file
Prebid.js, a library file, should be loaded initially to run header bidding. You can head to prebid.org and download the library file. Before downloading, you need to select the version and the adapters (demand partners/header bidding partners) you want to work with. There’s a caveat – you need to ensure the adapters and the prebid version support each other to avoid any errors.
The library file has the core logic (wrapper code) to run header auctions.
Step 2: Ad server library file
The very next step is to load ad server’s library file. If you’re using Google Ad Manager, you can call GPT library file. Prebid.js supports Google Ad manager, FreeWheel, AppNexus, and Smart ad server.
Step 3: Header auction
In order to run header auctions, prebid will pause the initial ad server call. Then, it will send bid requests to multiple demand partners to fetch bids for the available impressions. These should be done by writing the code with appropriate functions (from the library files).
You can make the request asynchronous (doesn’t block the rest of the page content), set a timeout (to ensure wrapper isn’t waiting forever to get the bids from the partners), and make use of modules (GDPR consent management module). On top of these, you can configure the prebid.js to send all the bids from the demand partners to the server, instead of only sending the highest bids (the decision logic of choosing the highest bid is customizable).
Sidenote: A publisher needs technical assistance to go through this process. It is advised to either have a dedicated in-house team to use the prebid wrapper or use a managed header bidding providers.
Ad server setup varies based on the server you use. For Google DFP, you need to create line items and key values for demand partners you want to capture bids from. The configuration requires due diligence since the first-price auction and Google unified pricing rules are applied for indirect demand. We’ll cover it in detail in a separate post. We hope you have an idea about header bidding wrappers and especially, prebid wrapper.
Prebid Vs Managed Header Bidding Wrapper
Building a wrapper and maintaining it, isn’t an easy job. Besides, you’re are required to onboard SSPs and other demand sources yourself.
On one hand, proprietary wrappers raise concerns among the publishers for the lack of its transparency and black-box technology, and on the other, developers struggle to make use of open-source frameworks. The plethora of errors and back-and-forth communication between you and the demand partners makes it even harder*.
*Most of the global SSPs like OpenX, AppNexus, Rubicon, etc. tend to onboard premium publishers with hundreds of millions of ad impressions/mo.
That’s why many managed header bidding providers came up with wrappers – built on top of prebid. This way, publishers can trust the wrapper and save tons and tons of resources and hours and focus on what they do best – creating stellar content, attracting the audience, and delivering the best user experience. Ultimately, it depends on your team and resource availability.
If you have an in-house team to take care of setup and optimization, you can go with a prebid wrapper. It has all the features you require to get started with header bidding. The next best option is, to try a managed header bidding solution provider. The best part is, you’ll outsource almost all the setup, optimization work to the provider. Have any questions regarding prebid/header bidding? We’re here.