Back to Bidders

OpenX

Features

Bidder Code openx Prebid.org Member yes
Prebid.js Adapter yes Prebid Server Adapter yes
Media Types display, video Multi Format Support check with bidder
TCF-EU Support yes IAB GVL ID 69
GPP Support some (check with bidder) DSA Support check with bidder
USP/CCPA Support yes COPPA Support yes
Supply Chain Support yes Demand Chain Support check with bidder
Safeframes OK check with bidder Supports Deals check with bidder
Floors Module Support yes First Party Data Support yes
User IDs admixerId, adtelligentId, amxId, britepoolId, criteo, dapId, deepintentId, dmdId, fabrickId, hadronId, id5Id, identityLink, idxId, imuId, intentIqId, kinessoId, liveIntentId, lotamePanoramaId, merkleId, mwOpenLinkId, naveggId, netId, novatiq, parrableId, pubCommonId, publinkId, quantcastId, sharedId, tapadId, uid2, unifiedId, verizonMediaId, zeotapIdPlus ORTB Blocking Support check with bidder
Privacy Sandbox check with bidder Prebid Server App Support check with bidder

Registration

If you have any questions regarding set up, please reach out to your account manager or support@openx.com.

Please note that OpenX is transitioning its serving architecture and currently has 2 bid adapters as of Prebid 7. The legacy adapter is named openxBidAdapter. The newer of the two is openxOrtbBidAdapter. Publishers are welcome to test with openxOrtbBidAdapter and give feedback. After the transition openxOrtbBidAdapter will replace openxBidAdapter.

IMPORTANT: only include either openxBidAdapter or openxOrtbBidAdapter in your build.

Prebid Server Note

This bidder requires the client side Prebid.js adapter to work on Prebid Server due to the dependency on the transformBidParams function. See prebid.js #6361 for more details.

Bid Parameters

Name Scope Description Example Type
delDomain or platform** required OpenX delivery domain provided by your OpenX representative. “PUBLISHER-d.openx.net” String
unit required OpenX ad unit ID provided by your OpenX representative. “1611023122” String
customParams optional User-defined targeting key-value pairs. customParams applies to a specific unit. {key1: "v1", key2: ["v2","v3"]} Object
customFloor optional Minimum price in USD. customFloor applies to a specific unit. For example, use the following value to set a $1.50 floor: 1.50

WARNING:
Misuse of this parameter can impact revenue.

Note:
OpenX suggests using the Price Floor Module instead of customFloor. The Price Floor Module is prioritized over customFloor if both are present.
1.50 Number
doNotTrack optional Prevents advertiser from using data for this user.

WARNING:
Impacts all bids in the request. May impact revenue.
true Boolean
coppa optional Enables Child’s Online Privacy Protection Act (COPPA) regulations. WARNING:
Impacts all bids in the request. May impact revenue.
true Boolean

** platform is deprecated. Please use delDomain instead. If you have any questions please contact your representative.

AdUnit Format for Banner

var adUnits = [
  {
    code: 'test-div',
    sizes: [[728, 90]],  // a display size
    mediaTypes: {'banner': {}},
    bids: [
      {
        bidder: 'openx',
        params: {
          unit: '539439964',
          delDomain: 'se-demo-d.openx.net',
          customParams: {
            key1: 'v1',
            key2: ['v2', 'v3']
          },
        }
      }, {
        bidder: 'openx',
        params: {
          unit: '539439964',
          delDomain: 'se-demo-d.openx.net',
          customParams: {
            key1: 'v1',
            key2: ['v2', 'v3']
          },
        }
      }
    ]
  }
];

Video

Name Scope Description Example Type
unit required OpenX ad unit ID provided by your OpenX representative. “1611023122” String
delDomain or platform** required OpenX delivery domain provided by your OpenX representative. “PUBLISHER-d.openx.net” String

** platform is deprecated. Please use delDomain instead. If you have any questions please contact your representative.

mediaTypes.video

The following video parameters are supported here so publishers may fully declare their video inventory:

