prebid.js 8.3.0 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/admanBidAdapter.js +1 -1
  7. package/dist/adqueryBidAdapter.js +1 -1
  8. package/dist/adrelevantisBidAdapter.js +1 -1
  9. package/dist/adtrgtmeBidAdapter.js +1 -1
  10. package/dist/adxcgBidAdapter.js +1 -1
  11. package/dist/adyoulikeBidAdapter.js +1 -1
  12. package/dist/ajaBidAdapter.js +1 -1
  13. package/dist/amxBidAdapter.js +1 -1
  14. package/dist/amxIdSystem.js +1 -1
  15. package/dist/appierAnalyticsAdapter.js +1 -1
  16. package/dist/appnexusBidAdapter.js +1 -1
  17. package/dist/asoBidAdapter.js +1 -1
  18. package/dist/axonixBidAdapter.js +1 -1
  19. package/dist/bidglassBidAdapter.js +1 -1
  20. package/dist/big-richmediaBidAdapter.js +1 -1
  21. package/dist/brandmetricsRtdProvider.js +1 -1
  22. package/dist/bridBidAdapter.js +1 -1
  23. package/dist/bridgewellBidAdapter.js +1 -1
  24. package/dist/brightMountainMediaBidAdapter.js +1 -1
  25. package/dist/carodaBidAdapter.js +1 -1
  26. package/dist/chtnwBidAdapter.js +1 -1
  27. package/dist/concertBidAdapter.js +1 -1
  28. package/dist/connectadBidAdapter.js +1 -1
  29. package/dist/consumableBidAdapter.js +1 -1
  30. package/dist/conversantAnalyticsAdapter.js +1 -1
  31. package/dist/conversantBidAdapter.js +1 -1
  32. package/dist/craftBidAdapter.js +1 -1
  33. package/dist/criteoBidAdapter.js +1 -1
  34. package/dist/cwireBidAdapter.js +1 -1
  35. package/dist/dependencies.json +3 -0
  36. package/dist/dspxBidAdapter.js +1 -1
  37. package/dist/eplanningBidAdapter.js +1 -1
  38. package/dist/euidIdSystem.js +1 -1
  39. package/dist/feedadBidAdapter.js +1 -1
  40. package/dist/finativeBidAdapter.js +1 -1
  41. package/dist/freewheel-sspBidAdapter.js +1 -1
  42. package/dist/gdprEnforcement.js +1 -1
  43. package/dist/gmosspBidAdapter.js +1 -1
  44. package/dist/goldbachBidAdapter.js +1 -1
  45. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  46. package/dist/greenbidsRtdProvider.js +1 -1
  47. package/dist/gridBidAdapter.js +1 -1
  48. package/dist/gumgumBidAdapter.js +1 -1
  49. package/dist/h12mediaBidAdapter.js +1 -1
  50. package/dist/hypelabBidAdapter.js +1 -1
  51. package/dist/id5IdSystem.js +1 -1
  52. package/dist/imdsBidAdapter.js +1 -1
  53. package/dist/improvedigitalBidAdapter.js +1 -1
  54. package/dist/insticatorBidAdapter.js +1 -1
  55. package/dist/ixBidAdapter.js +1 -1
  56. package/dist/justpremiumBidAdapter.js +1 -1
  57. package/dist/kargoBidAdapter.js +1 -1
  58. package/dist/konduitAnalyticsAdapter.js +1 -1
  59. package/dist/kueezBidAdapter.js +1 -1
  60. package/dist/kueezRtbBidAdapter.js +1 -1
  61. package/dist/kulturemediaBidAdapter.js +1 -1
  62. package/dist/lassoBidAdapter.js +1 -1
  63. package/dist/lifestreetBidAdapter.js +1 -1
  64. package/dist/logicadBidAdapter.js +1 -1
  65. package/dist/loglyliftBidAdapter.js +1 -1
  66. package/dist/magniteAnalyticsAdapter.js +1 -1
  67. package/dist/malltvAnalyticsAdapter.js +1 -1
  68. package/dist/marsmediaBidAdapter.js +1 -1
  69. package/dist/mediafuseBidAdapter.js +1 -1
  70. package/dist/mediasquareBidAdapter.js +1 -1
  71. package/dist/mgidBidAdapter.js +1 -1
  72. package/dist/minutemediaBidAdapter.js +1 -1
  73. package/dist/minutemediaplusBidAdapter.js +1 -1
  74. package/dist/nexx360BidAdapter.js +1 -1
  75. package/dist/not-for-prod/prebid.js +135 -135
  76. package/dist/oguryBidAdapter.js +1 -1
  77. package/dist/onetagBidAdapter.js +1 -1
  78. package/dist/ooloAnalyticsAdapter.js +1 -1
  79. package/dist/optidigitalBidAdapter.js +1 -1
  80. package/dist/outbrainBidAdapter.js +1 -1
  81. package/dist/parrableIdSystem.js +1 -1
  82. package/dist/pixfutureBidAdapter.js +1 -1
  83. package/dist/prebid-core.js +2 -2
  84. package/dist/publinkIdSystem.js +1 -1
  85. package/dist/pubmaticBidAdapter.js +1 -1
  86. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  87. package/dist/pulsepointBidAdapter.js +1 -1
  88. package/dist/pxyzBidAdapter.js +1 -1
  89. package/dist/quantcastBidAdapter.js +1 -1
  90. package/dist/readpeakBidAdapter.js +1 -1
  91. package/dist/relaidoBidAdapter.js +1 -1
  92. package/dist/retailspotBidAdapter.js +1 -1
  93. package/dist/rhythmoneBidAdapter.js +1 -1
  94. package/dist/riseBidAdapter.js +1 -1
  95. package/dist/rubiconBidAdapter.js +1 -1
  96. package/dist/seedingAllianceBidAdapter.js +1 -1
  97. package/dist/seedtagBidAdapter.js +1 -1
  98. package/dist/sharedIdSystem.js +1 -1
  99. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  100. package/dist/sharethroughBidAdapter.js +1 -1
  101. package/dist/shinezBidAdapter.js +1 -1
  102. package/dist/smaatoBidAdapter.js +1 -1
  103. package/dist/smartadserverBidAdapter.js +1 -1
  104. package/dist/smartxBidAdapter.js +1 -1
  105. package/dist/smilewantedBidAdapter.js +1 -1
  106. package/dist/sonobiBidAdapter.js +1 -1
  107. package/dist/sovrnAnalyticsAdapter.js +1 -1
  108. package/dist/sovrnBidAdapter.js +1 -1
  109. package/dist/sspBCBidAdapter.js +1 -1
  110. package/dist/stroeerCoreBidAdapter.js +1 -1
  111. package/dist/stvBidAdapter.js +1 -1
  112. package/dist/sublimeBidAdapter.js +1 -1
  113. package/dist/targetVideoBidAdapter.js +1 -1
  114. package/dist/teadsBidAdapter.js +1 -1
  115. package/dist/topicsFpdModule.js +1 -1
  116. package/dist/trionBidAdapter.js +1 -1
  117. package/dist/tripleliftBidAdapter.js +1 -1
  118. package/dist/ttdBidAdapter.js +1 -1
  119. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  120. package/dist/uid2IdSystem.js +1 -1
  121. package/dist/underdogmediaBidAdapter.js +1 -1
  122. package/dist/undertoneBidAdapter.js +1 -1
  123. package/dist/userId.js +1 -1
  124. package/dist/vidazooBidAdapter.js +1 -1
  125. package/dist/videobyteBidAdapter.js +1 -1
  126. package/dist/visxBidAdapter.js +1 -1
  127. package/dist/voxBidAdapter.js +1 -1
  128. package/dist/vuukleBidAdapter.js +1 -1
  129. package/dist/widespaceBidAdapter.js +1 -1
  130. package/dist/winrBidAdapter.js +1 -1
  131. package/dist/yahoosspBidAdapter.js +1 -1
  132. package/dist/yandexBidAdapter.js +1 -1
  133. package/dist/yieldmoBidAdapter.js +1 -1
  134. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  135. package/integrationExamples/videoModule/jwplayer/bidMarkedAsUsed.html +1 -1
  136. package/integrationExamples/videoModule/jwplayer/eventListeners.html +2 -2
  137. package/integrationExamples/videoModule/jwplayer/eventsUI.html +1 -1
  138. package/integrationExamples/videoModule/jwplayer/gamAdServerMediation.html +1 -1
  139. package/integrationExamples/videoModule/jwplayer/mediaMetadata.html +1 -1
  140. package/integrationExamples/videoModule/jwplayer/playlist.html +1 -1
  141. package/integrationExamples/videoModule/videojs/bidMarkedAsUsed.html +1 -1
  142. package/integrationExamples/videoModule/videojs/bidRequestScheduling.html +1 -1
  143. package/integrationExamples/videoModule/videojs/eventListeners.html +1 -1
  144. package/integrationExamples/videoModule/videojs/eventsUI.html +1 -1
  145. package/integrationExamples/videoModule/videojs/gamAdServerMediation.html +1 -1
  146. package/integrationExamples/videoModule/videojs/mediaMetadata.html +1 -1
  147. package/integrationExamples/videoModule/videojs/playlist.html +1 -1
  148. package/modules/33acrossBidAdapter.js +24 -14
  149. package/modules/33acrossIdSystem.js +15 -4
  150. package/modules/adagioBidAdapter.js +0 -1
  151. package/modules/admanBidAdapter.js +4 -0
  152. package/modules/brandmetricsRtdProvider.js +36 -2
  153. package/modules/brandmetricsRtdProvider.md +17 -2
  154. package/modules/gdprEnforcement.js +27 -22
  155. package/modules/gridBidAdapter.js +19 -0
  156. package/modules/ixBidAdapter.js +40 -2
  157. package/modules/kargoBidAdapter.js +4 -0
  158. package/modules/minutemediaBidAdapter.js +17 -2
  159. package/modules/oguryBidAdapter.js +29 -16
  160. package/modules/pubmaticBidAdapter.js +16 -1
  161. package/modules/pulsepointBidAdapter.js +63 -424
  162. package/modules/pulsepointBidAdapter.md +39 -45
  163. package/modules/sharedIdSystem.js +1 -1
  164. package/modules/sovrnBidAdapter.js +5 -1
  165. package/modules/stroeerCoreBidAdapter.js +2 -3
  166. package/modules/teadsBidAdapter.js +2 -0
  167. package/modules/topicsFpdModule.js +4 -1
  168. package/modules/topicsFpdModule.md +4 -0
  169. package/modules/userId/index.js +2 -2
  170. package/modules/vidazooBidAdapter.js +5 -7
  171. package/modules/voxBidAdapter.js +16 -5
  172. package/modules/yahoosspBidAdapter.js +38 -33
  173. package/modules/yahoosspBidAdapter.md +96 -95
  174. package/modules/yandexBidAdapter.js +12 -15
  175. package/package.json +1 -1
  176. package/src/activities/redactor.js +1 -1
  177. package/src/auction.js +24 -2
  178. package/src/constants.json +3 -1
  179. package/src/fpd/sua.js +8 -2
  180. package/test/spec/auctionmanager_spec.js +29 -1
  181. package/test/spec/fpd/enrichment_spec.js +7 -1
  182. package/test/spec/fpd/sua_spec.js +12 -0
  183. package/test/spec/modules/33acrossBidAdapter_spec.js +188 -35
  184. package/test/spec/modules/33acrossIdSystem_spec.js +122 -27
  185. package/test/spec/modules/adagioBidAdapter_spec.js +0 -1
  186. package/test/spec/modules/brandmetricsRtdProvider_spec.js +69 -7
  187. package/test/spec/modules/gdprEnforcement_spec.js +43 -2
  188. package/test/spec/modules/gridBidAdapter_spec.js +42 -0
  189. package/test/spec/modules/ixBidAdapter_spec.js +72 -0
  190. package/test/spec/modules/kargoBidAdapter_spec.js +121 -106
  191. package/test/spec/modules/minutemediaBidAdapter_spec.js +36 -5
  192. package/test/spec/modules/oguryBidAdapter_spec.js +208 -108
  193. package/test/spec/modules/pubmaticBidAdapter_spec.js +119 -0
  194. package/test/spec/modules/pulsepointBidAdapter_spec.js +225 -486
  195. package/test/spec/modules/sovrnBidAdapter_spec.js +24 -4
  196. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +8 -5
  197. package/test/spec/modules/teadsBidAdapter_spec.js +70 -21
  198. package/test/spec/modules/topicsFpdModule_spec.js +10 -4
  199. package/test/spec/modules/vidazooBidAdapter_spec.js +0 -5
  200. package/test/spec/modules/voxBidAdapter_spec.js +93 -0
  201. package/test/spec/modules/yahoosspBidAdapter_spec.js +402 -314
  202. package/test/spec/modules/yandexBidAdapter_spec.js +21 -3
  203. package/integrationExamples/gpt/inskin_example.html +0 -100
