• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

prebid / Prebid.js / 21359463030

26 Jan 2026 01:31PM UTC coverage: 96.218% (+0.003%) from 96.215%
21359463030

push

github

web-flow
Core: adding ima params to local cache request (#14312)

* Core: adding ima params to local cache request

* retrieving ima params

* usp data handler

41687 of 51254 branches covered (81.33%)

6 of 15 new or added lines in 1 file covered. (40.0%)

53 existing lines in 6 files now uncovered.

208851 of 217061 relevant lines covered (96.22%)

71.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

94.01
/modules/intentIqAnalyticsAdapter.js
1
import { isPlainObject, logError, logInfo } from '../src/utils.js';
1✔
2
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
import adapterManager from '../src/adapterManager.js';
4
import { ajax } from '../src/ajax.js';
5
import { EVENTS } from '../src/constants.js';
6
import { detectBrowser } from '../libraries/intentIqUtils/detectBrowserUtils.js';
7
import { appendSPData } from '../libraries/intentIqUtils/urlUtils.js';
8
import { appendVrrefAndFui, getCurrentUrl, getRelevantRefferer } from '../libraries/intentIqUtils/getRefferer.js';
9
import { getCmpData } from '../libraries/intentIqUtils/getCmpData.js';
10
import { getUnitPosition } from '../libraries/intentIqUtils/getUnitPosition.js';
11
import {
12
  VERSION,
13
  PREBID,
14
  WITH_IIQ
15
} from '../libraries/intentIqConstants/intentIqConstants.js';
16
import { reportingServerAddress } from '../libraries/intentIqUtils/intentIqConfig.js';
17
import { handleAdditionalParams } from '../libraries/intentIqUtils/handleAdditionalParams.js';
18
import { gamPredictionReport } from '../libraries/intentIqUtils/gamPredictionReport.js';
19
import { defineABTestingGroup } from '../libraries/intentIqUtils/defineABTestingGroupUtils.js';
20
import { getGlobal } from '../src/prebidGlobal.js';
21

22
const MODULE_NAME = 'iiqAnalytics';
1✔
23
const analyticsType = 'endpoint';
1✔
24
const prebidVersion = '$prebid.version$';
1✔
25
const pbjs = getGlobal();
1✔
26
export const REPORTER_ID = Date.now() + '_' + getRandom(0, 1000);
1✔
27
let globalName;
28
let identityGlobalName;
29
let alreadySubscribedOnGAM = false;
1✔
30
let reportList = {};
1✔
31
let cleanReportsID;
32
let iiqConfig;
33

34
const PARAMS_NAMES = {
1✔
35
  abTestGroup: 'abGroup',
36
  pbPauseUntil: 'pbPauseUntil',
37
  pbMonitoringEnabled: 'pbMonitoringEnabled',
38
  isInTestGroup: 'isInTestGroup',
39
  enhanceRequests: 'enhanceRequests',
40
  wasSubscribedForPrebid: 'wasSubscribedForPrebid',
41
  hadEids: 'hadEids',
42
  ABTestingConfigurationSource: 'ABTestingConfigurationSource',
43
  lateConfiguration: 'lateConfiguration',
44
  jsversion: 'jsversion',
45
  eidsNames: 'eidsNames',
46
  requestRtt: 'rtt',
47
  clientType: 'clientType',
48
  adserverDeviceType: 'AdserverDeviceType',
49
  terminationCause: 'terminationCause',
50
  callCount: 'callCount',
51
  manualCallCount: 'mcc',
52
  pubprovidedidsFailedToregister: 'ppcc',
53
  noDataCount: 'noDataCount',
54
  profile: 'profile',
55
  isProfileDeterministic: 'pidDeterministic',
56
  siteId: 'sid',
57
  hadEidsInLocalStorage: 'idls',
58
  auctionStartTime: 'ast',
59
  eidsReadTime: 'eidt',
60
  agentId: 'aid',
61
  auctionEidsLength: 'aeidln',
62
  wasServerCalled: 'wsrvcll',
63
  referrer: 'vrref',
64
  isInBrowserBlacklist: 'inbbl',
65
  prebidVersion: 'pbjsver',
66
  partnerId: 'partnerId',
67
  firstPartyId: 'pcid',
68
  placementId: 'placementId',
69
  adType: 'adType',
70
  abTestUuid: 'abTestUuid',
71
};
72

73
const DEFAULT_URL = 'https://reports.intentiq.com/report';
1✔
74

75
const getDataForDefineURL = () => {
1✔
76
  return [iiqAnalyticsAnalyticsAdapter.initOptions.reportingServerAddress, iiqAnalyticsAnalyticsAdapter.initOptions.region];
35✔
77
};
78

79
const getDefaultInitOptions = () => {
1✔
80
  return {
74✔
81
    adapterConfigInitialized: false,
82
    partner: null,
83
    fpid: null,
84
    currentGroup: null,
85
    dataInLs: null,
86
    eidl: null,
87
    dataIdsInitialized: false,
88
    manualWinReportEnabled: false,
89
    domainName: null,
90
    siloEnabled: false,
91
    reportMethod: null,
92
    abPercentage: null,
93
    abTestUuid: null,
94
    additionalParams: null,
95
    reportingServerAddress: '',
96
    region: ''
97
  }
98
}
99

100
const iiqAnalyticsAnalyticsAdapter = Object.assign(adapter({ url: DEFAULT_URL, analyticsType }), {
1✔
101
  initOptions: getDefaultInitOptions(),
102
  track({ eventType, args }) {
72✔
103
    switch (eventType) {
72✔
104
      case BID_WON:
105
        bidWon(args);
34✔
106
        break;
34✔
107
      case BID_REQUESTED:
108
        if (!alreadySubscribedOnGAM && shouldSubscribeOnGAM()) {
4✔
109
          alreadySubscribedOnGAM = true;
1✔
110
          gamPredictionReport(iiqConfig?.gamObjectReference, bidWon);
1✔
111
        }
112
        break;
4✔
113
      default:
114
        break;
34✔
115
    }
116
  }
117
});
118

119
// Events needed
120
const { BID_WON, BID_REQUESTED } = EVENTS;
1✔
121

122
function initAdapterConfig(config) {
123
  if (iiqAnalyticsAnalyticsAdapter.initOptions.adapterConfigInitialized) return;
73!
124

125
  const options = config?.options || {}
73!
126
  iiqConfig = options
73✔
127
  const { manualWinReportEnabled, gamPredictReporting, reportMethod, reportingServerAddress, region, adUnitConfig, partner, ABTestingConfigurationSource, browserBlackList, domainName, additionalParams } = options
73✔
128
  iiqAnalyticsAnalyticsAdapter.initOptions.manualWinReportEnabled =
73✔
129
            manualWinReportEnabled || false;
144✔
130
  iiqAnalyticsAnalyticsAdapter.initOptions.reportMethod = parseReportingMethod(reportMethod);
73✔
131
  iiqAnalyticsAnalyticsAdapter.initOptions.gamPredictReporting = typeof gamPredictReporting === 'boolean' ? gamPredictReporting : false;
73!
132
  iiqAnalyticsAnalyticsAdapter.initOptions.reportingServerAddress = typeof reportingServerAddress === 'string' ? reportingServerAddress : '';
73✔
133
  iiqAnalyticsAnalyticsAdapter.initOptions.region = typeof region === 'string' ? region : '';
73✔
134
  iiqAnalyticsAnalyticsAdapter.initOptions.adUnitConfig = typeof adUnitConfig === 'number' ? adUnitConfig : 1;
73✔
135
  iiqAnalyticsAnalyticsAdapter.initOptions.configSource = ABTestingConfigurationSource;
73✔
136
  iiqAnalyticsAnalyticsAdapter.initOptions.currentGroup = defineABTestingGroup(options);
73✔
137
  iiqAnalyticsAnalyticsAdapter.initOptions.idModuleConfigInitialized = true;
73✔
138
  iiqAnalyticsAnalyticsAdapter.initOptions.browserBlackList =
73✔
139
        typeof browserBlackList === 'string'
73✔
140
          ? browserBlackList.toLowerCase()
141
          : '';
142
  iiqAnalyticsAnalyticsAdapter.initOptions.domainName = domainName || '';
73✔
143
  iiqAnalyticsAnalyticsAdapter.initOptions.additionalParams = additionalParams || null;
73✔
144
  if (!partner) {
73!
UNCOV
145
    logError('IIQ ANALYTICS -> partner ID is missing');
×
UNCOV
146
    iiqAnalyticsAnalyticsAdapter.initOptions.partner = -1
×
147
  } else iiqAnalyticsAnalyticsAdapter.initOptions.partner = partner
73✔
148
  defineGlobalVariableName();
73✔
149
  iiqAnalyticsAnalyticsAdapter.initOptions.adapterConfigInitialized = true
73✔
150
}
151

152
function receivePartnerData() {
153
  try {
35✔
154
    iiqAnalyticsAnalyticsAdapter.initOptions.dataInLs = null;
35✔
155
    const FPD = window[identityGlobalName]?.firstPartyData
35✔
156
    if (!window[identityGlobalName] || !FPD) {
35!
UNCOV
157
      return false
×
158
    }
159
    iiqAnalyticsAnalyticsAdapter.initOptions.fpid = FPD
35✔
160
    const { partnerData, clientHints = '', actualABGroup } = window[identityGlobalName]
35!
161

162
    if (partnerData) {
35✔
163
      iiqAnalyticsAnalyticsAdapter.initOptions.dataIdsInitialized = true;
35✔
164
      iiqAnalyticsAnalyticsAdapter.initOptions.terminationCause = partnerData.terminationCause;
35✔
165
      iiqAnalyticsAnalyticsAdapter.initOptions.abTestUuid = partnerData.abTestUuid;
35✔
166
      iiqAnalyticsAnalyticsAdapter.initOptions.dataInLs = partnerData.data;
35✔
167
      iiqAnalyticsAnalyticsAdapter.initOptions.eidl = partnerData.eidl || -1;
35✔
168
      iiqAnalyticsAnalyticsAdapter.initOptions.clientType = partnerData.clientType || null;
35!
169
      iiqAnalyticsAnalyticsAdapter.initOptions.siteId = partnerData.siteId || null;
35✔
170
      iiqAnalyticsAnalyticsAdapter.initOptions.wsrvcll = partnerData.wsrvcll || false;
35!
171
      iiqAnalyticsAnalyticsAdapter.initOptions.rrtt = partnerData.rrtt || null;
35✔
172
    }
173

174
    if (actualABGroup) {
35✔
175
      iiqAnalyticsAnalyticsAdapter.initOptions.currentGroup = actualABGroup;
1✔
176
    }
177
    iiqAnalyticsAnalyticsAdapter.initOptions.clientHints = clientHints;
35✔
178
  } catch (e) {
UNCOV
179
    logError(e);
×
UNCOV
180
    return false;
×
181
  }
182
}
183

184
function shouldSubscribeOnGAM() {
185
  if (!iiqConfig?.gamObjectReference || !isPlainObject(iiqConfig.gamObjectReference)) return false;
44✔
186
  const partnerData = window[identityGlobalName]?.partnerData
2✔
187

188
  if (partnerData) {
2✔
189
    return partnerData.gpr || (!('gpr' in partnerData) && iiqAnalyticsAnalyticsAdapter.initOptions.gamPredictReporting);
2!
190
  }
UNCOV
191
  return false;
×
192
}
193

194
function shouldSendReport(isReportExternal) {
195
  return (
37✔
196
    (isReportExternal &&
111✔
197
            iiqAnalyticsAnalyticsAdapter.initOptions.manualWinReportEnabled &&
198
            !shouldSubscribeOnGAM()) ||
199
        (!isReportExternal && !iiqAnalyticsAnalyticsAdapter.initOptions.manualWinReportEnabled)
200
  );
201
}
202

203
export function restoreReportList() {
204
  reportList = {};
5✔
205
}
206

207
function bidWon(args, isReportExternal) {
208
  if (
38!
209
    isNaN(iiqAnalyticsAnalyticsAdapter.initOptions.partner)
210
  ) {
UNCOV
211
    iiqAnalyticsAnalyticsAdapter.initOptions.partner = -1;
×
212
  }
213
  const currentBrowserLowerCase = detectBrowser();
38✔
214
  if (iiqAnalyticsAnalyticsAdapter.initOptions.browserBlackList?.includes(currentBrowserLowerCase)) {
38✔
215
    logError('IIQ ANALYTICS -> Browser is in blacklist!');
1✔
216
    return;
1✔
217
  }
218

219
  if (shouldSendReport(isReportExternal)) {
37✔
220
    const success = receivePartnerData();
35✔
221
    const preparedPayload = preparePayload(args);
35✔
222
    if (!preparedPayload) return false;
35!
223
    if (success === false) {
35!
UNCOV
224
      preparedPayload[PARAMS_NAMES.terminationCause] = -1
×
225
    }
226
    const { url, method, payload } = constructFullUrl(preparedPayload);
35✔
227
    if (method === 'POST') {
35✔
228
      ajax(url, undefined, payload, {
1✔
229
        method,
230
        contentType: 'application/x-www-form-urlencoded'
231
      });
232
    } else {
233
      ajax(url, undefined, null, { method });
34✔
234
    }
235
    logInfo('IIQ ANALYTICS -> BID WON');
35✔
236
    return true;
35✔
237
  }
238
  return false;
2✔
239
}
240

241
function parseReportingMethod(reportMethod) {
242
  if (typeof reportMethod === 'string') {
73✔
243
    switch (reportMethod.toUpperCase()) {
1!
244
      case 'GET':
UNCOV
245
        return 'GET';
×
246
      case 'POST':
247
        return 'POST';
1✔
248
      default:
UNCOV
249
        return 'GET';
×
250
    }
251
  }
252
  return 'GET';
72✔
253
}
254

255
function defineGlobalVariableName() {
256
  function reportExternalWin(args) {
257
    return bidWon(args, true);
3✔
258
  }
259

260
  const partnerId = iiqConfig?.partner || 0;
73!
261
  globalName = `intentIqAnalyticsAdapter_${partnerId}`;
73✔
262
  identityGlobalName = `iiq_identity_${partnerId}`
73✔
263

264
  window[globalName] = { reportExternalWin };
73✔
265
}
266

267
function getRandom(start, end) {
268
  return Math.floor(Math.random() * (end - start + 1) + start);
1✔
269
}
270

271
export function preparePayload(data) {
272
  const result = getDefaultDataObject();
38✔
273
  const fullUrl = getCurrentUrl();
38✔
274
  result[PARAMS_NAMES.partnerId] = iiqAnalyticsAnalyticsAdapter.initOptions.partner;
38✔
275
  result[PARAMS_NAMES.prebidVersion] = prebidVersion;
38✔
276
  result[PARAMS_NAMES.referrer] = getRelevantRefferer(iiqAnalyticsAnalyticsAdapter.initOptions.domainName, fullUrl);
38✔
277
  result[PARAMS_NAMES.terminationCause] = iiqAnalyticsAnalyticsAdapter.initOptions.terminationCause;
38✔
278
  result[PARAMS_NAMES.clientType] = iiqAnalyticsAnalyticsAdapter.initOptions.clientType;
38✔
279
  result[PARAMS_NAMES.siteId] = iiqAnalyticsAnalyticsAdapter.initOptions.siteId;
38✔
280
  result[PARAMS_NAMES.wasServerCalled] = iiqAnalyticsAnalyticsAdapter.initOptions.wsrvcll;
38✔
281
  result[PARAMS_NAMES.requestRtt] = iiqAnalyticsAnalyticsAdapter.initOptions.rrtt;
38✔
282
  result[PARAMS_NAMES.isInTestGroup] = iiqAnalyticsAnalyticsAdapter.initOptions.currentGroup === WITH_IIQ;
38✔
283

284
  if (iiqAnalyticsAnalyticsAdapter.initOptions.currentGroup) {
38✔
285
    result[PARAMS_NAMES.abTestGroup] = iiqAnalyticsAnalyticsAdapter.initOptions.currentGroup;
38✔
286
  }
287
  result[PARAMS_NAMES.agentId] = REPORTER_ID;
38✔
288
  if (iiqAnalyticsAnalyticsAdapter.initOptions.abTestUuid) {
38✔
289
    result[PARAMS_NAMES.abTestUuid] = iiqAnalyticsAnalyticsAdapter.initOptions.abTestUuid;
38✔
290
  }
291
  if (iiqAnalyticsAnalyticsAdapter.initOptions.fpid?.pcid) {
38✔
292
    result[PARAMS_NAMES.firstPartyId] = encodeURIComponent(iiqAnalyticsAnalyticsAdapter.initOptions.fpid.pcid);
38✔
293
  }
294
  if (iiqAnalyticsAnalyticsAdapter.initOptions.fpid?.pid) {
38✔
295
    result[PARAMS_NAMES.profile] = encodeURIComponent(iiqAnalyticsAnalyticsAdapter.initOptions.fpid.pid);
38✔
296
  }
297
  if (iiqAnalyticsAnalyticsAdapter.initOptions.configSource) {
38✔
298
    result[PARAMS_NAMES.ABTestingConfigurationSource] = iiqAnalyticsAnalyticsAdapter.initOptions.configSource
2✔
299
  }
300
  prepareData(data, result);
38✔
301

302
  if (shouldSubscribeOnGAM()) {
38✔
303
    if (!reportList[result.placementId] || !reportList[result.placementId][result.prebidAuctionId]) {
1!
304
      reportList[result.placementId] = reportList[result.placementId]
1!
305
        ? { ...reportList[result.placementId], [result.prebidAuctionId]: 1 }
306
        : { [result.prebidAuctionId]: 1 };
307
      cleanReportsID = setTimeout(() => {
1✔
308
        if (cleanReportsID) clearTimeout(cleanReportsID);
1!
309
        restoreReportList();
1✔
310
      }, 1500); // clear object in 1.5 second after defining reporting list
311
    } else {
UNCOV
312
      logError('Duplication detected, report will be not sent');
×
UNCOV
313
      return;
×
314
    }
315
  }
316

317
  fillEidsData(result);
38✔
318

319
  return result;
38✔
320
}
321

322
function fillEidsData(result) {
323
  if (iiqAnalyticsAnalyticsAdapter.initOptions.dataIdsInitialized) {
38✔
324
    result[PARAMS_NAMES.hadEidsInLocalStorage] =
38✔
325
            iiqAnalyticsAnalyticsAdapter.initOptions.eidl && iiqAnalyticsAnalyticsAdapter.initOptions.eidl > 0;
76✔
326
    result[PARAMS_NAMES.auctionEidsLength] = iiqAnalyticsAnalyticsAdapter.initOptions.eidl || -1;
38!
327
  }
328
}
329

330
function prepareData(data, result) {
331
  const adTypeValue = data.adType || data.mediaType;
38✔
332

333
  if (data.bidderCode) {
38✔
334
    result.bidderCode = data.bidderCode;
37✔
335
  }
336
  if (data.cpm) {
38✔
337
    result.cpm = data.cpm;
38✔
338
  }
339
  if (data.currency) {
38✔
340
    result.currency = data.currency;
38✔
341
  }
342
  if (data.originalCpm) {
38✔
343
    result.originalCpm = data.originalCpm;
36✔
344
  }
345
  if (data.originalCurrency) {
38✔
346
    result.originalCurrency = data.originalCurrency;
36✔
347
  }
348
  if (data.status) {
38✔
349
    result.status = data.status;
37✔
350
  }
351
  if (data.size) {
38✔
352
    result.size = data.size;
36✔
353
  }
354
  if (typeof data.pos === 'number') {
38✔
355
    result.pos = data.pos;
1✔
356
  } else if (data.adUnitCode) {
37✔
357
    const pos = getUnitPosition(pbjs, data.adUnitCode);
6✔
358
    if (typeof pos === 'number') result.pos = pos;
6✔
359
  }
360

361
  result.prebidAuctionId = data.auctionId || data.prebidAuctionId;
38✔
362

363
  if (adTypeValue) {
38✔
364
    result[PARAMS_NAMES.adType] = adTypeValue;
37✔
365
  }
366

367
  switch (iiqAnalyticsAnalyticsAdapter.initOptions.adUnitConfig) {
38!
368
    case 1:
369
      // adUnitCode or placementId
370
      result.placementId = data.adUnitCode || extractPlacementId(data) || '';
34✔
371
      break;
34✔
372
    case 2:
373
      // placementId or adUnitCode
374
      result.placementId = extractPlacementId(data) || data.adUnitCode || '';
2!
375
      break;
2✔
376
    case 3:
377
      // Only adUnitCode
378
      result.placementId = data.adUnitCode || '';
1!
379
      break;
1✔
380
    case 4:
381
      // Only placementId
382
      result.placementId = extractPlacementId(data) || '';
1!
383
      break;
1✔
384
    default:
385
      // Default (like in case #1)
UNCOV
386
      result.placementId = data.adUnitCode || extractPlacementId(data) || '';
×
387
  }
388

389
  result.biddingPlatformId = data.biddingPlatformId || 1;
38✔
390
  result.partnerAuctionId = 'BW';
38✔
391
}
392

393
function extractPlacementId(data) {
394
  if (data.placementId) {
34✔
395
    return data.placementId;
4✔
396
  }
397
  if (data.params && Array.isArray(data.params)) {
30✔
398
    for (let i = 0; i < data.params.length; i++) {
1✔
399
      if (data.params[i].placementId) {
2✔
400
        return data.params[i].placementId;
1✔
401
      }
402
    }
403
  }
404
  return null;
29✔
405
}
406

407
function getDefaultDataObject() {
408
  return {
38✔
409
    inbbl: false,
410
    pbjsver: prebidVersion,
411
    partnerAuctionId: 'BW',
412
    reportSource: 'pbjs',
413
    jsversion: VERSION,
414
    partnerId: -1,
415
    biddingPlatformId: 1,
416
    idls: false,
417
    ast: -1,
418
    aeidln: -1
419
  };
420
}
421

422
function constructFullUrl(data) {
423
  const report = [];
35✔
424
  const reportMethod = iiqAnalyticsAnalyticsAdapter.initOptions.reportMethod;
35✔
425
  const partnerData = window[identityGlobalName]?.partnerData;
35✔
426
  const currentBrowserLowerCase = detectBrowser();
35✔
427
  data = btoa(JSON.stringify(data));
35✔
428
  report.push(data);
35✔
429

430
  const cmpData = getCmpData();
35✔
431
  const baseUrl = reportingServerAddress(...getDataForDefineURL());
35✔
432

433
  let url =
434
        baseUrl +
35✔
435
        '?pid=' +
436
        iiqAnalyticsAnalyticsAdapter.initOptions.partner +
437
        '&mct=1' +
438
        (iiqAnalyticsAnalyticsAdapter.initOptions?.fpid
35!
439
          ? '&iiqid=' + encodeURIComponent(iiqAnalyticsAnalyticsAdapter.initOptions.fpid.pcid)
440
          : '') +
441
        '&agid=' +
442
        REPORTER_ID +
443
        '&jsver=' +
444
        VERSION +
445
        '&source=' +
446
        PREBID +
447
        '&uh=' +
448
        encodeURIComponent(iiqAnalyticsAnalyticsAdapter.initOptions.clientHints) +
449
        (cmpData.uspString ? '&us_privacy=' + encodeURIComponent(cmpData.uspString) : '') +
35✔
450
        (cmpData.gppString ? '&gpp=' + encodeURIComponent(cmpData.gppString) : '') +
35✔
451
        (cmpData.gdprString ? '&gdpr_consent=' + encodeURIComponent(cmpData.gdprString) + '&gdpr=1' : '&gdpr=0');
35✔
452
  url = appendSPData(url, partnerData);
35✔
453
  url = appendVrrefAndFui(url, iiqAnalyticsAnalyticsAdapter.initOptions.domainName);
35✔
454

455
  if (reportMethod === 'POST') {
35✔
456
    return { url, method: 'POST', payload: JSON.stringify(report) };
1✔
457
  }
458
  url += '&payload=' + encodeURIComponent(JSON.stringify(report));
34✔
459
  url = handleAdditionalParams(
34✔
460
    currentBrowserLowerCase,
461
    url,
462
    2,
463
    iiqAnalyticsAnalyticsAdapter.initOptions.additionalParams
464
  );
465
  return { url, method: 'GET' };
34✔
466
}
467

468
iiqAnalyticsAnalyticsAdapter.originEnableAnalytics = iiqAnalyticsAnalyticsAdapter.enableAnalytics;
1✔
469

470
iiqAnalyticsAnalyticsAdapter.enableAnalytics = function (myConfig) {
1✔
471
  iiqAnalyticsAnalyticsAdapter.originEnableAnalytics(myConfig); // call the base class function
73✔
472
  initAdapterConfig(myConfig)
73✔
473
};
474

475
iiqAnalyticsAnalyticsAdapter.originDisableAnalytics = iiqAnalyticsAnalyticsAdapter.disableAnalytics;
1✔
476
iiqAnalyticsAnalyticsAdapter.disableAnalytics = function() {
1✔
477
  globalName = undefined;
73✔
478
  identityGlobalName = undefined;
73✔
479
  alreadySubscribedOnGAM = false;
73✔
480
  reportList = {};
73✔
481
  cleanReportsID = undefined;
73✔
482
  iiqConfig = undefined;
73✔
483
  iiqAnalyticsAnalyticsAdapter.initOptions = getDefaultInitOptions()
73✔
484
  iiqAnalyticsAnalyticsAdapter.originDisableAnalytics()
73✔
485
};
486
adapterManager.registerAnalyticsAdapter({
1✔
487
  adapter: iiqAnalyticsAnalyticsAdapter,
488
  code: MODULE_NAME
489
});
490

491
export default iiqAnalyticsAnalyticsAdapter;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc