diff --git a/modules/taboolaBidAdapter.js b/modules/taboolaBidAdapter.js index ab5d5fef139..05f8babea09 100644 --- a/modules/taboolaBidAdapter.js +++ b/modules/taboolaBidAdapter.js @@ -276,7 +276,7 @@ function getSiteProperties({publisherId}, refererInfo, ortb2) { function fillTaboolaReqData(bidderRequest, bidRequest, data) { const {refererInfo, gdprConsent = {}, uspConsent} = bidderRequest; const site = getSiteProperties(bidRequest.params, refererInfo, bidderRequest.ortb2); - deepSetValue(data, 'device.ua', navigator.userAgent); + deepSetValue(data, 'device', bidderRequest?.ortb2?.device); const extractedUserId = userData.getUserId(gdprConsent, uspConsent); if (data.user == undefined) { data.user = { diff --git a/test/spec/modules/taboolaBidAdapter_spec.js b/test/spec/modules/taboolaBidAdapter_spec.js index 55d0731ec21..9288b55a673 100644 --- a/test/spec/modules/taboolaBidAdapter_spec.js +++ b/test/spec/modules/taboolaBidAdapter_spec.js @@ -173,6 +173,11 @@ describe('Taboola Adapter', function () { page: 'https://example.com/ref', ref: 'https://ref', domain: 'example.com', + }, + ortb2: { + device: { + ua: navigator.userAgent, + }, } } @@ -197,9 +202,9 @@ describe('Taboola Adapter', function () { 'bidfloorcur': 'USD', 'ext': {} }], - id: 'mock-uuid', - 'test': 0, 'device': {'ua': navigator.userAgent}, + 'id': 'mock-uuid', + 'test': 0, 'user': { 'buyeruid': 0, 'ext': {}, @@ -365,6 +370,18 @@ describe('Taboola Adapter', function () { wlang: ['de'], user: { id: 'externalUserIdPassed' + }, + device: { + w: 980, + h: 1720, + dnt: 0, + ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/125.0.6422.80 Mobile/15E148 Safari/604.1', + language: 'en', + devicetype: 1, + make: 'Apple', + model: 'iPhone 12 Pro Max', + os: 'iOS', + osv: '17.4' } } } @@ -373,6 +390,7 @@ describe('Taboola Adapter', function () { expect(res.data.badv).to.deep.equal(bidderRequest.ortb2.badv) expect(res.data.wlang).to.deep.equal(bidderRequest.ortb2.wlang) expect(res.data.user.id).to.deep.equal(bidderRequest.ortb2.user.id) + expect(res.data.device).to.deep.equal(bidderRequest.ortb2.device); }); it('should pass user entities', function () {