<img src="https://img.shields.io/badge/%20-ENTERPRISE-%23B10031" style="float:left"/><br />

Player Bidding (PB) connects your digital video inventory directly to advertising demand sources, increasing competition for your inventory to boost your ad yield. By configuring the `advertising` object of the player, you can access the benefits of player bidding. You can use either a cloud-hosted or self-hosted player.



  • Due to the potential impact on performance and user experience, while the player is waiting for the bidding process to complete, the `playAd()` method is not supported when using Player Bidding.

  • If you have configured advertising settings for your player in your JWP dashboard, changes made to the player's `advertising` object **override any dashboard advertising settings**. To maintain any dashboard advertising settings, be sure to include all existing dashboard advertising configurations within the advertising object.



If you prefer, you can also [set up Player Bidding](🔗) through your JWP dashboard.

<br /> <hr />

## Implementation

Use the following steps and code example to enable Player Bidding:

  1. Be sure that you have satisfied all the [requirements](🔗) for PB.

  2. Within `setup()` of an embedded <a href="/players/docs/jw8-add-a-player-library#cloud-hosted" target="_blank">cloud-hosted</a> or <a href="/players/docs/jw8-add-a-player-library#self-hosted" target="_blank">self-hosted</a> JWP web player, add an `advertising` object that defines whether IMA or VAST ads will be served.

    

    Be sure to replace `{ID}` with a randomly-generated, eight-character, alpha-numeric value. This enables you to run reports for this advertising setup.



<br />

  1. Add the `schedule` object. At the minimum, you must assign an ad tag to the `tag` property and assign `pre` to the `offset` property.<br /><br />The ad tag is used as a fallback tag. PB supports configuring `offset` for mid-roll and post-roll breaks. Since the auction happens before video playback begins and bids may not be valid when a mid-roll or post-roll ad break occurs, we recommend configuring `offset` for pre-roll ad breaks.



<br />

  1. Add the <a href="/players/reference/advertising-config-ref#advertisingbids" target="_blank">bids object</a>.

  2. Within the `bids` object, configure the <a href="/players/reference/advertising-config-ref#advertisingbidsbidders" target="_blank">bidders object</a> for an ad partner. You can combine multiple ad partners into a single array of objects.

  3. Within the `bids` object, configure the <a href="/players/reference/advertising-config-ref#advertisingbidssettings" target="_blank">settings object</a>. Be sure to define the <<glossary:floor price>> (`floorPriceCents`).



Determining the best floor price depends upon various factors. If you need assistance determining the best floor price, please consult with your JWP representative or SSP partner.



<br />

  1. **(Strongly recommended)** Within the `settings` object, add configure the <a href="/players/reference/advertising-config-ref#advertisingbidssettingsconsentmanagement" target="_blank">consentManagement object</a> to manage EU General Data Protection Regulation (GDPR) and California Consumer Privacy Act (CCPA) settings.



With the GDPR improvements introduced in <a href="https://prebid.org/blog/prebid-js-release-4-0/" target="_blank">Prebid.js 4</a>, JWP has updated its Player Bidding product to give you greater control over your GDPR settings. All publishers are expected to have a consent management platform (CMP) and understand how it works. Prebid.js offers some <a href="https://docs.prebid.org/dev-docs/cmp-best-practices.html" target="_blank">CMP guidance</a>.



<br /> <hr />

## Full code sample



<br /> <hr />

## Additional settings

After implementing the basic PB setup, you can customize your implementation with any of these additional properties.

### advertising

For explanations of each property listed below, see: [advertising](🔗).

PropertyVASTIMA
**autoplayadsmuted**********
**bids**<br />_See: [advertising.bids](🔗)_********
**companiondiv**<br />_See: [advertising.companiondiv](🔗)_********
**conditionaladoptout******
**creativeTimeout******
**forceNonLinearFullSlot**
****
**loadVideoTimeout**
****
**locale**
****
**maxRedirects** <br />_NOTE: A maximum redirect of 4-8<br />is recommended for maximum PB yield._
****
**placement**********
**preloadAds**********
**requestTimeout**********
**rules**<br />_See: [advertising.rules](🔗)_********
**schedule**<br />_See: [advertising.schedule](🔗)_********
**vastLoadTimeout**
****
**vpaidcontrols**********
**vpaidmode**
****
**withCredentials**********

<br />

### advertising.bids

For an explanation of the property listed below, see: [advertising.bids](🔗).

PropertyVASTIMA
**bidOnBreaks**                                           ********
**settings**<br />_See: [advertising.bids.settings](🔗)_********

<br />

### advertising.bids.settings

For explanations of each property listed below, see: [advertising.bids.settings](🔗).

PropertyVASTIMA
**bidTimeout**                                              ********
**floorPriceCurrency**********

<br />

### advertising.companiondiv

For explanations of each property listed below, see: [advertising.companiondiv](🔗).

PropertyVASTIMA
**height**                                                      ********
**id**********
**width**********

<br />

### advertising.rules

For explanations of each property listed below, see: [advertising.rules](🔗).

PropertyVASTIMA
**deferAds**                                                 
****
**startOn**********
**startOnSeek**********
**timeBetweenAds**********

<br />

### advertising.schedule

For explanations of each property listed below, see: [advertising.schedule](🔗).

PropertyVASTIMA
**customParams**                                       ********
**type**********

<br />

### autoPause

For explanations of each property listed below, see: [autoPause](🔗).

PropertyVASTIMA
**pauseAds**                                                ********
**viewability**********

<br />

### intl.{lang}.advertising

For explanations of each property listed below, see: [intl.{lang}.advertising](🔗).

PropertyVASTIMA
**admessage**                                             ********
**cuetext**********
**loadingAd**********
**skipmessage******
**skiptext****** 

<br />

(Script tags will be stripped)