Prebid Adapter


The Prebid Adapter acts as a meta-adapter or proxy, an intermediary that holds a bid for multiple prebid video technologies simultaneously and then renders it.  The highest bid will be returned to the website. If this bid is high enough, the outstream video ad will play in the publisher’s customisable player. The appearance, position and behaviour of the player can be adjusted as desired.

1.0 | Downloading or manually building your Prebid Setup

To make use of the Blue Billywig bid adapter, you’ll have to add it to your version of Prebid.js. There are two common methods to do this:

1.1 | Download on the Prebid.js website

  1. Go to https://prebid.org/download.html
  2. Select the version of Prebid.js you want to use (Minimum 3.19)
  3. Select the header bidding partners you want to connect to, and Blue Billywig.
  4. Optionally, select any Analytics Adapters you may want to use.
  5. Optionally, select any Modules you want to add. The Blue Billywig adapter contains support for:
    1. All User ID modules (including Publisher Common ID)
    2. Consent Management – US Privacy
    3. Consent Management – GDPR
    4. Currency
    5. Supply Chain Object
  6. Download your setup, and continue with the rest of the steps to get ready to configure and test it out.

1.2 | Manually building Prebid.js

More advanced users may wish to build their Prebid.js setup directly from the source. To do so, follow these steps:

  1. Download a copy of a release from the Prebid repository (https://github.com/prebid/Prebid.js/releases, minimum version 3.19)
  2. In the root directory of this copy, run npm install
  3. Similarly to downloading Prebid.js from the website, figure out which modules you want to include in your build for:
    1. Bid Adapters: for example bluebillywigBidAdapter, appnexusBidAdapter
    2. Analytics Adapters: for example fintezaAnalyticsAdapter
    3. Modules: for example consentManagement, consentManagementUsp, currency 
  4. With your  selection, run gulp build -- modules=bluebillywigBidAdapter, someAnalyticsAdapter, someModule, anotherModule
  5. Your build will be available under build/dist/prebid.js

2.0 | Setting up in the Online Video Platform

To set up the Blue Billywig adapter, some setup has to be done in the Online Video Platform. If you don’t have access to this yet, please contact your account manager. Otherwise, log in at https://<yourpublication>.bbvms.com

In the Online Video Platform, we want to set up our renderer. The renderer is a configuration of the Blue Billywig video player that will be used to display bids won by the Blue Billywig adapter.

  1. Log in to your publication
  2. Once logged in, go to the “Ad services” tab on the top of the screen.
  3. From there, make sure you are in the “Ad Units” menu, press “Create New” and from the options select “Outstream > InArticle”
  4. From here, you can configure the renderer. You can ignore the line items and Prebid configuration. Click here to find an explanation of the various options.
  5. Once done, note down what the ad unit’s “code” is. You will need it to configure the adapter in the next step.

3.0 | Configuring the bid adapter

Now that you’ve acquired a new version of Prebid.js and have set up a renderer configuration in the Online Video Platform, it’s time to set up the bid adapter.

The Blue Billywig bid adapter is configured similarly to other bid adapters. When you’ve set up a video (or multi-format including video) ad unit, you can add the Blue Billywig adapter as a bidder like so:

{
    "code": "ad-unit",
    "sizes": [[[768,432],[640,480],[640,360]]],
    "mediaTypes": {
    	"video": {
   	 "playerSize": [768, 432],
   	 "context": "outstream",
   	 "mimes": ["video/mp4"],
   	 "protocols": [ 2,3,5,6]
    	}
    },
    "bids": [{
    	"bidder": "bluebillywig",
    	"params": {
   	 "publicationName": "yourpublication",
   	 "rendererCode": "your_renderer_code",
   	 "accountId": ask_your_account_manager,
   	 "connections": [ "bluebillywig" ],
   	 "bluebillywig": {}
    	}
    }]
}

First we have to get the basic configuration out of the way. In the params object we want to enter the following things:

  • publicationName: The name of your publication as it is in the URL of your Online Video Platform, for example. https://yourpublication.bbvms.com
  • rendererCode: The code noted down in the last step of “Setting up in the Online Video Platform”
  • accountId: Ask your account manager to get your account ID. This is a unique number representing your publication in our platform.

With that out of the way, we can start looking into adding some SSPs. The Blue Billywig bid adapter is unique, in that it doesn’t bid itself. Rather, it acts as a meta-adapter to your SSPs to efficiently bundle all of the requests to one backend, give you the highest bid and then play it with our video player tech.

The configuration on the previous page includes "bluebillywig" as a connection. This is guaranteed to come back with a sample video. However, to run in production you should remove the bluebillywig entry in the connections object, and remove the bluebillywig property.

To request bids from your SSPs, we run a customized version of Prebid Server. This means that to connect to your SSP, you may have to request them to enable your account to use Prebid Server. After that, you can add SSPs by adding their bidder code into the connections array, and then adding a property with as the key the bidder code, and as value an object containing the configuration for that bidder.

You can find out how to configure an individual SSP by looking at their configuration schema either on https://docs.prebid.org/dev-docs/pbs-bidders.html or here https://github.com/prebid/prebid-server/tree/master/static/bidder-params. An example configuration with AppNexus and Unruly may look like this:

{
    	"bidder": "bluebillywig",
    	"params": {
      	"publicationName": "yourpublication",
      	"rendererCode": "your_renderer_code",
      	"accountId": 123,
      	"connections": [ "appnexus", "unruly" ],
      	"appnexus": {
        	  "placement_id": 456,
        	  "inv_code": "yourInventoryCode",
        	  "member": "yourMemberIdentifier"
      	},
      	"unruly": {
        	  "uuid": "fd9a8020-188b-4b73-a9e6-f784ac181420",
        	  "siteid": "yourSiteId"
      	}
    	}
}
Updated on September 16, 2020

Was this article helpful?

Related Articles