prebid.js 8.43.0 → 8.45.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 (501) hide show
  1. package/README.md +7 -1
  2. package/creative/constants.js +7 -7
  3. package/creative/renderers/display/constants.js +2 -2
  4. package/creative/renderers/native/constants.js +2 -2
  5. package/dist/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/33acrossBidAdapter.js +1 -1
  7. package/dist/33acrossIdSystem.js +1 -1
  8. package/dist/BTBidAdapter.js +1 -1
  9. package/dist/adWMGAnalyticsAdapter.js +1 -1
  10. package/dist/adagioAnalyticsAdapter.js +1 -1
  11. package/dist/adagioBidAdapter.js +1 -1
  12. package/dist/adbookpspBidAdapter.js +1 -1
  13. package/dist/adgenerationBidAdapter.js +1 -1
  14. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  15. package/dist/adkernelBidAdapter.js +1 -1
  16. package/dist/adlooxAdServerVideo.js +1 -1
  17. package/dist/adlooxAnalyticsAdapter.js +1 -1
  18. package/dist/adlooxRtdProvider.js +1 -1
  19. package/dist/adnuntiusBidAdapter.js +1 -1
  20. package/dist/adomikAnalyticsAdapter.js +1 -1
  21. package/dist/adpod.js +1 -1
  22. package/dist/adqueryBidAdapter.js +1 -1
  23. package/dist/adrelevantisBidAdapter.js +1 -1
  24. package/dist/adstirBidAdapter.js +1 -1
  25. package/dist/adtrgtmeBidAdapter.js +1 -1
  26. package/dist/adxcgAnalyticsAdapter.js +1 -1
  27. package/dist/adxcgBidAdapter.js +1 -1
  28. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  29. package/dist/adyoulikeBidAdapter.js +1 -1
  30. package/dist/agmaAnalyticsAdapter.js +1 -1
  31. package/dist/ajaBidAdapter.js +1 -1
  32. package/dist/amxBidAdapter.js +1 -1
  33. package/dist/amxIdSystem.js +1 -1
  34. package/dist/analyticsAdapter.js +1 -1
  35. package/dist/appierAnalyticsAdapter.js +1 -1
  36. package/dist/appnexusBidAdapter.js +1 -1
  37. package/dist/asoBidAdapter.js +1 -1
  38. package/dist/asteriobidAnalyticsAdapter.js +1 -1
  39. package/dist/atsAnalyticsAdapter.js +1 -1
  40. package/dist/automatadAnalyticsAdapter.js +1 -1
  41. package/dist/axonixBidAdapter.js +1 -1
  42. package/dist/bidViewability.js +1 -1
  43. package/dist/bidViewabilityIO.js +1 -1
  44. package/dist/bidglassBidAdapter.js +1 -1
  45. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  46. package/dist/big-richmediaBidAdapter.js +1 -1
  47. package/dist/brandmetricsRtdProvider.js +1 -1
  48. package/dist/bridBidAdapter.js +1 -1
  49. package/dist/bridgewellBidAdapter.js +1 -1
  50. package/dist/brightMountainMediaBidAdapter.js +1 -1
  51. package/dist/browsiRtdProvider.js +1 -1
  52. package/dist/byDataAnalyticsAdapter.js +1 -1
  53. package/dist/carodaBidAdapter.js +1 -1
  54. package/dist/chtnwBidAdapter.js +1 -1
  55. package/dist/chunk-core.js +1 -1
  56. package/dist/chunk-paapi.js +1 -1
  57. package/dist/cleanioRtdProvider.js +1 -1
  58. package/dist/concertAnalyticsAdapter.js +1 -1
  59. package/dist/concertBidAdapter.js +1 -1
  60. package/dist/confiantRtdProvider.js +1 -1
  61. package/dist/connectadBidAdapter.js +1 -1
  62. package/dist/consentManagementUsp.js +1 -1
  63. package/dist/consumableBidAdapter.js +1 -1
  64. package/dist/conversantAnalyticsAdapter.js +1 -1
  65. package/dist/conversantBidAdapter.js +1 -1
  66. package/dist/craftBidAdapter.js +1 -1
  67. package/dist/creative-renderer-native.js +1 -1
  68. package/dist/criteoBidAdapter.js +1 -1
  69. package/dist/currency.js +1 -1
  70. package/dist/cwireBidAdapter.js +1 -1
  71. package/dist/dailymotionBidAdapter.js +1 -0
  72. package/dist/datablocksAnalyticsAdapter.js +1 -1
  73. package/dist/datawrkzBidAdapter.js +1 -1
  74. package/dist/debugging-standalone.js +1 -1
  75. package/dist/debugging.js +1 -1
  76. package/dist/dependencies.json +3 -3
  77. package/dist/dfpAdServerVideo.js +1 -1
  78. package/dist/discoveryBidAdapter.js +1 -1
  79. package/dist/dsaControl.js +1 -1
  80. package/dist/dspxBidAdapter.js +1 -1
  81. package/dist/dxkultureBidAdapter.js +1 -1
  82. package/dist/eplanningAnalyticsAdapter.js +1 -1
  83. package/dist/eplanningBidAdapter.js +1 -1
  84. package/dist/euidIdSystem.js +1 -1
  85. package/dist/feedadBidAdapter.js +1 -1
  86. package/dist/finativeBidAdapter.js +1 -1
  87. package/dist/fintezaAnalyticsAdapter.js +1 -1
  88. package/dist/freewheel-sspBidAdapter.js +1 -1
  89. package/dist/gdprEnforcement.js +1 -1
  90. package/dist/genericAnalyticsAdapter.js +1 -1
  91. package/dist/geoedgeRtdProvider.js +1 -1
  92. package/dist/gmosspBidAdapter.js +1 -1
  93. package/dist/goldbachBidAdapter.js +1 -1
  94. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  95. package/dist/greenbidsRtdProvider.js +1 -1
  96. package/dist/gridBidAdapter.js +1 -1
  97. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  98. package/dist/gumgumBidAdapter.js +1 -1
  99. package/dist/h12mediaBidAdapter.js +1 -1
  100. package/dist/hadronAnalyticsAdapter.js +1 -1
  101. package/dist/holidBidAdapter.js +1 -1
  102. package/dist/hypelabBidAdapter.js +1 -1
  103. package/dist/id5AnalyticsAdapter.js +1 -1
  104. package/dist/id5IdSystem.js +1 -1
  105. package/dist/illuminBidAdapter.js +1 -1
  106. package/dist/imdsBidAdapter.js +1 -1
  107. package/dist/improvedigitalBidAdapter.js +1 -1
  108. package/dist/insticatorBidAdapter.js +1 -1
  109. package/dist/instreamTracking.js +1 -1
  110. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  111. package/dist/ixBidAdapter.js +1 -1
  112. package/dist/jixieBidAdapter.js +1 -1
  113. package/dist/justpremiumBidAdapter.js +1 -1
  114. package/dist/jwplayerRtdProvider.js +1 -1
  115. package/dist/kargoAnalyticsAdapter.js +1 -1
  116. package/dist/kargoBidAdapter.js +1 -1
  117. package/dist/kimberliteBidAdapter.js +1 -1
  118. package/dist/konduitAnalyticsAdapter.js +1 -1
  119. package/dist/kueezBidAdapter.js +1 -1
  120. package/dist/kueezRtbBidAdapter.js +1 -1
  121. package/dist/lassoBidAdapter.js +1 -1
  122. package/dist/lifestreetBidAdapter.js +1 -1
  123. package/dist/limelightDigitalBidAdapter.js +1 -1
  124. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  125. package/dist/liveIntentIdSystem.js +1 -1
  126. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  127. package/dist/logicadBidAdapter.js +1 -1
  128. package/dist/loglyliftBidAdapter.js +1 -1
  129. package/dist/loyalBidAdapter.js +1 -0
  130. package/dist/luceadBidAdapter.js +1 -1
  131. package/dist/magniteAnalyticsAdapter.js +1 -1
  132. package/dist/malltvAnalyticsAdapter.js +1 -1
  133. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  134. package/dist/marsmediaBidAdapter.js +1 -1
  135. package/dist/mediafilterRtdProvider.js +1 -1
  136. package/dist/mediafuseBidAdapter.js +1 -1
  137. package/dist/medianetAnalyticsAdapter.js +1 -1
  138. package/dist/medianetBidAdapter.js +1 -1
  139. package/dist/mediasquareBidAdapter.js +1 -1
  140. package/dist/mgidBidAdapter.js +1 -1
  141. package/dist/minutemediaBidAdapter.js +1 -1
  142. package/dist/minutemediaplusBidAdapter.js +1 -1
  143. package/dist/missenaBidAdapter.js +1 -1
  144. package/dist/multibid.js +1 -1
  145. package/dist/neuwoRtdProvider.js +1 -1
  146. package/dist/nextMillenniumBidAdapter.js +1 -1
  147. package/dist/nexx360BidAdapter.js +1 -1
  148. package/dist/nobidAnalyticsAdapter.js +1 -1
  149. package/dist/not-for-prod/prebid.js +242 -239
  150. package/dist/oguryBidAdapter.js +1 -1
  151. package/dist/onetagBidAdapter.js +1 -1
  152. package/dist/ooloAnalyticsAdapter.js +1 -1
  153. package/dist/openwebBidAdapter.js +1 -1
  154. package/dist/openxBidAdapter.js +1 -1
  155. package/dist/optidigitalBidAdapter.js +1 -1
  156. package/dist/optimonAnalyticsAdapter.js +1 -1
  157. package/dist/outbrainBidAdapter.js +1 -1
  158. package/dist/oxxionAnalyticsAdapter.js +1 -1
  159. package/dist/oxxionRtdProvider.js +1 -1
  160. package/dist/parrableIdSystem.js +1 -1
  161. package/dist/pbsExtensions.js +1 -1
  162. package/dist/permutiveRtdProvider.js +1 -1
  163. package/dist/pgamsspBidAdapter.js +1 -1
  164. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  165. package/dist/pirIdSystem.js +1 -0
  166. package/dist/pixfutureBidAdapter.js +1 -1
  167. package/dist/prebidServerBidAdapter.js +1 -1
  168. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  169. package/dist/priceFloors.js +1 -1
  170. package/dist/publinkIdSystem.js +1 -1
  171. package/dist/publirBidAdapter.js +1 -1
  172. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  173. package/dist/pubmaticBidAdapter.js +1 -1
  174. package/dist/pubperfAnalyticsAdapter.js +1 -1
  175. package/dist/pubstackAnalyticsAdapter.js +1 -1
  176. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  177. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  178. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  179. package/dist/pxyzBidAdapter.js +1 -1
  180. package/dist/qortexRtdProvider.js +1 -1
  181. package/dist/quantcastBidAdapter.js +1 -1
  182. package/dist/readpeakBidAdapter.js +1 -1
  183. package/dist/relaidoBidAdapter.js +1 -1
  184. package/dist/relevantAnalyticsAdapter.js +1 -1
  185. package/dist/retailspotBidAdapter.js +1 -1
  186. package/dist/rhythmoneBidAdapter.js +1 -1
  187. package/dist/riseBidAdapter.js +1 -1
  188. package/dist/rivrAnalyticsAdapter.js +1 -1
  189. package/dist/roxotAnalyticsAdapter.js +1 -1
  190. package/dist/rtdModule.js +1 -1
  191. package/dist/rubiconBidAdapter.js +1 -1
  192. package/dist/s2sTesting.js +1 -1
  193. package/dist/scaleableAnalyticsAdapter.js +1 -1
  194. package/dist/schain.js +1 -1
  195. package/dist/seedingAllianceBidAdapter.js +1 -1
  196. package/dist/seedtagBidAdapter.js +1 -1
  197. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  198. package/dist/sharethroughBidAdapter.js +1 -1
  199. package/dist/shinezBidAdapter.js +1 -1
  200. package/dist/shinezRtbBidAdapter.js +1 -1
  201. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  202. package/dist/sirdataRtdProvider.js +1 -1
  203. package/dist/sizeMapping.js +1 -1
  204. package/dist/smaatoBidAdapter.js +1 -1
  205. package/dist/smartadserverBidAdapter.js +1 -1
  206. package/dist/smartxBidAdapter.js +1 -1
  207. package/dist/smilewantedBidAdapter.js +1 -1
  208. package/dist/sonobiAnalyticsAdapter.js +1 -1
  209. package/dist/sonobiBidAdapter.js +1 -1
  210. package/dist/sovrnAnalyticsAdapter.js +1 -1
  211. package/dist/sovrnBidAdapter.js +1 -1
  212. package/dist/sspBCBidAdapter.js +1 -1
  213. package/dist/staqAnalyticsAdapter.js +1 -1
  214. package/dist/stnBidAdapter.js +1 -1
  215. package/dist/stvBidAdapter.js +1 -1
  216. package/dist/sublimeBidAdapter.js +1 -1
  217. package/dist/taboolaBidAdapter.js +1 -1
  218. package/dist/tagorasBidAdapter.js +1 -1
  219. package/dist/targetVideoBidAdapter.js +1 -1
  220. package/dist/teadsBidAdapter.js +1 -1
  221. package/dist/terceptAnalyticsAdapter.js +1 -1
  222. package/dist/themoneytizerBidAdapter.js +1 -1
  223. package/dist/topicsFpdModule.js +1 -1
  224. package/dist/trionBidAdapter.js +1 -1
  225. package/dist/tripleliftBidAdapter.js +1 -1
  226. package/dist/ttdBidAdapter.js +1 -1
  227. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  228. package/dist/uid2IdSystem.js +1 -1
  229. package/dist/underdogmediaBidAdapter.js +1 -1
  230. package/dist/undertoneBidAdapter.js +1 -1
  231. package/dist/unrulyBidAdapter.js +1 -1
  232. package/dist/userId.js +1 -1
  233. package/dist/vidazooBidAdapter.js +1 -1
  234. package/dist/videoModule.js +1 -1
  235. package/dist/videobyteBidAdapter.js +1 -1
  236. package/dist/visxBidAdapter.js +1 -1
  237. package/dist/vuukleBidAdapter.js +1 -1
  238. package/dist/weboramaRtdProvider.js +1 -1
  239. package/dist/widespaceBidAdapter.js +1 -1
  240. package/dist/winrBidAdapter.js +1 -1
  241. package/dist/yahoosspBidAdapter.js +1 -1
  242. package/dist/yandexAnalyticsAdapter.js +1 -1
  243. package/dist/yieldmoBidAdapter.js +1 -1
  244. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  245. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  246. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  247. package/dist/zeta_global_sspBidAdapter.js +1 -1
  248. package/gulpfile.js +9 -1
  249. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  250. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  251. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  252. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  253. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  254. package/integrationExamples/{gpt → realTimeData}/jwplayerRtdProvider_example.html +28 -42
  255. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  256. package/libraries/creative-renderer-native/renderer.js +1 -1
  257. package/modules/33acrossAnalyticsAdapter.js +2 -4
  258. package/modules/33acrossIdSystem.js +1 -1
  259. package/modules/adWMGAnalyticsAdapter.js +9 -11
  260. package/modules/adagioAnalyticsAdapter.js +49 -46
  261. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  262. package/modules/adkernelBidAdapter.js +23 -102
  263. package/modules/adlooxAdServerVideo.js +2 -2
  264. package/modules/adlooxAnalyticsAdapter.js +4 -4
  265. package/modules/adnuntiusBidAdapter.js +50 -32
  266. package/modules/adomikAnalyticsAdapter.js +7 -7
  267. package/modules/adpod.js +3 -3
  268. package/modules/adxcgAnalyticsAdapter.js +10 -10
  269. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  270. package/modules/agmaAnalyticsAdapter.js +6 -7
  271. package/modules/appierAnalyticsAdapter.js +5 -7
  272. package/modules/appnexusBidAdapter.js +1 -0
  273. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  274. package/modules/atsAnalyticsAdapter.js +4 -4
  275. package/modules/automatadAnalyticsAdapter.js +20 -20
  276. package/modules/azerionedgeRtdProvider.md +4 -2
  277. package/modules/bidViewability.js +3 -3
  278. package/modules/bidViewabilityIO.js +3 -3
  279. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  280. package/modules/brandmetricsRtdProvider.js +6 -6
  281. package/modules/browsiRtdProvider.js +3 -3
  282. package/modules/byDataAnalyticsAdapter.js +3 -3
  283. package/modules/cleanioRtdProvider.js +3 -3
  284. package/modules/concertAnalyticsAdapter.js +5 -7
  285. package/modules/confiantRtdProvider.js +2 -2
  286. package/modules/conversantAnalyticsAdapter.js +2 -4
  287. package/modules/criteoBidAdapter.js +53 -10
  288. package/modules/currency.js +7 -7
  289. package/modules/dailymotionBidAdapter.js +139 -0
  290. package/modules/dailymotionBidAdapter.md +140 -0
  291. package/modules/datawrkzBidAdapter.js +4 -4
  292. package/modules/debugging/pbsInterceptor.js +2 -2
  293. package/modules/dfpAdServerVideo.js +2 -2
  294. package/modules/discoveryBidAdapter.js +21 -0
  295. package/modules/dsaControl.js +5 -5
  296. package/modules/eplanningAnalyticsAdapter.js +8 -8
  297. package/modules/fintezaAnalyticsAdapter.js +5 -5
  298. package/modules/gdprEnforcement.js +3 -3
  299. package/modules/geoedgeRtdProvider.js +2 -2
  300. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  301. package/modules/greenbidsRtdProvider.js +2 -2
  302. package/modules/gridBidAdapter.js +2 -2
  303. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  304. package/modules/gumgumBidAdapter.js +4 -1
  305. package/modules/hadronAnalyticsAdapter.js +14 -14
  306. package/modules/holidBidAdapter.js +2 -2
  307. package/modules/id5AnalyticsAdapter.js +7 -9
  308. package/modules/improvedigitalBidAdapter.js +2 -1
  309. package/modules/insticatorBidAdapter.js +137 -27
  310. package/modules/instreamTracking.js +4 -4
  311. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  312. package/modules/ixBidAdapter.js +3 -3
  313. package/modules/jwplayerRtdProvider.js +93 -26
  314. package/modules/jwplayerRtdProvider.md +23 -2
  315. package/modules/kargoAnalyticsAdapter.js +3 -3
  316. package/modules/kargoBidAdapter.js +26 -31
  317. package/modules/konduitAnalyticsAdapter.js +13 -13
  318. package/modules/lassoBidAdapter.js +11 -2
  319. package/modules/limelightDigitalBidAdapter.js +2 -1
  320. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  321. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  322. package/modules/loyalBidAdapter.js +190 -0
  323. package/modules/loyalBidAdapter.md +79 -0
  324. package/modules/magniteAnalyticsAdapter.js +25 -23
  325. package/modules/malltvAnalyticsAdapter.js +4 -6
  326. package/modules/mediafilterRtdProvider.js +2 -2
  327. package/modules/medianetAnalyticsAdapter.js +12 -12
  328. package/modules/medianetBidAdapter.js +1 -1
  329. package/modules/multibid/index.js +2 -2
  330. package/modules/neuwoRtdProvider.js +2 -2
  331. package/modules/nextMillenniumBidAdapter.js +4 -4
  332. package/modules/nobidAnalyticsAdapter.js +9 -11
  333. package/modules/ooloAnalyticsAdapter.js +2 -2
  334. package/modules/oxxionAnalyticsAdapter.js +7 -9
  335. package/modules/paapi.js +20 -6
  336. package/modules/permutiveRtdProvider.js +21 -2
  337. package/modules/pgamsspBidAdapter.js +26 -3
  338. package/modules/pirIdSystem.js +62 -0
  339. package/modules/pirIdSystem.md +27 -0
  340. package/modules/prebidServerBidAdapter/index.js +8 -8
  341. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  342. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  343. package/modules/priceFloors.js +10 -5
  344. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  345. package/modules/pubmaticBidAdapter.js +1 -17
  346. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  347. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  348. package/modules/qortexRtdProvider.js +2 -2
  349. package/modules/roxotAnalyticsAdapter.js +8 -10
  350. package/modules/rtdModule/index.js +7 -7
  351. package/modules/scaleableAnalyticsAdapter.js +5 -5
  352. package/modules/seedtagBidAdapter.js +12 -3
  353. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  354. package/modules/sirdataRtdProvider.js +2 -0
  355. package/modules/smaatoBidAdapter.js +1 -2
  356. package/modules/sonobiAnalyticsAdapter.js +10 -12
  357. package/modules/sonobiBidAdapter.js +2 -5
  358. package/modules/sovrnAnalyticsAdapter.js +7 -9
  359. package/modules/sovrnBidAdapter.js +1 -1
  360. package/modules/staqAnalyticsAdapter.js +9 -9
  361. package/modules/teadsBidAdapter.js +2 -0
  362. package/modules/terceptAnalyticsAdapter.js +7 -7
  363. package/modules/topicsFpdModule.js +3 -0
  364. package/modules/topicsFpdModule.md +4 -0
  365. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  366. package/modules/userId/index.js +3 -3
  367. package/modules/videoModule/index.js +4 -4
  368. package/modules/yandexAnalyticsAdapter.js +2 -2
  369. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  370. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  371. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  372. package/modules/zeta_global_sspBidAdapter.js +8 -1
  373. package/package.json +1 -1
  374. package/src/adRendering.js +15 -15
  375. package/src/adUnits.js +9 -21
  376. package/src/adapterManager.js +23 -13
  377. package/src/adapters/bidderFactory.js +8 -8
  378. package/src/auction.js +26 -28
  379. package/src/auctionManager.js +4 -4
  380. package/src/bidderSettings.js +2 -2
  381. package/src/config.js +2 -2
  382. package/src/constants.js +190 -0
  383. package/src/events.js +3 -3
  384. package/src/native.js +6 -8
  385. package/src/prebid.js +6 -10
  386. package/src/secureCreatives.js +5 -5
  387. package/src/targeting.js +13 -13
  388. package/src/utils.js +4 -4
  389. package/test/fixtures/fixtures.js +44 -44
  390. package/test/helpers/analytics.js +6 -6
  391. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  392. package/test/spec/auctionmanager_spec.js +82 -82
  393. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  394. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  395. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  396. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +79 -55
  397. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  398. package/test/spec/modules/adkernelBidAdapter_spec.js +63 -24
  399. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  400. package/test/spec/modules/adnuntiusBidAdapter_spec.js +10 -7
  401. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  402. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  403. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  404. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +18 -14
  405. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  406. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  407. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  408. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  409. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  410. package/test/spec/modules/bidViewability_spec.js +4 -4
  411. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  412. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  413. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  414. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  415. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  416. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  417. package/test/spec/modules/criteoBidAdapter_spec.js +112 -6
  418. package/test/spec/modules/currency_spec.js +6 -6
  419. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  420. package/test/spec/modules/discoveryBidAdapter_spec.js +35 -1
  421. package/test/spec/modules/dsaControl_spec.js +4 -4
  422. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  423. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  424. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  425. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  426. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  427. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  428. package/test/spec/modules/gridBidAdapter_spec.js +3 -1
  429. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  430. package/test/spec/modules/gumgumBidAdapter_spec.js +23 -0
  431. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  432. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  433. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  434. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  435. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  436. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  437. package/test/spec/modules/jwplayerRtdProvider_spec.js +672 -29
  438. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  439. package/test/spec/modules/kargoBidAdapter_spec.js +36 -0
  440. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  441. package/test/spec/modules/lassoBidAdapter_spec.js +1 -0
  442. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  443. package/test/spec/modules/limelightDigitalBidAdapter_spec.js +16 -1
  444. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  445. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  446. package/test/spec/modules/loyalBidAdapter_spec .js +375 -0
  447. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  448. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  449. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  450. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  451. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  452. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  453. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  454. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  455. package/test/spec/modules/paapi_spec.js +40 -14
  456. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  457. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  458. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  459. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  460. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  461. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  462. package/test/spec/modules/priceFloors_spec.js +6 -5
  463. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  464. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  465. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  466. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  467. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  468. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  469. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  470. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  471. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  472. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  473. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  474. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  475. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  476. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  477. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  478. package/test/spec/modules/sonobiBidAdapter_spec.js +4 -6
  479. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  480. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  481. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  482. package/test/spec/modules/teadsBidAdapter_spec.js +35 -0
  483. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  484. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  485. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  486. package/test/spec/modules/userId_spec.js +4 -4
  487. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  488. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  489. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  490. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  491. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  492. package/test/spec/native_spec.js +19 -19
  493. package/test/spec/unit/adRendering_spec.js +14 -14
  494. package/test/spec/unit/adUnits_spec.js +1 -1
  495. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  496. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  497. package/test/spec/unit/core/targeting_spec.js +47 -47
  498. package/test/spec/unit/pbjs_api_spec.js +81 -81
  499. package/test/spec/unit/secureCreatives_spec.js +27 -27
  500. package/test/spec/utils_spec.js +2 -2
  501. package/src/constants.json +0 -196
