【问题标题】:Cross Domain Google Analytics Showing Multiple Users跨域谷歌分析显示多个用户
【发布时间】:2016-05-19 15:25:14
【问题描述】:

我正在使用分析来跟踪点击次数和查看次数,但由于设置笨拙(也使用 iframe),因此使用了 2 到 4 个域。我想跟踪它们中的每一个,就像它们是一个站点一样。

我知道您可以设置链接器来创建将 cookie 数据从一个域传输到另一个域的链接。

我的问题:将加载的每个域更有可能从其他地方链接到,而不是在站点内,因此链接器将无法正常工作。如果我同时查看两个页面,它会将我记录为两个用户,因为创建了两个 cookie。

将它们带到我无法控制的每个可能网址的链接,因此无法添加链接器。

有谁知道如何通过分析在一个帐户上显示两个域,这样它就不会被视为两个用户?

这是我目前拥有的代码(有几个版本)

(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-XXXXXXXX-X', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['url1', 'url2', 'url3']);
ga('send', 'pageview');

谢谢!!

添加:

对不起,会有点像这样:

网站 1 - 主要网站 www.mywebsite.com

网站 2 - 博客网站 www.blogs.com/myblog

这是两个完全独立的网站,您可以独立访问任何一个网站,而不仅仅是它们之间的链接。

通过链接,您可以允许之间的链接保持相同的 cookie,因此它在覆盖两个站点的相同跟踪代码中注册为一个用户。

我希望它在您独立访问网站时注册为一个用户。

设置并不重要,只要它使用相同的跟踪代码,这样我就可以在一个地方跟踪两个网站的点击次数和浏览量……

我希望这是有道理的……

【问题讨论】:

  • 如果您的设置确实很尴尬,那么您可能不会找到一刀切的解决方案。如果您确实希望有人能够提供帮助,您需要更具体地了解您的设置。
  • 上面添加了回复....谢谢
  • 在这一行ga('linker:autoLink', ['url1', 'url2', 'url3']); 您使用的是 URL 还是域?你应该展示你的实际代码而不是解释,因为这可能是问题所在。
  • Hi Phil.. 每个页面上的代码与上面的相同,由于客户的机密性,我没有放网址,但它们例如'mywebsite.com','blog .myotherwebsite.com' 等。但是,根据下面的回答,我找到了解决方法

标签: google-analytics cross-domain


【解决方案1】:

我设法让它工作.. 我无法以通常的方式让它工作,所以我设法使用用户 ID 选项。

默认情况下,您可以根据用户/域/浏览器等生成cookie,您可以设置自己的ID。然后,这允许您在多个设备和浏览器上跟踪同一用户,只要您可以为用户分配相同的 ID...

我选择将用户 ID 基于用户的 IP 地址,如下所示:

$.get("http://ipinfo.io", function(response) {
    var myIp = "";
    if(typeof response.ip!='undefined'){myIp="ID"+response.ip;myIp = myIp.replace(/\./g, "");}

    (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-xxxxxxx-x', 'auto');
    ga('set', '&uid', myIp);
    ga('send', 'pageview');

}, "jsonp")

到目前为止,这似乎工作得很好,即使他们在同一网络上使用多个浏览器/移动设备,也可以在所有网站上跟踪同一个人。唯一的缺陷是多个用户使用同一个 IP 地址,这不太可能发生,也不值得担心这种罕见的情况..

【讨论】:

  • 不同用户使用相同的 IP 实际上很常见 - IP 通常是动态分配的,因此它们会在访问之间更改并重新分配给其他人,并且许多人坐在路由器后面,整个组织共享一个公共 IP。另外,您违反了用户 ID 功能的 Google TOS(这可能导致您的帐户终止),其中规定您必须仅在用户许可的情况下使用用户 ID 功能。此外,您可能违反了欧盟法律,因为 IP 地址可能被视为不得存储的个人身份信息。
  • userID 功能背后的最初想法是 userId 由后端系统提供给登录用户。如果 IP 地址是区分用户的可靠方法,那么首先在 GA 中就不需要客户端 ID,或者实际上是用户 ID。
  • 感谢 Eike 在那里的输入,如果确实不允许您收集 IP 地址 - 当 IP 存储到其他唯一的东西中时,IP 实际上已更改,但基于 IP 生成 - 所以我会检查一下,如果是的话就改变 - 谢谢。另外,我知道没有必要这样做 - 理想情况下,它会将用户显示为两个站点上的同一个人,因此不需要这样做。这可能是一个分析缺陷,或者纯粹是因为我有一个非常奇怪的设置,这意味着它不能那样工作 - 否则我不需要解决它..
猜你喜欢
  • 2012-11-03
  • 2018-11-02
  • 2015-04-07
  • 2018-10-05
  • 1970-01-01
  • 2016-08-18
  • 2014-05-12
  • 2013-10-10
  • 1970-01-01
相关资源
最近更新 更多