gpt4 book ai didi

google-analytics - 多个 GA 跟踪器获取彼此的变量

转载 作者:行者123 更新时间:2023-12-03 15:26:19 24 4
gpt4 key购买 nike

我需要拆分两个 GA 帐户的收集数据,让我们将它们命名为 UA-XXXXXXX-1 和 UA-XXXXXXX-2。为了实现这一点,我使用了来自 https://developers.google.com/analytics/devguides/collection/gajs/ 的示例代码(在“将命令推送到多个跟踪器也有效”文本下),这是我的代码:

    _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_setCustomVar', 1, 'customVar1', 'cv1', 1]);

_gaq.push(['second._setAccount', 'UA-XXXXXXX-2']);
_gaq.push(['second._trackPageview']);
_gaq.push(['second._setCustomVar', 2, 'customVar2', 'cv2', 1]);

它正在工作,但我在两个帐户中都有两个自定义变量。我真正需要的是仅为 UA-XXXXXXX-1 帐户跟踪 customVar1,仅为 UA-XXXXXXX-2 帐户跟踪 customVar2。任何想法如何实现这一点?

最佳答案

首先,_setCustomVar必须在之前_trackPageview .

现在你的问题:

发生这种情况是因为用户级别的自定义变量存储在 cookie 中。由于您的两个跟踪器共享相同的 cookie,因此第二个跟踪器将与第一个跟踪器上设置的变量一起发送。

您有 3 个选择。

1) 使用 Universal Analytics

正确的方法是使用 Universal Analytics。 Classic 中不正式支持多跟踪,因为它有问题,您可能已经注意到了。而且东西很容易坏。

在 Universal 上,所有自定义维度都在服务器端进行评估,因此支持此设置。自定义维度的 cookie 中不会存储任何数据。

例如:
如果您在 UA-XXXXXXX-1 上配置了维度 1和维度 2 上 UA-XXXXXXX-2通过管理界面。

ga('create', 'UA-XXXXXXX-1', 'auto');
ga('send', 'pageview', {
'dimension1': 'cv1'
});

ga('create', 'UA-XXXXXXX-2', 'auto', {'name': 'newTracker'});
ga('newTracker.send', 'pageview', {
'dimension2': 'cv2'
});

更多信息:
  • Universal Analytics Advanced Configuration / Multiple Tracking Objects
  • Universal Analytics Custom Dimensions and Metrics

  • 2) 保留经典分析,但使用 session 级 customVars

    如果您确实无法迁移到 Universal Analytics 并希望继续使用 Classic,则可以仅使用 session 级自定义变量来解决此问题。要使其工作,您只需要更改自定义 Var 的范围,如下所示(从 1 到 2)。

    与用户范围的自定义变量不同, session 范围的 CV 不会存储在 cookie 中。所以你会解决这个问题。缺点是该值仅对那个 session 有效,对来自同一用户的 future session 无效。
    _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
    _gaq.push(['_setCustomVar', 1, 'customVar1', 'cv1', 2]);
    _gaq.push(['_trackPageview']);


    _gaq.push(['second._setAccount', 'UA-XXXXXXX-2']);
    _gaq.push(['second._setCustomVar', 2, 'customVar2', 'cv2', 2]);
    _gaq.push(['second._trackPageview']);

    3) 保留经典和用户范围的 CV,但每个跟踪器使用不同的 cookie

    您可以将 GA 配置为创建 2 组 cookie,一组用于每个跟踪器,一组位于根域,另一组位于子域。

    如果您的网站是: http://www.example.net像这样设置您的跟踪器:
    _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
    _gaq.push(['_setDomainName', 'example.net']);
    _gaq.push(['_setCustomVar', 1, 'customVar1', 'cv1', 1]);
    _gaq.push(['_trackPageview']);


    _gaq.push(['second._setAccount', 'UA-XXXXXXX-2']);
    _gaq.push(['second._setDomainName', 'www.example.net']);
    _gaq.push(['second._setCustomVar', 2, 'customVar2', 'cv2', 1]);
    _gaq.push(['second._trackPageview']);

    必须在您网站的所有页面中完成。不止这个。这将确保每个跟踪器使用它的独立 cookieset,并且 customVars 不会从一个泄漏到另一个。

    请注意,如果没有 www. 也可以访问您的站点.例如: http://example.net/这将失败,并且没有解决方法。您不能在相同的域和路径中创建 2 组同名的 cookie。你就是不能。

    此外,如果您使用 _gaq.push(['_setDomainName', 'none']);_gaq.push(['_setAllowHash', false]); , 上面的技巧不起作用,cookies 会发生冲突。你的数据会很奇怪。只是不要这样做。你已经被警告过了。

    我不能强调这是没有保证的提供,如果您的数据损坏,则由您承担。多个跟踪器很棘手,这就是它从未得到官方支持的原因。

    更多信息:
  • ga.js API Reference Domains and Directories
  • 关于google-analytics - 多个 GA 跟踪器获取彼此的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23532377/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com