Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This page includes guidance on running video inventory through Prebid Server Premium (PSP).
Web Prebid.js send top bid
Guidance on setting up the Prebid.js "send top bid" integration can be found here. To ensure video inventory is accurately represented to demand partners through the openrtb2/prebidjs integration:
- Ensure the Prebid.js version is 10.13.0 or higher is being used.
- Set
tags.video.contextbased on the values listed in the table under the section Using "Plcmt and Placement fields together" > Xandr extensions column. - Set
tags.video.startdelay. - Configure other fields, such as
minduration,maxduration,playback_method,skippable, and so on, as normal. - For more information about Monetize's support for OpenRTB 2.6, see Integration with OpenRTB 2.6.
Web Prebid.js send all bids
Guidance on setting up the Prebid.js send all bids integration can be found here. To ensure video inventory is accurately represented to demand partners through the /openrtb2/prebid integration:
Ensure the Prebid.js version is 10.13.0 or higher is being used.
Include the header
x-openrtb-version: 2.6.Set
video.plcmtbased on the values listed here:1instream2accompanying content3interstitial4no content/standalone
Set
video.placementbased on the values listed here1instream2in-banner3in-article4in-feed5interstitial/slider/floating
Set
video.startdelaybased on the values listed here>0mid-roll (value indicates start delay in second)0pre-roll-1generic mid-roll-2generic post-roll
If needed or preferred, instead of setting
video.plcmtandvideo.placementin the bid request, theimp.video.ext.appnexus.contextfield can be used based on values listed here. The final request to demand partners will includevideo.placementandvideo.plcmtbased on the logic in the documentation.Set other fields, such as
minduration,maxduration,playbackmethod,skip, and so on, as normal.For more information on Monetize's support for OpenRTB 2.6, see this page.
Instream
Include the Monetize PSP
cache.urlobject in the config settings as shown in the following example:pbjs.setConfig({ "cache":{ "useLocal":true }, "debug":true, "enableSendAllBids":true, "s2sConfig":{ "accountId":9325, "bidders":[ "msft" ] } });To ensure that the relevant cache key-values are returned, include the
extPrebid.cache.bids[{}]object within thes2sConfigas shown in the following example:extPrebid = ([ { "cache":{ "bids":[ { "bidder":"msft", "params":{ "placementId":1234567 } } ] }, "targeting":{ "includebidderkeys":true, "includewinners":true } } ])
Outstream
To ensure that the ad request is made for
Prebid.js s2s(with PSP), include the renderer object within the adUnit definition as shown in the following example:var adUnits = ([ { "code":"video1", "//first_comment":"This renderer would apply to all prebid creatives.", "renderer":{ "url":"https://acdn.adnxs.com/video/outstream/ANOutstreamVideo.js", "render":"function (bid)", "ANOutstreamVideo.renderAd":{ "targetId":"bid.adUnitCode", "adResponse":"bid.adResponse" } }, "mediaTypes":{ "video":{ "context":"outstream", "playerSize":[ 640, 480 ], "mimes":[ "video/mp4" ], "protocols":[ 1, 2, 3, 4, 5, 6, 7, 8 ], "playbackmethod":[ 2 ], "skip":0, "playback_method":[ "auto_play_sound_on" ] } }, "bids":[ { "bidder":"msft", "params":{ "placementId":1234567, "//first_comment":"Your placement ID." } } ] } ])Monetize response includes
prebid.type=video, but if the user sets additional key-value targeting for Prebid, as shown in the below example, then thehb_format=videokey-value will be sent to Google Ad Manager (GAM) and can be targeted accordingly.{ "targetingControls":{ "addTargetingKeys":[ "SOURCE", "ADOMAIN", "FORMAT" ] } }To leverage passing contextual key-values into the auction, be sure to upgrade to
Prebid.jsversion 6.14.0 or higher, and define adUnit-level keywords accordingly. To ensure that the ad request is made properly forPrebid.js s2s(with PSP), pass adUnit-level keywords to Monetize by including the keywords object within the adUnit definition as shown in the following example:var adUnits = ([ { "code":"div-1", "mediaTypes":{ "banner":{ "sizes":[ { "height":600, "width":160 } ] } }, "bids":[ { "bidder":"msft", "params":{ "placementId":21230286, "keywords":{ "test-key":[ "test-value" ] } } } ] } ])For more information, see Ad Unit specific data and auction-level keywords.
Demand partner response
Demand partners should send duration with all bids to ensure ads fill the expected time for both instream and ad pod opportunities.
- Instream: Duration is not strictly required. If duration sent is 0 the bid could still win and serve but Monetize cannot ensure the video is the appropriate length.
- Ad Pod: Bids must include the video creative duration in either
bid.dur(for OpenRTB 2.6) orext.prebid.video.duration(if OpenRTB 2.6 is not yet supported). Note that the duration is not parsed from XML.
External ad server setup
When an ad server other than Monetize is used, Prebid line items and the associated creative might require a VAST tag URL or a cache URL. More information about these scenarios are available in Prebid.org documentation.
When using an external ad server with PSP,
- configure Prebid.js web: See Prebid.js client-side caching and local client-side caching options documented here and configure according to your requirement. Also, see
setConfigbid cache functions here and take appropriate steps. - configure Prebid Mobile SDK app: Ideally the ad server combines the
hb_cache_hostandhb_cache_pathtargeting keys from the PSP response to get the full and dynamic cache URL. If that is not supported, the ad server requires a static and hard-coded path. You can usehttps://ib.adnxs.com/prebid/cache?uuid=%%PATTERN:hb_uuid_BIDDERCODE%%as static url.