Name Scope Description Example Type
context required instream or outstream “outstream” string
playerSize required width, height of the player in pixels [640,360] - will be translated to w and h in bid request array
mimes required List of content MIME types supported by the player (see openRTB v2.5 for options) [“video/mp4”] array
protocols recommended Supported video bid response protocol values
1: VAST 1.0
2: VAST 2.0
3: VAST 3.0
4: VAST 1.0 Wrapper
5: VAST 2.0 Wrapper
6: VAST 3.0 Wrapper
7: VAST 4.0
8: VAST 4.0 Wrapper
[2,3,5,6] array
api recommended Supported API framework values:
1: VPAID 1.0
2: VPAID 2.0
3: MRAID-1
4: ORMMA
5: MRAID-2
[2] array
linearity recommended OpenRTB2 linearity. 1: linear (in-stream ad), 2: non-linear (overlay ad) 1 integer
maxduration recommended Maximum video ad duration in seconds. 30 integer
minduration recommended Minimum video ad duration in seconds 6 integer
playbackmethod recommended Playback methods that may be in use. Only one method is typically used in practice. (see openRTB v2.5 section 5.10 for options) [2] array
minbitrate optional Minimum bit rate in Kbps. 300 integer
maxbitrate optional Maximum bit rate in Kbps. 9600 integer
battr optional Blocked creative attributes [13,14] array
startdelay recommended Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements.
>0: Mid-Roll (value indicates start delay in second)
0: Pre-Roll
-1: Generic Mid-Roll
-2: Generic Post-Roll
0 integer
placement recommended Placement type for the impression. (see openRTB v2.5 section 5.9 for options) 1 integer
         

AdUnit Format for Video

var videoAdUnits = [
{
    code: 'test-div-video',
    mediaTypes: {
        video: {
            playerSize: [640, 480],           // required
            context: 'instream',
            mimes: ['video/mp4','video/x-flv'],   // required
            minduration: 5,                       // optional
            maxduration: 30,                      // optional
            startdelay: 5,                        // optional
            playbackmethod: [1,3],                // optional
            api: [ 1, 2 ],                        // optional
            protocols: [ 2, 3 ],                  // optional
            battr: [ 13, 14 ],                    // optional
            linearity: 1,                         // optional
            placement: 2,                         // optional
            minbitrate: 10,                       // optional
            maxbitrate: 10                        // optional
        }
    },
    bids: [{
      bidder: 'openx',
      params: {
        unit: '1611023124',
        delDomain: 'PUBLISHER-d.openx.net'
      }
    }]
}]

Example

var adUnits = [
  {
    code: 'test-div',
    sizes: [[728, 90]],  // a display size
    mediaTypes: {'banner': {}},
    bids: [
      {
        bidder: 'openx',
        params: {
          unit: '539439964',
          delDomain: 'se-demo-d.openx.net',
          customParams: {
            key1: 'v1',
            key2: ['v2', 'v3']
          },
        }
      }, {
        bidder: 'openx',
        params: {
          unit: '539439964',
          delDomain: 'se-demo-d.openx.net',
          customParams: {
            key1: 'v1',
            key2: ['v2', 'v3']
          },
        }
      }
    ]
  },
  {
    code: 'video1',
    mediaTypes: {
      video: {
        playerSize: [640, 480],
        context: 'instream',
        mimes: ['video/x-ms-wmv, video/mp4']
      }
    },
    bids: [{
      bidder: 'openx',
      params: {
        unit: '1611023124',
        delDomain: 'PUBLISHER-d.openx.net'
      }
    }]
  }
];

First Party Data

OpenX supports FPD configured under ortb2.userand ortb2.site.content as described here. Ad unit specific FPD is not supported, and segment taxonomies (segtax) are simply passed through. If you have any questions, please reach out to us at [prebid@openx.com]

Example:

pbjs.setConfig({
   ...
   ortb2: {
       site: {
            content: {
                data: [{
                    name: "www.dataprovider1.com",
                    ext: { segtax: 4 },
                    segment: [
                        { id: "687" },
                        { id: "123" }
                    ]
                }]
            },
       },
       user: {
           data: [{
               name: "dataprovider.com",
               ext: { segtax: 4 },
               segment: [
                    { id: "1" }
               ]
           }],
       }
   }
   ...
});

Configuration

Add the following code to enable user syncing. By default, Prebid.js version 0.34.0+ turns off user syncing through iframes. OpenX strongly recommends enabling user syncing through iframes. This functionality improves DSP user match rates and increases the OpenX bid rate and bid price. Be sure to call pbjs.setConfig() only once.

pbjs.setConfig({
   userSync: {
      iframeEnabled: true
   }
});

Additional Details

"Send All Bids" Ad Server Keys

These are the bidder-specific keys that would be targeted within GAM in a Send-All-Bids scenario. GAM truncates keys to 20 characters.
hb_pb_openx hb_bidder_openx hb_adid_openx
hb_size_openx hb_source_openx hb_format_openx
hb_cache_host_openx hb_cache_id_openx hb_uuid_openx
hb_cache_path_openx hb_deal_openx

Back to Bidders