我们已经实施了一个简单的GA实现,并且有一段时间,我们使用的唯一附加方法是setVar和setSessionTimeout。有没有办法可以切换到GA的跨域跟踪配置(某些链接通过_link方法连线),而不会丢失客户端系统上的现有跟踪数据?从以前的Google Analytics实施切换到跨域跟踪
我运行了很多测试,解决的问题越多,出现的问题就越多。简而言之:
预执行,客户端有这些cookie:__utm(a,b,c,z,v)。第一步是更改代码并添加_setAllowLinker和_setAllowHash方法,但这是抛出TypeError。我发现这可以通过在调用pageTracker方法之前删除__utmv cookie,然后再次调用_setVar来避免。
到位的新的代码似乎是工作确定没有出现任何的错误:
document.cookie = '__utmv=; expires=Tue, 22 Jun 2010 11:57:00 GMT;'+
' path=/; domain=XXXXXXX';
var pageTracker=_gat._getTracker(UA-XXXXXXXX);
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);
pageTracker._setSessionTimeout(XXXXX);
pageTracker._setVar(XXXXX);
pageTracker._trackPageview();
的饼干将被更新为不使用哈希值,因此它们的值现在可以使用跨域,但问题在于__utm cookies中的值已经用新值刷新,这意味着我们正在失去用户历史记录(并且新的访问将爆炸)。
例如,__utma:
- 前 - XX-散列值,XX.1379282990.1277294951.1277294951.1277294951.1
- 后 - 1.26318765.1277294984.1277294984.1277294984.1
如果它无法切换在不丢失用户历史记录的情况下跨域GA配置,有没有办法在点击到下一个域的链接上伪造它。也就是说,从cookie中构建链接URL并将所有哈希值前缀替换为1?
谢谢!