以路由方式发送数据

添加了 gtag.js 之后,您可以将其配置为(以路由方式)向成组的帐号或产品发送数据。Google Ads 和 Google Marketing Platform 的完整衡量解决方案都可以在这段代码中加以配置。本指南介绍了如何使用 gtag.js 命令借助 send_to 参数和 groups 将数据发送到特定的产品、帐号和配置。

默认路由

每个全局代码段中均包含一个 config 命令来处理路由。例如,Google Analytics(分析)全局代码段就会将 gtag.js 配置为将数据发送到指定的 Google Analytics(分析)帐号:

gtag('config', 'GA_MEASUREMENT_ID-1');

您可以通过向 event 命令添加 send_to 参数来替换全局代码段(或网页上之前的任何路由指令)中指定的路由。例如,以下 sign_in 事件仅会发送到 Google Analytics(分析)媒体资源 'GA_MEASUREMENT_ID-2',无论网页上之前配置了哪些目标,都是如此。

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

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

您可以创建一组目标(例如产品、帐号和媒体资源),然后以路由方式将事件发送到这组目标。在下例中,系统会将两项 Google Analytics(分析)媒体资源添加到一个名为 group1 的组中。然后,将 sign_in 事件以路由方式发送到该组中的两项媒体资源。

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

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

默认组

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

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

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

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

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

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

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

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

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

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

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

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

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

  // Global configs
  gtag('config', 'GA_MEASUREMENT_ID-1');
  gtag('config', 'AW-CONVERSION_ID');
  gtag('config', 'DC-FLOODLIGHT_ID');

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

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

  // route ecommerce add_to_cart event to Google Ads and Analytics
  gtag('event', 'add_to_cart', {
    'send_to': [
      'GA_MEASUREMENT_ID-1',
      'AW-CONVERSION_ID'
    ],
    '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>