@@ -1,10 +1,10 @@
1
1
  # Overview
2
- **Module Name:** yahoossp Bid Adapter
2
+ **Module Name:** Yahoo Advertising Bid Adapter
3
3
  **Module Type:** Bidder Adapter
4
4
  **Maintainer:** hb-fe-tech@yahooinc.com
5
5
 
6
6
  # Description
7
- The Yahoo SSP Bid Adapter is an OpenRTB interface that consolidates all previous "Oath.inc" adapters such as: "aol", "oneMobile", "oneDisplay" & "oneVideo" supply-side platforms.
7
+ The Yahoo Advertising Bid Adapter is an OpenRTB interface that consolidates all previous "Oath.inc" adapters such as: "aol", "oneMobile", "oneDisplay" & "oneVideo" supply-side platforms.
8
8
 
9
9
  # Supported Features:
10
10
  * Media Types: Banner & Video
@@ -21,49 +21,51 @@ The Yahoo SSP Bid Adapter is an OpenRTB interface that consolidates all previous
21
21
 
22
22
 
23
23
  # Adapter Request mode
24
- Since the yahoossp adapter now supports both Banner and Video adUnits a controller was needed to allow you to define when the adapter should generate a bid-requests to our Yahoo SSP.
24
+ Since the Yahoo Advertising bid adapter supports both Banner and Video adUnits, a controller was needed to allow you to define when the adapter should generate a bid-requests to the Yahoo bid endpoint.
25
25
 