@@ -25,6 +25,9 @@ const COOKIE_RETENTION_TIME = 365 * 24 * 60 * 60 * 1000; // 1 year
25
25
  const COOKY_SYNC_IFRAME_URL = 'https://asset.popin.cc/js/cookieSync.html';
26
26
  export const THIRD_PARTY_COOKIE_ORIGIN = 'https://asset.popin.cc';
27
27
 
28
+ const UTM_KEY = '_ss_pp_utm';
29
+ let UTMValue = {};
30
+
28
31
  const NATIVERET = {
29
32
  id: 'id',
30
33
  bidfloor: 0,
@@ -409,6 +412,20 @@ function getItems(validBidRequests, bidderRequest) {
409
412
  return items;
410
413
  }
411
414
 
415
+ export const buildUTMTagData = (url) => {
416
+ if (!storage.cookiesAreEnabled()) return;
417
+ const urlParams = utils.parseUrl(url).search;
418
+ const UTMParams = {};
419
+ Object.keys(urlParams).forEach(key => {
420
+ if (/^utm_/.test(key)) {
421
+ UTMParams[key] = urlParams[key];
422
+ }
423
+ });
424
+ UTMValue = JSON.parse(storage.getCookie(UTM_KEY) || '{}');
425
+ Object.assign(UTMValue, UTMParams);
426
+ storage.setCookie(UTM_KEY, JSON.stringify(UTMValue), getCurrentTimeToUTCString());
427
+ }
428
+
412
429
  /**
413
430
  * get rtb qequest params
414
431
  *
@@ -443,6 +460,10 @@ function getParam(validBidRequests, bidderRequest) {
443
460
  const desc = getPageDescription();
444
461
  const keywords = getPageKeywords();
445
462
 
463
+ try {
464
+ buildUTMTagData(page);
465
+ } catch (error) { }
466
+
446
467
  if (items && items.length) {
447
468
  let c = {
448
469
  // TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
@@ -1,7 +1,7 @@
1
1
  import {config} from '../src/config.js';
2
2
  import {auctionManager} from '../src/auctionManager.js';
3
3
  import {timedBidResponseHook} from '../src/utils/perfMetrics.js';
4
- import CONSTANTS from '../src/constants.json';
4
+ import { REJECTION_REASON } from '../src/constants.js';
5
5
  import {getHook} from '../src/hook.js';
6
6
  import {logInfo, logWarn} from '../src/utils.js';
7
7
 
@@ -18,18 +18,18 @@ export const addBidResponseHook = timedBidResponseHook('dsa', function (fn, adUn
18
18
  if (!bid.meta?.dsa) {
19
19
  if (dsaRequest.dsarequired === 1) {
20
20
  // request says dsa is supported; response does not have dsa info; warn about it
21
- logWarn(`dsaControl: ${CONSTANTS.REJECTION_REASON.DSA_REQUIRED}; will still be accepted as regs.ext.dsa.dsarequired = 1`, bid);
21
+ logWarn(`dsaControl: ${REJECTION_REASON.DSA_REQUIRED}; will still be accepted as regs.ext.dsa.dsarequired = 1`, bid);
22
22
  } else if ([2, 3].includes(dsaRequest.dsarequired)) {
23
23
  // request says dsa is required; response does not have dsa info; reject it
24
- rejectReason = CONSTANTS.REJECTION_REASON.DSA_REQUIRED;
24
+ rejectReason = REJECTION_REASON.DSA_REQUIRED;
25
25
  }
26
26
  } else {
27
27
  if (dsaRequest.pubrender === 0 && bid.meta.dsa.adrender === 0) {
28
28
  // request says publisher can't render; response says advertiser won't; reject it
29
- rejectReason = CONSTANTS.REJECTION_REASON.DSA_MISMATCH;
29
+ rejectReason = REJECTION_REASON.DSA_MISMATCH;
30
30
  } else if (dsaRequest.pubrender === 2 && bid.meta.dsa.adrender === 1) {
31
31
  // request says publisher will render; response says advertiser will; reject it
32
- rejectReason = CONSTANTS.REJECTION_REASON.DSA_MISMATCH;
32
+ rejectReason = REJECTION_REASON.DSA_MISMATCH;
33
33
  }
34
34
  }
35
35
  }
@@ -2,7 +2,7 @@ import { logError } from '../src/utils.js';
2
2
  import {ajax} from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
 
7
7
  const analyticsType = 'endpoint';
8
8
  const EPL_HOST = 'https://ads.us.e-planning.net/hba/1/';
@@ -64,18 +64,18 @@ function bidTimeoutHandler(args) {
64
64
  function callHandler(evtype, args) {
65
65
  let handler = null;
66
66
 
67
- if (evtype === CONSTANTS.EVENTS.AUCTION_INIT) {
67
+ if (evtype === EVENTS.AUCTION_INIT) {
68
68
  handler = auctionInitHandler;
69
69
  eplAnalyticsAdapter.context.events = [];
70
- } else if (evtype === CONSTANTS.EVENTS.AUCTION_END) {
70
+ } else if (evtype === EVENTS.AUCTION_END) {
71
71
  handler = auctionEndHandler;
72
- } else if (evtype === CONSTANTS.EVENTS.BID_REQUESTED) {
72
+ } else if (evtype === EVENTS.BID_REQUESTED) {
73
73
  handler = bidRequestedHandler;
74
- } else if (evtype === CONSTANTS.EVENTS.BID_RESPONSE) {
74
+ } else if (evtype === EVENTS.BID_RESPONSE) {
75
75
  handler = bidResponseHandler
76
- } else if (evtype === CONSTANTS.EVENTS.BID_TIMEOUT) {
76
+ } else if (evtype === EVENTS.BID_TIMEOUT) {
77
77
  handler = bidTimeoutHandler;
78
- } else if (evtype === CONSTANTS.EVENTS.BID_WON) {
78
+ } else if (evtype === EVENTS.BID_WON) {
79
79
  handler = bidWonHandler;
80
80
  }
81
81
 
@@ -95,7 +95,7 @@ var eplAnalyticsAdapter = Object.assign(adapter(
95
95
  callHandler(eventType, args);
96
96
  }
97
97
 
98
- if (eventType === CONSTANTS.EVENTS.AUCTION_END) {
98
+ if (eventType === EVENTS.AUCTION_END) {
99
99
  try {
100
100
  let strjson = JSON.stringify(eplAnalyticsAdapter.context.events);
101
101
  ajax(eplAnalyticsAdapter.context.host + eplAnalyticsAdapter.context.ci + '?d=' + encodeURIComponent(strjson));
@@ -3,7 +3,7 @@ import { ajax } from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import {getStorageManager} from '../src/storageManager.js';
6
- import CONSTANTS from '../src/constants.json';
6
+ import { EVENTS } from '../src/constants.js';
7
7
  import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
8
8
 
9
9
  const MODULE_CODE = 'finteza';
@@ -330,16 +330,16 @@ function prepareTrackData(evtype, args) {
330
330
  let prepareParams = null;
331
331
 
332
332
  switch (evtype) {
333
- case CONSTANTS.EVENTS.BID_REQUESTED:
333
+ case EVENTS.BID_REQUESTED:
334
334
  prepareParams = prepareBidRequestedParams;
335
335
  break;
336
- case CONSTANTS.EVENTS.BID_RESPONSE:
336
+ case EVENTS.BID_RESPONSE:
337
337
  prepareParams = prepareBidResponseParams;
338
338
  break;
339
- case CONSTANTS.EVENTS.BID_WON:
339
+ case EVENTS.BID_WON:
340
340
  prepareParams = prepareBidWonParams;
341
341
  break;
342
- case CONSTANTS.EVENTS.BID_TIMEOUT:
342
+ case EVENTS.BID_TIMEOUT:
343
343
  prepareParams = prepareBidTimeoutParams;
344
344
  break;
345
345
  }
@@ -6,7 +6,7 @@ import {deepAccess, logError, logWarn} from '../src/utils.js';
6
6
  import {config} from '../src/config.js';
7
7
  import adapterManager, {gdprDataHandler} from '../src/adapterManager.js';
8
8
  import * as events from '../src/events.js';
9
- import CONSTANTS from '../src/constants.json';
9
+ import { EVENTS } from '../src/constants.js';
10
10
  import {GDPR_GVLIDS, VENDORLESS_GVLID, FIRST_PARTY_GVLID} from '../src/consentHandler.js';
11
11
  import {
12
12
  MODULE_TYPE_ANALYTICS,
@@ -292,11 +292,11 @@ function emitTCF2FinalResults() {
292
292
  geoBlocked: formatSet(geoBlocked)
293
293
  };
294
294
 
295
- events.emit(CONSTANTS.EVENTS.TCF2_ENFORCEMENT, tcf2FinalResults);
295
+ events.emit(EVENTS.TCF2_ENFORCEMENT, tcf2FinalResults);
296
296
  [storageBlocked, biddersBlocked, analyticsBlocked, ufpdBlocked, eidsBlocked, geoBlocked].forEach(el => el.clear());
297
297
  }
298
298
 
299
- events.on(CONSTANTS.EVENTS.AUCTION_END, emitTCF2FinalResults);
299
+ events.on(EVENTS.AUCTION_END, emitTCF2FinalResults);
300
300
 
301
301
  /**
302
302
  * A configuration function that initializes some module variables, as well as adds hooks
@@ -19,7 +19,7 @@ import { submodule } from '../src/hook.js';
19
19
  import { ajax } from '../src/ajax.js';
20
20
  import { generateUUID, createInvisibleIframe, insertElement, isEmpty, logError } from '../src/utils.js';
21
21
  import * as events from '../src/events.js';
22
- import CONSTANTS from '../src/constants.json';
22
+ import { EVENTS } from '../src/constants.js';
23
23
  import { loadExternalScript } from '../src/adloader.js';
24
24
  import { auctionManager } from '../src/auctionManager.js';
25
25
  import { getRefererInfo } from '../src/refererDetection.js';
@@ -237,7 +237,7 @@ function fireBillableEventsForApplicableBids(params) {
237
237
  let data = message.data;
238
238
  if (isBillingMessage(data, params)) {
239
239
  let winningBid = auctionManager.findBidByAdId(data.adId);
240
- events.emit(CONSTANTS.EVENTS.BILLABLE_EVENT, {
240
+ events.emit(EVENTS.BILLABLE_EVENT, {
241
241
  vendor: SUBMODULE_NAME,
242
242
  billingId: data.impressionId,
243
243
  type: winningBid ? 'impression' : data.type,
@@ -1,23 +1,21 @@
1
1
  import {ajax} from '../src/ajax.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
- import CONSTANTS from '../src/constants.json';
3
+ import { EVENTS } from '../src/constants.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
- import {deepClone, generateUUID, logError, logInfo, logWarn} from '../src/utils.js';
5
+ import {deepClone, generateUUID, logError, logInfo, logWarn, getParameterByName} from '../src/utils.js';
6
6
 
7
7
  const analyticsType = 'endpoint';
8
8
 
9
- export const ANALYTICS_VERSION = '2.2.0';
9
+ export const ANALYTICS_VERSION = '2.2.1';
10
10
 
11
11
  const ANALYTICS_SERVER = 'https://a.greenbids.ai';
12
12
 
13
13
  const {
14
- EVENTS: {
15
- AUCTION_INIT,
16
- AUCTION_END,
17
- BID_TIMEOUT,
18
- BILLABLE_EVENT,
19
- }
20
- } = CONSTANTS;
14
+ AUCTION_INIT,
15
+ AUCTION_END,
16
+ BID_TIMEOUT,
17
+ BILLABLE_EVENT,
18
+ } = EVENTS;
21
19
 
22
20
  export const BIDDER_STATUS = {
23
21
  BID: 'bid',
@@ -28,6 +26,11 @@ export const BIDDER_STATUS = {
28
26
  const analyticsOptions = {};
29
27
 
30
28
  export const isSampled = function(greenbidsId, samplingRate, exploratorySamplingSplit) {
29
+ const isSamplingForced = getParameterByName('greenbids_force_sampling');
30
+ if (isSamplingForced) {
31
+ logInfo('Greenbids Analytics: sampling flag detected, forcing analytics');
32
+ return true;
33
+ }
31
34
  if (samplingRate < 0 || samplingRate > 1) {
32
35
  logWarn('Sampling rate must be between 0 and 1');
33
36
  return true;
@@ -2,7 +2,7 @@ import { logError, deepClone, generateUUID, deepSetValue, deepAccess } from '../
2
2
  import { ajax } from '../src/ajax.js';
3
3
  import { submodule } from '../src/hook.js';
4
4
  import * as events from '../src/events.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
 
7
7
  const MODULE_NAME = 'greenbidsRtdProvider';
8
8
  const MODULE_VERSION = '2.0.0';
@@ -28,7 +28,7 @@ function onAuctionInitEvent(auctionDetails) {
28
28
  let greenbidsId = deepAccess(auctionDetails.adUnits[0], 'ortb2Imp.ext.greenbids.greenbidsId', defaultId);
29
29
  /* greenbids was successfully called so we emit the event */
30
30
  if (greenbidsId !== defaultId) {
31
- events.emit(CONSTANTS.EVENTS.BILLABLE_EVENT, {
31
+ events.emit(EVENTS.BILLABLE_EVENT, {
32
32
  type: 'auction',
33
33
  billingId: generateUUID(),
34
34
  auctionId: auctionDetails.auctionId,
@@ -554,8 +554,8 @@ function _addBidResponse(serverBid, bidRequest, bidResponses, RendererConst, bid
554
554
  bidResponse.meta.demandSource = serverBid.ext.bidder.grid.demandSource;
555
555
  }
556
556
 
557
- if (serverBid.ext && serverBid.ext.dsa && serverBid.ext.dsa.adrender) {
558
- bidResponse.meta.adrender = serverBid.ext.dsa.adrender;
557
+ if (serverBid.ext && serverBid.ext.dsa) {
558
+ bidResponse.meta.dsa = serverBid.ext.dsa;
559
559
  }
560
560
 
561
561
  if (serverBid.content_type === 'video') {
@@ -5,7 +5,7 @@ import { ajax } from '../src/ajax.js';
5
5
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
  import * as utils from '../src/utils.js';
8
- import CONSTANTS from '../src/constants.json';
8
+ import { EVENTS } from '../src/constants.js';
9
9
  import {getStorageManager} from '../src/storageManager.js';
10
10
  import {getRefererInfo} from '../src/refererDetection.js';
11
11
  import {logError, logInfo} from '../src/utils.js';
@@ -35,70 +35,70 @@ let growthCodeAnalyticsAdapter = Object.assign(adapter({url: url, analyticsType}
35
35
  let data = {};
36
36
  if (!trackEvents.includes(eventType)) return;
37
37
  switch (eventType) {
38
- case CONSTANTS.EVENTS.AUCTION_INIT: {
38
+ case EVENTS.AUCTION_INIT: {
39
39
  data = eventData;
40
40
  startAuction = data.timestamp;
41
41
  bidRequestTimeout = data.timeout;
42
42
  break;
43
43
  }
44
44
 
45
- case CONSTANTS.EVENTS.AUCTION_END: {
45
+ case EVENTS.AUCTION_END: {
46
46
  data = eventData;
47
47
  data.start = startAuction;
48
48
  data.end = Date.now();
49
49
  break;
50
50
  }
51
51
 
52
- case CONSTANTS.EVENTS.BID_ADJUSTMENT: {
52
+ case EVENTS.BID_ADJUSTMENT: {
53
53
  data.bidders = eventData;
54
54
  break;
55
55
  }
56
56
 
57
- case CONSTANTS.EVENTS.BID_TIMEOUT: {
57
+ case EVENTS.BID_TIMEOUT: {
58
58
  data.bidders = eventData;
59
59
  data.duration = bidRequestTimeout;
60
60
  break;
61
61
  }
62
62
 
63
- case CONSTANTS.EVENTS.BID_REQUESTED: {
63
+ case EVENTS.BID_REQUESTED: {
64
64
  data = eventData;
65
65
  break;
66
66
  }
67
67
 
68
- case CONSTANTS.EVENTS.BID_RESPONSE: {
68
+ case EVENTS.BID_RESPONSE: {
69
69
  data = eventData;
70
70
  delete data.ad;
71
71
  break;
72
72
  }
73
73
 
74
- case CONSTANTS.EVENTS.BID_WON: {
74
+ case EVENTS.BID_WON: {
75
75
  data = eventData;
76
76
  delete data.ad;
77
77
  delete data.adUrl;
78
78
  break;
79
79
  }
80
80
 
81
- case CONSTANTS.EVENTS.BIDDER_DONE: {
81
+ case EVENTS.BIDDER_DONE: {
82
82
  data = eventData;
83
83
  break;
84
84
  }
85
85
 
86
- case CONSTANTS.EVENTS.SET_TARGETING: {
86
+ case EVENTS.SET_TARGETING: {
87
87
  data.targetings = eventData;
88
88
  break;
89
89
  }
90
90
 
91
- case CONSTANTS.EVENTS.REQUEST_BIDS: {
91
+ case EVENTS.REQUEST_BIDS: {
92
92
  data = eventData;
93
93
  break;
94
94
  }
95
95
 
96
- case CONSTANTS.EVENTS.ADD_AD_UNITS: {
96
+ case EVENTS.ADD_AD_UNITS: {
97
97
  data = eventData;
98
98
  break;
99
99
  }
100
100
 
101
- case CONSTANTS.EVENTS.NO_BID: {
101
+ case EVENTS.NO_BID: {
102
102
  data = eventData
103
103
  break;
104
104
  }
@@ -170,7 +170,7 @@ function sendEvent(event) {
170
170
  eventQueue.push(event);
171
171
  logInfo(MODULE_NAME + 'Analytics Event: ' + event);
172
172
 
173
- if ((event.eventType === CONSTANTS.EVENTS.AUCTION_END) || (event.eventType === CONSTANTS.EVENTS.BID_WON)) {
173
+ if ((event.eventType === EVENTS.AUCTION_END) || (event.eventType === EVENTS.BID_WON)) {
174
174
  logToServer();
175
175
  }
176
176
  }
@@ -422,6 +422,10 @@ function buildRequests(validBidRequests, bidderRequest) {
422
422
  data.gppString = bidderRequest.ortb2.regs.gpp
423
423
  data.gppSid = Array.isArray(bidderRequest.ortb2.regs.gpp_sid) ? bidderRequest.ortb2.regs.gpp_sid.join(',') : ''
424
424
  }
425
+ const dsa = deepAccess(bidderRequest, 'ortb2.regs.ext.dsa');
426
+ if (dsa) {
427
+ data.dsa = dsa
428
+ }
425
429
  if (coppa) {
426
430
  data.coppa = coppa;
427
431
  }
@@ -549,7 +553,6 @@ function interpretResponse(serverResponse, bidRequest) {
549
553
  mediaType: type || mediaType
550
554
  };
551
555
  let sizes = parseSizesInput(bidRequest.sizes);
552
-
553
556
  if (maxw && maxh) {
554
557
  sizes = [`${maxw}x${maxh}`];
555
558
  } else if (product === 5 && includes(sizes, '1x1')) {
@@ -2,7 +2,7 @@ import { ajax } from '../src/ajax.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import * as utils from '../src/utils.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
  import {getStorageManager} from '../src/storageManager.js';
7
7
  import {getRefererInfo} from '../src/refererDetection.js';
8
8
  import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
@@ -57,70 +57,70 @@ let hadronAnalyticsAdapter = Object.assign(adapter({url: HADRON_ANALYTICS_URL, a
57
57
  var data = {};
58
58
  if (!eventsToTrack.includes(eventType)) return;
59
59
  switch (eventType) {
60
- case CONSTANTS.EVENTS.AUCTION_INIT: {
60
+ case EVENTS.AUCTION_INIT: {
61
61
  data = args;
62
62
  startAuction = data.timestamp;
63
63
  bidRequestTimeout = data.timeout;
64
64
  break;
65
65
  }
66
66
 
67
- case CONSTANTS.EVENTS.AUCTION_END: {
67
+ case EVENTS.AUCTION_END: {
68
68
  data = args;
69
69
  data.start = startAuction;
70
70
  data.end = Date.now();
71
71
  break;
72
72
  }
73
73
 
74
- case CONSTANTS.EVENTS.BID_ADJUSTMENT: {
74
+ case EVENTS.BID_ADJUSTMENT: {
75
75
  data.bidders = args;
76
76
  break;
77
77
  }
78
78
 
79
- case CONSTANTS.EVENTS.BID_TIMEOUT: {
79
+ case EVENTS.BID_TIMEOUT: {
80
80
  data.bidders = args;
81
81
  data.duration = bidRequestTimeout;
82
82
  break;
83
83
  }
84
84
 
85
- case CONSTANTS.EVENTS.BID_REQUESTED: {
85
+ case EVENTS.BID_REQUESTED: {
86
86
  data = args;
87
87
  break;
88
88
  }
89
89
 
90
- case CONSTANTS.EVENTS.BID_RESPONSE: {
90
+ case EVENTS.BID_RESPONSE: {
91
91
  data = args;
92
92
  delete data.ad;
93
93
  break;
94
94
  }
95
95
 
96
- case CONSTANTS.EVENTS.BID_WON: {
96
+ case EVENTS.BID_WON: {
97
97
  data = args;
98
98
  delete data.ad;
99
99
  delete data.adUrl;
100
100
  break;
101
101
  }
102
102
 
103
- case CONSTANTS.EVENTS.BIDDER_DONE: {
103
+ case EVENTS.BIDDER_DONE: {
104
104
  data = args;
105
105
  break;
106
106
  }
107
107
 
108
- case CONSTANTS.EVENTS.SET_TARGETING: {
108
+ case EVENTS.SET_TARGETING: {
109
109
  data.targetings = args;
110
110
  break;
111
111
  }
112
112
 
113
- case CONSTANTS.EVENTS.REQUEST_BIDS: {
113
+ case EVENTS.REQUEST_BIDS: {
114
114
  data = args;
115
115
  break;
116
116
  }
117
117
 
118
- case CONSTANTS.EVENTS.ADD_AD_UNITS: {
118
+ case EVENTS.ADD_AD_UNITS: {
119
119
  data = args;
120
120
  break;
121
121
  }
122
122
 
123
- case CONSTANTS.EVENTS.AD_RENDER_FAILED: {
123
+ case EVENTS.AD_RENDER_FAILED: {
124
124
  data = args;
125
125
  break;
126
126
  }
@@ -186,7 +186,7 @@ function sendEvent(event) {
186
186
  eventQueue.push(event);
187
187
  utils.logInfo(`HADRON_ANALYTICS_EVENT ${event.eventType} `, event);
188
188
 
189
- if (event.eventType === CONSTANTS.EVENTS.AUCTION_END) {
189
+ if (event.eventType === EVENTS.AUCTION_END) {
190
190
  flush();
191
191
  }
192
192
  }
@@ -6,7 +6,7 @@ import {
6
6
  triggerPixel,
7
7
  } from '../src/utils.js';
8
8
  import * as events from '../src/events.js';
9
- import CONSTANTS from '../src/constants.json';
9
+ import { EVENTS } from '../src/constants.js';
10
10
  import {BANNER} from '../src/mediaTypes.js';
11
11
 
12
12
  import {registerBidder} from '../src/adapters/bidderFactory.js';
@@ -19,7 +19,7 @@ const TIME_TO_LIVE = 300
19
19
  const TMAX = 500
20
20
  let wurlMap = {}
21
21
 
22
- events.on(CONSTANTS.EVENTS.BID_WON, bidWonHandler)
22
+ events.on(EVENTS.BID_WON, bidWonHandler)
23
23
 
24
24
  export const spec = {
25
25
  code: BIDDER_CODE,
@@ -1,5 +1,5 @@
1
1
  import buildAdapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
2
- import CONSTANTS from '../src/constants.json';
2
+ import { EVENTS } from '../src/constants.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import { ajax } from '../src/ajax.js';
5
5
  import { logInfo, logError } from '../src/utils.js';
@@ -7,14 +7,12 @@ import * as events from '../src/events.js';
7
7
  import {getGlobal} from '../src/prebidGlobal.js';
8
8
 
9
9
  const {
10
- EVENTS: {
11
- AUCTION_END,
12
- TCF2_ENFORCEMENT,
13
- BID_WON,
14
- BID_VIEWABLE,
15
- AD_RENDER_FAILED
16
- }
17
- } = CONSTANTS
10
+ AUCTION_END,
11
+ TCF2_ENFORCEMENT,
12
+ BID_WON,
13
+ BID_VIEWABLE,
14
+ AD_RENDER_FAILED
15
+ } = EVENTS
18
16
 
19
17
  const GVLID = 131;
20
18
 
@@ -391,7 +391,8 @@ const ID_RAZR = {
391
391
 
392
392
  const cfgStr = JSON.stringify(cfg).replace(/<\/script>/ig, '\\x3C/script>');
393
393
  const s = `<script>window.__razr_config = ${cfgStr};</script>`;
394
- bid.ad = bid.ad.replace(/<body[^>]*>/, match => match + s);
394
+ // prepend RAZR config to ad markup:
395
+ bid.ad = s + bid.ad;
395
396
 
396
397
  this.installListener();
397
398
  },