CosminV of Technical Support
11/14/2019 - 10:39 AM

Use URL UTM parameters in fields - without dynamic text replacement

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 -->