跨网域跟踪(Google Analytics(分析)和 Universal Analytics)

Google 跟踪代码管理器简化了 Google Analytics(分析)中的跨网域跟踪。利用跨网域跟踪功能,您可以将多个顶级域名作为一个实体进行跟踪,从而把多个顶级域名的数据整合到相同的 Google Analytics(分析)报告中。我们在这里通过两个示例域名 A.comB.com 来讲解相应功能。

概述

一般情况下,当用户转而点击新的域名时,系统会建立新的会话并设置第一方 Cookie。要保留第一个网域中的会话信息,您需要将 Cookie 从第一个网域传递到第二个网域,而第二个网域需要对此进行授权。如果未使用 Google 跟踪代码管理器,您需要在所有指向 B.com 的链接中使用 _link_linkByPost API 才能传递 Cookie 值。您还需要在 B.com 上使用 setAllowLinker 来允许 Cookie 的传递。

Google 跟踪代码管理器提供两种实现跨网域跟踪的方式:自动事件跟踪自动链接域。这两种方式都能简化在 Google Analytics(分析)中进行跨网域跟踪的过程。

自动事件跟踪 自动链接域
兼容工具 Google Analytics(分析)和 Universal Analytics 仅 Universal Analytics
所需设置 创建具有以下作用的监听器代码:先触发事件,然后根据这些事件触发装饰链接代码和装饰表单代码。 选择针对 Universal Analytics 代码的“自动链接域”选项。
用途 跨网域跟踪、Google Analytics(分析)事件等(触发任意代码以响应监听器事件) 仅用于跨网域跟踪
灵活/简单程度 最为灵活,但需要设置额外的代码 易于启用,但不够灵活

自动事件跟踪

Google 跟踪代码管理器提供事件监听器代码(链接点击监听器表单提交监听器),Google 跟踪代码管理器可以通过这些代码检测到链接点击或表单提交事件。这些监听器代码会监听所有链接点击和表单提交事件。您需要设置 Google Analytics(分析)装饰链接代 码(或者 Universal Analytics 装饰链接代码)以及监听规则,对指向 B.com 的链接所获得的点击进行监听。使用户跳转到新的网站之前,Google Analytics(分析)装饰链接代码会将来自 A.com 会话的 Cookie 值附加到 B.com 的网址上。您在 B.com 上的 Google Analytics(分析)浏览量代码设置了“允许链接器”选项,允许 Cookie 值传递到 B.com。

自动事件跟踪是非常灵活的功能,您不仅可以发起跨网域跟踪来响应事件监听器,还可以执行其他操作,例如触发 Google Analytics(分析)事件来响应链接点击或表单提交。与下文介绍的自动链接域方法相比,自动事件跟踪的设置工作更为复杂,但您可以通过这种方法触发多种代码。

自动链接域

Universal Analytics 浏览量代码的自动链接域选项允许自动发送 Cookie 值,而 allowLinker 字段设置则提供了 B.com 的必要授权。在进行跨网域跟踪时,自动链接域是更为简便的选项,但是,此选项不如上文介绍的自动事件跟踪方法灵活。自动链接域只能与 Universal Analytics 配合使用。

分步说明

下面提供了自动事件跟踪和自动链接域的分步说明:

从 A.com 到 B.com 的点击(自动事件跟踪)

在 A.com 的容器中:

  1. 添加基本的网页跟踪代码(即:代码类型为 Google Analytics(分析)Universal Analytics;跟踪类型为浏览量)(如果尚未设置)。此代码必须在所有网页中触发。
  2. 如果您为 A.com 和 B.com 使用了相同的容器,或者您想允许双向跨网域跟踪(即:从 B.com 链接到 A.com),请按以下步骤操作:在基本网页跟踪代码的域和目录中,选中允许链接器复选框。
  3. 添加类型为事件监听器 > 链接点击监听器的代码。您可以将其命名为“链接点击监听器”。添加一个“所有网页”的触发规则。
  4. 为 B.com 的出站链接添加一个规则。例如,您可以创建名为“对 B.com 的点击”的规则并输入以下条件: {{event}} equals gtm.linkClick
    {{element url}} contains B.com

    注意事项:旧版容器(通常是在2013年10月1日之前创建的容器)不会预定义 {{element url}} 宏。要定义此宏,请创建一个新的宏,将宏的名称设置为“element url”,宏的类型设置为自动事件变量,将变量类型设置为元素网址

    如果您需要为指向一系列域名(包括当前域名在内,例如 A.com、B.com、C.com、D.com)的链接创建规则,请参阅下方的为装饰链接/表单创建规则

  5. 添加 Google Analytics(分析)代码(即:代码类型为 Google Analytics(分析)Universal Analytics;跟踪类型为装饰链接)。为代码命名(例如“跨购物车链接衡量”)。将您在前一步骤中创建的规则添加为触发规则(例如“对 B.com 的点击”)。如果您想允许双向跨网域跟踪(即:从 B.com 链接到 A.com),请按以下步骤操作:在域和目录中,选中允许链接器复选框。
  6. 保存一个容器版本并发布。

如果您为 B.com 使用了单独的容器,请在 B.com 的容器中执行以下操作

  1. 添加基本的网页跟踪代码(即:代码类型为 Google Analytics(分析)Universal Analytics;跟踪类型为浏览量)(如果尚未设置)。此代码必须在所有网页中触发。
  2. 在此代码的域和目录下,选中允许链接器复选框。
  3. 保存一个容器版本并发布。

