Use URL UTM parameters in fields - without dynamic text replacement
With default text if no URL parameters are present in the URL.
Test page : http://20379430.pagedemo.co/ and http://20379430.pagedemo.co/?utm_medium=test
<!-- START code for Use URL UTM parameters in fields -->
<script>
document.addEventListener("DOMContentLoaded", function(){
// function that gets the url parameters
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
//function that returns value based on page generator
function pageGenerator(fieldName){
return window.__page_generator ? fieldName : base64_encode(fieldName);
}
//define arrays with parameter - field values
var parametersNamesArr = ['utm_source', 'utm_medium', 'gclid'];
var fieldLabelsArr = ['Lead Channel', 'Source Medium', 'gclid field'];
for (var i = 0; i < parametersNamesArr.length; i++) {
if (getUrlParameter(parametersNamesArr[i]) && getUrlParameter(parametersNamesArr[i])!=true){
document.querySelector("input[name='" + pageGenerator(fieldLabelsArr[i]) + "']").value = getUrlParameter(parametersNamesArr[i]);
}
else {
document.querySelector("input[name='" + pageGenerator(fieldLabelsArr[i]) + "']").value = "blank";
}
}
})
</script>
<!-- END code for Use URL UTM parameters in fields -->
<!-- START code for Use URL UTM parameters in fields -->
<script>
document.addEventListener("DOMContentLoaded", function(){
// function that gets the url parameters
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
//define arrays with parameter - field values
var parametersNamesArr = ['utm_medium'];
var fieldLabelsArr = ['Source Medium'];
for (var i = 0; i < parametersNamesArr.length; i++) {
if (getUrlParameter(parametersNamesArr[i]) && getUrlParameter(parametersNamesArr[i])!=true){
document.querySelector("input[name='" + fieldLabelsArr[i] + "']").value = getUrlParameter(parametersNamesArr[i]);
}
else {
document.querySelector("input[name='" + fieldLabelsArr[i] + "']").value = "default";
}
}
})
</script>
<!-- END code for Use URL UTM parameters in fields -->