26
26
  **Important!** By default the adapter mode is set to "banner" only.
27
- This means that you do not need to explicitly declare the yahoossp.mode in the Global config to initiate banner adUnit requests.
27
+ This means that you do not need to explicitly declare the `yahooAds.mode` property in the global config to initiate banner adUnit requests.
28
28
 
29
29
  ## Request modes:
30
30
  * **undefined** - (Default) Will generate bid-requests for "Banner" formats only.
31
31
  * **banner** - Will generate bid-requests for "Banner" formats only (Explicit declaration).
32
32
  * **video** - Will generate bid-requests for "Video" formats only (Explicit declaration).
33
- * **all** - Will generate bid-requests for both "Banner" & "Video" formats
33
+ * **all** - Will generate bid-requests for both "Banner" & "Video" formats.
34
34
 
35
- **Important!** When setting yahoossp.mode = 'all' Make sure your Yahoo SSP Placement (pos id) supports both Banner & Video placements.
36
- If it does not, the Yahoo SSP will respond only in the format it is set too.
35
+ **Important!** When setting `yahooAds.mode` to `'all'`, make sure your Yahoo Placement (pos id) supports both Banner & Video placements.
36
+ If it does not, the Yahoo bid server will respond only in the format it is set too.
37
37
 
38
+ ### Example: explicitly setting the request mode
38
39
  ```javascript
39
40
  pbjs.setConfig({
40
- yahoossp: {
41
+ yahooAds: {
41
42
  mode: 'banner' // 'all', 'video', 'banner' (default)
42
43
  }
43
44
  });
44
45
  ```
46
+
45
47
  # Integration Options
46
- The `yahoossp` bid adapter supports 2 types of integration:
48
+ The Yahoo Advertising bid adapter supports 2 types of integration:
47
49
  1. **dcn & pos** DEFAULT (Site/App & Position targeting) - For Display partners/publishers.
48
- 2. **pubId** (Publisher ID) - For legacy "oneVideo" AND New partners/publishers.
49
- **Important:** pubId integration (option 2) is only possible when your Seller account is setup for "Inventory Mapping".
50
+ 2. **pubId** (Publisher ID) - For legacy "oneVideo" AND new partners/publishers.
51
+ **Important:** pubId integration (option 2) is only possible when your seller account is setup for "Inventory Mapping".
50
52
 
51
53
  **Please Note:** Most examples in this file are using dcn & pos.
52
54
 
53
55
  ## Who is currently eligible for "pubId" integration
54
56
  At this time, only the following partners/publishers are eligble for pubId integration:
55
- 1. New partners/publishers that do not have any existing accounts on Yahoo SSP (aka: aol, oneMobile, oneDisplay).
57
+ 1. New partners/publishers that do not have an existing account with Yahoo Advertising (aka: aol, oneMobile, oneDisplay).
56
58
  2. Video SSP (oneVideo) partners/publishers that
57
59
  A. Do not have any display/banner inventory.
