Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion libraries/intentIqConstants/intentIqConstants.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const BLACK_LIST = "L";
export const CLIENT_HINTS_KEY = "_iiq_ch";
export const EMPTY = "EMPTY";
export const GVLID = "1323";
export const VERSION = 0.33;
export const VERSION = 0.35;
export const PREBID = "pbjs";
export const HOURS_24 = 86400000;
export const HOURS_72 = HOURS_24 * 3;
Expand Down
27 changes: 17 additions & 10 deletions modules/intentIqAnalyticsAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ function bidWon(args, isReportExternal) {

if (shouldSendReport(isReportExternal)) {
const success = receivePartnerData();
const preparedPayload = preparePayload(args);
const preparedPayload = preparePayload(args, isReportExternal);
if (!preparedPayload) return false;
if (success === false) {
preparedPayload[PARAMS_NAMES.terminationCause] = -1
Expand Down Expand Up @@ -268,7 +268,7 @@ function getRandom(start, end) {
return Math.floor(Math.random() * (end - start + 1) + start);
}

export function preparePayload(data) {
export function preparePayload(data, isReportExternal) {
const result = getDefaultDataObject();
const fullUrl = getCurrentUrl();
result[PARAMS_NAMES.partnerId] = iiqAnalyticsAnalyticsAdapter.initOptions.partner;
Expand Down Expand Up @@ -297,7 +297,7 @@ export function preparePayload(data) {
if (iiqAnalyticsAnalyticsAdapter.initOptions.configSource) {
result[PARAMS_NAMES.ABTestingConfigurationSource] = iiqAnalyticsAnalyticsAdapter.initOptions.configSource
}
prepareData(data, result);
prepareData(data, result, isReportExternal);

if (shouldSubscribeOnGAM()) {
if (!reportList[result.placementId] || !reportList[result.placementId][result.prebidAuctionId]) {
Expand Down Expand Up @@ -327,7 +327,7 @@ function fillEidsData(result) {
}
}

function prepareData(data, result) {
function prepareData(data, result, isReportExternal) {
const adTypeValue = data.adType || data.mediaType;

if (data.bidderCode) {
Expand Down Expand Up @@ -387,7 +387,12 @@ function prepareData(data, result) {
}

result.biddingPlatformId = data.biddingPlatformId || 1;
result.partnerAuctionId = 'BW';

if (isReportExternal && data && data.partnerAuctionId) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need this drilling with isReportExternal? I'm pretty sure we don't have partnerAuctionId property in bidWon event. So why do we need this complicated logic and don't just use partnerAuctionId if we have it?

result.partnerAuctionId = data.partnerAuctionId;
} else {
result.partnerAuctionId = 'BW';
}
}

function extractPlacementId(data) {
Expand Down Expand Up @@ -424,6 +429,7 @@ function constructFullUrl(data) {
const reportMethod = iiqAnalyticsAnalyticsAdapter.initOptions.reportMethod;
const partnerData = window[identityGlobalName]?.partnerData;
const currentBrowserLowerCase = detectBrowser();
const partnerAuctionId = data.partnerAuctionId || 'BW';
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use only data provided by partner without defaults, and send it only when we have it

data = btoa(JSON.stringify(data));
report.push(data);

Expand All @@ -434,6 +440,7 @@ function constructFullUrl(data) {
baseUrl +
'?pid=' +
iiqAnalyticsAnalyticsAdapter.initOptions.partner +
'&paucid=' + encodeURIComponent(JSON.stringify([partnerAuctionId])) +
'&mct=1' +
(iiqAnalyticsAnalyticsAdapter.initOptions?.fpid
? '&iiqid=' + encodeURIComponent(iiqAnalyticsAnalyticsAdapter.initOptions.fpid.pcid)
Expand All @@ -451,17 +458,17 @@ function constructFullUrl(data) {
(cmpData.gdprString ? '&gdpr_consent=' + encodeURIComponent(cmpData.gdprString) + '&gdpr=1' : '&gdpr=0');
url = appendSPData(url, partnerData);
url = appendVrrefAndFui(url, iiqAnalyticsAnalyticsAdapter.initOptions.domainName);

if (reportMethod === 'POST') {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch!

return { url, method: 'POST', payload: JSON.stringify(report) };
}
url += '&payload=' + encodeURIComponent(JSON.stringify(report));
url = handleAdditionalParams(
currentBrowserLowerCase,
url,
2,
iiqAnalyticsAnalyticsAdapter.initOptions.additionalParams
);

if (reportMethod === 'POST') {
return { url, method: 'POST', payload: JSON.stringify(report) };
}
url += '&payload=' + encodeURIComponent(JSON.stringify(report));
return { url, method: 'GET' };
}

Expand Down
Loading