in media/js/base/stub-attribution/stub-attribution.js [504:548]
StubAttribution.getAttributionData = function (
ref,
omitNonEssentialFields
) {
var params = new window._SearchParams();
var utms = params.utmParams();
var experiment = omitNonEssentialFields
? null
: params.get('experiment') || StubAttribution.experimentName;
var variation = omitNonEssentialFields
? null
: params.get('variation') || StubAttribution.experimentVariation;
var referrer = typeof ref === 'string' ? ref : document.referrer;
var ua = omitNonEssentialFields
? 'other'
: StubAttribution.getUserAgent();
var clientIDGA4 = omitNonEssentialFields
? null
: StubAttribution.getGtagClientID();
var data = {
utm_source: utms.utm_source,
utm_medium: utms.utm_medium,
utm_campaign: utms.utm_campaign,
utm_content: utms.utm_content,
referrer: referrer,
ua: ua,
experiment: experiment,
variation: variation,
client_id_ga4: clientIDGA4,
session_id: clientIDGA4 ? StubAttribution.createSessionID() : null,
dlsource: StubAttribution.DLSOURCE
};
// Remove any undefined values.
for (var key in data) {
if (Object.prototype.hasOwnProperty.call(data, key)) {
if (typeof data[key] === 'undefined' || data[key] === null) {
delete data[key];
}
}
}
return data;
};