prebid.js 7.25.0 → 7.27.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 (353) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adWMGAnalyticsAdapter.js +1 -1
  4. package/dist/adagioAnalyticsAdapter.js +1 -1
  5. package/dist/adagioBidAdapter.js +1 -1
  6. package/dist/adbookpspBidAdapter.js +1 -1
  7. package/dist/adgenerationBidAdapter.js +1 -1
  8. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  9. package/dist/adlooxAdServerVideo.js +1 -1
  10. package/dist/adlooxAnalyticsAdapter.js +1 -1
  11. package/dist/adlooxRtdProvider.js +1 -1
  12. package/dist/admaticBidAdapter.js +1 -1
  13. package/dist/admixerBidAdapter.js +1 -1
  14. package/dist/adomikAnalyticsAdapter.js +1 -1
  15. package/dist/adrelevantisBidAdapter.js +1 -1
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgAnalyticsAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  20. package/dist/aidemBidAdapter.js +1 -0
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/analyticsAdapter.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/atsAnalyticsAdapter.js +1 -1
  29. package/dist/axonixBidAdapter.js +1 -1
  30. package/dist/beopBidAdapter.js +1 -1
  31. package/dist/bidViewability.js +1 -1
  32. package/dist/bidglassBidAdapter.js +1 -1
  33. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  34. package/dist/big-richmediaBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/browsiRtdProvider.js +1 -1
  38. package/dist/bucksenseBidAdapter.js +1 -1
  39. package/dist/byDataAnalyticsAdapter.js +1 -1
  40. package/dist/captifyRtdProvider.js +1 -0
  41. package/dist/carodaBidAdapter.js +1 -1
  42. package/dist/chtnwBidAdapter.js +1 -1
  43. package/dist/concertAnalyticsAdapter.js +1 -1
  44. package/dist/concertBidAdapter.js +1 -1
  45. package/dist/connectadBidAdapter.js +1 -1
  46. package/dist/consentManagement.js +1 -1
  47. package/dist/consentManagementUsp.js +1 -1
  48. package/dist/consumableBidAdapter.js +1 -1
  49. package/dist/conversantAnalyticsAdapter.js +1 -1
  50. package/dist/conversantBidAdapter.js +1 -1
  51. package/dist/craftBidAdapter.js +1 -1
  52. package/dist/criteoBidAdapter.js +1 -1
  53. package/dist/datablocksAnalyticsAdapter.js +1 -1
  54. package/dist/dependencies.json +6 -0
  55. package/dist/dfpAdServerVideo.js +1 -1
  56. package/dist/discoveryBidAdapter.js +1 -1
  57. package/dist/dspxBidAdapter.js +1 -1
  58. package/dist/eplanningAnalyticsAdapter.js +1 -1
  59. package/dist/eplanningBidAdapter.js +1 -1
  60. package/dist/finativeBidAdapter.js +1 -1
  61. package/dist/fintezaAnalyticsAdapter.js +1 -1
  62. package/dist/fluctBidAdapter.js +1 -1
  63. package/dist/ftrackIdSystem.js +1 -1
  64. package/dist/gdprEnforcement.js +1 -1
  65. package/dist/genericAnalyticsAdapter.js +1 -0
  66. package/dist/geoedgeRtdProvider.js +1 -1
  67. package/dist/glimpseBidAdapter.js +1 -1
  68. package/dist/glomexBidAdapter.js +1 -1
  69. package/dist/gmosspBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/googleAnalyticsAdapter.js +1 -1
  72. package/dist/gravitoIdSystem.js +1 -1
  73. package/dist/gridBidAdapter.js +1 -1
  74. package/dist/gridNMBidAdapter.js +1 -1
  75. package/dist/growthCodeAnalyticsAdapter.js +1 -0
  76. package/dist/gumgumBidAdapter.js +1 -1
  77. package/dist/h12mediaBidAdapter.js +1 -1
  78. package/dist/hadronAnalyticsAdapter.js +1 -1
  79. package/dist/id5AnalyticsAdapter.js +1 -1
  80. package/dist/id5IdSystem.js +1 -1
  81. package/dist/impactifyBidAdapter.js +1 -1
  82. package/dist/improvedigitalBidAdapter.js +1 -1
  83. package/dist/inmarBidAdapter.js +1 -1
  84. package/dist/insticatorBidAdapter.js +1 -1
  85. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  86. package/dist/ixBidAdapter.js +1 -1
  87. package/dist/justpremiumBidAdapter.js +1 -1
  88. package/dist/jwplayerRtdProvider.js +1 -1
  89. package/dist/kargoAnalyticsAdapter.js +1 -1
  90. package/dist/kinessoIdSystem.js +1 -1
  91. package/dist/konduitAnalyticsAdapter.js +1 -1
  92. package/dist/kueezBidAdapter.js +1 -1
  93. package/dist/kueezRtbBidAdapter.js +1 -1
  94. package/dist/lassoBidAdapter.js +1 -1
  95. package/dist/lifestreetBidAdapter.js +1 -1
  96. package/dist/limelightDigitalBidAdapter.js +1 -1
  97. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  98. package/dist/liveIntentIdSystem.js +1 -1
  99. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  100. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  101. package/dist/logicadBidAdapter.js +1 -1
  102. package/dist/loglyliftBidAdapter.js +1 -1
  103. package/dist/lotamePanoramaIdSystem.js +1 -1
  104. package/dist/magniteAnalyticsAdapter.js +1 -1
  105. package/dist/malltvAnalyticsAdapter.js +1 -1
  106. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  107. package/dist/marsmediaBidAdapter.js +1 -1
  108. package/dist/mediafuseBidAdapter.js +1 -1
  109. package/dist/medianetAnalyticsAdapter.js +1 -1
  110. package/dist/mediasquareBidAdapter.js +1 -1
  111. package/dist/mgidBidAdapter.js +1 -1
  112. package/dist/minutemediaBidAdapter.js +1 -1
  113. package/dist/nextMillenniumBidAdapter.js +1 -1
  114. package/dist/nexx360BidAdapter.js +1 -1
  115. package/dist/not-for-prod/prebid.js +240 -202
  116. package/dist/oguryBidAdapter.js +1 -1
  117. package/dist/onetagBidAdapter.js +1 -1
  118. package/dist/ooloAnalyticsAdapter.js +1 -1
  119. package/dist/openxAnalyticsAdapter.js +1 -1
  120. package/dist/optimonAnalyticsAdapter.js +1 -1
  121. package/dist/outbrainBidAdapter.js +1 -1
  122. package/dist/parrableIdSystem.js +1 -1
  123. package/dist/pbsExtensions.js +1 -1
  124. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  125. package/dist/pixfutureBidAdapter.js +1 -1
  126. package/dist/prebid-core.js +1 -1
  127. package/dist/prebidServerBidAdapter.js +1 -1
  128. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  129. package/dist/pubCommonId.js +1 -1
  130. package/dist/pubProvidedIdSystem.js +1 -1
  131. package/dist/publinkIdSystem.js +1 -1
  132. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  133. package/dist/pubmaticBidAdapter.js +1 -1
  134. package/dist/pubperfAnalyticsAdapter.js +1 -1
  135. package/dist/pubstackAnalyticsAdapter.js +1 -1
  136. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  137. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  138. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  139. package/dist/pxyzBidAdapter.js +1 -1
  140. package/dist/quantcastBidAdapter.js +1 -1
  141. package/dist/quantcastIdSystem.js +1 -1
  142. package/dist/rasBidAdapter.js +1 -1
  143. package/dist/readpeakBidAdapter.js +1 -1
  144. package/dist/realvuAnalyticsAdapter.js +1 -1
  145. package/dist/redtramBidAdapter.js +1 -0
  146. package/dist/relaidoBidAdapter.js +1 -1
  147. package/dist/relevantAnalyticsAdapter.js +1 -1
  148. package/dist/rhythmoneBidAdapter.js +1 -1
  149. package/dist/riseBidAdapter.js +1 -1
  150. package/dist/rivrAnalyticsAdapter.js +1 -1
  151. package/dist/roxotAnalyticsAdapter.js +1 -1
  152. package/dist/rtbhouseBidAdapter.js +1 -1
  153. package/dist/rtdModule.js +1 -1
  154. package/dist/rubiconAnalyticsAdapter.js +1 -1
  155. package/dist/rubiconBidAdapter.js +1 -1
  156. package/dist/s2sTesting.js +1 -1
  157. package/dist/scaleableAnalyticsAdapter.js +1 -1
  158. package/dist/schain.js +1 -1
  159. package/dist/seedingAllianceBidAdapter.js +1 -1
  160. package/dist/seedtagBidAdapter.js +1 -1
  161. package/dist/sharedIdSystem.js +1 -1
  162. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  163. package/dist/sharethroughBidAdapter.js +1 -1
  164. package/dist/shinezBidAdapter.js +1 -1
  165. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  166. package/dist/smaatoBidAdapter.js +1 -1
  167. package/dist/smartadserverBidAdapter.js +1 -1
  168. package/dist/smartxBidAdapter.js +1 -1
  169. package/dist/smartytechBidAdapter.js +1 -0
  170. package/dist/smilewantedBidAdapter.js +1 -1
  171. package/dist/sonobiAnalyticsAdapter.js +1 -1
  172. package/dist/sonobiBidAdapter.js +1 -1
  173. package/dist/sovrnAnalyticsAdapter.js +1 -1
  174. package/dist/sovrnBidAdapter.js +1 -1
  175. package/dist/sspBCBidAdapter.js +1 -1
  176. package/dist/staqAnalyticsAdapter.js +1 -1
  177. package/dist/sublimeBidAdapter.js +1 -1
  178. package/dist/synacormediaBidAdapter.js +1 -1
  179. package/dist/taboolaBidAdapter.js +1 -1
  180. package/dist/tapadIdSystem.js +1 -1
  181. package/dist/tappxBidAdapter.js +1 -1
  182. package/dist/targetVideoBidAdapter.js +1 -1
  183. package/dist/teadsBidAdapter.js +1 -1
  184. package/dist/teadsIdSystem.js +1 -1
  185. package/dist/terceptAnalyticsAdapter.js +1 -1
  186. package/dist/trionBidAdapter.js +1 -1
  187. package/dist/tripleliftBidAdapter.js +1 -1
  188. package/dist/ttdBidAdapter.js +1 -1
  189. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  190. package/dist/underdogmediaBidAdapter.js +1 -1
  191. package/dist/undertoneBidAdapter.js +1 -1
  192. package/dist/userId.js +1 -1
  193. package/dist/vidazooBidAdapter.js +1 -1
  194. package/dist/videobyteBidAdapter.js +1 -1
  195. package/dist/viqeoBidAdapter.js +1 -0
  196. package/dist/visxBidAdapter.js +1 -1
  197. package/dist/vuukleBidAdapter.js +1 -1
  198. package/dist/weboramaRtdProvider.js +1 -1
  199. package/dist/widespaceBidAdapter.js +1 -1
  200. package/dist/winrBidAdapter.js +1 -1
  201. package/dist/yahoosspBidAdapter.js +1 -1
  202. package/dist/yandexBidAdapter.js +1 -1
  203. package/dist/yieldlabBidAdapter.js +1 -1
  204. package/dist/yieldliftBidAdapter.js +1 -1
  205. package/dist/yieldmoBidAdapter.js +1 -1
  206. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  207. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  208. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  209. package/dist/zeta_global_sspBidAdapter.js +1 -1
  210. package/dist/zeusPrimeRtdProvider.js +31 -0
  211. package/integrationExamples/gpt/captifyRtdProvider_example.html +167 -0
  212. package/integrationExamples/gpt/growthcode.html +134 -0
  213. package/libraries/analyticsAdapter/AnalyticsAdapter.js +95 -102
  214. package/modules/.submodules.json +3 -1
  215. package/modules/admaticBidAdapter.js +116 -58
  216. package/modules/admaticBidAdapter.md +2 -2
  217. package/modules/admixerBidAdapter.js +1 -1
  218. package/modules/aidemBidAdapter.js +492 -0
  219. package/modules/aidemBidAdapter.md +187 -0
  220. package/modules/beopBidAdapter.js +17 -2
  221. package/modules/browsiRtdProvider.js +6 -4
  222. package/modules/bucksenseBidAdapter.js +1 -1
  223. package/modules/captifyRtdProvider.js +146 -0
  224. package/modules/captifyRtdProvider.md +68 -0
  225. package/modules/criteoBidAdapter.js +3 -3
  226. package/modules/discoveryBidAdapter.js +38 -17
  227. package/modules/discoveryBidAdapter.md +7 -6
  228. package/modules/eplanningBidAdapter.js +2 -6
  229. package/modules/fluctBidAdapter.js +5 -0
  230. package/modules/gdprEnforcement.js +26 -24
  231. package/modules/genericAnalyticsAdapter.js +157 -0
  232. package/modules/geoedgeRtdProvider.js +22 -0
  233. package/modules/glomexBidAdapter.js +2 -0
  234. package/modules/gravitoIdSystem.js +3 -4
  235. package/modules/gridBidAdapter.js +441 -23
  236. package/modules/gridNMBidAdapter.js +1 -1
  237. package/modules/growthCodeAnalyticsAdapter.js +176 -0
  238. package/modules/growthCodeAnalyticsAdapter.md +41 -0
  239. package/modules/impactifyBidAdapter.js +19 -1
  240. package/modules/jwplayerRtdProvider.js +1 -2
  241. package/modules/limelightDigitalBidAdapter.js +1 -1
  242. package/modules/minutemediaBidAdapter.md +3 -3
  243. package/modules/nextMillenniumBidAdapter.js +19 -23
  244. package/modules/nexx360BidAdapter.js +264 -138
  245. package/modules/pubCommonId.js +2 -1
  246. package/modules/pubProvidedIdSystem.js +2 -0
  247. package/modules/rasBidAdapter.js +8 -3
  248. package/modules/rasBidAdapter.md +16 -15
  249. package/modules/redtramBidAdapter.js +155 -0
  250. package/modules/redtramBidAdapter.md +33 -0
  251. package/modules/riseBidAdapter.js +15 -0
  252. package/modules/riseBidAdapter.md +3 -3
  253. package/modules/rtbhouseBidAdapter.js +90 -29
  254. package/modules/rubiconBidAdapter.js +2 -1
  255. package/modules/seedtagBidAdapter.js +67 -56
  256. package/modules/seedtagBidAdapter.md +60 -0
  257. package/modules/sharedIdSystem.js +3 -1
  258. package/modules/smartadserverBidAdapter.js +6 -2
  259. package/modules/smartxBidAdapter.js +11 -8
  260. package/modules/smartytechBidAdapter.js +78 -0
  261. package/modules/smartytechBidAdapter.md +44 -0
  262. package/modules/smnBidAdapter.md +52 -0
  263. package/modules/taboolaBidAdapter.js +3 -3
  264. package/modules/taboolaBidAdapter.md +0 -2
  265. package/modules/tappxBidAdapter.js +21 -6
  266. package/modules/tripleliftBidAdapter.js +1 -1
  267. package/modules/ttdBidAdapter.js +8 -3
  268. package/modules/userId/index.js +1 -1
  269. package/modules/vidazooBidAdapter.js +26 -3
  270. package/modules/viqeoBidAdapter.js +180 -0
  271. package/modules/viqeoBidAdapter.md +56 -0
  272. package/modules/yandexBidAdapter.js +85 -19
  273. package/modules/yandexBidAdapter.md +7 -7
  274. package/modules/yieldlabBidAdapter.js +29 -12
  275. package/modules/yieldliftBidAdapter.js +3 -3
  276. package/modules/yieldoneBidAdapter.js +60 -8
  277. package/modules/yieldoneBidAdapter.md +109 -9
  278. package/modules/zeta_global_sspBidAdapter.js +4 -0
  279. package/modules/zeusPrimeRtdProvider.js +357 -0
  280. package/modules/zeusPrimeRtdProvider.md +60 -0
  281. package/package.json +1 -1
  282. package/src/adloader.js +0 -1
  283. package/src/auction.js +19 -3
  284. package/src/consentHandler.js +8 -0
  285. package/src/events.js +4 -0
  286. package/src/native.js +31 -20
  287. package/src/refererDetection.js +6 -1
  288. package/src/storageManager.js +6 -3
  289. package/test/helpers/analytics.js +34 -0
  290. package/test/mocks/analyticsStub.js +3 -1
  291. package/test/spec/AnalyticsAdapter_spec.js +119 -116
  292. package/test/spec/auctionmanager_spec.js +86 -0
  293. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +10 -8
  294. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +18 -25
  295. package/test/spec/modules/admaticBidAdapter_spec.js +262 -3
  296. package/test/spec/modules/aidemBidAdapter_spec.js +664 -0
  297. package/test/spec/modules/beopBidAdapter_spec.js +52 -0
  298. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +0 -2
  299. package/test/spec/modules/browsiRtdProvider_spec.js +2 -1
  300. package/test/spec/modules/captifyRtdProvider_spec.js +253 -0
  301. package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -4
  302. package/test/spec/modules/discoveryBidAdapter_spec.js +9 -8
  303. package/test/spec/modules/enrichmentFpdModule_spec.js +3 -2
  304. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +0 -3
  305. package/test/spec/modules/eplanningBidAdapter_spec.js +4 -4
  306. package/test/spec/modules/fluctBidAdapter_spec.js +37 -1
  307. package/test/spec/modules/fpdModule_spec.js +1 -1
  308. package/test/spec/modules/gdprEnforcement_spec.js +115 -68
  309. package/test/spec/modules/genericAnalyticsAdapter_spec.js +284 -0
  310. package/test/spec/modules/geoedgeRtdProvider_spec.js +15 -0
  311. package/test/spec/modules/glomexBidAdapter_spec.js +4 -0
  312. package/test/spec/modules/gravitoIdSystem_spec.js +1 -1
  313. package/test/spec/modules/gridBidAdapter_spec.js +289 -1
  314. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +70 -0
  315. package/test/spec/modules/impactifyBidAdapter_spec.js +13 -0
  316. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +17 -27
  317. package/test/spec/modules/jwplayerRtdProvider_spec.js +3 -3
  318. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +0 -2
  319. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -6
  320. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +7 -1
  321. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +4 -3
  322. package/test/spec/modules/nexx360BidAdapter_spec.js +441 -221
  323. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +3 -11
  324. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -11
  325. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +3 -12
  326. package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +6 -19
  327. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +3 -17
  328. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +13 -19
  329. package/test/spec/modules/rasBidAdapter_spec.js +5 -1
  330. package/test/spec/modules/redtramBidAdapter_spec.js +256 -0
  331. package/test/spec/modules/riseBidAdapter_spec.js +24 -0
  332. package/test/spec/modules/rtbhouseBidAdapter_spec.js +79 -0
  333. package/test/spec/modules/seedtagBidAdapter_spec.js +65 -92
  334. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +4 -8
  335. package/test/spec/modules/smartadserverBidAdapter_spec.js +80 -0
  336. package/test/spec/modules/smartxBidAdapter_spec.js +32 -0
  337. package/test/spec/modules/smartytechBidAdapter_spec.js +162 -0
  338. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +6 -18
  339. package/test/spec/modules/taboolaBidAdapter_spec.js +0 -77
  340. package/test/spec/modules/tripleliftBidAdapter_spec.js +3 -10
  341. package/test/spec/modules/ttdBidAdapter_spec.js +27 -0
  342. package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
  343. package/test/spec/modules/viqeoBidAdapter_spec.js +124 -0
  344. package/test/spec/modules/yandexBidAdapter_spec.js +22 -13
  345. package/test/spec/modules/yieldlabBidAdapter_spec.js +174 -20
  346. package/test/spec/modules/yieldliftBidAdapter_spec.js +1 -1
  347. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -2
  348. package/test/spec/modules/yieldoneBidAdapter_spec.js +30 -6
  349. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +16 -1
  350. package/test/spec/modules/zeusPrimeRtdProvider_spec.js +410 -0
  351. package/test/spec/native_spec.js +68 -56
  352. package/test/spec/refererDetection_spec.js +45 -7
  353. package/test/spec/unit/core/storageManager_spec.js +2 -1
