用于子域的Google分析代码跟踪器(跟踪两个页面)

时间:2011-10-17 19:04:56

标签: javascript google-analytics cross-domain

我在同一个域中有两个页面,但在两个不同的子域

  • french.domain.com/french.html
  • english.domain.com/english.html

现在将相同的分析跟踪代码放入两个页面,我的统计数据正确跟踪(我认为)

所以问题是,这是好方法吗?,如果这是两个完整的不同页面,如:

  • domain1.com/page1.html
  • domain2.com/page3.html

Google会正确跟踪该页面,我从不尝试,我通常会对每个域进行一次分析。 如果一个分析正确跟踪来自不同域的所有不同页面,为什么为所有页面/域制作多于1个?

这么多问题,答案不够

1 个答案:

答案 0 :(得分:4)

TL; DR:对于您的第一个示例,当且仅当您使用_setDomainName配置Cookie的根域时,两个站点都将正确跟踪。否则,两个域之间的流量会在每次从一个域移动到另一个域时创建“新”访问,从而导致访问次数和归因报告不准确(因为您自己的域名被视为外部推荐人。)

对于第二种情况,如果没有缓解,你将遇到与第一种情况相同的问题,但解决方案是一个名为_link的函数。

详细信息

默认情况下,Google Analytics根据2条规则运行,以确定其数据的一致性:

  1. 必须能够访问cookie。
  2. 访问后,Cookie必须具有正确的“域哈希”。
  3. Cookie访问根据浏览器Cookie的规则运行:根据您设置Cookie的域,可以通过子域访问它们。默认情况下,Google Analytics会在当前网站的域中设置这些Cookie。

    子站点

    如果是子域,则会为您提供一个功能,允许您配置应在哪个域上设置Cookie,_gaq.push(["_setDomainName","domain.com"]);此配置将设置Cookie,以便{{1}可以访问这些Cookie }和foo.domain.com,以及www.domain.com。但是,如果不在所有这些网站上一致使用那个确切的_setDomainName,您可能会遇到跟踪问题。例如,即使Google Analytics可以访问Cookie,它仍会检查当前(或已配置)域的“哈希”与存储的Cookie的“哈希”。如果它们不匹配,它将创建一组新的cookie,表示新的访问,将前一页设置为其引用者。 (这表现为“自我推荐”,您将自己的域名视为自己的顶级推荐人之一。)

    跨域

    对于跨域案例(domain1.com和domain2.com),事情要困难得多。由于这些是第一方Cookie,因此您无法在2个域中共享Cookie。一旦有人过渡到第二个域,访问过程中的cookie将无法访问,因此Google Analytics将创建一个新访问,将其来源归为第一个域。

    如果2个站点在概念上非常独立,并且您希望完全单独跟踪这两个站点之间的流量(即使您将数据存储在同一个配置文件中),也可以。

    但是,如果跨这两个域的统一数据至关重要(例如,第一个域包含您的目标网页,第二个域包含您的结帐页面),那么您无需使用特殊的Google Analytics功能{{{ 3}},与_link设置为domain.com一致,将Google Analytics Cookie附加到查询字符串中,并指示接收网站将其Cookie设置为这些值。

    更改`_setDomainName`值

    如果您对跟踪三级子域(例如true)感兴趣,则需要将american.english.example.com配置为领先期。 (即_setDomainName代替.example.com)。

    这样做的缺点是由它产生的“哈希”将不再匹配根级域上的“默认”哈希。也就是说,如果到目前为止,您还没有使用example.com,将其更改为具有领先期限的一个将导致您的所有“过去”Cookie丢失,这意味着您的返回访问指标将会减少可靠。