From d1db12978d80108fb277714e0897e0ac1c3cbfd6 Mon Sep 17 00:00:00 2001 From: Tiago Peczenyj Date: Mon, 19 Jun 2023 16:07:03 +0200 Subject: [PATCH 1/3] update doc to reflect fix in appnexus integration for v8 --- dev-docs/modules/weboramaRtdProvider.md | 65 ++++++++++--------------- 1 file changed, 27 insertions(+), 38 deletions(-) diff --git a/dev-docs/modules/weboramaRtdProvider.md b/dev-docs/modules/weboramaRtdProvider.md index c36b9002fc..9085d01873 100644 --- a/dev-docs/modules/weboramaRtdProvider.md +++ b/dev-docs/modules/weboramaRtdProvider.md @@ -110,6 +110,8 @@ This is the main configuration section | params.weboUserDataConf | Object | Weborama WAM User-Centric Configuration | Optional | | params.sfbxLiteDataConf | Object | Sfbx LiTE Site-Centric Configuration | Optional | | params.onData | Callback | If set, will receive the profile and metadata | Optional. Affects the `weboCtxConf`, `weboUserDataConf` and `sfbxLiteDataConf` sections | +| params.setProfileAsBidderKeywords | Object | If present, specify one or more bidders to send data also as keywords (`site.content.keywords` or `user.keywords`) | Optional. Affects the `weboCtxConf`, `weboUserDataConf` and `sfbxLiteDataConf` sections | +| params.checkBidderAliasForKeywords | Boolean | Modify `params.setProfileAsBidderKeywords` to search in the bidder alias registry| Optional. Affects the `weboCtxConf`, `weboUserDataConf` and `sfbxLiteDataConf` sections | #### Contextual Site-Centric Configuration @@ -128,6 +130,8 @@ On this section we will explain the `params.weboCtxConf` subconfiguration: | onData | Callback | If set, will receive the profile and metadata | Optional. Default is `params.onData` (if any) or log via prebid debug | | enabled | Boolean| if false, will ignore this configuration| Default is `true` if this section is present| | baseURLProfileAPI | String| if present, update the domain of the contextual api| Optional. Default is `ctx.weborama.com` | +| setProfileAsBidderKeywords | String or Array | If present, specify one or more bidders to send data also as keywords (`site.content.keywords` or `user.keywords`) | Optional. Default is `appnexus`. | +| checkBidderAliasForKeywords | Boolean | Modify `setProfileAsBidderKeywords` to search in the bidder alias registry. | Optional. Default is `true` | #### WAM User-Centric Configuration @@ -145,6 +149,8 @@ On this section we will explain the `params.weboUserDataConf` subconfiguration: | defaultProfile | Object | default value of the profile to be used when there are no response from contextual api (such as timeout)| Optional. Default is `{}` | | localStorageProfileKey| String | can be used to customize the local storage key | Optional | | enabled | Boolean| if false, will ignore this configuration| Default is `true` if this section is present| +| setProfileAsBidderKeywords | String or Array | If present, specify one or more bidders to send data also as keywords (`site.content.keywords` or `user.keywords`) | Optional. Default is `appnexus`. | +| checkBidderAliasForKeywords | Boolean | Modify `setProfileAsBidderKeywords` to search in the bidder alias registry. | Optional. Default is `true` | #### Sfbx LiTE Site-Centric Configuration @@ -160,6 +166,8 @@ On this section we will explain the `params.sfbxLiteDataConf` subconfiguration: | defaultProfile | Object | default value of the profile to be used when there are no response from contextual api (such as timeout)| Optional. Default is `{}` | | localStorageProfileKey| String | can be used to customize the local storage key | Optional | | enabled | Boolean| if false, will ignore this configuration| Default is `true` if this section is present| +| setProfileAsBidderKeywords | String or Array | If present, specify one or more bidders to send data also as keywords (`site.content.keywords` or `user.keywords`) | Optional. Default is `appnexus`. | +| checkBidderAliasForKeywords | Boolean | Modify `setProfileAsBidderKeywords` to search in the bidder alias registry. | Optional. Default is `true` | ##### Property setPrebidTargeting supported types @@ -168,9 +176,9 @@ This property support the following types | Type | Description | Example | Notes | | :------------ | :------------ | :------------ |:------------ | | Boolean|If true, set prebid targeting for all adunits, or not in case of false| `true` | default value | -| String|Will set prebid targeting only for one adunit | `'adUnitCode1'` | | -| Array of Strings|Will set prebid targeting only for some adunits| `['adUnitCode1','adUnitCode2']` | | -| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(adUnitCode){return adUnitCode == 'adUnitCode';}` | | +| String|Will set prebid targeting only for one adunit | `'adUnitCode1'` | **DEPRECATED** | +| Array of Strings|Will set prebid targeting only for some adunits| `['adUnitCode1','adUnitCode2']` | **DEPRECATED** | +| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(adUnitCode){return adUnitCode == 'adUnitCode';}` | **DEPRECATED** | The complete callback function signature is: @@ -180,26 +188,7 @@ setPrebidTargeting: function(adUnitCode, data, metadata){ } ``` -This callback will be executed with the adUnitCode, profile and a metadata with the following fields - -| Name |Type | Description | Notes | -| :------------ | :------------ | :------------ |:------------ | -| user | Boolean | If true, it contains user-centric data | | -| source | String | Represent the source of data | can be `contextual`, `wam` or `lite` | -| isDefault | Boolean | If true, it contains the default profile defined in the configuration | | - -It is possible customize the targeting based on the parameters: - -```javascript -setPrebidTargeting: function(adUnitCode, data, metadata){ - // check metadata.source can be omitted if defined in params.weboUserDataConf - if (adUnitCode == 'adUnitCode1' && metadata.source == 'wam'){ - data['foo']=['bar']; // add this section only for adUnitCode1 - delete data['other']; // remove this section - } - return true; -} -``` +Since `Prebid.js` version 8, we use First Party Data Support to propagate data to differente SSPs. We will deprecate the support to other formats than Boolean. ##### Property sendToBidders supported types @@ -210,8 +199,8 @@ This property support the following types | Boolean|If true, send data to all bidders, or not in case of false| `true` | default value | | String|Will send data to only one bidder | `'appnexus'` | | | Array of Strings|Will send data to only some bidders | `['appnexus','pubmatic']` | | -| Object |Will send data to only some bidders and some ad units | `{appnexus: true, pubmatic:['adUnitCode1']}` | | -| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(bid, adUnitCode){return bid.bidder == 'appnexus' && adUnitCode == 'adUnitCode';}` | | +| Object |Will send data to only some bidders and some ad units | `{appnexus: true, pubmatic:['adUnitCode1']}` | **DEPRECATED** | +| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(bid, adUnitCode){return bid.bidder == 'appnexus' && adUnitCode == 'adUnitCode';}` | the parameter `adUnitCode` can be consider **DEPRECATED** | A better look on the `Object` type @@ -230,7 +219,7 @@ sendToBidders: function(bid, adUnitCode, data, metadata){ } ``` -This callback will be executed with the bid object (contains a field `bidder` with name), adUnitCode, profile and a metadata with the following fields +This callback will be executed with the bid object (contains a field `bidder` with name), adUnitCode (**deprecated**), profile and a metadata with the following fields | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | @@ -242,7 +231,7 @@ It is possible customize the targeting based on the parameters: ```javascript sendToBidders: function(bid, adUnitCode, data, metadata){ - if (bid.bidder == 'appnexus' && adUnitCode == 'adUnitCode1'){ + if (bid.bidder == 'appnexus'){ data['foo']=['bar']; // add this section only for appnexus + adUnitCode1 delete data['other']; // remove this section } @@ -250,6 +239,8 @@ sendToBidders: function(bid, adUnitCode, data, metadata){ } ``` +Since `Prebid.js` version 8, we use First Party Data Support to propagate data to differente SSPs. We will deprecate the support to formats that thandle with `adUnitCode` at some point. + To be possible customize the way we send data to bidders via this callback: ```javascript @@ -549,10 +540,10 @@ pbjs.que.push(function () { }, weboUserDataConf: { accountId: 12345, // recommended - setPrebidTargeting: ['adUnitCode1',...], // set target only on certain adunits + setPrebidTargeting: true sendToBidders: { // send to only some bidders and adunits - 'appnexus': true, // all adunits for appnexus - 'pubmatic': ['adUnitCode1',...] // some adunits for pubmatic + 'appnexus': true, // enable appnexus + 'pubmatic': false // explicit disable pubmatic // other bidders will be ignored }, defaultProfile: { // optional @@ -564,11 +555,9 @@ pbjs.que.push(function () { //, onData: function (data, ...) { ...} }, sfbxLiteDataConf: { - setPrebidTargeting: function(adUnitCode){ // specify set target via callback - return adUnitCode == 'adUnitCode1'; - }, + setPrebidTargeting: true, sendToBidders: function(bid, adUnitCode){ // specify sendToBidders via callback - return bid.bidder == 'appnexus' && adUnitCode == 'adUnitCode1'; + return bid.bidder == 'appnexus'; } defaultProfile: { // optional lite_occupation: ['gérant', 'bénévole'], @@ -587,12 +576,9 @@ pbjs.que.push(function () { ### Supported Bidders -We currently support the following bidder adapters: +We currently support the following bidder adapters using `First Party Data Support` but using ortb2 keywords `site.content.keywords` and`user.keywords`: -* SmartADServer SSP -* PubMatic SSP * AppNexus SSP -* Rubicon SSP We also set the bidder (and global, if no specific bidders are set on `sendToBidders`) ortb2 `site.ext.data` and `user.ext.data` sections (as arbitrary data). The following bidders may support it, to be sure, check the `First Party Data Support` on the feature list for the particular bidder from [here](https://docs.prebid.org/dev-docs/bidders). @@ -617,8 +603,11 @@ We also set the bidder (and global, if no specific bidders are set on `sendToBid * Opt Out Advertising * Ozone Project * Proxistore +* PubMatic SSP * Rise +* Rubicon SSP * Smaato +* Smart ADServer SSP * Sonobi * TheMediaGrid * TripleLift From 71ea901d4d77ccf9dff6febb25eded8cb606bdb9 Mon Sep 17 00:00:00 2001 From: Tiago Peczenyj Date: Sat, 1 Jul 2023 16:08:57 +0200 Subject: [PATCH 2/3] simplify docs --- dev-docs/modules/weboramaRtdProvider.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/dev-docs/modules/weboramaRtdProvider.md b/dev-docs/modules/weboramaRtdProvider.md index 0b1819c560..962fcfb455 100644 --- a/dev-docs/modules/weboramaRtdProvider.md +++ b/dev-docs/modules/weboramaRtdProvider.md @@ -176,9 +176,9 @@ This property support the following types | Type | Description | Example | Notes | | :------------ | :------------ | :------------ |:------------ | | Boolean|If true, set prebid targeting for all adunits, or not in case of false| `true` | default value | -| String|Will set prebid targeting only for one adunit | `'adUnitCode1'` | **DEPRECATED** | -| Array of Strings|Will set prebid targeting only for some adunits| `['adUnitCode1','adUnitCode2']` | **DEPRECATED** | -| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(adUnitCode){return adUnitCode == 'adUnitCode';}` | **DEPRECATED** | +| String|Will set prebid targeting only for one adunit | `'adUnitCode1'` | | +| Array of Strings|Will set prebid targeting only for some adunits| `['adUnitCode1','adUnitCode2']` | | +| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(adUnitCode){return adUnitCode == 'adUnitCode';}` | | The complete callback function signature is: @@ -188,8 +188,6 @@ setPrebidTargeting: function(adUnitCode, data, metadata){ } ``` -Since `Prebid.js` version 8, we use First Party Data Support to propagate data to differente SSPs. We will deprecate the support to other formats than Boolean. - ##### Property sendToBidders supported types This property support the following types @@ -199,8 +197,8 @@ This property support the following types | Boolean|If true, send data to all bidders, or not in case of false| `true` | default value | | String|Will send data to only one bidder | `'appnexus'` | | | Array of Strings|Will send data to only some bidders | `['appnexus','pubmatic']` | | -| Object |Will send data to only some bidders and some ad units | `{appnexus: true, pubmatic:['adUnitCode1']}` | **DEPRECATED** | -| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(bid, adUnitCode){return bid.bidder == 'appnexus' && adUnitCode == 'adUnitCode';}` | the parameter `adUnitCode` can be consider **DEPRECATED** | +| Object |Will send data to only some bidders and some ad units | `{appnexus: true, pubmatic:['adUnitCode1']}` | | +| Callback |Will be executed for each adunit, expects return a true value to set prebid targeting or not| `function(bid, adUnitCode){return bid.bidder == 'appnexus' && adUnitCode == 'adUnitCode';}` | the parameter `adUnitCode` can be consider | A better look on the `Object` type @@ -219,7 +217,7 @@ sendToBidders: function(bid, adUnitCode, data, metadata){ } ``` -This callback will be executed with the bid object (contains a field `bidder` with name), adUnitCode (**deprecated**), profile and a metadata with the following fields +This callback will be executed with the bid object (contains a field `bidder` with name), adUnitCode, profile and a metadata with the following fields | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | @@ -239,8 +237,6 @@ sendToBidders: function(bid, adUnitCode, data, metadata){ } ``` -Since `Prebid.js` version 8, we use First Party Data Support to propagate data to differente SSPs. We will deprecate the support to formats that thandle with `adUnitCode` at some point. - To be possible customize the way we send data to bidders via this callback: ```javascript From c5df1546e49d98b67a14bdac4f9a3ea11f3fe1e7 Mon Sep 17 00:00:00 2001 From: Tiago Peczenyj Date: Thu, 6 Jul 2023 11:56:18 +0200 Subject: [PATCH 3/3] add format to tables --- dev-docs/modules/weboramaRtdProvider.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dev-docs/modules/weboramaRtdProvider.md b/dev-docs/modules/weboramaRtdProvider.md index 962fcfb455..3960cc5aa2 100644 --- a/dev-docs/modules/weboramaRtdProvider.md +++ b/dev-docs/modules/weboramaRtdProvider.md @@ -99,6 +99,7 @@ Each module can perform two actions: This is the main configuration section +{: .table .table-bordered .table-striped } | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | | name | String | Real time data module name | Mandatory. Always 'Weborama' | @@ -119,6 +120,7 @@ To be possible use the integration with Weborama Contextual Service you must be On this section we will explain the `params.weboCtxConf` subconfiguration: +{: .table .table-bordered .table-striped } | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | | token | String | Security Token provided by Weborama, unique per client | Mandatory | @@ -140,6 +142,7 @@ Please contact weborama if you don't have it. On this section we will explain the `params.weboUserDataConf` subconfiguration: +{: .table .table-bordered .table-striped } | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | | accountId|Number|WAM account id. If you don't have it, please contact weborama. | Recommended.| @@ -158,6 +161,7 @@ To be possible use the integration between Weborama and Sfbx LiTE you should als On this section we will explain the `params.sfbxLiteDataConf` subconfiguration: +{: .table .table-bordered .table-striped } | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | | setPrebidTargeting|Various|If true, will use the user profile to set the prebid (GPT/GAM or AST) targeting of all adunits managed by prebid.js| Optional. Default is `params.setPrebidTargeting` (if any) or `true`.| @@ -173,6 +177,7 @@ On this section we will explain the `params.sfbxLiteDataConf` subconfiguration: This property support the following types +{: .table .table-bordered .table-striped } | Type | Description | Example | Notes | | :------------ | :------------ | :------------ |:------------ | | Boolean|If true, set prebid targeting for all adunits, or not in case of false| `true` | default value | @@ -192,6 +197,7 @@ setPrebidTargeting: function(adUnitCode, data, metadata){ This property support the following types +{: .table .table-bordered .table-striped } | Type | Description | Example | Notes | | :------------ | :------------ | :------------ |:------------ | | Boolean|If true, send data to all bidders, or not in case of false| `true` | default value | @@ -219,6 +225,7 @@ sendToBidders: function(bid, adUnitCode, data, metadata){ This callback will be executed with the bid object (contains a field `bidder` with name), adUnitCode, profile and a metadata with the following fields +{: .table .table-bordered .table-striped } | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | | user | Boolean | If true, it contains user-centric data | | @@ -286,6 +293,7 @@ We can specify a callback to handle the profile data from site-centric or user-c This callback will be executed with the profile and a metadata with the following fields +{: .table .table-bordered .table-striped } | Name |Type | Description | Notes | | :------------ | :------------ | :------------ |:------------ | | user | Boolean | If true, it contains user-centric data | | @@ -416,6 +424,7 @@ pbjs.que.push(function () { Imagine we need to configure the following options using the previous example, we can write the configuration like the one below. +{: .table .table-bordered .table-striped } ||contextual|wam|lite| | :------------ | :------------ | :------------ |:------------ | |setPrebidTargeting|true|false|true|