Creating a Channel Grouping from scratch in Javascript

function getReferrer(){
	return document.referrer;
}

var d_referrer = getReferrer();
var d_page = document.URL;

var regex_***YOUR WEBSITE*** = /***YOUR WEBSITE***.org/;
var regex_Google = /.google./;
var regex_GooglePaidSearch = /gclid=|cclid=|utm_medium=cpc/;
var regex_GoogleDisplay = /utm_medium=display|utm_medium=cpm/;
var regex_GoogleGmb = /utm_campaign=organic_gmb/;
var regex_SocialMedia = /facebook.com|linkedin.com|twitter.com|instagram.com/;
var regex_PaidSocial = /utm_medium=paidsocial/;
var regex_Mobile = /utm_source=blis|utm_source=mobile_geo|utm_medium=display/;
var regex_Native = /utm_medium=native/;
var regex_Email = /utm_medium=email|utm_medium=edm/;
var regex_OtherSearchEngines = /bing.com|search.yahoo.|duckduckgo.com|baidu.|yandex.|ask.com/;


if (d_referrer == ""){
	return "Direct";
}

if (regex_Google.test(d_referrer)){
	if (regex_GooglePaidSearch.test(d_page)){
		return "Google Paid Search";
	}
	else if (regex_GoogleDisplay.test(d_page)){
		return "Google Display";
	}
	else if (regex_GoogleGmb.test(d_page)){
		return "Google Organic Search - GMB";
	}
	else{
		return "Google Organic Search";
	}
}
else if (regex_OtherSearchEngines.test(d_referrer)){
	return "Other Organic Search, " + d_referrer;
}
else if (regex_PaidSocial.test(d_referrer)){
	return "Paid Social";
}
else if (regex_Mobile.test(d_page)){
	return "Mobile";
}
else if (regex_Native.test(d_page)){
	return "Native";
}

else if (regex_Email.test(d_page)){
	return 'Email';
}
else if (regex_SocialMedia.test(d_referrer)){
	return 'Social Media';
}
else if (regex_***YOUR WEBSITE***.test(d_referrer)){
	return "Internal";
}
else{
	return "Referrals, " + d_referrer;
}

Posted

in

,

by

Tags: