Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fpd 2.0 Update #6293

Merged
merged 99 commits into from
Mar 5, 2021
Merged
Show file tree
Hide file tree
Changes from 97 commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
7680ffc
Update to consolidate applying FPD to both banner and video requests.…
mmoschovas Dec 11, 2020
924fc81
Refectored last push to:
mmoschovas Dec 16, 2020
5780fd4
Consolidated other FPD data logic into new function
mmoschovas Dec 16, 2020
c8bd004
Merge remote-tracking branch 'upstream/master' into rubicon-fpd-update
mmoschovas Jan 20, 2021
030da98
1. Update to move pbadslot and adserver data into imp[] as opposed to…
mmoschovas Jan 21, 2021
330dbe3
Removed unnecessary conditional
mmoschovas Jan 21, 2021
151b55b
Changed conditional to check for undefined type
mmoschovas Jan 21, 2021
518512d
FPD 2.0 Update
mmoschovas Jan 28, 2021
f8362da
Merge remote-tracking branch 'upstream/master' into fpd2_update
mmoschovas Jan 28, 2021
9cb0332
FPD 2.0 Update
mmoschovas Jan 28, 2021
ef2ea13
FPD 2.0 Update
mmoschovas Jan 29, 2021
844b407
FPD 2.0 Update
mmoschovas Jan 29, 2021
b85e61e
FPD 2.0 Update
mmoschovas Feb 2, 2021
d53e89c
Update to correct imp fpd structure
mmoschovas Feb 3, 2021
f00b456
Merge remote-tracking branch 'upstream/master' into fpd2_update
mmoschovas Feb 3, 2021
5ea5fae
Update to s2s adapter to coincide with imp fpd alteration
mmoschovas Feb 3, 2021
21a2471
Update to consolidate several lines of duplicate code into one location
mmoschovas Feb 3, 2021
75ccda0
Merge branch 'fpd2_update' into fpd_adrelevantis_update
mmoschovas Feb 3, 2021
43beade
Merge branch 'fpd2_update' into fpd_amx_update
mmoschovas Feb 3, 2021
751f1b1
Merge branch 'fpd2_update' into fpd_avocet_update
mmoschovas Feb 3, 2021
6ccedf0
Merge branch 'fpd2_update' into fpd_criteo_update
mmoschovas Feb 3, 2021
26131b9
Slight modification for ortb2Imp to use ortb2Imp.ext as opposed to or…
mmoschovas Feb 3, 2021
9d52139
FPD 2.0 Update
mmoschovas Feb 4, 2021
dd83ec7
FPD 2.0 Update
mmoschovas Feb 4, 2021
8d7d9af
FPD 2.0 Update
mmoschovas Feb 4, 2021
81b5c20
FPD 2.0 Update
mmoschovas Feb 4, 2021
e779e2c
FPD 2.0 Update
mmoschovas Feb 4, 2021
ad94ee8
Merge remote-tracking branch 'upstream/master' into fpd2_update
mmoschovas Feb 4, 2021
1fb8983
Update to gptPreAuction to move over to imp level ortb2
mmoschovas Feb 4, 2021
1065633
Merge branch 'fpd2_update' into fpd_adrelevantis_update
mmoschovas Feb 4, 2021
d4924d0
Merge branch 'fpd2_update' into fpd_amx_update
mmoschovas Feb 4, 2021
54acbfa
Merge branch 'fpd2_update' into fpd_avocet_update
mmoschovas Feb 4, 2021
828e7f4
Merge branch 'fpd2_update' into fpd_criteo_update
mmoschovas Feb 4, 2021
62ffc93
Merge branch 'fpd2_update' into fpd_grid_update
mmoschovas Feb 4, 2021
276a8f3
Merge branch 'fpd2_update' into fpd_inmar_update
mmoschovas Feb 4, 2021
1ab3866
Merge branch 'fpd2_update' into fpd_smaato_update
mmoschovas Feb 4, 2021
e433425
Merge branch 'fpd2_update' into fpd_triplelift_update
mmoschovas Feb 4, 2021
6701b28
FPD 2.0 Update
mmoschovas Feb 4, 2021
c5d6841
Merge branch 'fpd2_update' into fpd_luponmedia_update
mmoschovas Feb 4, 2021
b6e78f7
FPD 2.0 Update
mmoschovas Feb 5, 2021
725337f
FPD 2.0 Update
mmoschovas Feb 5, 2021
bec2102
FPD 2.0 Update
mmoschovas Feb 5, 2021
16b84c6
Merge branch 'rubicon-fpd-update' into fpd_rubicon_update
mmoschovas Feb 5, 2021
b4e739b
FPD 2.0 Update
mmoschovas Feb 6, 2021
d0f8516
Update to fix keyword bug
mmoschovas Feb 6, 2021
e2c7738
Merge branch 'fpd2_update' into fpd_admixer_update
mmoschovas Feb 6, 2021
f777612
Merge branch 'fpd2_update' into fpd_adrelevantis_update
mmoschovas Feb 6, 2021
86d00c4
Merge branch 'fpd2_update' into fpd_amx_update
mmoschovas Feb 6, 2021
956abe4
Merge branch 'fpd2_update' into fpd_avocet_update
mmoschovas Feb 6, 2021
cb6ab12
Merge branch 'fpd2_update' into fpd_criteo_update
mmoschovas Feb 6, 2021
ccb8f0f
Merge branch 'fpd2_update' into fpd_grid_update
mmoschovas Feb 6, 2021
29e55ea
Merge branch 'fpd2_update' into fpd_inmar_update
mmoschovas Feb 6, 2021
ed64a22
Merge branch 'fpd2_update' into fpd_jwPlayerRtd_update
mmoschovas Feb 6, 2021
321145d
Merge branch 'fpd2_update' into fpd_luponmedia_update
mmoschovas Feb 6, 2021
bf2e99e
Merge branch 'fpd2_update' into fpd_smaato_update
mmoschovas Feb 6, 2021
0b37445
Merge branch 'fpd2_update' into fpd_triplelift_update
mmoschovas Feb 6, 2021
5024bdf
Merge branch 'fpd2_update' into fpd_rubicon_update
mmoschovas Feb 6, 2021
7619e5d
Added backwards compatibility functions for FPD both global/bidder an…
mmoschovas Feb 8, 2021
7c2183f
Merge remote-tracking branch 'upstream/master' into fpd2_update
mmoschovas Feb 8, 2021
68d12d1
Merge branch 'fpd2_update' into fpd_admixer_update
mmoschovas Feb 8, 2021
9c3bcb3
Update to utilize new backward functionality for fpd 2.0
mmoschovas Feb 8, 2021
9ab3cba
Removed extra new line
mmoschovas Feb 8, 2021
4c356d1
Merge branch 'fpd2_update' into fpd_admixer_update
mmoschovas Feb 8, 2021
70956a5
Merge branch 'fpd2_update' into fpd_adrelevantis_update
mmoschovas Feb 8, 2021
7ef7199
Update to include new backward functionality for FPD 2.0 data
mmoschovas Feb 8, 2021
301e6b5
Merge branch 'fpd2_update' into fpd_amx_update
mmoschovas Feb 8, 2021
5a89fae
Update to utilize new backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
f354c38
Merge branch 'fpd2_update' into fpd_avocet_update
mmoschovas Feb 8, 2021
560b0df
Update to utilize backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
b2740c0
Merge branch 'fpd2_update' into fpd_criteo_update
mmoschovas Feb 8, 2021
c8b284c
Update to utilize backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
c8bb743
Merge branch 'fpd2_update' into fpd_grid_update
mmoschovas Feb 8, 2021
e1fee94
Merge branch 'fpd2_update' into fpd_inmar_update
mmoschovas Feb 8, 2021
74e1757
Update to utilize backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
5f9b60d
Merge branch 'fpd2_update' into fpd_jwPlayerRtd_update
mmoschovas Feb 8, 2021
de059db
Merge branch 'fpd2_update' into fpd_luponmedia_update
mmoschovas Feb 8, 2021
89c8b49
Update to utilize backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
b4d8fbd
Merge branch 'fpd2_update' into fpd_rubicon_update
mmoschovas Feb 8, 2021
20aafdc
Merge branch 'fpd2_update' into fpd_smaato_update
mmoschovas Feb 8, 2021
c9f0cee
Update to utilize backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
677b544
Fixed typo in fpd config object location
mmoschovas Feb 8, 2021
33f08fe
Merge branch 'fpd2_update' into fpd_triplelift_update
mmoschovas Feb 8, 2021
11f0bd8
Uodate to utilize backward functionality to pass FPD 2.0 data
mmoschovas Feb 8, 2021
79096ae
Merge branch 'fpd_adrelevantis_update' into fpd2_update
mmoschovas Feb 8, 2021
e8f4a1e
Merge branch 'fpd_amx_update' into fpd2_update
mmoschovas Feb 8, 2021
df81ec7
Merge branch 'fpd_avocet_update' into fpd2_update
mmoschovas Feb 8, 2021
22ab8d6
Merge branch 'fpd_criteo_update' into fpd2_update
mmoschovas Feb 8, 2021
c03ed6e
Merge branch 'fpd_grid_update' into fpd2_update
mmoschovas Feb 8, 2021
0b6cb22
Merge branch 'fpd_inmar_update' into fpd2_update
mmoschovas Feb 8, 2021
cfc263c
Merge branch 'fpd_jwPlayerRtd_update' into fpd2_update
mmoschovas Feb 8, 2021
a0649f6
Merge branch 'fpd_luponmedia_update' into fpd2_update
mmoschovas Feb 8, 2021
c2be338
Merge branch 'fpd_rubicon_update' into fpd2_update
mmoschovas Feb 8, 2021
b2df970
Merge branch 'fpd_smaato_update' into fpd2_update
mmoschovas Feb 8, 2021
9ffe0c0
Merge branch 'fpd_triplelift_update' into fpd2_update
mmoschovas Feb 8, 2021
c9f01bc
Update to change all ortb2Imp.ext.data.adserver.adSlot references to …
mmoschovas Feb 9, 2021
38dd41a
Fixed typo
mmoschovas Feb 11, 2021
29a711a
Fixed typo
mmoschovas Feb 11, 2021
bea9a63
FPD 2.0 update to rubicon adapter to pass iab values
mmoschovas Feb 22, 2021
32c4bb5
Updates:
mmoschovas Mar 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions modules/admixerBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export const spec = {
buildRequests: function (validRequest, bidderRequest) {
const payload = {
imps: [],
fpd: config.getConfig('fpd')
fpd: config.getLegacyFpd(config.getConfig('ortb2'))
};
let endpointUrl;
if (bidderRequest) {
Expand All @@ -42,7 +42,11 @@ export const spec = {
}
}
validRequest.forEach((bid) => {
payload.imps.push(bid);
let imp = {};
Object.keys(bid).forEach(key => {
(key === 'ortb2Imp') ? imp.fpd = config.getLegacyImpFpd(bid[key]) : imp[key] = bid[key];
});
payload.imps.push(imp);
});
const payloadString = JSON.stringify(payload);
return {
Expand Down
6 changes: 3 additions & 3 deletions modules/adrelevantisBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,11 @@ export const spec = {
payload.referrer_detection = refererinfo;
}

let fpdcfg = config.getConfig('fpd')
let fpdcfg = config.getLegacyFpd(config.getConfig('ortb2'));
if (fpdcfg && fpdcfg.context) {
let fdata = {
keywords: fpdcfg.context.keywords,
category: fpdcfg.context.data.category
keywords: fpdcfg.context.keywords || '',
category: utils.deepAccess(fpdcfg, 'context.data.category') || ''
}
payload.fpd = fdata;
}
Expand Down
2 changes: 1 addition & 1 deletion modules/amxBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ export const spec = {
d: '',
m: createBidMap(bidRequests),
cpp: config.getConfig('coppa') ? 1 : 0,
fpd: config.getConfig('fpd'),
fpd: config.getLegacyFpd(config.getConfig('ortb2')),
eids: values(bidRequests.reduce((all, bid) => {
// we only want unique ones in here
if (bid == null || bid.userIdAsEids == null) {
Expand Down
2 changes: 1 addition & 1 deletion modules/avocetBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export const spec = {
const publisherDomain = config.getConfig('publisherDomain');

// First-party data from config
const fpd = config.getConfig('fpd');
const fpd = config.getLegacyFpd(config.getConfig('ortb2'));

// GDPR status and TCF consent string
let tcfConsentString;
Expand Down
11 changes: 6 additions & 5 deletions modules/criteoBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export const spec = {
gvlid: GVLID,
supportedMediaTypes: [ BANNER, VIDEO, NATIVE ],

/**
/** f
* @param {object} bid
* @return {boolean}
*/
Expand Down Expand Up @@ -56,10 +56,11 @@ export const spec = {
buildRequests: (bidRequests, bidderRequest) => {
let url;
let data;
let fpd = config.getLegacyFpd(config.getConfig('ortb2')) || {};

Object.assign(bidderRequest, {
publisherExt: config.getConfig('fpd.context'),
userExt: config.getConfig('fpd.user'),
publisherExt: fpd.context,
userExt: fpd.user,
ceh: config.getConfig('criteo.ceh')
});

Expand Down Expand Up @@ -280,8 +281,8 @@ function buildCdbRequest(context, bidRequests, bidderRequest) {
if (bidRequest.params.zoneId) {
slot.zoneid = bidRequest.params.zoneId;
}
if (bidRequest.fpd && bidRequest.fpd.context) {
slot.ext = bidRequest.fpd.context;
if (utils.deepAccess(bidRequest, 'ortb2Imp.ext')) {
slot.ext = bidRequest.ortb2Imp.ext;
}
if (bidRequest.params.ext) {
slot.ext = Object.assign({}, slot.ext, bidRequest.params.ext);
Expand Down
32 changes: 17 additions & 15 deletions modules/gptPreAuction.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,46 +26,48 @@ export const appendGptSlots = adUnits => {

if (matchingAdUnitCode) {
const adUnit = adUnitMap[matchingAdUnitCode];
adUnit.fpd = adUnit.fpd || {};
adUnit.fpd.context = adUnit.fpd.context || {};
adUnit.ortb2Imp = adUnit.ortb2Imp || {};
adUnit.ortb2Imp.ext = adUnit.ortb2Imp.ext || {};
adUnit.ortb2Imp.ext.data = adUnit.ortb2Imp.ext.data || {};

const context = adUnit.fpd.context;
context.adServer = context.adServer || {};
context.adServer.name = 'gam';
context.adServer.adSlot = slot.getAdUnitPath();
const context = adUnit.ortb2Imp.ext.data;
context.adserver = context.adserver || {};
context.adserver.name = 'gam';
context.adserver.adslot = slot.getAdUnitPath();
}
});
};

export const appendPbAdSlot = adUnit => {
adUnit.fpd = adUnit.fpd || {};
adUnit.fpd.context = adUnit.fpd.context || {};
const context = adUnit.fpd.context;
adUnit.ortb2Imp = adUnit.ortb2Imp || {};
adUnit.ortb2Imp.ext = adUnit.ortb2Imp.ext || {};
adUnit.ortb2Imp.ext.data = adUnit.ortb2Imp.ext.data || {};
const context = adUnit.ortb2Imp.ext.data;
const { customPbAdSlot } = _currentConfig;

if (customPbAdSlot) {
context.pbAdSlot = customPbAdSlot(adUnit.code, utils.deepAccess(context, 'adServer.adSlot'));
context.pbadslot = customPbAdSlot(adUnit.code, utils.deepAccess(context, 'adserver.adslot'));
return;
}

// use context.pbAdSlot if set
if (context.pbAdSlot) {
if (context.pbadslot) {
return;
}
// use data attribute 'data-adslotid' if set
try {
const adUnitCodeDiv = document.getElementById(adUnit.code);
if (adUnitCodeDiv.dataset.adslotid) {
context.pbAdSlot = adUnitCodeDiv.dataset.adslotid;
context.pbadslot = adUnitCodeDiv.dataset.adslotid;
return;
}
} catch (e) {}
// banner adUnit, use GPT adunit if defined
if (context.adServer) {
context.pbAdSlot = context.adServer.adSlot;
if (utils.deepAccess(context, 'adserver.adslot')) {
context.pbadslot = context.adserver.adslot;
return;
}
context.pbAdSlot = adUnit.code;
context.pbadslot = adUnit.code;
};

export const makeBidRequestsHook = (fn, adUnits, ...args) => {
Expand Down
4 changes: 2 additions & 2 deletions modules/gridBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@ export const spec = {
}

const configKeywords = utils.transformBidderParamKeywords({
'user': utils.deepAccess(config.getConfig('fpd.user'), 'keywords') || null,
'context': utils.deepAccess(config.getConfig('fpd.context'), 'keywords') || null
'user': utils.deepAccess(config.getConfig('ortb2.user'), 'keywords') || null,
'context': utils.deepAccess(config.getConfig('ortb2.site'), 'keywords') || null
});

if (configKeywords.length) {
Expand Down
2 changes: 1 addition & 1 deletion modules/inmarBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const spec = {
uspConsent: bidderRequest.uspConsent,
currencyCode: config.getConfig('currency.adServerCurrency'),
coppa: config.getConfig('coppa'),
firstPartyData: config.getConfig('fpd'),
firstPartyData: config.getLegacyFpd(config.getConfig('ortb2')),
prebidVersion: '$prebid.version$'
};

Expand Down
4 changes: 2 additions & 2 deletions modules/jwplayerRtdProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ function enrichBidRequest(bidReqConfig, onDone) {
* @param {function} onDone
*/
export function enrichAdUnits(adUnits) {
const fpdFallback = config.getConfig('fpd.context.data.jwTargeting');
const fpdFallback = config.getConfig('ortb2.site.ext.data.jwTargeting');
adUnits.forEach(adUnit => {
const jwTargeting = extractPublisherParams(adUnit, fpdFallback);
if (!jwTargeting || !Object.keys(jwTargeting).length) {
Expand All @@ -170,7 +170,7 @@ function supportsInstreamVideo(mediaTypes) {
export function extractPublisherParams(adUnit, fallback) {
let adUnitTargeting;
try {
adUnitTargeting = adUnit.fpd.context.data.jwTargeting;
adUnitTargeting = adUnit.ortb2Imp.ext.data.jwTargeting;
} catch (e) {}

if (!adUnitTargeting && !supportsInstreamVideo(adUnit.mediaTypes)) {
Expand Down
7 changes: 4 additions & 3 deletions modules/luponmediaBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,9 @@ function newOrtbBidRequest(bidRequest, bidderRequest, currentImps) {
utils.deepSetValue(data, 'source.ext.schain', bidRequest.schain);
}

const siteData = Object.assign({}, bidRequest.params.inventory, config.getConfig('fpd.context'));
const userData = Object.assign({}, bidRequest.params.visitor, config.getConfig('fpd.user'));
const fpd = config.getLegacyFpd(config.getConfig('ortb2')) || {};
const siteData = Object.assign({}, bidRequest.params.inventory, fpd.context);
const userData = Object.assign({}, bidRequest.params.visitor, fpd.user);

if (!utils.isEmpty(siteData) || !utils.isEmpty(userData)) {
const bidderData = {
Expand All @@ -301,7 +302,7 @@ function newOrtbBidRequest(bidRequest, bidderRequest, currentImps) {
utils.deepSetValue(data, 'ext.prebid.bidderconfig.0', bidderData);
}

const pbAdSlot = utils.deepAccess(bidRequest, 'fpd.context.pbAdSlot');
const pbAdSlot = utils.deepAccess(bidRequest, 'ortb2Imp.ext.data.pbadslot');
if (typeof pbAdSlot === 'string' && pbAdSlot) {
utils.deepSetValue(data.imp[0].ext, 'context.data.adslot', pbAdSlot);
}
Expand Down
60 changes: 32 additions & 28 deletions modules/prebidServerBidAdapter/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -329,18 +329,18 @@ function addBidderFirstPartyDataToRequest(request) {
const bidderConfig = config.getBidderConfig();
const fpdConfigs = Object.keys(bidderConfig).reduce((acc, bidder) => {
const currBidderConfig = bidderConfig[bidder];
if (currBidderConfig.fpd) {
const fpd = {};
if (currBidderConfig.fpd.context) {
fpd.site = currBidderConfig.fpd.context;
if (currBidderConfig.ortb2) {
const ortb2 = {};
if (currBidderConfig.ortb2.site) {
ortb2.site = currBidderConfig.ortb2.site;
}
if (currBidderConfig.fpd.user) {
fpd.user = currBidderConfig.fpd.user;
if (currBidderConfig.ortb2.user) {
ortb2.user = currBidderConfig.ortb2.user;
}

acc.push({
bidders: [ bidder ],
config: { fpd }
config: { ortb2 }
});
}
return acc;
Expand Down Expand Up @@ -611,23 +611,27 @@ const OPEN_RTB_PROTOCOL = {

const imp = { id: adUnit.code, ext, secure: s2sConfig.secure };

/**
* Prebid AdSlot
* @type {(string|undefined)}
*/
const pbAdSlot = utils.deepAccess(adUnit, 'fpd.context.pbAdSlot');
if (typeof pbAdSlot === 'string' && pbAdSlot) {
utils.deepSetValue(imp, 'ext.context.data.pbadslot', pbAdSlot);
}

/**
* Copy GAM AdUnit and Name to imp
*/
['name', 'adSlot'].forEach(name => {
/** @type {(string|undefined)} */
const value = utils.deepAccess(adUnit, `fpd.context.adserver.${name}`);
if (typeof value === 'string' && value) {
utils.deepSetValue(imp, `ext.context.data.adserver.${name.toLowerCase()}`, value);
const ortb2 = {...utils.deepAccess(adUnit, 'ortb2Imp.ext.data')};
Object.keys(ortb2).forEach(prop => {
/**
* Prebid AdSlot
* @type {(string|undefined)}
*/
if (prop === 'pbadslot') {
if (typeof ortb2[prop] === 'string' && ortb2[prop]) utils.deepSetValue(imp, 'ext.data.pbadslot', ortb2[prop]);
} else if (prop === 'adserver') {
/**
* Copy GAM AdUnit and Name to imp
*/
['name', 'adslot'].forEach(name => {
/** @type {(string|undefined)} */
const value = utils.deepAccess(ortb2, `adserver.${name}`);
if (typeof value === 'string' && value) {
utils.deepSetValue(imp, `ext.data.adserver.${name.toLowerCase()}`, value);
}
});
} else {
utils.deepSetValue(imp, `ext.data.${prop}`, ortb2[prop]);
}
});

Expand Down Expand Up @@ -728,12 +732,12 @@ const OPEN_RTB_PROTOCOL = {
utils.deepSetValue(request, 'regs.coppa', 1);
}

const commonFpd = getConfig('fpd') || {};
if (commonFpd.context) {
utils.deepSetValue(request, 'site.ext.data', commonFpd.context);
const commonFpd = getConfig('ortb2') || {};
if (commonFpd.site) {
utils.deepSetValue(request, 'site', commonFpd.site);
}
if (commonFpd.user) {
utils.deepSetValue(request, 'user.ext.data', commonFpd.user);
utils.deepSetValue(request, 'user', commonFpd.user);
}
addBidderFirstPartyDataToRequest(request);

Expand Down
Loading