Skip to content

Commit 551ca13

Browse files
shahinrahbariaslshahin-rahbariasl
authored andcommitted
IX Bid Adapter: Add support for impression level transactionId (imp[].ext.tid) (prebid#8641)
* IX Bid Adapter: add imp ext tid support * fix tid level in imp ext object Co-authored-by: shahin.rahbariasl <[email protected]>
1 parent 88505f9 commit 551ca13

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

modules/ixBidAdapter.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1050,6 +1050,7 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
10501050

10511051
const gpid = impressions[transactionIds[adUnitIndex]].gpid;
10521052
const dfpAdUnitCode = impressions[transactionIds[adUnitIndex]].dfp_ad_unit_code;
1053+
const tid = impressions[transactionIds[adUnitIndex]].tid
10531054
if (impressionObjects.length && BANNER in impressionObjects[0]) {
10541055
const { id, banner: { topframe } } = impressionObjects[0];
10551056
const _bannerImpression = {
@@ -1060,10 +1061,11 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
10601061
},
10611062
}
10621063

1063-
if (dfpAdUnitCode || gpid) {
1064+
if (dfpAdUnitCode || gpid || tid) {
10641065
_bannerImpression.ext = {};
10651066
_bannerImpression.ext.dfp_ad_unit_code = dfpAdUnitCode;
10661067
_bannerImpression.ext.gpid = gpid;
1068+
_bannerImpression.ext.tid = tid;
10671069
}
10681070

10691071
if ('bidfloor' in impressionObjects[0]) {
@@ -1272,6 +1274,7 @@ function createVideoImps(validBidRequest, videoImps) {
12721274
videoImps[validBidRequest.transactionId].ixImps = [];
12731275
videoImps[validBidRequest.transactionId].ixImps.push(imp);
12741276
videoImps[validBidRequest.transactionId].gpid = deepAccess(validBidRequest, 'ortb2Imp.ext.gpid');
1277+
videoImps[validBidRequest.transactionId].tid = deepAccess(validBidRequest, 'ortb2Imp.ext.tid');
12751278
}
12761279
}
12771280

@@ -1298,6 +1301,7 @@ function createBannerImps(validBidRequest, missingBannerSizes, bannerImps) {
12981301

12991302
bannerImps[validBidRequest.transactionId].gpid = deepAccess(validBidRequest, 'ortb2Imp.ext.gpid');
13001303
bannerImps[validBidRequest.transactionId].dfp_ad_unit_code = deepAccess(validBidRequest, 'ortb2Imp.ext.data.adserver.adslot');
1304+
bannerImps[validBidRequest.transactionId].tid = deepAccess(validBidRequest, 'ortb2Imp.ext.tid');
13011305

13021306
// Create IX imps from params.size
13031307
if (bannerSizeDefined) {

test/spec/modules/ixBidAdapter_spec.js

+41
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ describe('IndexexchangeAdapter', function () {
121121
playerSize: [[400, 100]]
122122
}
123123
},
124+
ortb2Imp: {
125+
ext: {
126+
tid: '173f49a8-7549-4218-a23c-e7ba59b47230'
127+
}
128+
},
124129
adUnitCode: 'div-gpt-ad-1460505748562-0',
125130
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47230',
126131
bidId: '1a2b3c4e',
@@ -143,6 +148,11 @@ describe('IndexexchangeAdapter', function () {
143148
sizes: [[300, 250]]
144149
}
145150
},
151+
ortb2Imp: {
152+
ext: {
153+
tid: '173f49a8-7549-4218-a23c-e7ba59b47229'
154+
}
155+
},
146156
adUnitCode: 'div-gpt-ad-1460505748561-0',
147157
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47229',
148158
bidId: '1a2b3c4d',
@@ -165,6 +175,11 @@ describe('IndexexchangeAdapter', function () {
165175
sizes: [[300, 250], [300, 600]]
166176
}
167177
},
178+
ortb2Imp: {
179+
ext: {
180+
tid: '173f49a8-7549-4218-a23c-e7ba59b47229'
181+
}
182+
},
168183
adUnitCode: 'div-gpt-ad-1460505748561-0',
169184
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47229',
170185
bidId: '1a2b3c4d',
@@ -185,6 +200,11 @@ describe('IndexexchangeAdapter', function () {
185200
sizes: [[300, 250], [300, 600]]
186201
}
187202
},
203+
ortb2Imp: {
204+
ext: {
205+
tid: '173f49a8-7549-4218-a23c-e7ba59b47229'
206+
}
207+
},
188208
adUnitCode: 'div-gpt-ad-1460505748561-0',
189209
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47229',
190210
bidId: '1a2b3c4d',
@@ -214,6 +234,11 @@ describe('IndexexchangeAdapter', function () {
214234
protocols: [2]
215235
}
216236
},
237+
ortb2Imp: {
238+
ext: {
239+
tid: '173f49a8-7549-4218-a23c-e7ba59b47230'
240+
}
241+
},
217242
adUnitCode: 'div-gpt-ad-1460505748562-0',
218243
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47230',
219244
bidId: '1a2b3c4e',
@@ -247,6 +272,11 @@ describe('IndexexchangeAdapter', function () {
247272
playerSize: [[400, 100], [200, 400]]
248273
}
249274
},
275+
ortb2Imp: {
276+
ext: {
277+
tid: '173f49a8-7549-4218-a23c-e7ba59b47230'
278+
}
279+
},
250280
adUnitCode: 'div-gpt-ad-1460505748562-0',
251281
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47230',
252282
bidId: '1a2b3c4e',
@@ -272,6 +302,11 @@ describe('IndexexchangeAdapter', function () {
272302
sizes: [[300, 250], [300, 600], [400, 500]]
273303
}
274304
},
305+
ortb2Imp: {
306+
ext: {
307+
tid: '173f49a8-7549-4218-a23c-e7ba59b47230'
308+
}
309+
},
275310
adUnitCode: 'div-gpt-ad-1460505748562-0',
276311
transactionId: '173f49a8-7549-4218-a23c-e7ba59b47230',
277312
bidId: '1a2b3c4e',
@@ -307,6 +342,11 @@ describe('IndexexchangeAdapter', function () {
307342
sizes: [[300, 250], [300, 600]]
308343
}
309344
},
345+
ortb2Imp: {
346+
ext: {
347+
tid: '173f49a8-7549-4218-a23c-e7ba59b47230'
348+
}
349+
},
310350
adUnitCode: 'div-gpt-ad-1460505748562-0',
311351
transactionId: '273f49a8-7549-4218-a23c-e7ba59b47230',
312352
bidId: '1a2b3c4e',
@@ -1720,6 +1760,7 @@ describe('IndexexchangeAdapter', function () {
17201760
expect(impression.id).to.equal(DEFAULT_BANNER_VALID_BID[0].bidId);
17211761
expect(impression.banner.format).to.be.length(2);
17221762
expect(impression.banner.topframe).to.be.oneOf([0, 1]);
1763+
expect(impression.ext.tid).to.equal(DEFAULT_BANNER_VALID_BID[0].transactionId);
17231764

17241765
impression.banner.format.map(({ w, h, ext }, index) => {
17251766
const size = DEFAULT_BANNER_VALID_BID[0].mediaTypes.banner.sizes[index];

0 commit comments

Comments
 (0)