@@ -0,0 +1,176 @@
1
+ /**
2
+ * growthCodeAnalyticsAdapter.js - GrowthCode Analytics Adapter
3
+ */
4
+ import { ajax } from '../src/ajax.js';
5
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
6
+ import adapterManager from '../src/adapterManager.js';
7
+ import * as utils from '../src/utils.js';
8
+ import CONSTANTS from '../src/constants.json';
9
+ import { getStorageManager } from '../src/storageManager.js';
10
+ import {getRefererInfo} from '../src/refererDetection.js';
11
+ import {logError, logInfo} from '../src/utils.js';
12
+
13
+ const MODULE_NAME = 'growthCodeAnalytics';
14
+ const DEFAULT_PID = 'INVALID_PID'
15
+ const ENDPOINT_URL = 'https://p2.gcprivacy.com/v1/pb/analytics'
16
+
17
+ export const storage = getStorageManager();
18
+
19
+ let sessionId = utils.generateUUID();
20
+
21
+ let trackEvents = [];
22
+ let pid = DEFAULT_PID;
23
+ let url = ENDPOINT_URL;
24
+
25
+ let eventQueue = [];
26
+
27
+ let startAuction = 0;
28
+ let bidRequestTimeout = 0;
29
+ let analyticsType = 'endpoint';
30
+
31
+ let growthCodeAnalyticsAdapter = Object.assign(adapter({url: url, analyticsType}), {
32
+ track({eventType, eventData}) {
33
+ eventData = eventData ? JSON.parse(JSON.stringify(eventData)) : {};
34
+ let data = {};
35
+ if (!trackEvents.includes(eventType)) return;
36
+ switch (eventType) {
37
+ case CONSTANTS.EVENTS.AUCTION_INIT: {
38
+ data = eventData;
39
+ startAuction = data.timestamp;
40
+ bidRequestTimeout = data.timeout;
41
+ break;
42
+ }
43
+
44
+ case CONSTANTS.EVENTS.AUCTION_END: {
45
+ data = eventData;
46
+ data.start = startAuction;
47
+ data.end = Date.now();
48
+ break;
49
+ }
50
+
51
+ case CONSTANTS.EVENTS.BID_ADJUSTMENT: {
52
+ data.bidders = eventData;
53
+ break;
54
+ }
55
+
56
+ case CONSTANTS.EVENTS.BID_TIMEOUT: {
57
+ data.bidders = eventData;
58
+ data.duration = bidRequestTimeout;
59
+ break;
60
+ }
61
+
62
+ case CONSTANTS.EVENTS.BID_REQUESTED: {
63
+ data = eventData;
64
+ break;
65
+ }
66
+
67
+ case CONSTANTS.EVENTS.BID_RESPONSE: {
68
+ data = eventData;
69
+ delete data.ad;
70
+ break;
71
+ }
72
+
73
+ case CONSTANTS.EVENTS.BID_WON: {
74
+ data = eventData;
75
+ delete data.ad;
76
+ delete data.adUrl;
77
+ break;
78
+ }
79
+
80
+ case CONSTANTS.EVENTS.BIDDER_DONE: {
81
+ data = eventData;
82
+ break;
83
+ }
84
+
85
+ case CONSTANTS.EVENTS.SET_TARGETING: {
86
+ data.targetings = eventData;
87
+ break;
88
+ }
89
+
90
+ case CONSTANTS.EVENTS.REQUEST_BIDS: {
91
+ data = eventData;
92
+ break;
93
+ }
94
+
95
+ case CONSTANTS.EVENTS.ADD_AD_UNITS: {
96
+ data = eventData;
97
+ break;
98
+ }
99
+
100
+ default:
101
+ return;
102
+ }
103
+
104
+ data.eventType = eventType;
105
+ data.timestamp = data.timestamp || Date.now();
106
+
107
+ sendEvent(data);
108
+ }
109
+ });
110
+
111
+ growthCodeAnalyticsAdapter.originEnableAnalytics = growthCodeAnalyticsAdapter.enableAnalytics;
112
+
113
+ growthCodeAnalyticsAdapter.enableAnalytics = function(conf = {}) {
114
+ if (typeof conf.options === 'object') {
115
+ if (conf.options.pid) {
116
+ pid = conf.options.pid;
117
+ url = conf.options.url ? conf.options.url : ENDPOINT_URL;
118
+ } else {
119
+ logError(MODULE_NAME + ' Not a valid PartnerID')
120
+ return
121
+ }
122
+ if (conf.options.trackEvents) {
123
+ trackEvents = conf.options.trackEvents;
124
+ }
125
+ } else {
126
+ logError(MODULE_NAME + ' Invalid configuration');
127
+ return;
128
+ }
129
+
130
+ growthCodeAnalyticsAdapter.originEnableAnalytics(conf);
131
+ };
132
+
133
+ function logToServer() {
134
+ if (pid === DEFAULT_PID) return;
135
+ if (eventQueue.length > 1) {
136
+ let data = {
137
+ session: sessionId,
138
+ pid: pid,
139
+ timestamp: Date.now(),
140
+ timezoneoffset: new Date().getTimezoneOffset(),
141
+ url: getRefererInfo().page,
142
+ referer: document.referrer,
143
+ events: eventQueue
144
+ };
145
+
146
+ ajax(url, {
147
+ success: response => {
148
+ logInfo(MODULE_NAME + ' Send Data to Server')
149
+ },
150
+ error: error => {
151
+ logInfo(MODULE_NAME + ' Problem Send Data to Server: ' + error)
152
+ }
153
+ }, JSON.stringify(data), {method: 'POST', withCredentials: true})
154
+
155
+ eventQueue = [
156
+ ];
157
+ }
158
+ }
159
+
160
+ function sendEvent(event) {
161
+ eventQueue.push(event);
162
+ logInfo(MODULE_NAME + 'Analytics Event: ' + event);
163
+
164
+ if (event.eventType === CONSTANTS.EVENTS.AUCTION_END) {
165
+ logToServer();
166
+ }
167
+ }
168
+
169
+ adapterManager.registerAnalyticsAdapter({
170
+ adapter: growthCodeAnalyticsAdapter,
171
+ code: 'growthCodeAnalytics'
172
+ });
173
+
174
+ growthCodeAnalyticsAdapter.logToServer = logToServer;
175
+
176
+ export default growthCodeAnalyticsAdapter;
@@ -0,0 +1,41 @@
1
+ ## GrowthCode Analytics Adapter
2
+
3
+ [GrowthCode](https://growthcode.io) offers scaled infrastructure-as-a-service to
4
+ empower independent publishers to harness data and take control of identity and
5
+ audience while rapidly aligning to industry changes and margin pressure.
6
+
7
+ ## Building Prebid with GrowthCode Support
8
+
9
+ First, make sure to add the GrowthCode submodule to your Prebid.js package with:
10
+
11
+ ```
12
+ gulp build --modules=growthCodeIdSystem,growthCodeAnalyticsAdapter,userId
13
+ ```
14
+
15
+ The following configuration parameters are available:
16
+
17
+ ```javascript
18
+ pbjs.enableAnalytics({
19
+ provider: 'growthCodeAnalytics',
20
+ options: {
21
+ pid: '<Contact GrowthCode>',
22
+ trackEvents: [
23
+ 'auctionEnd',
24
+ 'bidAdjustment',
25
+ 'bidTimeout',
26
+ 'bidRequested',
27
+ 'bidResponse',
28
+ 'noBid',
29
+ 'bidWon',
30
+ 'bidderDone']
31
+ }
32
+ });
33
+ ```
34
+
35
+ | Param enableAnalytics | Scope | Type | Description | Example |
36
+ |-----------------------|----------|--------|-------------------------------------------------------------|--------------------------|
37
+ | provider | Required | String | The name of this Adapter. | `"growthCodeAnalytics"` |
38
+ | params | Required | Object | Details of module params. | |
39
+ | params.pid | Required | String | This is the Customer ID value obtained via Intimate Merger. | `"<Contact GrowthCode>"` |
40
+ | params.url | Optional | String | Custom URL for server | |
41
+ | params.trackEvents | Required | String | Name if the variable that holds your publisher ID | |
@@ -1,7 +1,7 @@
1
1
  import { deepAccess, deepSetValue, generateUUID } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { config } from '../src/config.js';
4
- import {ajax} from '../src/ajax.js';
4
+ import { ajax } from '../src/ajax.js';
5
5
  import { createEidsArray } from './userId/eids.js';
6
6
 
7
7
  const BIDDER_CODE = 'impactify';
@@ -27,6 +27,18 @@ const getDeviceType = () => {
27
27
  return 2;
28
28
  };
29
29
 
30
+ const getFloor = (bid) => {
31
+ const floorInfo = bid.getFloor({
32
+ currency: DEFAULT_CURRENCY,
33
+ mediaType: '*',
34
+ size: '*'
35
+ });
36
+ if (typeof floorInfo === 'object' && floorInfo.currency === DEFAULT_CURRENCY && !isNaN(parseFloat(floorInfo.floor))) {
37
+ return parseFloat(floorInfo.floor);
38
+ }
39
+ return null;
40
+ }
41
+
30
42
  const createOpenRtbRequest = (validBidRequests, bidderRequest) => {
31
43
  // Create request and set imp bids inside
32
44
  let request = {
@@ -114,6 +126,12 @@ const createOpenRtbRequest = (validBidRequests, bidderRequest) => {
114
126
  if (bid.params.container) {
115
127
  imp.ext.impactify.container = bid.params.container;
116
128
  }
129
+ if (typeof bid.getFloor === 'function') {
130
+ const floor = getFloor(bid);
131
+ if (floor) {
132
+ imp.bidfloor = floor;
133
+ }
134
+ }
117
135
  request.imp.push(imp);
118
136
  });
119
137
 
@@ -274,8 +274,7 @@ export function getContentSegments(segments) {
274
274
 
275
275
  const formattedSegments = segments.reduce((convertedSegments, rawSegment) => {
276
276
  convertedSegments.push({
277
- id: rawSegment,
278
- value: rawSegment
277
+ id: rawSegment
279
278
  });
280
279
  return convertedSegments;
281
280
  }, []);
@@ -26,7 +26,7 @@ function isBidResponseValid(bid) {
26
26
 
27
27
  export const spec = {
28
28
  code: BIDDER_CODE,
29
- aliases: ['pll'],
29
+ aliases: ['pll', 'iionads'],
30
30
  supportedMediaTypes: [BANNER, VIDEO],
31
31
 
32
32
  /**
@@ -20,7 +20,7 @@ The adapter supports Video(instream) & Banner.
20
20
 
21
21
  | Name | Scope | Type | Description | Example
22
22
  | ---- | ----- | ---- | ----------- | -------
23
- | `org` | required | String | MinuteMedia publisher Id provided by your MinuteMedia representative | "56f91cd4d3e3660002000033"
23
+ | `org` | required | String | MinuteMedia publisher Id provided by your MinuteMedia representative | "1234567890abcdef12345678"
24
24
  | `floorPrice` | optional | Number | Minimum price in USD. Misuse of this parameter can impact revenue | 2.00
25
25
  | `placementId` | optional | String | A unique placement identifier | "12345678"
26
26
  | `testMode` | optional | Boolean | This activates the test mode | false
@@ -43,7 +43,7 @@ var adUnits = [{
43
43
  bids: [{
44
44
  bidder: 'minutemedia',
45
45
  params: {
46
- org: '56f91cd4d3e3660002000033', // Required
46
+ org: '1234567890abcdef12345678', // Required
47
47
  floorPrice: 2.00, // Optional
48
48
  placementId: 'video-test', // Optional
49
49
  testMode: false // Optional
@@ -65,7 +65,7 @@ var adUnits = [{
65
65
  bids: [{
66
66
  bidder: 'minutemedia',
67
67
  params: {
68
- org: '56f91cd4d3e3660002000033', // Required
68
+ org: '1234567890abcdef12345678', // Required
69
69
  floorPrice: 2.00, // Optional
70
70
  placementId: 'banner-test', // Optional
71
71
  testMode: false // Optional
@@ -22,7 +22,7 @@ import { getRefererInfo } from '../src/refererDetection.js';
22
22
  const BIDDER_CODE = 'nextMillennium';
23
23
  const ENDPOINT = 'https://pbs.nextmillmedia.com/openrtb2/auction';
24
24
  const TEST_ENDPOINT = 'https://test.pbs.nextmillmedia.com/openrtb2/auction';
25
- const SYNC_ENDPOINT = 'https://statics.nextmillmedia.com/load-cookie.html?v=4';
25
+ const SYNC_ENDPOINT = 'https://cookies.nextmillmedia.com/sync?';
26
26
  const TIME_TO_LIVE = 360;
27
27
  const VIDEO_PARAMS = [
28
28
  'api', 'linearity', 'maxduration', 'mimes', 'minduration', 'placement',
@@ -198,28 +198,24 @@ export const spec = {
198
198
  },
199
199
 
200
200
  getUserSyncs: function (syncOptions, responses, gdprConsent, uspConsent) {
201
- if (!syncOptions.iframeEnabled) {
202
- return;
203
- };
204
-
205
- let syncurl = gdprConsent && gdprConsent.gdprApplies ? `${SYNC_ENDPOINT}&gdpr=1&gdpr_consent=${gdprConsent.consentString}` : SYNC_ENDPOINT;
206
-
207
- let bidders = [];
208
- if (responses) {
209
- _each(responses, (response) => {
210
- if (!(response && response.body && response.body.ext && response.body.ext.responsetimemillis)) return;
211
- _each(Object.keys(response.body.ext.responsetimemillis), b => bidders.push(b));
212
- });
213
- };
214
-
215
- if (bidders.length) {
216
- syncurl += `&bidders=${bidders.join(',')}`;
217
- };
218
-
219
- return [{
220
- type: 'iframe',
221
- url: syncurl
222
- }];
201
+ const pixels = [];
202
+ let syncUrl = SYNC_ENDPOINT;
203
+
204
+ if (gdprConsent && gdprConsent.gdprApplies) {
205
+ syncUrl += 'gdpr=1&gdpr_consent=' + gdprConsent.consentString;
206
+ }
207
+ if (uspConsent) {
208
+ syncUrl += 'us_privacy=' + uspConsent;
209
+ }
210
+
211
+ if (syncOptions.iframeEnabled) {
212
+ pixels.push({type: 'iframe', url: syncUrl + 'type=iframe'});
213
+ }
214
+ if (syncOptions.pixelEnabled) {
215
+ pixels.push({type: 'image', url: syncUrl + 'type=image'});
216
+ }
217
+
218
+ return pixels;
223
219
  },
224
220
  };
225
221