Retain Original Referral URL? [RESOLVED]

So I have my gravity form set with a field to record the referral URL, which works, but, users from another site land on my home page and then visit other pages, and then often visit the page that has the form on it. Typically resulting in the referral URL being set as the page they visited the form from, such as www.mysite.com/home as opposed to the original site they visited my website from. Is there any way to retain the original referral URL, so that when the form is submitted it sets the referral URL as the site they came from not my internal pages?

You can use a cookie holding the value of the http referrer. Set it only if the http_referrer does not contain your site URL anywhere on all pages.

PHP:

setcookie( 'my-referral-cookie', $_SERVER['HTTP_REFERER'], time() + 3600, COOKIEPATH, COOKIE_DOMAIN, false );

JavaScript code: (for setting and getting cookies in general)

function setCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
function eraseCookie(name) {   
    document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

To read the cookie and pass it to a hidden field, check this post here:

1 Like

Of course++ that makes sense++ thanks much++

1 Like