Skip to content

Commit

Permalink
fluct Bid Adapter: add gpid to bid requests (#10361)
Browse files Browse the repository at this point in the history
* accept gpid

* fallback gpid

* test transactionId
  • Loading branch information
yowcow committed Aug 15, 2023
1 parent 59eac50 commit 3cc9175
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 1 deletion.
6 changes: 5 additions & 1 deletion modules/fluctBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,20 @@ export const spec = {
const page = bidderRequest.refererInfo.page;

_each(validBidRequests, (request) => {
const impExt = request.ortb2Imp?.ext;
const data = Object();

data.page = page;
data.adUnitCode = request.adUnitCode;
data.bidId = request.bidId;
data.transactionId = request.ortb2Imp?.ext?.tid;
data.user = {
eids: (request.userIdAsEids || []).filter((eid) => SUPPORTED_USER_ID_SOURCES.indexOf(eid.source) !== -1)
};

if (impExt) {
data.transactionId = impExt.tid;
data.gpid = impExt.gpid ?? impExt.data?.pbadslot ?? impExt.data?.adserver?.adslot;
}
if (bidderRequest.gdprConsent) {
deepSetValue(data, 'regs.gdpr', {
consent: bidderRequest.gdprConsent.consentString,
Expand Down
73 changes: 73 additions & 0 deletions test/spec/modules/fluctBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,79 @@ describe('fluctAdapter', function () {
expect(request.data.page).to.eql('http://example.com');
});

it('sends no transactionId by default', function () {
const request = spec.buildRequests(bidRequests, bidderRequest)[0];
expect(request.data.transactionId).to.eql(undefined);
});

it('sends ortb2Imp.ext.tid as transactionId', function () {
const request = spec.buildRequests(bidRequests.map((req) => ({
...req,
ortb2Imp: {
ext: {
tid: 'tid',
}
},
})), bidderRequest)[0];
expect(request.data.transactionId).to.eql('tid');
});

it('sends no gpid by default', function () {
const request = spec.buildRequests(bidRequests, bidderRequest)[0];
expect(request.data.gpid).to.eql(undefined);
});

it('sends ortb2Imp.ext.gpid as gpid', function () {
const request = spec.buildRequests(bidRequests.map((req) => ({
...req,
ortb2Imp: {
ext: {
gpid: 'gpid',
data: {
pbadslot: 'data-pbadslot',
adserver: {
adslot: 'data-adserver-adslot',
},
},
},
},
})), bidderRequest)[0];
expect(request.data.gpid).to.eql('gpid');
});

it('sends ortb2Imp.ext.data.pbadslot as gpid', function () {
const request = spec.buildRequests(bidRequests.map((req) => ({
...req,
ortb2Imp: {
ext: {
data: {
pbadslot: 'data-pbadslot',
adserver: {
adslot: 'data-adserver-adslot',
},
},
},
},
})), bidderRequest)[0];
expect(request.data.gpid).to.eql('data-pbadslot');
});

it('sends ortb2Imp.ext.data.adserver.adslot as gpid', function () {
const request = spec.buildRequests(bidRequests.map((req) => ({
...req,
ortb2Imp: {
ext: {
data: {
adserver: {
adslot: 'data-adserver-adslot',
},
},
},
},
})), bidderRequest)[0];
expect(request.data.gpid).to.eql('data-adserver-adslot');
});

it('includes data.user.eids = [] by default', function () {
const request = spec.buildRequests(bidRequests, bidderRequest)[0];
expect(request.data.user.eids).to.eql([]);
Expand Down

0 comments on commit 3cc9175

Please sign in to comment.