分组并以路由方式发送数据

添加 Google 代码 (gtag.js) 时,可将其配置为以路由方式将数据发送到特定的账号或产品组。Google 效果衡量产品的各个效果衡量解决方案都可以在同一代码块中进行完整配置。本指南介绍了如何使用 send_togroups 参数将 Google 代码配置为将数据发送到特定的产品、账号和配置。

默认路由

您的 Google 代码中包含一个用于处理路由的 config 命令。例如,当您添加包含代码 ID 的 Google 代码时,以下代码段会将数据发送到您的 Google Analytics(分析)4 账号和/或 Google Ads 账号:

gtag('config', 'TAG_ID');

您可以通过向 event 命令添加 send_to 参数来替换 Google 代码(或网页上之前的任何路由指令)中指定的路由。

例如,以下 sign_in 事件仅会发送到目标账号 ID'G-XXXXXX-2' 的 Google Analytics(分析)媒体资源,无论网页上之前配置了哪些目标,都是如此。

gtag('event', 'sign_in', { 'send_to': 'G-XXXXXX-2' });

有时您可能需要将某些信息发送到一组账号或产品,并将其他一些信息发送到另一组账号或产品。例如,您可能希望向广告代理机构发送有关特定营销广告系列的信息,同时为您的组织保留更完整的数据。这种情况下,就可以使用 groups 进行统筹安排,从而实现这样的功能。

您可以创建一组目标(例如产品、账号和媒体资源),然后以路由方式将事件发送到这组目标。

在下例中,系统会将两项 Google Analytics(分析)媒体资源添加到一个名为 group1 的组中。然后,将 sign_in 事件以路由方式发送到该组中的两项媒体资源。

gtag('config', 'G-XXXXXX-1', { 'groups': 'group1' });
gtag('config', 'G-XXXXXX-2', { 'groups': 'group1' });

// Routes to 'G-XXXXXX-1' and 'G-XXXXXX-2'
gtag('event', 'sign_in', { 'send_to': 'group1' });

默认组

如果未设置 send_to 参数,事件会以路由方式发送到 default 目标组。default 组中包含网页上在相应事件发生之前执行的 config 命令中的所有产品和账号。即使 config 命令中没有指定 groups 参数,系统也会将目标分配给 default 组。

// The following two lines are equivalent:
gtag('config', 'G-XXXXXX-1');
gtag('config', 'G-XXXXXX-1', { 'groups': 'default' });

接下来这个示例说明,无论是否指定 {'send_to : 'default'},事件都会发送至 default 组。

// Configure a target
gtag('config', 'G-XXXXXX-1');

// Since send_to is not specified, this routes to the 'default' group which
// includes 'G-XXXXXX-1', as defined in config, above.
gtag('event', 'sign_in');

// By default, routes to the 'default' groups which includes
// 'G-XXXXXX-1', as defined in config, above.
gtag('event', 'generate_lead', { 'send_to': 'default' });

以路由方式发送到自定义 groups

借助 groups,您可以指定应以路由方式发送到一组特定 ID 的特定数据。以下代码示例说明了如何以路由方式将 sign_in 事件数据发送到名为 agency 的自定义组。

// Configure a target
gtag('config', 'G-XXXXXX-1');
gtag('config', 'G-XXXXXX-3', { 'groups': 'agency' });
gtag('config', 'G-XXXXXX-9', { 'groups': 'agency' });

// Routes only to 'G-XXXXXX-3' and 'G-XXXXXX-9' since they
// are both in the 'agency' group
gtag('event', 'sign_in', { 'send_to': 'agency' });

示例:同时配置 Google Ads、Google Analytics(分析)、Floodlight

您可以在同一段 Google 代码中针对 Google Ads、Google Analytics(分析)和 Floodlight 创建完整配置。下例展现了组合后的代码大致是什么样的。该示例演示了以下过程:

  • 将网页浏览数据发送到 Google Analytics(分析)
  • 衡量 Google Ads 和 Floodlight 转化情况
  • 将添加到购物车中的商品的相关信息发送到 Google Analytics(分析)和 Google Ads
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID">
</script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  // Global configs
  gtag('config', 'TAG_ID');
  gtag('config', 'DC-ZZZZZZ');

  // Measure Google Ads conversions
  gtag('event', 'conversion', {
      'send_to': 'AW-YYYYYY/AbC-D_efG-h12_34-567',
      'value': 1.0,
      'currency': 'USD'
  });

  // Measure Floodlight conversions
  gtag('event', 'conversion', {
    'allow_custom_scripts': true,
    'send_to': 'DC-ZZZZZZ/actions/locat304+standard'
  });

  // Route ecommerce add_to_cart event to Google Ads and Analytics
  gtag('event', 'add_to_cart', {
    'send_to': [
      'G-XXXXXX-1',
      'AW-YYYYYY'
    ],
    'items': [
      'id': 'U1234',
      'ecomm_prodid': 'U1234',
      'name': 'Argyle Funky Winklepickers',
      'list': 'Search Results',
      'category': 'Footwear',
      'quantity': 1,
      'ecomm_totalvalue': 123.45,
      'price': 123.45
    ]
  });
</script>