58
- B. Do not have any existing accounts on Yahoo SSP (aka: aol, oneMobile, oneDisplay).
60
+ B. Do not have an existing account with Yahoo Advertising (aka: aol, oneMobile, oneDisplay).
59
61
 
60
62
  # Mandatory Bidder Parameters
61
63
  ## dcn & pos (DEFAULT)
62
- The minimal requirements for the 'yahoossp' bid adapter to generate an outbound bid-request to our Yahoo SSP are:
64
+ The minimal requirements for the Yahoo Advertising bid adapter to generate an outbound bid-request to Yahoo's bid endpoint are:
63
65
  1. At least 1 adUnit including mediaTypes: banner or video
64
66
  2. **bidder.params** object must include:
65
- A. **dcn:** Yahoo SSP Site/App inventory parameter.
66
- B. **pos:** Yahoo SSP position inventory parameter.
67
+ A. **dcn:** Yahoo Advertising Site/App inventory parameter.
68
+ B. **pos:** Yahoo Advertising position inventory parameter.
67
69
 
68
70
  ### Example: dcn & pos Mandatory Parameters (Single banner adUnit)
69
71
  ```javascript
@@ -76,10 +78,10 @@ const adUnits = [{
76
78
  },
77
79
  bids: [
78
80
  {
79
- bidder: 'yahoossp',
81
+ bidder: 'yahooAds',
80
82
  params: {
81
- dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided from SSP
82
- pos: '8a969978017a7aaabab4ab0bc01a0009' // Placement ID provided from SSP
83
+ dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided by Yahoo Advertising
84
+ pos: '8a969978017a7aaabab4ab0bc01a0009' // Placement ID provided by Yahoo Advertising
83
85
  }
84
86
  }
85
87
  ]
@@ -87,10 +89,10 @@ const adUnits = [{
87
89
  ```
88
90
 
89
91
  ## pubId
90
- The minimal requirements for the 'yahoossp' bid adapter to generate an outbound bid-request to our Yahoo SSP are:
92
+ The minimal requirements for the Yahoo Advertising bid adapter to generate an outbound bid-request to Yahoo's bid endpoint are:
91
93
  1. At least 1 adUnit including mediaTypes: banner or video
92
94
  2. **bidder.params** object must include:
93
- A. **pubId:** Yahoo SSP Publisher ID (AKA oneVideo pubId/Exchange name)
95
+ A. **pubId:** Yahoo Advertising Publisher ID (AKA oneVideo pubId/Exchange name)
94
96
 
95
97
  ### Example: pubId Mandatory Parameters (Single banner adUnit)
96
98
  ```javascript
@@ -103,14 +105,15 @@ const adUnits = [{
103
105
  },
104
106
  bids: [
105
107
  {
106
- bidder: 'yahoossp',
108
+ bidder: 'yahooAds',
107
109
  params: {
108
- pubId: 'DemoPublisher', // Publisher External ID provided from Yahoo SSP.
110
+ pubId: 'DemoPublisher', // Publisher defined external ID as configured by Yahoo Advertising.
109
111
  }
110
112
  }
111
113
  ]
112
114
  }];
113
115
  ```
116
+
114
117
  # Advanced adUnit Examples:
115
118
  ## Banner
116
119
  ```javascript
@@ -124,21 +127,22 @@ const adUnits = [{
124
127
  }
125
128
  },
126
129
  bids: [{
127
- bidder: 'yahoossp',
130
+ bidder: 'yahooAds',
128
131
  params: {
129
- dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided from Yahoo SSP
130
- pos: '8a969978017a7aaabab4ab0bc01a0009', // Placement ID provided from Yahoo SSP
132
+ dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided by Yahoo Advertising
133
+ pos: '8a969978017a7aaabab4ab0bc01a0009', // Placement ID provided by Yahoo Advertising
131
134
  }
132
135
  }
133
136
  }]
134
137
  }];
135
138
  ```
139
+
136
140
  ## Video Instream
137
- **Important!** Make sure that the Yahoo SSP Placement type (in-stream) matches the adUnit video inventory type.
141
+ **Important!** Make sure that the Yahoo Advertising Placement type (in-stream) matches the adUnit video inventory type.
138
142
  **Note:** Make sure to set the adapter mode to allow video requests by setting it to mode: 'video' OR mode: 'all'.
139
143
  ```javascript
140
144
  pbjs.setConfig({
141
- yahoossp: {
145
+ yahooAds: {
142
146
  mode: 'video'
143
147
  }
144
148
  });
@@ -156,20 +160,21 @@ const adUnits = [{
156
160
  }
157
161
  },
158
162
  bids: [{
159
- bidder: 'yahoossp',
163
+ bidder: 'yahooAds',
160
164
  params: {
161
- dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided from Yahoo SSP
162
- pos: '8a96958a017a7a57ac375d50c0c700cc', // Placement ID provided from Yahoo SSP
165
+ dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided by Yahoo Advertising
166
+ pos: '8a96958a017a7a57ac375d50c0c700cc', // Placement ID provided by Yahoo Advertising
163
167
  }
164
168
  }]
165
169
  }];
170
+
166
171
  ```
167
172
  ## Video Outstream
168
- **Important!** Make sure that the Yahoo SSP Placement type (in-feed/ in-article) matches the adUnit video inventory type.
173
+ **Important!** Make sure that the Yahoo Advertsing placement type (in-feed/ in-article) matches the adUnit video inventory type.
169
174
  **Note:** Make sure to set the adapter mode to allow video requests by setting it to mode: 'video' OR mode: 'all'
