Forms Salesforce Web在浏览多个页面后引导表单收集UTM数据

Forms Salesforce Web在浏览多个页面后引导表单收集UTM数据,forms,cookies,salesforce,utm-tracking,Forms,Cookies,Salesforce,Utm Tracking,我有一个salesforce web to lead表单,用于收集utm数据,它确实。。。。如果我不离开这一页 目前,我没有使用sf web来引导表单。如果用户从广告进入站点,utm参数将存储在cookie中,并在用户填写表单时使用。它工作得很好 我现在需要使用sf web来引导表单。如果我直接在页面上登陆并且从未离开,url中的utm参数将成功地收集到表单中。如果我离开页面并返回表单页面,我可以看到存储在cookie中的utm参数,但表单不会收集这些参数 请发送帮助!!!!!我需要能够导航离开

我有一个salesforce web to lead表单,用于收集utm数据,它确实。。。。如果我不离开这一页

目前,我没有使用sf web来引导表单。如果用户从广告进入站点,utm参数将存储在cookie中,并在用户填写表单时使用。它工作得很好

我现在需要使用sf web来引导表单。如果我直接在页面上登陆并且从未离开,url中的utm参数将成功地收集到表单中。如果我离开页面并返回表单页面,我可以看到存储在cookie中的utm参数,但表单不会收集这些参数

请发送帮助!!!!!我需要能够导航离开页面,并使用存储的cookie填充utm隐藏表单字段

<form id="salesforceForm" method="POST" action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8">
<input name="oid" type="hidden" value="mySFID#"> 
<input name="retURL" type="hidden" value="myredirectlink.com"> 
<label for="first_name">First Name*</label> <input id="first_name" maxlength="40" name="first_name" required="" size="20" type="text"> 
<label for="last_name">Last Name*</label> <input id="last_name" maxlength="80" name="last_name" required="" size="20" type="text"> 
<label for="email">Email*</label> <input id="email" maxlength="80" name="email" required="" size="20" type="text"> 
<label for="company">Company*</label> <input id="company" maxlength="40" name="company" required="" size="20" type="text"> <label for="phone">Phone*</label> <input id="phone" maxlength="40" name="phone" required="" size="20" type="text"> 
<input id="utm_source" name="00N50000003KWmr" type="hidden" value=""> 
<input id="utm_medium" name="00N50000003KWn6" type="hidden" value=""> 
<input id="utm_campaign" name="00N50000003KWnB" type="hidden" value=""> 
<input id="utm_term" name="00N50000003KWnG" type="hidden" value=""> 
<input id="utm_content" name="00N50000003KWnL" type="hidden" value=""> 
<input name="btnSubmit" type="submit">
</form>


<script type="text/javascript">
function parseGET(param) {
    var searchStr = document.location.search;
    try {
        var match = searchStr.match('[?&]' + param + '=([^&]+)');
        if (match) {
            var result = match[1];
            result = result.replace(/\+/g, '%20');
            result = decodeURIComponent(result);
            return result;
        } else {
            return '';
        }
    } catch (e) {
        return '';
    }
}
 
document.getElementById('utm_source').value = parseGET('utm_source');
document.getElementById('utm_medium').value = parseGET('utm_medium');
document.getElementById('utm_campaign').value = parseGET('utm_campaign');
document.getElementById('utm_term').value = parseGET('utm_term');
document.getElementById('utm_content').value = parseGET('utm_content');
</script>

名字*
姓氏*
电子邮件*
公司*电话*
函数parseGET(param){
var searchStr=document.location.search;
试一试{
var match=searchStr.match('[?&]'+param+'=([^&]+));
如果(匹配){
var结果=匹配[1];
结果=结果。替换(/\+/g,'%20');
结果=解码组件(结果);
返回结果;
}否则{
返回“”;
}
}捕获(e){
返回“”;
}
}
document.getElementById('utm_source')。value=parseGET('utm_source');
document.getElementById('utm_medium')。value=parseGET('utm_medium');
document.getElementById('utm_活动')。value=parseGET('utm_活动');
document.getElementById('utm_term')。value=parseGET('utm_term');
document.getElementById('utm_内容')。value=parseGET('utm_内容');

这里没有任何东西可以真正设置cookie,对吗?或者读它

我从来没有积极使用过谷歌标签管理器,你是说有些东西已经设置了cookie

我的直觉认为您需要类似于
的东西,如果(parseGET('utm_source')==”)
,则使用

这有帮助吗

let utm_source = parseGET('utm_source');
if(!utm_source){
    utm_source = document.cookie
      .split('; ')
      .find(row => row.startsWith('utm_source='))
      .split('=')[1];
}
document.getElementById('utm_source').value = utm_source;
?

未经测试,您必须进行试验并输入正确的Cookie名称