Skip to content

Commit

Permalink
Merge branch 'master' into adf-coppa
Browse files Browse the repository at this point in the history
  • Loading branch information
Pupis committed May 5, 2022
2 parents b050245 + fe6dc59 commit 7a7d652
Show file tree
Hide file tree
Showing 9 changed files with 144 additions and 44 deletions.
4 changes: 4 additions & 0 deletions dev-docs/bidders/criteo.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ of this value. See [Issue 6381](https://github.com/prebid/Prebid.js/issues/6381)
| `nativeCallback` | optional | (Prebid.js only) Callback to perform render in native integrations. Please reach out your Criteo representative for more details. | `function(payload) { console.log(payload); }` | `function` |
| `integrationMode` | optional | (Prebid.js only) Integration mode to use for ad render (none or 'AMP'). Please reach out your Criteo representative for more details. | `'AMP'` | `string` |

### First Party Data

Criteo supports both `ortb2` (`site` and `user`) and `ortb2Imp` methods to set [First Party Data](https://docs.prebid.org/features/firstPartyData.html).

### Video Object

{: .table .table-bordered .table-striped }
Expand Down
62 changes: 43 additions & 19 deletions dev-docs/bidders/minutemedia.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
layout: bidder
title: MinuteMedia
description: Prebid Bidder Adaptor
description: Prebid MinuteMedia Bidder Adapter
pbjs: true
biddercode: minutemedia
media_types: video
media_types: banner, video
multiformat_supported: will-bid-on-any
schain_supported: true
gdpr_supported: true
usp_supported: true
Expand All @@ -20,7 +21,7 @@ The MinuteMedia adapter requires setup and approval. Please reach out to hb@minu

### Bid Parameters

#### Video
#### Banner ,Video

{: .table .table-bordered .table-striped }
| Name | Scope | Type | Description | Example
Expand All @@ -32,27 +33,50 @@ The MinuteMedia adapter requires setup and approval. Please reach out to hb@minu

## Example
```javascript
var adUnits = [
{
code: 'dfp-video-div',
sizes: [[640, 480]],
mediaTypes: {
var adUnits = [{
code: 'banner-div',
mediaTypes: {
banner: {
sizes: [
[300, 250],
[728, 90]
]
}
},
bids: [{
bidder: 'minutemedia',
params: {
org: '56f91cd4d3e3660002000033', // Required
floorPrice: 0.05, // Optional
placementId: '12345678', // Optional
testMode: false // Optional
}
}]
},
{
code: 'dfp-video-div',
sizes: [
[640, 480]
],
mediaTypes: {
video: {
playerSize: [[640, 480]],
context: 'instream'
playerSize: [
[640, 480]
],
context: 'instream'
}
},
bids: [{
},
bids: [{
bidder: 'minutemedia',
params: {
org: '56f91cd4d3e3660002000033', // Required
floorPrice: 5.00, // Optional
placementId: '12345678', // Optional
testMode: false // Optional
org: '56f91cd4d3e3660002000033', // Required
floorPrice: 5.00, // Optional
placementId: '12345678', // Optional
testMode: false // Optional
}
}]
}
];
}]
}
];
```

### Configuration
Expand Down
1 change: 0 additions & 1 deletion dev-docs/bidders/mobfoxpb.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ pbs: true
pbs_app_supported: true
gvl_id: 311
enable_download: false
pbjs_version_notes: not ported to 5.x
---

### Prebid.JS Bid Params
Expand Down
20 changes: 18 additions & 2 deletions dev-docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ description: FAQ on Prebid.js for header bidding.
sidebarType: 1
---



# Prebid.js FAQ
{:.no_toc}

Expand Down Expand Up @@ -173,6 +171,24 @@ that [bid adapters resolve OpenRTB macros](/dev-docs/bidder-adaptor.html#resolve
For historic reasons, Prebid will resolve the AUCTION_PRICE macro, but it will be after currency conversion and any bid adjustments.
This differs from how OpenRTB defines this value as being the clearing price in the bid currency. Header Bidding is a first-price auction, the best candidate for “clearing price” is the original bid itself.
## How does Prebid interact with the GAM yield group header bidding feature?
Google is developing this technology to help publishers create and manage line items in bulk. This should enable more publishers to integrate their sites with header bidding on the open web. Here is Google's [official blog post](https://blog.google/products/admanager/improved-header-bidding-support-in-google-ad-manager/) on yield group. This feature is currently in beta production.
What we know about yield group feature:
- The beta is limited to which publishers are involved.
- The feature is limited to premium GAM accounts.
- The [Prebid Universal Creative](/overview/prebid-universal-creative.html) is not supported. Google has ported some portions of the PUC to an internal creative.
- GPT reads Prebid.js objects directly from the 'pbjs' global.
What we don't know:
- Whether all use cases currently work well when using yield groups. e.g. [Native](/formats/native.html), [video](/formats/video.html), [AMP](/formats/amp.html), [Post-Bid](/overview/what-is-post-bid.html).
- Whether utilizing the feature might cause an impact to some analytics scenarios.
- Whether GPT can find Prebid at a global other than 'pbjs'.
- Google's timelines for adding publishers to the beta or making the feature Generally Available.
When we have solid information to share with the community, we will create additional [AdOps pages](/adops/before-you-start.html) and update existing ones.
## Related Reading
+ [Prebid.js Troubleshooting Guide](/troubleshooting/troubleshooting-guide.html)
Expand Down
43 changes: 25 additions & 18 deletions dev-docs/modules/jwplayerRtdProvider.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,27 +107,33 @@ Each bidRequest for which targeting information was found will conform to the fo

```json
{
adUnitCode: 'xyz',
bidId: 'abc',
...,
ortb2: {
site: {
content: {
id: 'jw_abc123',
data: [{
name: 'jwplayer',
adUnitCode: 'xyz',
bidId: 'abc',
...,
ortb2: {
site: {
content: {
id: 'jw_abc123',
data: [
{
name: 'jwplayer.com',
ext: {
segtax: 502
segtax: 502,
cids: ['abc123']
},
segment: [{
id: '123'
}, {
id: '456'
}]
}]
}
segment: [
{
id: '123'
},
{
id: '456'
}
]
}
]
}
}
}
}
```
Each bid for which targeting information was found will have a ortb2 param conforming to the [oRTB v2 object structure](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf). The `ortb2` object will contain our proprietaty targeting segments in a format compliant with the [IAB's segment taxonomy structure](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/extensions/community_extensions/segtax.md).
Expand All @@ -142,8 +148,9 @@ The content's ID can be obtained in the `bid.ortb2.site.content.id` property pat
| ortb2.site.content | Object | | |
| ortb2.site.content.id | String | Unique identifier for the specific media asset | |
| ortb2.site.content.data | Array | Contains segment taxonomy objects | |
| ortb2.site.content.data[index].name | String | the `jwplayer` string indicating the provider name | |
| ortb2.site.content.data[index].name | String | the `jwplayer.com` string indicating the provider name | |
| ortb2.site.content.data[index].ext.segtax | Integer | the `502` value is the unique identifier for JW Player's proprietary taxonomy | |
| ortb2.site.content.data[index].ext.cids | Array | List of extended content ids as defined in [oRTB's community extensions](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/extensions/community_extensions/extended-content-ids.md#example---content-id-and-seller-defined-context). | |
| ortb2.site.content.data[index].segment | Array | Contains the segment taxonomy values as an object | |
| ortb2.site.content.data[index].segment[index].id | String | String representation of the data segment value | |

Expand Down
48 changes: 47 additions & 1 deletion dev-docs/modules/userId.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ The table below has the options that are common across ID systems. See the secti
{: .table .table-bordered .table-striped }
| Param under userSync.userIds[] | Scope | Type | Description | Example |
| --- | --- | --- | --- | --- |
| name | Required | String | May be: `"admixerId"`, `"qid"`, `"adtelligentId"`, `"akamaiDAPId"`, `"amxId"`, `"britepoolId"`, `"criteo"`, `"fabrickId"`, `"flocId"`, `"hadronId"`, `"id5id"`, `identityLink`, `"idx"`, `"intentIqId"`, `"justId"`, `"liveIntentId"`, `"lotamePanoramaId"`, `"merkleId"`, `"naveggId"`, `"mwOpenLinkId"`, `"netId"`, `"novatiqId"`, `"parrableId"`, `"quantcastId"`, `"pubProvidedId"`, `"sharedId"`, `"tapadId"`, `"unifiedId"`,`"uid2"`, `"verizonMediaId"`, `"zeotapIdPlus"` | `"unifiedId"`
| name | Required | String | May be: `"33acrossId"`, `"admixerId"`, `"qid"`, `"adtelligentId"`, `"akamaiDAPId"`, `"amxId"`, `"britepoolId"`, `"criteo"`, `"fabrickId"`, `"flocId"`, `"hadronId"`, `"id5id"`, `identityLink`, `"idx"`, `"intentIqId"`, `"justId"`, `"liveIntentId"`, `"lotamePanoramaId"`, `"merkleId"`, `"naveggId"`, `"mwOpenLinkId"`, `"netId"`, `"novatiqId"`, `"parrableId"`, `"quantcastId"`, `"pubProvidedId"`, `"sharedId"`, `"tapadId"`, `"unifiedId"`,`"uid2"`, `"verizonMediaId"`, `"zeotapIdPlus"` | `"unifiedId"`
| params | Based on User ID sub-module | Object | | |
| bidders | Optional | Array of Strings | An array of bidder codes to which this user ID may be sent. | `['bidderA', 'bidderB']` |
| storage | Optional | Object | The publisher can specify some kind of local storage in which to store the results of the call to get the user ID. This can be either cookie or HTML5 storage. This is not needed when `value` is specified or the ID system is managing its own storage | |
Expand Down Expand Up @@ -149,6 +149,51 @@ The Rubicon bid adapter would then receive

## User ID Sub-Modules

### 33Across ID

The 33Across User ID sub-module is a way for publishers to monetize their cookieless inventory across multiple supply-side platforms via Prebid.JS. The sub-module provides publishers with addressability for their open marketplace cookieless inventory and access to cookieless demand. The 33Across User ID sub-module utilizes Lexicon technology to connect Publishers to Demand partners via proprietary technologies in a probabilistic and privacy-safe manner. Please contact [PrebidUIM@33across.com](mailto:PrebidUIM@33across.com) to get your authorization process started.

#### 33Across ID Configuration

Please make sure to add the 33across user ID sub-module to your Prebid.js package with:

```shell
gulp build --modules=33acrossIdSystem,userId
```

The following configuration parameters are available:
{: .table .table-bordered .table-striped }
| Param under userSync.userIds[] | Scope | Type | Description | Example |
| --- | --- | --- | --- | --- |
| name | Required | String | The name of this sub-module | `"33acrossId"` |
| params ||| Details for the sub-module initialization ||
| params.pid | Required | String | Partner ID (PID) | Please reach out to [PrebidUIM@33across.com](mailto:PrebidUIM@33across.com) and request your PID |
| storage |||||
| storage.name | Required | String | The name of the cookie or html5 local storage key | `"33acrossId"` (recommended) |
| storage.type | Required | String | This is where the 33across user ID will be stored | `"html5"` (recommended) or `"cookie"` |
| storage.expires | Strongly Recommended | Number | How long (in days) the user ID information will be stored | `90` (recommended) |
| storage.refreshInSeconds | Strongly Recommended | Number | How many seconds until the ID is refreshed | `8 * 3600` (recommended) |

#### 33Across ID Example
```
pbjs.setConfig({
userSync: {
userIds: [{
name: "33acrossId",
params: {
pid: "0010b00002GYU4eBAH" // Example ID
},
storage: {
name: "33acrossId",
type: "html5",
expires: 90,
refreshInSeconds: 8 * 3600
}
}]
}
});
```

### AkamaiDAPId

The Akamai Data Activation Platform (DAP) is a privacy-first system that protects end-user privacy by only allowing them to be targeted as part of a larger cohort. DAP views hiding individuals in large cohorts as the best mechanism to prevent unauthorized tracking.
Expand Down Expand Up @@ -2325,6 +2370,7 @@ Bidders that want to support the User ID module in Prebid.js, need to update the
{: .table .table-bordered .table-striped }
| ID System Name | ID System Host | Prebid.js Attr: bidRequest.userId. | EID Source | Example Value |
| --- | --- | --- | --- | --- | --- | --- |
| 33Across ID | 33Across | 33acrossId | 33across.com | "1111" |
| Admixer ID | Admixer | admixerId | admixer.net | "1111" |
| adQuery QiD | adQuery | qid | adquery.io | "p9v2dpnuckkzhuc..." |
| Adtelligent ID | Adtelligent | bidRequest.userId.adtelligentId | `"1111"` |
Expand Down
5 changes: 3 additions & 2 deletions dev-docs/show-prebid-ads-on-amp-pages.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ e.g. for the AppNexus cluster of Prebid Servers:
<amp-ad width="300" height="250"
type="doubleclick"
data-slot="/1111/universal_creative"
rtc-config='{"vendors": {"prebidappnexus": {"PLACEMENT_ID": "13144370"}}, "timeoutMillis": 500}'>
rtc-config='{"vendors": {"prebidappnexuspsp": {"PLACEMENT_ID": "13144370"}}, "timeoutMillis": 500}'>
</amp-ad>
```

Expand Down Expand Up @@ -290,7 +290,7 @@ See [manually initiating a sync](/prebid-server/developers/pbs-cookie-sync.html#

### AMP RTC and GDPR

The two Prebid Server RTC vendor strings 'prebidappnexus' and 'prebidrubicon'
The two Prebid Server RTC vendor strings 'prebidappnexuspsp' and 'prebidrubicon'
support passing GDPR consent to Prebid Server.

The CONSENT_STRING macro will be populated if you've integrated with a CMP
Expand Down Expand Up @@ -333,3 +333,4 @@ To review that Prebid on AMP is working properly the following aspects can be lo

[PBS]: /prebid-server/overview/prebid-server-overview.html
[callout-vendors.js]: https://github.com/ampproject/amphtml/blob/master/src/service/real-time-config/callout-vendors.js
[RTC-Overview]: https://github.com/ampproject/amphtml/blob/master/extensions/amp-a4a/rtc-documentation.md
3 changes: 3 additions & 0 deletions download.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,9 @@ These modules may require accounts with a service provider.<br/>

<h4>User ID Modules</h4>
<div class="row">
<div class="col-md-4"><div class="checkbox">
<label><input type="checkbox" moduleCode="33acrossIdSystem" class="bidder-check-box"> 33Across</label>
</div></div>
<div class="col-md-4"><div class="checkbox">
<label><input type="checkbox" moduleCode="admixerIdSystem" class="bidder-check-box"> Admixer ID</label>
</div></div>
Expand Down
2 changes: 1 addition & 1 deletion prebid-server/use-cases/pbs-amp.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ There are two basic ways of invoking AMP RTC:
```

{: .alert.alert-info :}
**Note:** the `prebidrubicon` and `prebidappnexus` AMP vendor strings define slightly different parameters; AppNexus uses "PLACEMENT_ID" as the argument to rtc-config while Rubicon uses "REQUEST_ID". They both translate to `tag_id` when passed to Prebid Server.
**Note:** the `prebidrubicon` and `prebidappnexuspsp` AMP vendor strings define slightly different parameters; AppNexus uses "PLACEMENT_ID" as the argument to rtc-config while Rubicon uses "REQUEST_ID". They both translate to `tag_id` when passed to Prebid Server.

- The other option is to construct a direct URL from component pieces: w, h, slot, targeting, gdpr_consent, account, page url (purl), etc.

Expand Down

0 comments on commit 7a7d652

Please sign in to comment.