有人跟着博客链接(比如
http://blog)来到我的网站(比如
http://mysite/a.php).
所以现在她在http://mysite/a.php页,referer设置为http://blog
现在页面http://mysite/a.php上有JavaScript,它执行以下重定向:
document.location = "http://mysite/b.PHP; //This is executed before any Google Analytics script.
现在在http://mysite/b.php的请求中,referer设置为http://mysite/a.php.
因此(我认为如此),我的Google Analytics会显示来自http://mysite/a.php的所有流量.
解决方法
编辑:新的,推荐的方式
Google Analytics现在有一个特殊的网址参数utm_referrer,您可以将引荐传递到您要重定向到的网页;这样做将模拟与下面相同的行为,而不需要弄乱cookie或功能.
在您的示例中,您将使代码说:
document.location = "http://mysite/b.PHP?utm_referrer=" + encodeURIComponent(location.href); ;
旧的,更难但功能性的方式
Google Analytics(分析)有一个名为setRefererOverride()的功能.如果您设置它,它将覆盖它跟踪的引用者值到您设置的任何值.
best way to do this是在重定向之前将真实的引用者存储在cookie中,如下所示:
document.cookie = "realreferrer="+encodeURIComponent(document.referrer)+"; path=/";
然后,读取页面上的cookie值.如果设置了cookie,请在您的综合浏览页面之前调用该函数.
var realreferrer = readCookie("realreferrer"); //using a readCookie function of some kind if (realreferrer) { _gaq.push(['_setReferrerOverride',realreferrer ]); //if using the old code,use pageTracker._setReferrerOverride(realreferrer); }