【发布时间】:2011-01-24 20:03:09
【问题描述】:
我正在尝试根据多种因素在网站上提供不同的电话号码,以便我们根据用户到达页面的方式来跟踪呼入电话。
- 通过检查“?provider=”查询字符串来检查用户是否来自广告,如果存在则提供广告号码
- 如果没有,请检查 userAgent 以向机器人提供“默认”号码
- 如果 userAgent 不是机器人,请检查推荐人并根据常见的 SERP 点击提供不同的跟踪号
此站点无法运行服务器端脚本,因此必须使用 javascript 来完成(我对此相当缺乏经验)。我拼凑了一些零碎的东西,但最终希望将所有内容组合在一起并在一个可以在页面加载时调用的 .js 文件中一起工作。
这是我目前所拥有的:
<script type="text/javascript">
//Querystring to check if paid session or organic
function providercheck() {
var str= location.href;
if (str.indexOf("?provider=") > -1) {
document.write("paid phone number");
}
else {
botcheck();
}
}
//Check userAgent to serve organic number to bots
function botcheck() {
if(navigator.userAgent.toLowerCase().indexOf("googlebot") <= -1) {
document.write("default phone number");
}
else {
refcheck();
}
}
//Check for referrer and serve number based on last referrer
function refcheck() {
var last_referrer = document.referrer;
if (last_referrer.indexOf("google") > -1) {
document.write("google tracking number");
}
else if (last_referrer.indexOf("yahoo") > -1) {
document.write("yahoo tracking number");
}
else {
document.write("default number");
}
}
</script>
非常感谢任何帮助或指导。我还需要设置一个会话 cookie 以继续提供相同的号码,直到用户离开网站,但我想先让它工作
【问题讨论】:
-
您应该在服务器上执行此操作。
-
我希望我能,但我不仅没有服务器访问权限,而且我没有能力运行 php 脚本或类似的东西。
-
@Sean 更改服务器,不是吗?任何客户端解决方案都容易出错,而且您会通过代码公开所有号码。你真的需要这个吗?
-
我在为数百个模板站点提供服务的 CMS 的限制范围内工作,我无法更改/修改服务器设置。只要我为蜘蛛/机器人提供“默认”数字(通过用户代理检查),我就可以接受代码中公开的数字。我知道这将是一场艰苦的战斗,无论如何都不会是防弹的,但这是我必须努力的。
-
你并没有在其中散布那些流浪的
</script>结束标签,是吗?
标签: javascript bots referrer user-agent