AdButler + Prebid.js

Read Time: 5 minutes

Here at AdButler, we’re always adding new features. Today: Header Bidding + Prebid.js support!

You may have heard of header bidding before (it’s been getting a lot of press this year). It’s that revenue generating, backfill-filling technology that people are in love with. If you’ve been waiting for an easier way to hop on the train, AdButler is here to help (along with Prebid.js). If you know what you’re doing, you can head over to the Prebid GitHub to get started, or keep reading if you’re new to header bidding.

To start: Header bidding is a new kind of ad bidding system. When a page loads, the header system asks a bunch of auctions how much they’ll pay for the impression. Whichever returns the highest price wins, and that banner is displayed. Since the auction occurs simultaneously between all bidders, you’re able to get the best price. Compare header bidding to the old system, called a ‘Waterfall’ setup, which involved asking each auction one by one, and selecting whichever one tripped the criteria first (say, above $0.50 CPM). Header bidding allows the site to evaluate all bids at once and choose the best fit circumventing the potentially large load times of the traditional waterfall method, and more importantly, guaranteeing the highest CPM. It also keeps advertisers from competing with themselves across multiple exchanges.

headerbiddingmeeting
Probably what a header bidding meeting looks like.

The name ‘Header bidding’ comes from the placement of the bidder. It sits in the <head> of the webpage, which is always loaded first.

Header bidding is a certified phenomenon at this point. Since it’s inception and rollout (Prebid.js came out just over a year ago), it’s been reported that nearly 70% of publishers have integrated some form of it into their system.

Currently, the premier header bidding wrapper is Prebid.js, an open-source platform compatible with more than 20 different ad sources, from ad networks to ad exchanges. Our new adapter allows you to integrate AdButler tags with Prebid.js and takes out a huge amount of the hassle related to direct sales and header bidding.

Below you’ll find some instructions on how to add AdButler into an existing Prebid.js setup. If you don’t currently use Prebid.js, I would recommend following their guide to get yourself started.

There are two main steps to integration:

1) Add AdButler to a Prebid.js configuration

The AdButler bidder object takes in two required parameters, and up to three optional parameters. It should look something like this:

The accountID and zoneID are used to determine the zone you want to be a part of the bidding. You can find these numbers in the URL while you are viewing the zone you’d like to include in your header bidding:

As a publisher, the minCPM and maxCPM allow you to put a reasonable range on the expected CPM values of your campaigns in AdButler. These may be used if you want to keep typos or particular CPM rates from affecting your auction results. The parameters are inclusive so if you only want to target a specific CPM rate, you need to set them both to the same value.

The final parameter, keyword, allows you to take advantage of our keyword targeting in AdButler. If you aren’t familiar with how are keyword targeting works, feel free to check out our video. All you have to do is pass in the keyword you’d like your banners to match on (‘green’ in my example), and our targeting system will take care of the rest.

2) Configure your AdButler Zone so it can compete in the auctions

Before you start serving your AdButler banners, you’ll need to make a few changes to the zone. A Prebid.js auction determines which ad to show based on its CPMs, so you will need to ensure that all of your advertisements have an associated CPM. To add it, click on the banner or campaign that you want to update from the main zone view. From here, you’ll need to open up the ‘Financial’ options and select rate-based financial metrics. Finally, fill in the CPM and click ‘Save’ at the bottom of the page.

A Few Things to Remember:

  • Each Ad Unit in Prebid.js has a few specified banner sizes that it is expecting. If the zone you have specified for the bid does not match one of those sizes, it will not be able to fill the slot. Make sure that the size of your zone matches the size of the placement.
  • You can still make use of our Unique Delivery feature when integrating your zones into Prebid. If your AdButler zone wins more than one placement on a page, Unique Delivery will make sure that no banner serves twice. While this is on, however, your zone will only be able to compete in as many auctions as there are banners in its inventory.
  • Your weighting, scheduling, and targeting configurations will be applied before sending a bid to the auction. So, the banner with the highest CPM may not always be requested. For example  a higher priority banner will be served before a lower priority banner regardless of CPM. Make sure that your rotation settings match your CPM rates to ensure the greatest revenue from the zone.

Header bidding has been a huge change to the industry, and the space is still developing. We’re excited to be a part of it. Prebid.js support is just the beginning, so keep an eye on our blog for future updates!

Dan Harton


Dan is the youngest member of the AdButler development team. When he's not happily clacking away on his keyboard, he enjoys playing table tennis, and tasting all the good food Victoria has to offer.