in src/apache-unomi-tracker.js [1195:1233]
_processReferrer: function () {
var referrerURL = wem.digitalData.page.pageInfo.referringURL || document.referrer;
var sameDomainReferrer = false;
if (referrerURL) {
// parse referrer URL
var referrer = new URL(referrerURL);
// Set sameDomainReferrer property
sameDomainReferrer = referrer.host === window.location.host;
// only process referrer if it's not coming from the same site as the current page
if (!sameDomainReferrer) {
// get search element if it exists and extract search query if available
var search = referrer.search;
var query = undefined;
if (search && search != '') {
// parse parameters
var queryParams = [], param;
var queryParamPairs = search.slice(1).split('&');
for (var i = 0; i < queryParamPairs.length; i++) {
param = queryParamPairs[i].split('=');
queryParams.push(param[0]);
queryParams[param[0]] = param[1];
}
// try to extract query: q is Google-like (most search engines), p is Yahoo
query = queryParams.q || queryParams.p;
query = decodeURIComponent(query).replace(/\+/g, ' ');
}
// register referrer event
// Create deep copy of wem.digitalData.page and add data to pageInfo sub object
if (wem.digitalData && wem.digitalData.page && wem.digitalData.page.pageInfo) {
wem.digitalData.page.pageInfo.referrerHost = referrer.host;
wem.digitalData.page.pageInfo.referrerQuery = query;
}
}
}
wem.digitalData.page.pageInfo.sameDomainReferrer = sameDomainReferrer;
},