ページビュー測定では、ウェブサイトの特定のページの閲覧回数を測定できます。「ページ」は多くの場合、ある 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
各ページの合計訪問ユーザー数を確認したい場合、URL に一意の User ID 値が含まれていると、確認が困難になります。
この問題を解決するには、次のように 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 で送信されるようにする必要があります。それには、page
フィールドを send
コマンドで渡す代わりに、トラッカーで更新してください。
トラッカーに設定することで、新しい 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)のガイドをご覧ください。