170
175
  ```javascript
171
176
  pbjs.setConfig({
172
- yahoossp: {
177
+ yahooAds: {
173
178
  mode: 'video'
174
179
  }
175
180
  });
@@ -187,22 +192,22 @@ const adUnits = [{
187
192
  }
188
193
  },
189
194
  bids: [{
190
- bidder: 'yahoossp',
195
+ bidder: 'yahooAds',
191
196
  params: {
192
- dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided from Yahoo SSP
193
- pos: '8a96958a017a7a57ac375d50c0c700cc', // Placement ID provided from Yahoo SSP
197
+ dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided by Yahoo Advertising
198
+ pos: '8a96958a017a7a57ac375d50c0c700cc', // Placement ID provided by Yahoo Advertising
194
199
  }
195
200
  }]
196
201
  }];
202
+
197
203
  ```
198
204
  ## Multi-Format
199
- **Important!** If you intend to use the yahoossp bidder for both Banner and Video formats please make sure:
200
- 1. Set the adapter as mode: 'all' - to call the Yahoo SSP for both banner & video formats.
201
- 2. Make sure the Yahoo SSP placement (pos id) supports both banner & video format requests.
202
-
205
+ **Important!** If you intend to use the Yahoo Advertising bidder for both Banner and Video formats please make sure:
206
+ 1. Set the adapter as mode: 'all' - to configure the bid adapter to call the bid endpoint for both banner & video formats.
207
+ 2. Make sure the Yahoo Advertising placement (pos id) supports both banner & video format requests.
203
208
  ```javascript
204
209
  pbjs.setConfig({
205
- yahoossp: {
210
+ yahooAds: {
206
211
  mode: 'all'
207
212
  }
208
213
  });
@@ -223,19 +228,18 @@ const adUnits = [{
223
228
  }
224
229
  },
225
230
  bids: [{
226
- bidder: 'yahoossp',
231
+ bidder: 'yahooAds',
227
232
  params: {
228
- dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided from Yahoo SSP
229
- pos: '8a96958a017a7a57ac375d50c0c700cc', // Placement ID provided from Yahoo SSP
233
+ dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided by Yahoo Advertising
234
+ pos: '8a96958a017a7a57ac375d50c0c700cc', // Placement ID provided by Yahoo Advertising
230
235
  }
231
236
  }]
232
237
  }];
233
238
  ```
234
239
 
235
240
  # Optional: Schain module support
236
- The yahoossp adapter supports the Prebid.org Schain module and will pass it through to our Yahoo SSP
241
+ The Yahoo Advertising bid adapter supports the Prebid.org Schain module and will pass it through to our bid endpoint.
237
242
  For further details please see, https://docs.prebid.org/dev-docs/modules/schain.html
238
-
239
243
  ## Global Schain Example:
240
244
  ```javascript
241
245
  pbjs.setConfig({
@@ -256,7 +260,7 @@ For further details please see, https://docs.prebid.org/dev-docs/modules/schain.
256
260
  ## Bidder Specific Schain Example:
257
261
  ```javascript
