データのグループ化とルーティング

Google タグ(gtag.js)の実装は、データを特定のグループ(アカウントまたはサービスをまとめたもの)にルーティングするよう設定できます。Google の測定サービスの測定ソリューション全体の設定を、同じコードブロック内で完結させることが可能です。このガイドでは、send_to パラメータと groups パラメータを使って特定のサービス、アカウント、設定にデータを送信するように Google タグを設定する方法について説明します。

デフォルトのルーティング

Google タグには、ルーティングを処理する config コマンドが含まれています。たとえば、タグ ID 付きの Google タグをインストールすると、次のコードで Google アナリティクス 4 プロパティ、Google 広告アカウント、またはその両方にデータが送信されます。

gtag('config', 'TAG_ID');

event コマンドに send_to パラメータを追加すると、Google タグ(またはページ内で既出のルーティング指示)で指定されているルーティングをオーバーライドすることができます。

たとえば次の sign_in イベントは、ページ内で事前に設定されていたターゲットに関係なく、リンク先 ID'G-XXXXXX-2' の Google アナリティクスのプロパティだけに送信されます。

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

グループ

特定の情報を一連のアカウントやサービスに送信し、他の情報を別の一連のアカウントやサービスに送信する必要が生じることもあります。たとえば、詳細なデータは社内で保持しつつ、特定のマーケティング キャンペーンに関する情報を広告代理店に送信したいとします。この機能は、groups を使って実現できます。

ターゲット(サービス、アカウント、プロパティなど)のグループを作成し、そのグループにイベントをルーティングすることができます。

次の例では、2 つの Google アナリティクス プロパティが group1 という名前のグループに追加され、sign_in イベントがそのグループの 2 つのプロパティにルーティングされます。

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 コマンドからのすべてのサービスとアカウントが含まれます。groups パラメータが config コマンドで指定されていなくても、ターゲットは 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 広告、アナリティクス、Floodlight をまとめて設定する

Google 広告、Google アナリティクス、Floodlight の完全な設定を、すべて同じ Google タグ内で作成できます。次の例は、タグを組み合わせて使用する場合にどのようなコードになるかを示したものです。このコードは以下を行います。

  • Google アナリティクスにページビュー データを送信する
  • Google 広告と Floodlight のコンバージョンを測定する
  • ショッピング カートに追加された商品に関する情報をアナリティクスと Google 広告に送信する
<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>