Firefox“糟糕请求”由损坏的谷歌跟踪cookie引起

时间:2010-02-05 10:27:04

标签: firefox google-analytics bad-request

我们的网站上存在一个问题,某些 Firefox用户在访问我们的网站时收到“错误请求”消息(没有其他内容,只有“错误请求”字样!)

这似乎是由于谷歌跟踪cookie损坏,可能是__utmz(一个人轮流删除谷歌cookie,一旦删除谷歌cookie,网站就恢复了生命。)

我们的网站使用此Javascript google跟踪代码:

    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

    try {
        var pageTracker = _gat._getTracker("UA-**********");
        pageTracker._trackPageview();
    } catch(err) {}

有时我们还会使用此功能创建一个不同的伪URL,以便在表单完成后在Google Analytics中跟踪:

  pageTracker._trackPageview('{$smarty.const.CONST_PAGE_URL}/complete');

{$smarty.const.CONST_PAGE_URL}只是输出真实的当前页面网址的一些模板代码。

最后,可能不相关,但是,对于我们的CRM中的交叉跟踪,我们还使用从https://lct.salesforce.com/sfga.js加载的Salesforce跟踪,这是从我们的页脚中的Javascript开始的,如下所示:

__sfga();

我从Firefox 3.5.7的用户那里得到了这个问题的报告 - 我不知道其他人(除了他们使用的是Firefox)。有谁知道可能导致这种情况的原因以及是否有任何方法可以阻止/避免它?

非常感谢 - BTW堆栈溢出岩石我经常使用它:O)

2 个答案:

答案 0 :(得分:2)

我们遇到了同样的问题,但这是由于电子邮件广告系列和电子邮件主题行中使用的“非标准”字符(扩展连字符),然后添加到utm_term变量中,使用访问该网站。这是由Google Analytics在网站上放入__utmz Cookie。使用例如Firefox的Web Developer插件查看您的cookie显示“不良角色”。

答案 1 :(得分:0)

我之前见过这个。我不知道是否有一个共同的原因,但我至少会在我熟悉的一个实例中解释原因(和修复)。

使用第三方广告跟踪系统会导致网站的访问者通过重定向网址传输 - 例如,Atlas Search,DoubleClick,SEM Director或此处的'Salesforce',我假设它类似,但您会必须验证。重定向网址可能会破坏附加到着陆页网址的GA跟踪参数。

假设您的着陆页网址为 http://www.onlinefun.com/?source=google&medium=ppc&campaign=shoes。 当该URL被添加到第三方跟踪系统进行重定向时,它当然会成为重定向URL的查询参数,例如: http://www.redirectdomain.com?http://www.onlinefun.com/?source= ....

这个网址现在有两个'?'在它 - 一个问题,因为你只允许一个(或至少你只允许一个表明后面有一个查询字符串)。

就像你的问题一样,我第一次看到这种行为时,大多数浏览器都没有受到影响。我不知道为什么不是所有浏览器都返回400,尽管我们能够解决问题。最初的快速修复是用'#'代替第二个'?'所以至少URL会处理。显然,更稳定的解决方案是使用编码的着陆页网址,如w3 schools tutorial中所述。