diff --git a/_includes/video/pb-is-br.html b/_includes/video/pb-is-br.html index 573f3a337d..a3bde786ef 100644 --- a/_includes/video/pb-is-br.html +++ b/_includes/video/pb-is-br.html @@ -110,9 +110,9 @@ pbjs.setConfig({ usePrebidCache: true, - cache: { - url: 'https://prebid.adnxs.com/pbc/v1/cache' - } + cache: { + url: 'https://prebid.adnxs.com/pbc/v1/cache' + } }); pbjs.requestBids({ diff --git a/dev-docs/bidders/152media.md b/deprecated-bidders/152media.md similarity index 94% rename from dev-docs/bidders/152media.md rename to deprecated-bidders/152media.md index b48dcd8ad4..55d2e65a0c 100644 --- a/dev-docs/bidders/152media.md +++ b/deprecated-bidders/152media.md @@ -1,5 +1,5 @@ --- -layout: bidder +layout: deprecated-bidder title: 152Media description: Prebid 152Media Bidder Adaptor diff --git a/dev-docs/bidders/archon.md b/dev-docs/bidders/archon.md deleted file mode 100644 index 727c5cc303..0000000000 --- a/dev-docs/bidders/archon.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: bidder -title: Archon Warp -description: Prebid Archon Warp Bidder Adaptor -hide: true -biddercode: archon -aliasCode: serverbid ---- - - -### Bid Params - -{: .table .table-bordered .table-striped } -| Name | Scope | Description | Example | Type | -|-------------|----------|------------------------------------|---------|-----------| -| `siteId` | required | The site ID from 152 Media 2.0. | `12345` | `integer` | -| `networkId` | required | The network ID from 152 Media 2.0. | `9969` | `integer` | diff --git a/dev-docs/bidders/districtmdmx.md b/dev-docs/bidders/districtmdmx.md index 94148a82b5..7702bba05a 100644 --- a/dev-docs/bidders/districtmdmx.md +++ b/dev-docs/bidders/districtmdmx.md @@ -7,6 +7,8 @@ biddercode: districtmDMX gdpr_supported: true schain_supported: true usp_supported: true +coppa_supported: true +userIds: digitrust, id5Id, identityLink, pubCommonId, unifiedId --- diff --git a/dev-docs/bidders/gumgum.md b/dev-docs/bidders/gumgum.md index 9f37bb50b2..2cbb7a71cc 100644 --- a/dev-docs/bidders/gumgum.md +++ b/dev-docs/bidders/gumgum.md @@ -27,3 +27,4 @@ information. | `inScreenPubID`| optional | Publisher ID| `123` | `integer` | | `inSlot` | optional | Slot ID | `9` | `integer` | | `video` | optional | Tracking ID | `'ggumtest'` | `string` | +| `inVideo` | optional | Tracking ID | `'ggumtest'` | `string` | diff --git a/dev-docs/bidders/lunamedia.md b/dev-docs/bidders/lunamedia.md new file mode 100644 index 0000000000..b4ba9af257 --- /dev/null +++ b/dev-docs/bidders/lunamedia.md @@ -0,0 +1,22 @@ +--- +layout: bidder +title: Luna Media +description: Prebid Luna Media Bidder Adapter +hide: true +biddercode: lunamedia +--- + +### Note: +For more information about Luna Media, please contact lokesh@advangelists.com + +### Bid Params + +{: .table .table-bordered .table-striped } +| Name | Scope | Description | Example | Type | +|------------------|----------|------------------|------------------------------------------|-------------------| +| `placement ` | required | | `'263'` | `string` | +| `pubid` | required | | `'0cf8d6d643e13d86a5b6374148a4afac'` | `string` | +| `mimes` | optional | video only | `['video/mp4', 'application/javascript']`| `array of strings`| +| `playbackmethod` | optional | video only | `[2,6]` | `array of numbers`| +| `maxduration` | optional | video only | `30` | `number` | +| `skip` | optional | video only | `0 or 1` | `number` | diff --git a/dev-docs/bidders/luponmedia.md b/dev-docs/bidders/luponmedia.md new file mode 100644 index 0000000000..6ba2003d1e --- /dev/null +++ b/dev-docs/bidders/luponmedia.md @@ -0,0 +1,23 @@ +--- +layout: bidder +title: LuponMedia +description: LuponMedia Bidder Adapter +hide: true +biddercode: luponmedia +gdpr_supported: true +usp_supported: true +coppa_supported: true +schain_supported: true +userIds: digitrust, identityLink, liveIntentId, pubCommonId +--- + +### Note: +The LuponMedia bidder adapter requires setup and approval from the LuponMedia support team, even for existing LuponMedia publishers. Please contact us for more information. + +### Bid Params + +{: .table .table-bordered .table-striped } +| Name | Scope | Description | Example | Type | +|--------|----------|--------------------------|---------|-----------| +| `siteId` | required | The publisher's unique site ID | `12345` | `integer` | +| `keyId` | required | The key ID | `4o2c4` | `string` | diff --git a/dev-docs/bidders/nobidBidAdapter.md b/dev-docs/bidders/nobidBidAdapter.md index 9d0a48b517..44388419dd 100644 --- a/dev-docs/bidders/nobidBidAdapter.md +++ b/dev-docs/bidders/nobidBidAdapter.md @@ -4,7 +4,7 @@ title: Nobid description: Prebid Nobid Bidder Adaptor biddercode: nobid hide: true -media_types: banner +media_types: banner, video gdpr_supported: true usp_supported: true schain_supported: true @@ -18,12 +18,13 @@ coppa_supported: true |---------------|----------|-------------|---------|----------| | `siteId` | required | siteId is provided by your NoBid account manager(s) | | `integer` | | `placementId` | optional | placementId is provided by your NoBid account manager(s). This parameter allows to report on a specific ad unit | | `integer` | +| `video`| optional | Object containing video targeting parameters. See [Video Object](#nobid-video-object) for details. | `video: { playback_method: ['auto_play_sound_off'] }` | `object`| # Test Parameters ``` var adUnits = [ { - code: 'test-div', + code: 'test-div1', mediaTypes: { banner: { sizes: [[300, 250]], // a display size @@ -39,7 +40,7 @@ coppa_supported: true } ] },{ - code: 'test-div', + code: 'test-div2', mediaTypes: { banner: { sizes: [[320, 50]], // a mobile size @@ -55,4 +56,20 @@ coppa_supported: true ] } ]; -``` \ No newline at end of file +``` + + + +#### Video Object + +{: .table .table-bordered .table-striped } +| Name | Description | Type | +|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------| +| `skippable` | Boolean which, if `true`, means the user can click a button to skip the video ad. Defaults to `false`. | `boolean` | +| `playback_method` | Array of strings listing playback methods supported by the publisher. Allowed values: `"auto_play_sound_on"`; `"auto_play_sound_off"`; `"click_to_play"`; `"mouseover"`; `"auto_play_sound_unknown"`; `"viewport_sound_on"`, `"viewport_sound_off"`. | `Array` | +| `position` | Array of strings listing video player position supported by the publisher. Allowed values: `"na"`, `"atf"`, `"btf"`, `"head"`, `"foot"`, `"sidebar"`, `"full"`. | `Array` | +| `mimes` | Array of strings listing the content MIME types supported, e.g., `["video/x-flv", "video/x-ms-wmv"]`. | `Array` | +| `minduration` | Integer that defines the minimum video ad duration in seconds. | `integer` | +| `maxduration` | Integer that defines the maximum video ad duration in seconds. | `integer` | +| `frameworks` | Array of integers listing API frameworks supported by the publisher. Allowed values: None: `0`; VPAID 1.0: `1`; VPAID 2.0: `2`; MRAID 1.0: `3`; ORMMA: `4`; MRAID 2.0: `5`. | `Array` | + diff --git a/dev-docs/bidders/onefiftytwo.md b/dev-docs/bidders/onefiftytwo.md deleted file mode 100644 index d1406369ae..0000000000 --- a/dev-docs/bidders/onefiftytwo.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: bidder -title: 152 Media 2.0 -description: Prebid Serverbid Bidder Adaptor -hide: true -biddercode: onefiftytwo -aliasCode: serverbid ---- - - -### Bid Params - -{: .table .table-bordered .table-striped } -| Name | Scope | Description | Example | Type | -|-------------|----------|------------------------------------|---------|-----------| -| `siteId` | required | The site ID from 152 Media 2.0. | `12345` | `integer` | -| `networkId` | required | The network ID from 152 Media 2.0. | `9969` | `integer` | diff --git a/dev-docs/bidders/pubmatic.md b/dev-docs/bidders/pubmatic.md index 18342b6068..748e723b45 100644 --- a/dev-docs/bidders/pubmatic.md +++ b/dev-docs/bidders/pubmatic.md @@ -11,6 +11,7 @@ coppa_supported: true schain_supported: true userIds: britepoolId, criteo, digitrust, id5Id, identityLink, liveIntentId, netId, parrableId, pubCommonId, unifiedId prebid_member: true +tcf2_supported: true --- ### Prebid Server Note: diff --git a/dev-docs/bidders/yieldmo.md b/dev-docs/bidders/yieldmo.md index 3d3048c52a..0ee8e14056 100644 --- a/dev-docs/bidders/yieldmo.md +++ b/dev-docs/bidders/yieldmo.md @@ -5,7 +5,10 @@ description: Prebid Yieldmo Bidder Adaptor hide: true biddercode: yieldmo media_types: native -userIds: pubCommonId, unifiedId +userIds: pubCommonId, unifiedId, criteo +gdpr_supported: true +usp_supported: true +schain_supported: true --- diff --git a/dev-docs/faq.md b/dev-docs/faq.md index eab6e7d533..e7c48c1a76 100644 --- a/dev-docs/faq.md +++ b/dev-docs/faq.md @@ -64,7 +64,7 @@ The "limited bid caching" feature applies only: Since the storage is in the browser, cached bids only apply to a single page context. If the user refreshes the page, the bid is lost. Each bid adapter defines the amount of time their bids can be cached and reconsidered. -This setting is called “Time to Live” (TTL), documented [here]({{site.baseurl}}/dev-docs/publisher-api-reference.html#module_pbjs.getBidResponses). +This setting is called “Time to Live” (TTL), documented in the pbjs.getBidResponse [parameter table here]({{site.baseurl}}/dev-docs/publisher-api-reference.html#module_pbjs.getBidResponses). Examples of scenarios where a bid may be reconsidered in Prebid.js: diff --git a/dev-docs/modules/sizeMappingV2.md b/dev-docs/modules/sizeMappingV2.md index f2cfd3265a..2598a26452 100644 --- a/dev-docs/modules/sizeMappingV2.md +++ b/dev-docs/modules/sizeMappingV2.md @@ -3,8 +3,8 @@ layout: page_v2 page_type: module title: Module - Size Mapping description: Display Conditional and Responsive Ad Units -module_code: sizeMapping -display_name: Size Mapping +module_code: sizeMappingV2 +display_name: Advanced Size Mapping enable_download: true sidebarType: 1 --- diff --git a/dev-docs/modules/userId.md b/dev-docs/modules/userId.md index 73b172f321..e2dc1bd541 100644 --- a/dev-docs/modules/userId.md +++ b/dev-docs/modules/userId.md @@ -24,7 +24,7 @@ The User ID module supports multiple ways of establishing pseudonymous IDs for u * **DigiTrust ID** – an anonymous cryptographic ID generated in the user’s browser on a digitru.st subdomain and shared across member publisher sites. * **ID5 Universal ID** - a neutral identifier for digital advertising that can be used by publishers, brands and ad tech platforms (SSPs, DSPs, DMPs, Data Providers, etc.) to eliminate the need for cookie matching. * **Identity Link** – provided by LiveRamp, this module calls out to the ATS (Authenticated Traffic Solution) library or a URL to obtain the user’s IdentityLink envelope. -* **LiveIntent ID** – fetches a user ID based on identifiers that are present on the page. It calls the LiveIntent Identity Exchange endpoint which resolves the inbound identifiers to a stable ID. +* **LiveIntent ID** – a user identifier tied to an active, encrypted email in our graph and functions in cookie-challenged environments and browsers. * **Parrable ID** - an encrypted pseudonymous ID that is consistent across all browsers and webviews on a device for every publisher the device visits. This module contacts Parrable to obtain the Parrable EID belonging to the specific device which can then be used by the bidder. * **PubCommon ID** – an ID is generated on the user’s browser and stored for later use on this publisher’s domain. * **Unified ID** – a simple cross-vendor approach – it calls out to a URL that responds with that user’s ID in one or more ID spaces (e.g. adsrvr.org). @@ -33,7 +33,7 @@ The User ID module supports multiple ways of establishing pseudonymous IDs for u ## How It Works 1. The publisher determines which user ID modules to add to their Prebid.js package and consults with their legal counsel to determine the appropriate user disclosures. -1. The publisher builds Prebid.js by specifying one or more ID sub-modules they would like to include. e.g. "gulp build --modules=____IdSystem" +1. The publisher builds Prebid.js by specifying one or more ID sub-modules they would like to include. e.g. "gulp build --modules=____IdSystem". You also need to add the `userId` module to your Prebid.js distribution. 1. The page defines User ID configuration in `pbjs.setConfig()` 1. When `setConfig()` is called, and if the user has consented to storing IDs locally, the module is invoked to call the URL if needed 1. If the relevant local storage is present, the module doesn't call the URL and instead parses the scheme-dependent format, injecting the resulting ID into bidRequest.userId. @@ -399,7 +399,7 @@ The adapters can be implemented to use the lipibid as the identifier and segment The LiveIntent ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier (LIID). In order to provide resolution one or more first-party cookies are used to create a stable identifier. -How does LiveIntent ID sub-module decide, which first-cookies to use: +How does LiveIntent ID sub-module decide, which first-party cookies to use: 1. By default LiveIntent ID sub-module generates its own first-party identifier on the publisher’s domain. Publishers have the option to disable the cookie generation when configuring the LiveIntent ID sub-module. 2. A publisher can also define in the configuration which additional first-party cookies should be used. These can be used in a combination with the LiveIntent first-party cookie. @@ -417,27 +417,30 @@ You are not required to register with LiveIntent to start using the LiveIntent I 1. Providing buyers a stable identifier, which can solve cross-browser and cross-channel frequency capping challenges. 2. Leveraging your first-party audiences to increase the value of your inventory. +The LiveIntent privacy policy is at [https://www.liveintent.com/services-privacy-policy/](https://www.liveintent.com/services-privacy-policy/) + #### LiveIntent ID configuration -|Param under userSync.userIds[]|Scope|Type|Description|Example| -|---|:---:|:---:|---:|---:| -|`name`|Required | `String`|The name of this module.|`'liveIntentId'`| -|`params`| Required|`Object`|Container of all module params.|| -|`params.publisherId`|Required|`String`| The unique identifier for each publisher.|`'12432415'`| -|`params.ajaxTimeout`|Optional|`Number`|This configuration parameter defines the maximum duration of a call to the IdentityResolution endpoint. By default, 1000 milliseconds.|`1000`| -|`params.partner`| Optional|`String`|The name of the partner whose data will be returned in the response.|`'prebid'`| -|`params.identifiersToResolve`|Optional|`Array[String]`|Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID.|`['my-id']`| -|`params.url`| Optional|`String`|Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`'https://idx.my-domain.com'`| -|`params.providedIdentifierName`| Optional|`String`|This parameter should be used whenever a customer is able to provide the most stable identifier possible, e.g. a cookie which is set via HttpHeaders on the first party domain.|`'my-best-id'`| -|`params.liCollectConfig`|Optional|`Object`|Container of all collector params.|| -|`params.liCollectConfig.fpiStorageStrategy`|Optional|`String`|This parameter defines whether the first party identifiers that LiveConnect creates and updates are stored in a cookie jar, or in local storage. If nothing is set, default behaviour would be `cookie`. Allowed values: [`cookie`, `ls`, `none`]|`'cookie'`| -|`params.liCollectConfig.fpiExpirationDays`|Optional|`Number`|The expiration time of an identifier created and updated by LiveConnect.By default, 730 days.|`729`| -|`params.liCollectConfig.collectorUrl`|Optional|`String`|The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.|`'https://rp.liadm.com'`| -|`params.liCollectConfig.appId`|Optional|`String`|LiveIntent's media business entity application id.|`'a-0012'`| +{: .table .table-bordered .table-striped } +| Param under userSync.userIds[] | Scope | Type | Description | Example | +| --- | --- | --- | --- | --- | +| name | Required | String | The name of this module. | `'liveIntentId'` | +| params | Required | Object | Container of all module params. || +| params.publisherId |Required| String | The unique identifier for each publisher.|`'12432415'`| +| params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the IdentityResolution endpoint. By default, 1000 milliseconds.|`1000`| +| params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`'prebid'`| +| params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID.|`['my-id']`| +| params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`'https://idx.my-domain.com'`| +| params.providedIdentifierName | Optional| String |This parameter should be used whenever a customer is able to provide the most stable identifier possible, e.g. a cookie which is set via HttpHeaders on the first party domain.|`'my-best-id'`| +| params.liCollectConfig |Optional| Object |Container of all collector params.|| +| params.liCollectConfig.fpiStorageStrategy |Optional| String |This parameter defines whether the first party identifiers that LiveConnect creates and updates are stored in a cookie jar, or in local storage. If nothing is set, default behaviour would be `cookie`. Allowed values: [`cookie`, `ls`, `none`]|`'cookie'`| +| params.liCollectConfig.fpiExpirationDays |Optional| Number |The expiration time of an identifier created and updated by LiveConnect.By default, 730 days.|`729`| +| params.liCollectConfig.collectorUrl |Optional| String |The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.|`'https://rp.liadm.com'`| +| params.liCollectConfig.appId |Optional| String |LiveIntent's media business entity application id.|`'a-0012'`| #### LiveIntent ID examples -1.To receive the LiveIntent ID, the setup looks like this. +1. To receive the LiveIntent ID, the setup looks like this. ``` pbjs.setConfig({ userSync: { @@ -451,7 +454,7 @@ pbjs.setConfig({ }) ``` -2.If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add those under the `identifiersToResolve` array in the configuration parameters. +2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add those under the `identifiersToResolve` array in the configuration parameters. ``` pbjs.setConfig({ userSync: { @@ -466,7 +469,7 @@ pbjs.setConfig({ }) ``` -3. If lll the supported configuration params are passed, then the setup looks like this. +3. If all the supported configuration params are passed, then the setup looks like this. ``` pbjs.setConfig({ userSync: { @@ -479,9 +482,6 @@ pbjs.setConfig({ url: "https://publisher.liveintent.com/idex", partner: "prebid", ajaxTimeout: 1000, - storage: { - expires: 3 - }, liCollectConfig: { fpiStorageStrategy: "cookie", fpiExpirationDays: 730, @@ -846,6 +846,31 @@ If you need to export the user IDs stored by Prebid User ID module, the `getUser pbjs.getUserIds() // returns object like bidRequest.userId. e.g. {"pubcid":"1111", "tdid":"2222"} ``` +You can use `getUserIdsAsEids()` to get the user IDs stored by Prebid User ID module in ORTB Eids format. Refer [eids.md](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format. +``` +pbjs.getUserIdsAsEids() // returns userIds in ORTB Eids format. e.g. +[ + { + source: 'pubcid.org', + uids: [{ + id: 'some-random-id-value', + atype: 1 + }] + }, + + { + source: 'adserver.org', + uids: [{ + id: 'some-random-id-value', + atype: 1, + ext: { + rtiPartner: 'TDID' + } + }] + } +] +``` + ## Passing UserIds to Google Ad Manager for targeting User IDs from Prebid User ID module can be passed to GAM for targeting in Google Ad Manager or to pass ahead in Google Exchange Bidding using ```userIdTargeting``` module. More details can be found [here](https://github.com/prebid/Prebid.js/blob/master/modules/userIdTargeting.md). In short, you just need to add the optional userIdTargeting sub-module into your `gulp build` command and the additional `userIdTargeting` config becomes available. diff --git a/dev-docs/publisher-api-reference.md b/dev-docs/publisher-api-reference.md index d60981602c..a14421a29d 100644 --- a/dev-docs/publisher-api-reference.md +++ b/dev-docs/publisher-api-reference.md @@ -73,6 +73,7 @@ Functions added by optional modules * [.adServers.dfp.buildAdpodVideoUrl(options)](#module_pbjs.adServers.dfp.buildAdpodVideoUrl) - requires [GAM Video Module](/dev-docs/modules/dfp_video.html) [Alpha] * [.adServers.freewheel.getTargeting(options)](#module_pbjs.getTargeting) - requires [Freewheel Module](/dev-docs/modules/freewheel.html) * [.getUserIds()](#userId.getUserIds) - requires [User Id Module](/dev-docs/modules/userId.html) + * [.getUserIdsAsEids()](#userId.getUserIdsAsEids) - requires [User Id Module](/dev-docs/modules/userId.html) @@ -506,6 +507,41 @@ pbjs.getUserIds() // returns object like bidRequest.userId. e.g. {"pubcid":"1111
+ + +### pbjs.getUserIdsAsEids() ⇒ Object + +{: .alert.alert-info :} +To use this function, include the [UserId module](/dev-docs/modules/userId.html) in your Prebid.js build. + +If you need to export the user IDs stored by Prebid User ID module in ORTB Eids frormat, then the `getUserIdsAsEids()` function will return an array formatted as per [ORTB Eids](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md). + +``` +pbjs.getUserIdsAsEids() // returns userIds in ORTB Eids format. e.g. +[ + { + source: 'pubcid.org', + uids: [{ + id: 'some-random-id-value', + atype: 1 + }] + }, + + { + source: 'adserver.org', + uids: [{ + id: 'some-random-id-value', + atype: 1, + ext: { + rtiPartner: 'TDID' + } + }] + } +] +``` + +
+ ### pbjs.getNoBids() ⇒ `Array` diff --git a/download.md b/download.md index 3b1afa19e5..e7eb84a33d 100644 --- a/download.md +++ b/download.md @@ -337,6 +337,14 @@ Note: If you receive an error during download you most likely selected a configu +
+
+ +
+
+
+
+
+ +
+
+