ページビュー

ページビュー測定では、ウェブサイトの特定のページの閲覧回数を測定できます。「ページ」は多くの場合、ある 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)のガイドをご覧ください。