我在www.example.com上有一个网站并使用Google Analytics.我还设置了static.example.com,它提供所有静态内容.
问题是GA的默认行为是在".example.com"上发布cookie,但我不希望静态内容流量承载GA cookie的权重.
我试过了pageTracker._setDomainName("none"); 并且它对于cookie问题很有效,但它完全弄乱了"平均时间"报告(从平均5分钟开始直到我恢复_setDomainName调用的那一天达到40分钟).
知道为什么会这样,我该怎么办呢?
解决方案是做pageTracker._setDomainName("www.example.com")
,然后GA将发布cookie到".www.example.com".这样分析仍然可以正常工作,并且cookie不会泄漏到其他静态子域中.
Google Analytics会将所有会话数据存储在Cookie中,以帮助其"记住"以前的网页浏览量.函数调用pageTracker._setDomainName(".example.com")
告诉每个站点为主机example.com(而不是它们自己的子域)存储cookie,以确保能够访问彼此的数据.
pageTracker._setDomainName("none")
只有当您的网站跨越多个不同的域名时才需要该表单.
none
在以下两种情况下将此方法设置为:* You want to disable tracking across sub-domains. * You want to set up tracking across two separate domain names.跨域跟踪需要配置
_setAllowLinker()
和_link方法.
为了回答您的问题,Google Analytics使用基于第一方的Cookie来收集数据.当您希望静态内容的流量显示在GA中时,您也必须为其提供Cookie.为避免此问题,您可以选择像Urchin这样的服务器解决方案来解析服务器日志文件而不是处理cookie.