Salesforce 在线潜在客户表单在浏览多个页面后收集 UTM 数据

问题描述

我有一个 Salesforce 在线潜在客户表单,用于收集 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>

解决方法

这里没有任何东西可以真正设置 cookie,对吧?或者从中读取。

我从来没有主动使用过 Google 标签管理器,而且你说的东西已经设置了 cookie...

我的直觉认为你需要像 <ul> <li><a class="active" target="frame" href="GoldenBird.html">Golden Bird</a></li> <li><a class="active"target="frame" href="hansinluck.html">Hans In Luck</a></li> </ul> <iframe name="frame" ></iframe> 这样的东西,然后使用 https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie 中的函数

这有帮助吗?

if(parseGET('utm_source') == "")

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...