258
262
  pbjs.setBidderConfig({
259
- "bidders": ['yahoossp'], // can list more bidders here if they share the same config
263
+ "bidders": ['yahooAds'], // can list more bidders here if they share the same config
260
264
  "config": {
261
265
  "schain": {
262
266
  "validation": "strict",
@@ -275,12 +279,10 @@ For further details please see, https://docs.prebid.org/dev-docs/modules/schain.
275
279
  ```
276
280
 
277
281
  # Optional: Price floors module & bidfloor
278
- The yahoossp adapter supports the Prebid.org Price Floors module and will use it to define the outbound bidfloor and currency.
279
- By default the adapter will always check the existance of Module price floor.
280
- If a module price floor does not exist you can set a custom bid floor for your impression using "params.bidOverride.imp.bidfloor".
282
+ The Yahoo Advertising bid adapter supports the Prebid.org Price Floors module and will use it to define the outbound bidfloor and currency, if the relevant floors have been defined in the configuration.
283
+ A cusom method for defining bid floors is also supported, this can be enabled by setting the `params.bidOverride.imp.bidfloor` bidder parameter.
281
284
 
282
285
  **Note:** All override params apply to all requests generated using this configuration regardless of format type.
283
-
284
286
  ```javascript
285
287
  const adUnits = [{
286
288
  code: 'override-pricefloor',
@@ -292,10 +294,10 @@ const adUnits = [{
292
294
  }
293
295
  },
294
296
  bids: [{
295
- bidder: 'yahoossp',
297
+ bidder: 'yahooAds',
296
298
  params: {
297
- dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided from Yahoo SSP
298
- pos: '8a969978017a7aaabab4ab0bc01a0009', // Placement ID provided from Yahoo SSP
299
+ dcn: '8a969516017a7a396ec539d97f540011', // Site/App ID provided by Yahoo Advertising
300
+ pos: '8a969978017a7aaabab4ab0bc01a0009', // Placement ID provided by Yahoo Advertising
299
301
  bidOverride :{
300
302
  imp: {
301
303
  bidfloor: 5.00 // bidOverride priceFloor
@@ -310,21 +312,21 @@ const adUnits = [{
310
312
  For further details please see, https://docs.prebid.org/dev-docs/modules/floors.html
311
313
 
312
314
  # Optional: Self-served E2E testing mode
313
- If you want to see how the yahoossp adapter works and loads you are invited to try it out using our testing mode.
315
+ If you want to see how the Yahoo Advertising bid adapter works and loads you are invited to try it out using our testing mode.
314
316
  This is useful for integration testing and response parsing when checking banner vs video capabilities.
315
317
 
316
318
  ## How to use E2E test mode:
317
- 1. Set the yahoossp global config mode to either 'banner' or 'video' - depending on the adUnit you want to test.
319
+ 1. Set the `yahooAds` global config mode to either `'banner'` or `'video'` - depending on the adUnit you want to test.
318
320
  2. Add params.testing.e2etest: true to your adUnit bidder config - See examples below.
319
321
 
320
322
  **Note:** When using E2E Test Mode you do not need to pass mandatory bidder params dcn or pos.
321
323
 
322
- **Important!** E2E Testing Mode only works when the Bidder Request Mode is set explicitly to either 'banner' or 'video'.
324
+ **Important!** E2E Testing Mode only works when the Bidder Request Mode is set explicitly to either `'banner'` or `'video'`.
323
325
 
324
326
  ## Activating E2E Test for "Banner"
325
327
  ```javascript
326
328
  pbjs.setConfig({
327
- yahoossp: {
329
+ yahooAds: {
328
330
  mode: 'banner' // select 'banner' or 'video' to define what response to load
329
331
  }
330
332
  });
@@ -338,7 +340,7 @@ const adUnits = [{
338
340
  },
339
341
  bids: [
340
342
  {
341
- bidder: 'yahoossp',
343
+ bidder: 'yahooAds',
342
344
  params: {
343
345
  testing: {
344
346
  e2etest: true // Activate E2E Test mode
@@ -353,7 +355,7 @@ const adUnits = [{
353
355
  **Note:** We recommend using Video Outstream as it would load the video response using our Outstream Renderer feature
354
356
  ```javascript
355
357
  pbjs.setConfig({
356
- yahoossp: {
358
+ yahooAds: {
357
359
  mode: 'video'
358
360
  }
359
361
  });
@@ -371,7 +373,7 @@ const adUnits = [{
371
373
  }
372
374
  },
373
375
  bids: [{
374
- bidder: 'yahoossp',
376
+ bidder: 'yahooAds',
375
377
  params: {
376
378
  testing: {
377
379
  e2etest: true // Activate E2E Test mode
@@ -382,8 +384,8 @@ const adUnits = [{
382
384
  ```
383
385
 
384
386
  # Optional: First Party Data
385
- The yahoossp adapter now supports first party data passed via:
386
- 1. Global ortb2 object using pbjs.setConfig()
387
+ The Yahoo Advertising bid adapter supports first party data passed via:
388
+ 1. Global ortb2 object using `pbjs.setConfig()`
387
389
  2. adUnit ortb2Imp object declared within an adUnit.
388
390
  For further details please see, https://docs.prebid.org/features/firstPartyData.html
389
391
  ## Global First Party Data "ortb2"
@@ -392,15 +394,15 @@ For further details please see, https://docs.prebid.org/features/firstPartyData.
392
394
  pbjs.setConfig({
393
395
  ortb2: {
394
396
  site: {
395
- name: 'yahooAdTech',
396
- domain: 'yahooadtech.com',
397
+ name: 'Yahoo Advertising',
398
+ domain: 'yahooadvertising.com',
397
399
  cat: ['IAB2'],
398
400
  sectioncat: ['IAB2-2'],
399
401
  pagecat: ['IAB2-2'],
400
- page: 'https://page.yahooadtech.com/here.html',
401
- ref: 'https://ref.yahooadtech.com/there.html',
402
+ page: 'https://page.yahooadvertising.com.com/here.html',
403
+ ref: 'https://ref.yahooadvertising.com.com/there.html',
402
404
  keywords:'yahoo, ad, tech',
403
- search: 'SSP',
405
+ search: 'header bidding',
404
406
  content: {
405
407
  id: '1234',
406
408
  title: 'Title',
@@ -521,7 +523,7 @@ pbjs.setConfig({
521
523
 
522
524
  ## AdUnit First Party Data "ortb2Imp"
523
525
  Most DSPs are adopting the Global Placement ID (GPID).
524
- Please pass your placement specific GPID value to Yahoo SSP using `adUnit.ortb2Imp.ext.data.pbadslot`.
526
+ Please pass your placement specific GPID value by setting `adUnit.ortb2Imp.ext.data.pbadslot`.
525
527
  ```javascript
526
528
  const adUnits = [{
527
529
  code: 'placement',
@@ -541,7 +543,7 @@ const adUnits = [{
541
543
  }
542
544
  },
543
545
  bids: [{
544
- bidder: 'yahoossp',
546
+ bidder: 'yahooAds',
545
547
  params: {
546
548
  pubdId: 'DemoPublisher'
547
549
  }
@@ -551,7 +553,7 @@ const adUnits = [{
551
553
  ```
552
554
 
553
555
  # Optional: Bidder bidOverride Parameters
554
- The yahoossp adapter allows passing override data to the outbound bid-request in that overrides First Party Data.
556
+ The Yahoo Advertising bid adapter allows passing override data to the outbound bid-request that overrides First Party Data.
555
557
  **Important!** We highly recommend using prebid modules to pass data instead of bidder speicifc overrides.
556
558
  The use of these parameters are a last resort to force a specific feature or use case in your implementation.
557
559
 
@@ -577,7 +579,6 @@ Currently the bidOverride object only accepts the following:
577
579
  * device
578
580
  * ip
579
581
 
580
-
581
582
  ```javascript
582
583
  const adUnits = [{
583
584
  code: 'bidOverride-adUnit',
@@ -590,7 +591,7 @@ const adUnits = [{
590
591
  }
591
592
  },
592
593
  bids: [{
593
- bidder: 'yahoossp',
594
+ bidder: 'yahooAds',
594
595
  params: {
595
596
  dcn: '8a969516017a7a396ec539d97f540011',
596
597
  pos: '8a96958a017a7a57ac375d50c0c700cc',
@@ -615,7 +616,7 @@ const adUnits = [{
615
616
  }
616
617
  },
617
618
  site: {
618
- page: 'https://yahoossp-bid-adapter.com',
619
+ page: 'https://yahooAdvertising-bid-adapter.com',
619
620
  },
620
621
  device: {
621
622
  ip: "1.2.3.4"
@@ -630,7 +631,7 @@ const adUnits = [{
630
631
  Custom key-value paris can be used for both inventory targeting and reporting.
631
632
  You must set up key-value pairs in the Yahoo SSP before sending them via the adapter otherwise the Ad Server will not be listening and picking them up.
632
633
 
633
- Important! Key-value pairs can only contain values of types: String, Number, Array of strings OR Array of numbers
634
+ Important! Key-value pairs can only contain values of the following data types: String, Number, Array of strings OR Array of numbers
634
635
 
635
636
  ```javascript
636
637
  const adUnits = [{
@@ -644,7 +645,7 @@ const adUnits = [{
644
645
  }
645
646
  },
646
647
  bids: [{
647
- bidder: 'yahoossp',
648
+ bidder: 'yahooAds',
648
649
  params: {
649
650
  dcn: '8a969516017a7a396ec539d97f540011',
650
651
  pos: '8a96958a017a7a57ac375d50c0c700cc',
@@ -660,14 +661,14 @@ const adUnits = [{
660
661
  ```
661
662
 
662
663
  # Optional: Custom Cache Time To Live (ttl):
663
- The yahoossp adapter supports passing of "Time To Live" (ttl) that indicates to prebid chache for how long to keep the chaced winning bid alive. Value is Number in seconds and you can enter any number between 1 - 3600 (seconds).
664
- The setting can be defined globally using setConfig or within the adUnit.params.
665
- Global level setConfig overrides adUnit.params.
664
+ The Yahoo Advertising bid adapter supports passing of "Time To Live" (ttl) to indicate to prebid how long the bid response from Yahoo Advertising should be retained by Prebid for. This configuration value must be a Number in seconds, with the valid range being 1 - 3600 inclusive.
665
+ The setting can be defined globally using `setConfig` or within the adUnit.params.
666
+ Global level `setConfig` overrides adUnit.params.
666
667
  If no value is being passed default is 300 seconds.
667
668
  ## Global TTL
668
669
  ```javascript
669
670
  pbjs.setConfig({
670
- yahoossp: {
671
+ yahooAds: {
671
672
  ttl: 300
672
673
  }
673
674
  });
@@ -683,7 +684,7 @@ const adUnits = [{
683
684
  }
684
685
  },
685
686
  bids: [{
686
- bidder: 'yahoossp',
687
+ bidder: 'yahooAds',
687
688
  params: {
688
689
  dcn: '8a969516017a7a396ec539d97f540011',
689
690
  pos: '8a96958a017a7a57ac375d50c0c700cc',
@@ -702,7 +703,7 @@ const adUnits = [{
702
703
  }
703
704
  },
704
705
  bids: [{
705
- bidder: 'yahoossp',
706
+ bidder: 'yahooAds',
706
707
  params: {
707
708
  dcn: '8a969516017a7a396ec539d97f540011',
708
709
  pos: '8a96958a017a7a57ac375d50c0c700cc',
@@ -710,10 +711,11 @@ const adUnits = [{
710
711
  }
711
712
  }]
712
713
  }]
714
+
713
715
  ```
714
716
  # Optional: Video Features
715
717
  ## Rewarded video flag
716
- To indicate to Yahoo SSP that this adUnit is a rewarded video you can pass the following in the params.bidOverride.imp.video.rewarded: 1
718
+ To indicate to Yahoo Advertising that this adUnit is a rewarded video you can set the `params.bidOverride.imp.video.rewarded` property to `1`
717
719
 
718
720
  ```javascript
719
721
  const adUnits = [{
@@ -727,7 +729,7 @@ const adUnits = [{
727
729
  }
728
730
  },
729
731
  bids: [{
730
- bidder: 'yahoossp',
732
+ bidder: 'yahooAds',
731
733
  params: {
732
734
  dcn: '8a969516017a7a396ec539d97f540011',
733
735
  pos: '8a96958a017a7a57ac375d50c0c700cc',
@@ -744,7 +746,7 @@ const adUnits = [{
744
746
  ```
745
747
 
746
748
  ## Site/App Targeting for "pubId" Inventory Mapping
747
- To target your adUnit explicitly to a specific Site/App Object in Yahoo SSP, you can pass one of the following:
749
+ To target your adUnit explicitly to a specific Site/App Object in Yahoo Advertising, you can pass one of the following:
748
750
  1. params.siteId = External Site ID || Video SSP RTBIS Id (in String format).
749
751
  2. params.bidOverride.site.id = External Site ID || Video SSP RTBIS Id (in String format).
750
752
  **Important:** Site override is a only supported when using "pubId" mode.
@@ -762,7 +764,7 @@ const adUnits = [{
762
764
  }
763
765
  },
764
766
  bids: [{
765
- bidder: 'yahoossp',
767
+ bidder: 'yahooAds',
766
768
  params: {
767
769
  pubId: 'DemoPublisher',
768
770
  siteId: '1234567';
@@ -772,13 +774,13 @@ const adUnits = [{
772
774
  ```
773
775
 
774
776
  ## Placement Targeting for "pubId" Inventory Mapping
775
- To target your adUnit explicitly to a specific Placement within a Site/App Object in Yahoo SSP, you can pass the following params.placementId = External Placement ID || Placement Alias
777
+ To target your adUnit explicitly to a specific Placement within a Site/App Object in Yahoo Advertising, you can pass the following params.placementId = External Placement ID || Placement Alias
776
778
 
777
779
  **Important!** Placement override is a only supported when using "pubId" mode.
778
- **Important!** It is highly recommended that you pass both `siteId` AND `placementId` together to avoid inventory miss matching.
780
+ **Important!** It is highly recommended that you pass both `siteId` AND `placementId` together to avoid inventory mismatching.
779
781
 
780
782
  ### Site & Placement override
781
- **Important!** If the placement ID does not reside under the defined Site/App object, the request will not resolve and no response will be sent back from the ad-server.
783
+ **Important!** If the placement ID does not reside under the defined Site/App object, the request will not resolve and no response will be sent back from the bid-server.
782
784
  ```javascript
783
785
  const adUnits = [{
784
786
  code: 'pubId-site-targeting-adUnit',
@@ -791,7 +793,7 @@ const adUnits = [{
791
793
  }
792
794
  },
793
795
  bids: [{
794
- bidder: 'yahoossp',
796
+ bidder: 'yahooAds',
795
797
  params: {
796
798
  pubId: 'DemoPublisher',
797
799
  siteId: '1234567',
@@ -801,7 +803,7 @@ const adUnits = [{
801
803
  }]
802
804
  ```
803
805
  ### Placement only override
804
- **Important!** Using this method is not advised if you have multiple Site/Apps that are broken out of a Run Of Network (RON) Site/App. If the placement ID does not reside under a matching Site/App object, the request will not resolve and no response will be sent back from the ad-server.
806
+ **Important!** Using this method is not advised if you have multiple Site/Apps that are broken out of a Run Of Network (RON) Site/App. If the placement ID does not reside under a matching Site/App object, the request will not resolve and no response will be sent back from the bid-server.
805
807
  ```javascript
806
808
  const adUnits = [{
807
809
  code: 'pubId-site-targeting-adUnit',
@@ -814,7 +816,7 @@ const adUnits = [{
814
816
  }
815
817
  },
816
818
  bids: [{
817
- bidder: 'yahoossp',
819
+ bidder: 'yahooAds',
818
820
  params: {
819
821
  pubId: 'DemoPublisher',
820
822
  placementId: 'header-250x300'
@@ -824,9 +826,8 @@ const adUnits = [{
824
826
  ```
825
827
 
826
828
  # Optional: Legacy override Parameters
827
- This adapter does not support passing legacy overrides via 'bidder.params.ext' since most of the data should be passed using prebid modules (First Party Data, Schain, Price Floors etc.).
829
+ This adapter does not support passing legacy overrides via `bidder.params.ext` since most of the data should be passed using prebid modules (First Party Data, Schain, Price Floors etc.).
828
830
  If you do not know how to pass a custom parameter that you previously used, please contact us using the information provided above.
829
831
 
830
832
  Thank you,
831
- Yahoo SSP
832
-
833
+ Yahoo Advertsing
@@ -2,6 +2,7 @@ import { formatQS, deepAccess, triggerPixel, _each, _map } from '../src/utils.js
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { BANNER, NATIVE } from '../src/mediaTypes.js'
4
4
  import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
5
+ import { config } from '../src/config.js';
5
6
 
6
7
  const BIDDER_CODE = 'yandex';
7
8
  const BIDDER_URL = 'https://bs.yandex.ru/prebid';
@@ -76,9 +77,11 @@ export const spec = {
76
77
  timeout = bidderRequest.timeout;
77
78
  }
78
79
 
80
+ const adServerCurrency = config.getConfig('currency.adServerCurrency');
81
+
79
82
  return validBidRequests.map((bidRequest) => {
80
83
  const { params } = bidRequest;
81
- const { targetRef, withCredentials = true } = params;
84
+ const { targetRef, withCredentials = true, cur } = params;
82
85
 
83
86
  const { pageId, impId } = extractPlacementIds(params);
84
87
 
@@ -107,6 +110,11 @@ export const spec = {
107
110
  imp.bidfloorcur = bidfloor.currency;
108
111
  }
109
112
 
113
+ const currency = cur || adServerCurrency;
114
+ if (currency) {
115
+ queryParams['ssp-cur'] = currency;
116
+ }
117
+
110
118
  const queryParamsString = formatQS(queryParams);
111
119
  return {
112
120
  method: 'POST',
@@ -132,24 +140,13 @@ export const spec = {
132
140
  interpretResponse: interpretResponse,
133
141
 
134
142
  onBidWon: function (bid) {
135
- let nurl = bid['nurl'];
143
+ const nurl = bid['nurl'];
136
144
 
137
145
  if (!nurl) {
138
146
  return;
139
147
  }
140
148
 
141
- let cpm, currency;
142
- if (bid.hasOwnProperty('originalCurrency') && bid.hasOwnProperty('originalCpm')) {
143
- cpm = bid.originalCpm;
144
- currency = bid.originalCurrency;
145
- } else {
146
- cpm = bid.cpm;
147
- currency = bid.currency;
148
- }
149
- cpm = deepAccess(bid, 'adserverTargeting.hb_pb') || cpm;
150
-
151
- const pixel = replaceAuctionPrice(nurl, cpm, currency);
152
- triggerPixel(pixel);
149
+ triggerPixel(nurl);
153
150
  }
154
151
  }
155
152
 
@@ -316,7 +313,7 @@ function interpretResponse(serverResponse, { bidRequest }) {
316
313
  width: bidReceived.w,
317
314
  height: bidReceived.h,
318
315
  creativeId: bidReceived.adid,
319
- nurl: bidReceived.nurl,
316
+ nurl: replaceAuctionPrice(bidReceived.nurl, price, currency),
320
317
 
321
318
  netRevenue: true,
322
319
  ttl: DEFAULT_TTL,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prebid.js",
3
- "version": "8.3.0",
3
+ "version": "8.4.0",
4
4
  "description": "Header Bidding Management Library",
5
5
  "main": "src/prebid.js",
6
6
  "scripts": {
@@ -8,7 +8,7 @@ import {
8
8
  ACTIVITY_TRANSMIT_UFPD
9
9
  } from './activities.js';
10
10
 
11
- export const ORTB_UFPD_PATHS = ['user.data', 'user.ext.data'];
11
+ export const ORTB_UFPD_PATHS = ['user.data', 'user.ext.data', 'user.yob', 'user.gender', 'user.keywords', 'user.kwarray'];
12
12
  export const ORTB_EIDS_PATHS = ['user.eids', 'user.ext.eids'];
13
13
  export const ORTB_GEO_PATHS = ['user.geo.lat', 'user.geo.lon', 'device.geo.lat', 'device.geo.lon'];
14
14