diff --git a/modules/ttdBidAdapter.js b/modules/ttdBidAdapter.js index 56dc44827b7..e12e3441a5d 100644 --- a/modules/ttdBidAdapter.js +++ b/modules/ttdBidAdapter.js @@ -133,7 +133,7 @@ function getUser(bidderRequest) { function getSite(bidderRequest, firstPartyData) { var site = utils.mergeDeep({ - page: utils.deepAccess(bidderRequest, 'refererInfo.page'), + page: utils.deepAccess(bidderRequest, 'refererInfo.topmostLocation') || utils.deepAccess(bidderRequest, 'refererInfo.page'), ref: utils.deepAccess(bidderRequest, 'refererInfo.ref'), publisher: { id: utils.deepAccess(bidderRequest, 'bids.0.params.publisherId'), diff --git a/test/spec/modules/ttdBidAdapter_spec.js b/test/spec/modules/ttdBidAdapter_spec.js index 346f1ef88f6..f8004a246ad 100644 --- a/test/spec/modules/ttdBidAdapter_spec.js +++ b/test/spec/modules/ttdBidAdapter_spec.js @@ -291,6 +291,19 @@ describe('ttdBidAdapter', function () { expect(requestBody.site.page).to.equal('https://www.example.com/test'); }); + it('use top most location if available in the bid request', function () { + const topmostLocation = 'https://www.topdomain.com/xyz'; + const bidRequestWithTopMost = { + ...baseBidderRequest, + refererInfo: { + ...baseBidderRequest.refererInfo, + topmostLocation: topmostLocation + } + }; + const requestBody = testBuildRequests(baseBannerBidRequests, bidRequestWithTopMost).data; + expect(requestBody.site.page).to.equal(topmostLocation); + }); + it('sets the banner pos correctly if sent', function () { let clonedBannerRequests = deepClone(baseBannerBidRequests); clonedBannerRequests[0].mediaTypes.banner.pos = 1;