问题描述
我有一个 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 名称。