从 A.com 到 B.com 的点击(自动链接域)

在 A.com 的容器中,执行以下操作

  1. 添加(或修改现有的)基本的网页跟踪代码(即:代码类型为 Universal Analytics;跟踪类型为浏览量)。
  2. 如果您为 A.com 和 B.com 使用了相同的容器,请在“要设置的字段”下输入以下内容:
    字段名称:allowLinker
    :true
  3. 找到字段更多设置 > 跨网域跟踪 > 自动链接域并输入“B.com”(不带引号)。
    B.com
    如果您有多个域名,请用逗号分隔:
    A.com, B.com, C.com
  4. 将触发规则设置为“所有页面”。
  5. 保存一个容器版本并发布。

如果您为 B.com 使用了单独的容器,请在 B.com 的容器中执行以下操作

  1. 添加(或修改现有的)基本的网页跟踪代码(即:代码类型为 Universal Analytics;跟踪类型为浏览量)。
  2. 在“要设置的字段”下输入以下内容:
    字段名称:allowLinker
    :true
  3. 保存一个容器版本并发布。

从 A.com 到 B.com 的表单提交(自动事件跟踪)

在 A.com 的容器中,执行以下操作

  1. 添加基本的网页跟踪代码(即:代码类型为 Google Analytics(分析)Universal Analytics;跟踪类型为浏览量)(如果尚未设置)。此代码必须在所有网页中触发。
  2. 如果您为 A.com 和 B.com 使用了相同的容器,或者您想允许双向跨网域跟踪(即:从 B.com 链接到 A.com),请按以下步骤操作:在基本网页跟踪代码的域和目录中,选中允许链接器复选框。
  3. 添加类型为事件监听器 > 表单提交监听器的代码。您可以将其命名为“表单提交监听器”。添加一个“所有网页”的触发规则。
  4. 为 B.com 的出站链接添加一个规则。例如,您可以创建名为“开始结帐”的规则并输入以下条件: {{event}} equals gtm.formSubmit
    {{element url}} contains B.com

    注意事项:旧版容器(通常是在2013年10月1日之前创建的容器)不会预定义 {{element url}} 宏。要定义此宏,请创建一个新的宏,将宏的名称设置为“element url”,宏的类型设置为自动事件变量,将变量类型设置为元素网址

    如果您需要为指向一系列域名(包括当前域名在内,例如 A.com、B.com、C.com、D.com)的链接创建规则,请参阅下方的为装饰链接/表单创建规则

  5. 添加 Google Analytics(分析)代码(即:代码类型为 Google Analytics(分析)Universal Analytics;跟踪类型为装饰表单)。为代码命名(例如“跨购物车链接衡量”)。将您在上一步中创建的规则添加为触发规则(例如“开始结帐”)。如果您想允许双向跨网域跟踪(即:从 B.com 链接到 A.com),请按以下步骤操作:在域和目录中,选中允许链接器复选框。
  6. 保存一个容器版本并发布。

如果您为 B.com 使用了单独的容器,请在 B.com 的容器中执行以下操作

  1. 添加基本的网页跟踪代码(即:代码类型为 Google Analytics(分析)Universal Analytics;跟踪类型为浏览量)(如果尚未设置)。此代码必须在所有网页中触发。
  2. 在此代码的域和目录下,选中允许链接器复选框。
  3. 保存一个容器版本并发布。

从 A.com 到 B.com 的表单提交(自动链接域)

在 A.com 的容器中,执行以下操作

  1. 添加(或修改现有的)基本的网页跟踪代码(即:代码类型为 Universal Analytics;跟踪类型为浏览量)。
  2. 如果您为 A.com 和 B.com 使用了相同的容器,请在要设置的字段下输入以下内容:
    字段名称:allowLinker
    :true
  3. 找到字段更多设置 > 跨网域跟踪 > 自动链接域并输入“B.com”(不带引号)。
    B.com
    如果您有多个域名,请用逗号分隔:
    A.com, B.com, C.com
  4. 将触发规则设置为“所有页面”。
  5. 保存一个容器版本并发布。

如果您为 B.com 使用了单独的容器,请在 B.com 的容器中执行以下操作

  1. 添加(或修改现有的)基本的网页跟踪代码(即:代码类型为 Universal Analytics;跟踪类型为浏览量)。
  2. 要设置的字段下输入以下内容:
    字段名称:allowLinker
    :true
  3. 保存一个容器版本并发布。

为装饰链接/表单创建规则

如果您的装饰链接或装饰表单代码的触发规则需要用于多个域名,并且其中一个域名可能是当前的域名,那么您可以创建一个名为“is cross domain”的自定义 JavaScript 宏:

function() {
  var domains = ['a.com', 'b.com', 'c.com', 'd.com'];
  var linkHost = {{element}}.hostname || '';
  if (linkHost != '' && linkHost != document.domain) {
    for (var i = 0; i < domains.length; i++) {
      if (linkHost.indexOf(domains[i]) >= 0) return true;
    }
  }
  return false;
}

然后,按照如下所示创建您的规则条件:

{{event}} equals gtm.linkClick
{{is cross domain}} equals true

发表回复