ページ トラッキングを使用すると、ウェブサイトの特定のページで発生したビューの回数を測定できます。多くの場合、ページは HTML ドキュメント全体に対応しますが、動的に読み込まれるコンテンツを表す場合もあります。これは「仮想ページビュー」と呼ばれます。
このガイドでは、analytics.js でページ トラッキングを実装する方法を説明します。
概要
JavaScript トラッキング スニペットには、トラッカー オブジェクトを作成するコマンドと、Google アナリティクスにページビューを送信するコマンドが含まれています。トラッカーが作成される際は、表示環境に応じて複数のフィールドが設定されます。title
フィールドには document.title
の値が設定され、location
フィールドには document.location
の値が設定されます。このとき、URL のアンカー部分は無視されます。
send
コマンドが実行されると、トラッカーに保存された title
フィールドと location
フィールドが送信されます。これらの値は、ユーザーが訪問したページをレポートで確認できるように Google アナリティクスで使用されます。
デフォルトのトラッカーは page
フィールドが設定されません。ただし、手動で設定した場合は値がレポートのページパスとして使用され、location
フィールドの値がオーバーライドされます。
実装
ページビュー ヒットは、send
コマンドを使用し hitType に pageview
を指定することで送信できます。pageview
ヒットタイプの場合、send
コマンドのシグネチャは次のようになります。
ga('send', 'pageview', [page], [fieldsObject]);
ページビュー フィールド
次の表には、ページビューのトラッキングに関連する主なフィールドがまとめられています。詳細(およびその他のフィールド)については、フィールド リファレンスのコンテンツ情報をご覧ください。
フィールド名 | 値の型 | 必須 | 説明 |
---|---|---|---|
title |
テキスト | いいえ | ページのタイトル(例: ホームページ)。 |
location |
テキスト | いいえ * | トラッキングするページの URL。 |
page |
テキスト | いいえ * | URL のパス部分。この値はスラッシュ(/ )で始めてください。 |
* page
フィールドと location
フィールドは必須ではありませんが、いずれかひとつを設定しないとヒットが無効になります。
例:
次のコマンドでは、現在のページのパスを含めてページビュー ヒットを Google アナリティクスに送信します。
ga('send', 'pageview', location.pathname);
すべての send
コマンドと同様に、フィールドを簡便なパラメータに渡して fieldsObject
に指定できます。上のコマンドは、次のように書き換えることができます。
ga('send', {
hitType: 'pageview',
page: location.pathname
});
ページ URL を変更する
場合によっては、ユーザーのブラウザのアドレスバーに表示される URL とは異なる URL を Google アナリティクスに送信できます。たとえばあるサイトに、ユーザーがログインして、自分の個人情報を表示または編集するページがいくつかあるとします。このサイトに、個人情報、アカウント情報、通知設定のページが個別にある場合、これらのページの URL は次のようになります。
/user/USER_ID/profile
/user/USER_ID/account
/user/USER_ID/notifications
各ページに訪問するユーザーの合計数を確認する場合、固有の User ID 値が URL に含まれると確認が困難になります。
この問題を解決するには、次のように User ID を削除した page
値を指定します。
// Checks to see if the current user's userID is
// found in the URL, if it is, remove it.
// (Note, this assume the user ID is stored
// in a variable called `userID`)
if (document.location.pathname.indexOf('user/' + userID) > -1) {
var page = document.location.pathname.replace('user/' + userID, 'user');
ga('send', 'pageview', page);
}
このコードでは、すべてのユーザーで次の page
値が送信されます。
/user/profile
/user/account
/user/notifications
現在のページで他のヒット(イベントなど)を送信する場合は、各ヒットを正しい URL で送信できます。その際は、send
コマンドで渡す代わりに、トラッカーの page
フィールドを更新してください。
トラッカーに設定することで、新しい page
値は後続するすべてのヒットで使用されます。
if (document.location.pathname.indexOf('user/' + userID) > -1) {
var page = document.location.pathname.replace('user/' + userID, 'user');
// Sets the page value on the tracker.
ga('set', 'page', page);
// Sending the pageview no longer requires passing the page
// value since it's now stored on the tracker object.
ga('send', 'pageview');
}
仮想ページビューのトラッキング
最近の多くのサイトでは、各「ページ」でページ全体を読み込むことなく、AJAX で動的にコンテンツが読み込まれます。このようなサイトは一般的に、単一ページ アプリケーション(SPA)と呼ばれます。
ウェブサイトが動的にページ コンテンツを読み込み、ドキュメントの URL を更新する場合は、追加のページビューを送信することで、これらの「仮想ページビュー」をトラッキングできます。実装について詳しくは、単一ページ アプリケーションのトラッキング(analytics.js)のガイドをご覧ください。