gtag.js スニペットについて
ユニバーサル アナリティクス プロパティで analytics.js を使用中の場合は、新しい Google アナリティクス 4 プロパティに gtag.js スニペットを追加する必要があります。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>
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> で示されているプロパティにのみ送信されるということです。
Google アナリティクス 4 プロパティの基本的なデータ収集は、gtag の「config」ディレクティブで有効にします。こうすると、ページで読み込まれる際に、自動的に収集されるイベントとして page_view イベントが収集されるようになります。
ページビュー ヒットや page_view イベントは、特定のパラメータを使って変更したり、ブロックしたりできます。
プロパティ ID
ユニバーサル アナリティクスのプロパティ ID の形式は「UA-XXXXXXXX」です。これは「トラッキング ID」とも呼ばれますが、このガイドでは、「ユニバーサル アナリティクスのプロパティ ID」と呼びます。
Google アナリティクス 4 プロパティのウェブデータ ストリームでは、「G-XXXXXXXX」という形式のタグ ID を使用します。
一部のサンプルコードとドキュメントでは、どちらも「TAG_ID」と呼ばれている場合もあります。
基本的なデータ収集
Google アナリティクス 4 プロパティの基本的なデータ収集を有効にすると、以下のデータを収集できます。
- page_view イベント
- 自動的に収集されるイベント
- 測定機能の強化イベント(管理画面で有効になっている場合)
Google アナリティクス 4 プロパティの基本的なデータ収集を有効にするには、各ページの <head>
セクションに gtag.js スニペット(Google タグ)を追加します。
gtag.js スニペットと analytics.js スニペットの比較
Google アナリティクス 4 プロパティの gtag.js スニペットは、ユニバーサル アナリティクス プロパティの analytics.js スニペットと同様の目的を果たします。
これら 2 つのスニペットの最大の違いは、analytics.js コードには個別の「send pageview」呼び出しが含まれていますが、gtag.js コードには含まれていない点です。gtag.js では、ページビューは、「config」ディレクティブとともに送信される自動的に収集されるイベントです。
ユニバーサル アナリティクス プロパティ(analytics.js)
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'TAG_ID', 'auto');
ga('send', 'pageview');
</script>
Google アナリティクス 4 プロパティ(gtag.js)
<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());
gtag('config', 'TAG_ID');
</script>
gtag.js の設定
基本的な gtag.js スニペットを設定して、IP マスキング、Cookie のカスタマイズ、Google シグナルなど、analytics.js と同様のデータ収集設定をコントロールすることができます。この設定は、gtag.js の「config」ディレクティブか「set」ディレクティブ(analytics.js の場合は、「set」ディレクティブ、「create」ディレクティブ、「require」ディレクティブ)で行います。
Google アナリティクス 4(「G-XXXXXXXX」)プロパティでは、gtag.js を使って同様の設定を実装できます。ユニバーサル アナリティクス プロパティと Google アナリティクス 4 プロパティでは、これらの設定に違いがあります。以下の点に注意してください。
- IP マスキングは「true」に標準化されており、Google アナリティクス 4 プロパティでは設定できません。そのため、Google アナリティクス 4 プロパティ(「G-XXXXXXXX」)への標準イベントで IP アドレスは自動的にマスキングされます。
- グローバル設定をすべての設定済みプロパティに適用する必要がある場合は、すべてのタグ ID やプロパティ ID に適用するために、gtag.js の「set」コマンドを使用します。
- analytics.js の広告向け機能と広告のパーソナライズ機能には特に注意が必要です。これらの機能は、ほとんどの場合、「set」の行で実装されます。
現在の analytics.js の実装で「set」、「create」、「require」のディレクティブを使用する場合は、Google アナリティクス 4 プロパティで自動的に設定されるディレクティブと、Google アナリティクス 4 プロパティのコードで自動的に設定されるディレクティブ(パラメータのマッピング)を確認してください。
analytics.js(ユニバーサル アナリティクス プロパティの場合)と gtag.js(Google アナリティクス 4 プロパティの場合)の設定例とコードサンプルは、以下のとおりです。
基本的なデータ収集を有効にし、User-ID を設定する
analytics.js
ga('create', 'TAG_ID', 'auto', {
userId: USER_ID
});
ga('send', 'pageview');
gtag.js
gtag('config', 'TAG_ID', {
'user_id': 'USER_ID'
});
Cookie を設定する
analytics.js
ga('create', 'TAG_ID', {
'cookieName': 'gaCookie',
'cookieDomain': 'blog.example.co.uk',
'cookieExpires': 60 * 60 * 24 * 28 // Time in seconds.
});
gtag.js
gtag('config', 'TAG_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', 'TAG_ID', {
'user_id': 'USER_ID',
'send_page_view': false
});
タグ名
タグ名(別名「トラッカー」)は、analytics.js の別のユニバーサル アナリティクス プロパティにデータを送信する場合に使用します。analytics.js では、データの送信先のプロパティをトラッカーで定義します。最初の「create」ヒットの発生後は、ヒットに対してユニバーサル アナリティクスのプロパティ ID を指定する必要がなくなり、トラッカー名のみを指定します。
gtag.js では、Google アナリティクス 4 プロパティまたはユニバーサル アナリティクス プロパティでトラッカーを使用することはできません。すべてのヒットを複数のプロパティ(Google アナリティクス 4 プロパティの異なるデータ ストリーム)に送信する場合は、「config」行ですべてのタグ ID またはプロパティ ID を指定します。
イベント
イベント移行ガイドをご確認ください。カスタム ディメンションとカスタム指標
カスタム ディメンションとカスタム指標は、ウェブサイトで測定される情報を拡張し、CRM システムなどからのオフライン データをインポートするために使用されます。ユニバーサル アナリティクス プロパティ(「UA-XXXXXXXX」)では、カスタム ディメンションとカスタム指標は管理画面で作成する必要があり、ID が割り当てられた後、実装またはインポートでき、ヒット、セッション、ユーザー、商品という 4 つの異なるスコープで作成することができます。
Google アナリティクス 4 プロパティ(「G-XXXXXXXX」)では、カスタム ディメンションとカスタム指標のユースケースは異なる方法で実装されます。analytics.js を介して実装されたユニバーサル アナリティクス プロパティのカスタム ディメンションとカスタム指標は、Google アナリティクス 4 プロパティのパラメータとして再実装する必要があります。
カスタム ディメンションは、以下のように analytics.js を使ってユニバーサル アナリティクス プロパティに実装できます。
ga('send', 'event', 'category_value', 'action_name', {'dimension5': 'custom data'
});
または
ga('set', 'dimension5', 'custom data');
これらのカスタム ディメンションは、以下のように gtag.js を介して Google アナリティクス 4 プロパティに変換できます。
gtag('event', 'action_name', {'eventCategory': 'category_value',
'dimension5': 'custom data'
});
または
gtag('set', {'dimension5': 'custom data'});
次の 2 つの注意点があります。
- レポートにパラメータを表示するには、管理画面でパラメータを登録する必要があります。これは、ユニバーサル アナリティクスでカスタム ディメンションを登録する手順に相当します(制限が適用されます)。エクスポートされたデータを確認したり、オーディエンスを有効化するためにパラメータを使用したりするのみであれば、パラメータを登録する必要はありません。
- カスタム パラメータのスコープは常にイベントレベルで設定され、ヒットスコープに相当します。これは、パラメータに自動的に変換されるカスタム ディメンションにも適用され(gtag.js を介して実装された「UA-XXXXXXXX」の場合)、元のカスタム ディメンションのスコープ設定には依存しません。
カスタム指標にも同じマッピングと考慮事項が適用されますが、レポートに登録される際は、テキスト パラメータの制限ではなく、数値パラメータの制限が適用されます。
概念的には、ユニバーサル アナリティクス プロパティの各スコープのカスタム ディメンションとカスタム指標は、以下のように Google アナリティクス 4 プロパティにマッピングされます。
- ヒットスコープのカスタム ディメンション: パラメータ(データ収集中にイベントごとに記録可能なパラメータの上限数は合計 25 個まで、カスタム ディメンションまたはカスタム指標の上限数は 50 個)。
なお、自動的に収集されるイベントとパラメータでは、以前にヒットスコープのカスタム ディメンションが使用されていた一部のユースケースがすでに含まれている場合があります。 - ユーザー スコープのカスタム ディメンション: ユーザー プロパティ(管理画面を介したレポートで登録可能な上限数は 25 個)。自動的に収集されるユーザー ディメンションには、この制限は適用されません。
- セッション スコープのカスタム ディメンション: Google アナリティクス 4 プロパティには対応するデータはありません。代わりにカスタム パラメータやユーザー プロパティの使用を検討してください。
ユーザー プロパティに関するベスト プラクティス
ユーザー プロパティは、異なるプラットフォームをまたがる(すべてのデータ ストリーム タイプなど)同一のユーザーに限定されるため、ユーザーレベルでデータを適用する必要がある場合にのみ使用してください。ユーザー プロパティは、セッション レベルのデータやデバイスレベルのデータ(画面サイズなど)には使用しないでください。
Google アナリティクス 4 プロパティの例
gtag('set', 'user_properties', {
favorite_composer: 'Mahler',
favorite_instrument: 'double bass',
season_ticketholder: 'true'
});