【问题标题】:_trackEvent on two accounts/subdomains, only one tracks properly两个帐户/子域上的 _trackEvent,只有一个正确跟踪
【发布时间】:2012-03-19 15:12:10
【问题描述】:

我想在其单独的 Google Analytics 帐户以及 www.domain.com 的主帐户上跟踪 blog.domain.com。

在 blog.domain.com 上head 的 GA sn-p:

var request_uri = '/blog/article0001/';
_gaq.push(
    // blog.domain.com
    ['_setAccount', 'UA-99999990-1'],
    ['_trackPageview'],
    // www.domain.com
    ['maintracker._setAccount', 'UA-99999991-1'],
    ['maintracker._setDomainName', '.domain.com'],
    ['maintracker._trackPageview', '/blog' + request_uri]
);

当使用 Ajax 发布博客评论时:

_gaq.push(
    // blog.domain.com
    ['_trackPageview', request_uri + 'commented/'],
    ['_trackEvent', 'Comment', 'Added comment',
    'Article title', ga_event_value],
    // www.domain.com
    ['maintracker._trackPageview', '/blog' + request_uri + 'commented/'],
    ['maintracker._trackEvent', 'Blog - Comment', 'Added comment',
    'Article title', ga_event_value]
);

所有四个 _trackPageView 工作正常。 _trackEvent 适用于 blog.domain.com,但不适用于 maintracker

GA 报告“您的访问中有 123 个发送了事件”,但统计数据中实际上没有显示任何事件。事件触发后,我已经等了 48 小时。

Google Analytics Debugger for Chrome 报告_gaq.push processing : "[maintracker._trackEvent,Blog - Comment,Added comment,Article title,2]"Tracking beacon sent!

主站点 www.domain.com 上的跟踪代码如下所示:

_gaq.push(
    ['_setAccount', 'UA-99999991-1'],
    ['_setDomainName', '.domain.com'],
    ['_trackPageview'],
);

【问题讨论】:

  • 您是否尝试在第二个事件中删除破折号?我已经看到带有破折号的事件的编码问题导致它被丢弃。请改用“博客 > 评论”

标签: google-analytics analytics


【解决方案1】:

取出:

['maintracker._setDomainName', '.domain.com'],

它正在覆盖domain.com的跟踪cookie

在没有_setDomainName的情况下设置了多个跟踪器

_gaq.push(
  ['_setAccount', 'UA-XXXXX-1'],
  ['_trackPageview'],
  ['b._setAccount', 'UA-XXXXX-2'],
  ['b._trackPageview']
);

One Push, Multiple Commands

似乎无法同时添加跨域跟踪和多个跟踪器。见:

Pitfalls of Tracking to Multiple Accounts in Google Analytics

How do you setup cross domain tracking when using multiple analytics trackers?

【讨论】:

  • 谢谢jk。你确定这是正确的吗? Google Analytics Help: Tracking Across a Domain and Its Subdomains 表示“即使您同时管理域和子域,您也必须修改跟踪代码才能在两个域之间共享访问者数据”。
  • @elaxsj 做一个或另一个。您正在将同一页面转储到 两个 不同的配置文件中。跨域跟踪转储到一个配置文件中。
  • 那么我想要实现的目标是不可能的?它似乎适用于综合浏览量,但不适用于事件。
  • @elaxsj 它适用于综合浏览量,因为它会在您更改 cookie 之前发送它。更改 cookie 后的事件跟踪。
  • 谢谢,现在我明白了。跨域追踪是最重要的,那么我就用这个账号作为无名追踪者和setDomainName.domain.com,只追踪这个事件。但是我可以为博客添加一个简单的额外跟踪器,只使用_setAccount_trackPageview 吗?由于用户权限问题,我想在完全不同的帐户上跟踪博客上的页面浏览量,而不是使用主机名过滤器在主帐户上创建不同的配置文件。
【解决方案2】:

经过更多测试,发现确实可以将多个跟踪器与跨子域跟踪结合使用

问题不在于跟踪代码,而在于 www.domain.com 帐户上存在拼写错误的过滤器。

所以我可以确认以下内容确实有效:

www.domain.com:

_gaq.push(
    // www.domain.com
    ['_setAccount', 'UA-99999991-1'],
    ['_setDomainName', '.domain.com'],
    ['_trackPageview'],
);

blog.domain.com:

var request_uri = '/blog/article0001/';
_gaq.push(
    ['_setAccount', 'UA-99999990-1'],
    ['_setDomainName', '.blog.domain.com'], // Not required, but gives overview
    ['_trackPageview'],
    // www.domain.com
    ['maintracker._setAccount', 'UA-99999991-1'],
    ['maintracker._setDomainName', '.domain.com'],
    ['maintracker._trackPageview', '/blog' + request_uri]
);

Analytics 似乎抓取了所有 utm cookie,为每个跟踪器选择正确的 cookie(基于所有 cookie 值开头的哈希),然后正确地写入正确域上的 cookie。不错!

【讨论】:

    猜你喜欢
    • 2013-02-05
    • 2012-01-03
    • 2012-10-01
    • 2020-05-13
    • 2014-05-02
    • 2013-04-12
    • 2013-01-08
    • 2011-12-09
    • 1970-01-01
    相关资源
    最近更新 更多