gtag.js スニペットとプロパティ ID について
ユニバーサル アナリティクス プロパティの gtag.js スニペットと Google アナリティクス 4 プロパティの gtag.js スニペットは基本的に同じもので、どちらのスニペットも、以下の構造を持ちます。
01: <script async src="https://www.googletagmanager.com/gtag/js?id=<任意のプロパティ ID A>"></script>
02: <script>
03: window.dataLayer = window.dataLayer || [];
04: function gtag(){dataLayer.push(arguments);}
05: gtag('js', new Date());
06:
07: gtag('config', '<任意のプロパティ ID A>');
08:
09: gtag('config', '<任意のプロパティ ID B>');
10:
11: gtag('event', 'sign_up', { 'method': 'email' });
12:
13: gtag('event', 'view_video', { 'send_to': '<任意のプロパティ ID B>' });
14:
15: </script>
1 行目: gtag.js を介してユニバーサル アナリティクス プロパティを実装している場合は、すでにこのコード行がサイト上に配置されている可能性があり、<任意のプロパティ ID A> の代わりに、「UA-」の後に一連の数字が表示されます。Google 広告や他の Google マーケティング プラットフォーム サービスに gtag.js を実装している場合は、ウェブサイト上にこのようなコード行を含めることもできますが、<任意のプロパティ ID A> は「AW-」または「DC-」から始まります。
この gtag.js スニペットは、<任意のプロパティ ID A> に示されているプロパティ ID(または Google アナリティクス 4 プロパティの測定 ID)で「コントロール」されます。この情報は、以下の理由により重要な意味を持ちます。
- この行がすでに存在する場合、再度実装する必要はありません。「config」行を追加するだけで、Google アナリティクス 4 プロパティの測定 ID を指定できます。
- この行にあるプロパティ ID は gtag.js スニペットの「コントローラ」として機能します。ユニバーサル アナリティクスのプロパティ ID(「UA-XXXXXXXX」)でタグがコントロールされている場合、接続済みのサイトタグを使って Google アナリティクス 4 プロパティに測定データを送信できます。ページに新しいコードを追加する必要はありません。
7 行目: gtag の「config」ディレクティブを使用すると、<任意のプロパティ ID A> に関連付けられたプロパティにデータを収集できます。たとえば、Google アナリティクス 4 プロパティでこのディレクティブに測定 ID を追加すると、page_view イベントがそのプロパティに送信されます。
プロパティ ID は、ユニバーサル アナリティクス プロパティ(「UA-XXXXXXXX」)、Google アナリティクス 4 プロパティ(「G-XXXXXXXX」)、Google 広告(「AW-XXXXXXXX」)、Floodlight(「DC-XXXXXXXX」)など、Google のさまざまなサービスでの測定を表します。
11 行目: gtag の「event」ディレクティブではイベントが送信されます。複数のプロパティで複数の「config」ディレクティブが存在するスニペットでは、イベントはすべてのプロパティに送信されます。
この例では、「sign_up」パラメータはイベント名で、最後のパラメータは、一連のイベント パラメータを含むオブジェクトです。今回の場合、「method」は「email」という値を持つパラメータです。
13 行目: このイベントにはパラメータとして「send_to」が含まれています。これは、関連するイベントを特定のプロパティに送信する特別なパラメータです。つまり、このイベントは <任意のプロパティ ID B> で示されているプロパティにのみ送信されるということです。
gtag の「config」ディレクティブによって基本的な測定が有効になります。
- ユニバーサル アナリティクス プロパティの場合、「config」にユニバーサル アナリティクスのプロパティ ID を追加すると、ページビュー ヒットが送信されます。
- Google アナリティクス 4 プロパティの場合、「config」に Google アナリティクス 4 プロパティの測定 ID を追加すると、ページで読み込まれる際に page_view イベントが(自動的に収集されるイベントとして)収集されるようになります。
プロパティ ID
ユニバーサル アナリティクスのプロパティ ID の形式は「UA-XXXXXXXX」です。これは「トラッキング ID」とも呼ばれますが、このガイドでは、「ユニバーサル アナリティクスのプロパティ ID」と呼びます。
Google アナリティクス 4 プロパティのウェブデータ ストリームでは、「G-XXXXXXXX」という形式の測定 ID を使用します。
一部のサンプルコードとドキュメントでは、どちらも「GA_Measurement_ID」と呼ばれることがあります。
基本的なデータ収集
Google アナリティクス 4 プロパティの基本的なデータ収集を有効にすると、以下のデータを収集できます。
- page_view イベント
- 自動的に収集されるイベント
- 測定機能の強化イベント(管理画面で有効になっている場合)
既存のユニバーサル アナリティクス プロパティで gtag.js 実装を使用している場合は、以下の方法で Google アナリティクス 4 プロパティの基本的なデータ収集を有効にします。
- オプション 1: 関連する Google アナリティクス 4 プロパティの測定 ID を新しい「config」ディレクティブに追加する
または - オプション 2: 接続済みのサイトタグを有効にする(既存の gtag.js 実装が対象となる場合)
どちらの方法を選択しても、既存のユニバーサル アナリティクス プロパティに影響はなく、そのままデータの収集が継続されます。
オプション 1: 関連する Google アナリティクス 4 プロパティの測定 ID を新しい「config」ディレクティブに追加する
ページに既存の gtag.js コードがある場合は、関連する Google アナリティクス 4 プロパティの測定 ID を新しい「config」ディレクティブに追加します。以下の例では、既存の gtag.js 実装に行 8 が追加され、Google アナリティクス 4 プロパティの測定 ID が参照されています。これにより、その Google アナリティクス 4 プロパティに page_view イベントが送信されます。また、自動的に収集されるイベントと測定機能の強化イベント(有効にしている場合)がその Google アナリティクス 4 プロパティで有効になります。1: <script async src="https://www.googletagmanager.com/gtag/js?id=<任意のプロパティ ID A>"></script>
2: <script>
3: window.dataLayer = window.dataLayer || [];
4: function gtag(){dataLayer.push(arguments);}
5: gtag('js', new Date());
6:
7: gtag('config', '<任意のプロパティ ID A>');
8: gtag('config', 'G-XXXXXXXX');
9: </script>
オプション 2: 接続済みのサイトタグを有効にする
以下の場合は、接続済みのサイトタグを使用できます。
- ユーザーの操作を測定するページ上にある既存の gtag.js スニペットが、ユニバーサル アナリティクス プロパティによって「コントロール」されている(すなわち、gtag.js スニペットのこの行で参照される ID が「UA-」から始まっている)。
<script async src="https://www.googletagmanager.com/gtag/js?id=<任意のプロパティ ID A>"></script>
(接続済みのサイトタグは、既存の gtag.js スニペットが Google アナリティクス 4 プロパティでコントロールされている場合にも機能します。ただし、この状況が発生するのは、Google アナリティクス 4 プロパティがすでに実装されている場合のみです)
- かつ、スニペット内の ID で参照されるユニバーサル アナリティクス プロパティへの管理者権限を持っている。
gtag.js の設定
基本的な gtag.js スニペットを設定して、IP 匿名化、Cookie のカスタマイズ、Google シグナルなどのデータ収集設定を制御できます。この設定は、gtag.js の「config」ディレクティブか「set」ディレクティブで行います。
ユニバーサル アナリティクス プロパティ(「UA-XXXXXXXX」)と Google アナリティクス 4 プロパティ(「G-XXXXXXXX」)の両方で、gtag.js を使ってこれらの「config」設定を実装できます。ただし、ユニバーサル アナリティクス プロパティと Google アナリティクス 4 プロパティでのこれらの設定にはいくつかの違いがあります。
- IP 匿名化は「true」に標準化されており、Google アナリティクス 4 プロパティでは設定できません。そのため、Google アナリティクス 4 プロパティ(「G-XXXXXXXX」)への標準イベントで IP アドレスは自動的にマスキングされます。
- グローバル設定をすべての設定済みプロパティに適用する必要がある場合は、接続済みのサイトタグを介して実装された ID を含むすべての測定 ID やプロパティ ID に適用するために、「set」コマンドを使用します。
- 広告のカスタマイズを無効にする機能には特に注意が必要です。これらの機能はほとんどの場合、「config」の行で実装されます。
- 接続済みのサイトタグを使用している場合: gtag.js コードで「config」を使って行われた設定は、そのコード行の測定 ID に関連付けられたプロパティにのみ適用されます。接続済みの Google アナリティクス 4 プロパティに自動的に送信されることはありません。接続済みの Google アナリティクス 4 プロパティに設定を適用する場合は、
- 個別の「config」ディレクティブを作成し、測定 ID を参照して関連する Google アナリティクス 4 プロパティに適用します。
または - 「set」ディレクティブを使って設定を行います。この場合、その設定は、設定済みのすべてのプロパティに適用されます。
- 個別の「config」ディレクティブを作成し、測定 ID を参照して関連する Google アナリティクス 4 プロパティに適用します。
設定例
基本的なデータ収集を有効にし、User-ID を設定する
gtag('config', 'GA_MEASUREMENT_ID', {
'user_id': 'USER_ID'
});
Cookie を設定する
gtag('config', 'GA_MEASUREMENT_ID', {
'cookie_prefix': 'MyCookie',
'cookie_domain': 'blog.example.com',
'cookie_expires': 28 * 24 * 60 * 60 // 28 days, in seconds
});
page_view イベントをブロックする
config コードを読み込む際に page_view イベントの送信を必要としない場合(iframe の読み込みがある場合など)は、config 設定を調整して page_view イベントをブロックできます。page_view イベントが送信された後で、ユーザーがサイトにログインしようとしているとします。ログイン操作では、「config」ディレクティブを使ってユーザー ID を設定しますが、別の page_view イベントは送信しない方がいいかもしれません。次のコードは、page_view イベントが送信されないようにする方法を示しています。
gtag('config', 'MEASUREMENT_ID', {
'user_id': 'USER_ID',
'send_page_view': false
});
イベント
gtag.js を介して実装されたユニバーサル アナリティクス プロパティ(「UA-XXXXXXXX」)では、イベントはイベント カテゴリ、アクション、ラベルのディメンションと、イベント値の指標を使って個別のヒットタイプとして実装されます。収集されたイベントはレポートに表示され、イベント、ディメンション、指標の値の数に制限はありません。
Google アナリティクス 4 プロパティでは、すべての「ヒット」が「イベント」としてカウントされます。つまり、ヒットタイプの区別がなくなったということです。
Google アナリティクス 4 プロパティのイベントの種類
Google アナリティクス 4 のイベントは、自動的に収集されるイベント、測定機能の強化、推奨イベント、カスタム イベントの 4 つのカテゴリに分類されます。
- 自動的に収集されるイベントは、基本的なデータ収集によって自動的に収集されます。
- 測定機能の強化では、Google アナリティクス 4 プロパティ内の管理インターフェースを使って、イベントのオンとオフを切り替えることができます。測定機能の強化のイベントでは、ウェブ上やアプリ内でコードを追加したり変更したりする必要はありません。
- なお、イベントが個別のイベントとして実装されているか、その実装が保持された状態で、測定機能の強化でも収集された場合、それらのイベントは 2 回記録されます。ユニバーサル アナリティクス プロパティと Google アナリティクス 4 の両方にイベントを送信する場合は、関連するユニバーサル アナリティクスのプロパティ ID を指定して「send_to」パラメータを追加してください。こうすることで、イベントはユニバーサル アナリティクス プロパティにのみ流れ、Google アナリティクス 4 には流れません。
- 技術的なノート: 測定機能の強化では、HTML ID やクラスをイベント(リンクのクリックや Google タグ マネージャー経由でのダウンロードなど)のトリガーや変数として使用する場合とは異なり、HTML ID やクラスには基づきません。
- 推奨イベントは、手動で実装するものの、Google によって事前に定義された名前とパラメータを持つイベントです。推奨イベントでは、カスタム イベント(名前を自分で指定するイベント)で提供されていない既存のレポート機能と今後追加されるレポート機能を利用できます。推奨イベントは以下に対応しています。
- カスタム イベントとは、自分で名前を指定して実装するイベントです。
イベントを実装する際のおすすめの方法
- 可能な場合は、イベントを自分で実装するのではなく、自動的に収集されるイベントと、測定機能の強化イベントを使用します。
- 必要なイベントが自動的に収集されておらず、測定機能の強化の一部として提供されていない場合は、実装する推奨イベントを探します。
- (1)と(2)でニーズが満たされない場合にのみ、カスタム イベントを実装します。
ユニバーサル アナリティクスのプロパティで使用しているすべてのイベントのインベントリを作成して、自動的に収集されるイベントと測定機能の強化イベントによって、Google アナリティクス 4 プロパティでのこうしたニーズに対して対応できるかどうかを確認します。これらのイベントは、移行のために手動でコーディングする必要がないため、まず重点的に使用してください。
手動で実装されるイベント(推奨イベントとカスタム イベント)
イベントのデータ構成は、Google アナリティクス 4 プロパティとユニバーサル アナリティクスのプロパティとで異なります。
- ユニバーサル アナリティクスのプロパティでは、「イベント カテゴリ」、「イベント アクション」、「イベントラベル」、「イベント値」の各フィールドがあり、カスタム ディメンションを追加できます。
- Google アナリティクス 4 プロパティでは、手動で実装されるイベントは、「イベント名」、自動的に収集されるパラメータ、手動で指定されるパラメータで構成されます。手動で指定されるこれらのパラメータは、ユニバーサル アナリティクス プロパティのイベント フィールドに代わるもので、イベントで追加情報を指定する際にも使用できます。
ユニバーサル アナリティクス プロパティが gtag.js で実装されていて(「UA-XXXXXXXX」)、特定の「send_to」コマンドが指定されていない場合、config で測定 ID(「G-XXXXXXXX」)が参照されたり、接続済みのサイトタグが使用されたりするたびに、イベントは自動的に Google アナリティクス 4 プロパティに変換されます。
変換が行われる仕組みは以下のとおりです。
- イベント アクションが、Google アナリティクス 4 プロパティのイベント名になります。
- イベント カテゴリ、ラベル、値が、Google アナリティクス 4 プロパティのパラメータになります。パラメータには後述のとおり制限が設けられています。
たとえば、gtag.js を介して実装されたユニバーサル アナリティクス プロパティに以下のイベントがあるとします。
1: gtag('event', <action>, {
2: 'event_category': <category>,
3: 'event_label': <label>,
4: 'value': <value>
5: });
上記のイベントは、以下の一般化されたイベント署名を使って、Google アナリティクス 4 プロパティに変換されます。
1: gtag('event', <event_name>, {
2: <parameter_1>: <parameter_1_value>,
3: <parameter_2>: <parameter_2_value>,
4: <parameter_3>: <parameter_3_value>,
5: ...
6: });
このため、ユニバーサル アナリティクス プロパティの <action> は、Google アナリティクス 4 プロパティの <event_name> にマッピングされ、「event_category」、「event_label」、「value」とそれぞれの値は、値を持つパラメータにマッピングされます。
手動で実装されるイベントの命名規則
使用する「イベント名」の値が自動的に収集されるイベント名と測定機能の強化イベント名のいずれにも該当しない場合、イベントは手動で収集されるイベントとしてカウントされます。
使用できる「イベント名」は 500 個までです。Google アナリティクス 4 プロパティのレポートと今後追加される機能を活用するため、できるだけ推奨イベント名を使用することをおすすめします。
イベント パラメータ
パラメータは、自動的に収集されるパラメータによって送信されないイベントとともに情報を送信する場合に使用できます。収集したパラメータは、ユーザー定義と、BigQuery 内で使用できます。
パラメータの動作
パラメータに含めることができる一意の値の数に制限はありません。ただし、Google アナリティクス 4 プロパティをユニバーサル アナリティクス プロパティと併用する際は、考慮するべき重要な制限と動作特性がいくつかあります。
- 1 つのイベントで送信できるカスタム パラメータは 25 個までで、各パラメータ値の長さは 100 文字以内で指定できます。
- プロパティごとのカスタム イベント パラメータの数には制限があり、最大でカスタム テキスト パラメータ 50 個、数値パラメータ 50 個までとなっています。
例
ウェブサイト上にある動画のダウンロード リンクのクリック数を測定する場合、ユニバーサル アナリティクス プロパティでのタグ構造は、以下のようになります。
-
event_category: "Videos"
action: "Download"
event_label: "Toy Story"
ユニバーサル アナリティクス プロパティが gtag.js を介して実装されている場合、このイベントは Google アナリティクス 4 プロパティで以下のロジックに従って変換されます。
- 「Download」がイベント名になります。
- 「event_category」がカスタム パラメータになります。
- 「event_label」がカスタム パラメータになります。
イベント構造をより一般化した場合、以下のようになります。
event_category: [resourceType]
action: [interactionType]
event_label: [resourceName]
ユニバーサル アナリティクス プロパティのパラメータを Google アナリティクス 4 プロパティ向けに変換する場合も同様の形式が使用され、新しい「action」イベントごとに「event_category」パラメータと「event_label」パラメータが追加されます。
上記の例と類似したイベント構造がある場合:
- データの収集を開始します。BigQuery でイベントデータを確認します。
- 既存のイベントのうち、すでに自動的に収集されるイベントと測定機能の強化の対象となっているものを確認します。「send_to」コマンドを追加して、これらのイベントをユニバーサル アナリティクス プロパティの実装にのみ送信し、Google アナリティクス 4 プロパティには送信しないでください。
- 可能な場合は、推奨イベントを実装します。
カスタム ディメンションとカスタム指標
カスタム ディメンションとカスタム指標は、情報を拡張したり、CRM システムなどからオフライン データをインポートしたりするために利用できます。
グローバル サイトタグ(gtag.js)を使用したカスタム ディメンションとカスタム指標の測定は、接続済みのサイトタグまたは Google アナリティクス 4 プロパティ(例: 「G-XXXXXXXX」)が使用されている場合、自動的にパラメータに変換されます。
詳しくは、カスタム ディメンションとカスタム指標をご覧ください。