Kub*_*der 55 javascript cookies google-analytics widget
我正在编写一个应该嵌入其他人的网站(一种小部件)的Web应用程序.我正在使用Google Analytics跟踪在嵌入网站上访问我脚本的所有实例的所有人.问题是我不知道如何使用它,因此它不会干扰这些网站自己的Google Analytics帐户.我将跟踪器变量存储在命名空间中,所以我认为应该这样做,但我没有意识到GA将其设置存储在cookie中(__ utma,__ utmz等),并且这些cookie由两个跟踪器使用,如果在同一页面上有两个...例如,如果我使用_setVar在Google Analytics中存储某种用户定义的变量,并且嵌入网站也是如此,我们会覆盖彼此的值......
当然,如果谷歌提供了一种将cookie的名称更改为自定义的方法,那将是最简单的,但我找不到任何方法来做到这一点.我想过使用cookie域或路径强制单独的cookie,但这不起作用,因为如果我将域或路径设置为真实域/路径以外的其他内容,则重新加载后该页面的cookie不可读. ..
有没有人知道在一个页面上有两个跟踪器并让它们使用单独的cookie以便它们不会覆盖彼此的设置?
或者,如果那是完全不可能的 - 是否有任何其他分析服务具有与GA类似的功能?(它必须具有事件和广告系列跟踪等高级功能......)
Pau*_*son 56
现在,使用新的异步跟踪代码可以轻松实现.:)
https://developers.google.com/analytics/devguides/collection/gajs/#MultipleCommands
小智 18
您可以在网页上安装多个Google Analytics跟踪代码实例,以便将数据发送到您帐户中的多个媒体资源. https://support.google.com/analytics/answer/1032400?hl=en
或者您可以根据Google的说明发挥创意并执行以下操作.https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#multipletrackers
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-Y', 'auto');
ga('create', 'UA-XXXX-Y', 'auto', {'name': 'newTracker'});
ga('send', 'pageview');
ga('newTracker.send', 'pageview');
</script>
Run Code Online (Sandbox Code Playgroud)
Tör*_*bor 10
不必使用不同的Cookie名称,因为Google Analytics可以在同一页面上与多个跟踪器配合使用.查看问题解答Google Analytics - 多个帐户的多个跟踪器?.
更新
事实证明,使用多个跟踪器是一种工作方法,但有一些陷阱.其中之一就是,您不能为每个用户细分应用不同的用户细分.John Henson演示了一种强制GA使用不同cookie的解决方法,可能是您应该检查它.
小智 8
如果有人仍然有这个问题,并希望轻松粘贴,我的问题是使用我自己的谷歌跟踪我的代码,该代码被添加到可能也在使用谷歌跟踪的其他人的页面.我测试了这个并确认它按预期工作:
var _gaq = _gaq || [];
_gaq.push(['some_unique_name._setAccount', 'UA-xxxxxxxx-1']);
_gaq.push(['some_unique_name._trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
Run Code Online (Sandbox Code Playgroud)
我也在使用事件
_gaq.push(['some_unique_name._trackEvent', 'Event Category', 'Event Action', 'Event Label']);
Run Code Online (Sandbox Code Playgroud)
如果有人发现问题,请告诉我.
| 归档时间: |
|
| 查看次数: |
58693 次 |
| 最近记录: |