高度な使用例

このドキュメントでは、Google アナリティクス Reporting API v4 の高度な機能について 説明します。API の詳細なリファレンスについては、リファレンス ガイドをご覧ください。

はじめに

シンプルなレポートを作成した後、 次の機能を使用して詳細レポートを作成できます。

ピボット

Google アナリティクス Reporting API v4 を使用すると、ピボット テーブルを生成できます。 ピボット テーブルを使用してリクエストを作成するには、ReportRequestPivot フィールドを定義します。ピボット オブジェクトには、ディメンションと指標の独自のセットがあります。また、オプションの startGroupmaxGroupCount を使用して、ピボット テーブルに含めるディメンションの数を指定できます。

リクエスト

以下の API 呼び出しでは、セッションが国別にリクエストされ、結果がブラウザ上でピボット表示されます。

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges":
      [
        {
          "startDate": "2014-11-01",
          "endDate": "2014-11-30"
        }
      ],
      "metrics":
      [
        {
          "expression": "ga:sessions"
        }
      ],
      "dimensions":
      [
        {
          "name": "ga:country"
        }
      ],
      "pivots":
      [
        {
          "dimensions":
          [
            {
              "name": "ga:browser"
            }
          ],
          "maxGroupCount": 3,
          "startGroup": 3,
          "metrics":
          [
            {
              "expression": "ga:sessions"
            }
          ]
        }
      ]
    }
  ]
}

レスポンス列ヘッダー

ピボット リクエストに対して返される report オブジェクト内の metricHeader には、pivotHeaderEntries フィールドがピボット ディメンション値の順序と対応する指標値を定義する pivotHeaders オブジェクトのリストが含まれます。次に例を示します。

"columnHeader": {
    "dimensions": [
        "ga:country"
    ],
    "metricHeader": {
        "metricHeaderEntries": [
            {
                "name": "ga:sessions",
                "type": "INTEGER"
            }
        ],
        "pivotHeaders": [
            {
                "pivotHeaderEntries": [
                    {
                        "dimensionNames": [
                            "ga:browser"
                        ],
                        "dimensionValues": [
                            "Internet Explorer"
                        ],
                        "metric": {
                            "name": "ga:sessions",
                            "type": "INTEGER"
                        }
                    },
                    {
                        "dimensionNames": [
                            "ga:browser"
                        ],
                        "dimensionValues": [
                            "Firefox"
                        ],
                        "metric": {
                            "name": "ga:sessions",
                            "type": "INTEGER"
                        }
                    },
                    {
                        "dimensionNames": [
                            "ga:browser"
                        ],
                        "dimensionValues": [
                            "Android Browser"
                        ],
                        "metric": {
                            "name": "ga:sessions",
                            "type": "INTEGER"
                        }
                    }
                ],
                "totalPivotGroupsCount": 7
            }
        ]
    }
},

レスポンスの行

reportData オブジェクトの各行は dateRangeValue オブジェクトの配列を定義します。各オブジェクトには一連の pivotValue オブジェクトが含まれます。値の順序は、レスポンス列ヘッダーのピボット ヘッダーにリストされている指標の順序に対応しています。

"rows": [
    ...
    {
        "dimensions": [
            "United States"
        ],
        "metrics": [
            {
                "pivotValues": [
                    {
                        "values": [
                            "21",
                            "18",
                            "1"
                        ]
                    }
                ],
                "values": [
                    "192"
                ]
            }
        ]
    }
],

元のリクエストでは maxGroupCount が 3 であるため、レポートにはピボット値が 3 つしかありません。"totalPivotGroupsCount": 7 により、最大 7 つの値が存在する可能性があります。

ピボット テーブルの行の例

上記のレスポンスの例の場合、国 United States に関連付け られている行は、以下のピボット テーブルで表現されます。

合計
セッション
Internet Explorer
セッション
FireFox
セッション
Android ブラウザの
セッション
インド 12 3 2 4
米国 全角 112 21 18 1
英国 35 12 2 0

コホート

コホートとは、共通の特性を持つユーザーのグループです。たとえば、ユーザー獲得日が同じユーザーはすべて同じコホートに属します。 コホート分析レポートでは、コホートの行動データを抽出し、分析できます。 コホート固有のディメンションと指標の一覧については、コホートとライフタイム バリュー(LTV)のディメンションと指標をご覧ください。

コホート リクエストを定義するには、nametypedateRange を使用してコホート オブジェクトを定義する必要があります。

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dimensions":
      [
        {
          "name": "ga:cohort"
        },
        {
          "name": "ga:cohortNthDay"
        }
      ],
      "metrics":
      [
        {
          "expression": "ga:cohortActiveUsers"
        },
        {
          "expression": "ga:cohortTotalUsers"
        }
      ],
      "cohortGroup":
      {
        "cohorts":
        [
          {
            "name": "cohort 1",
            "type": "FIRST_VISIT_DATE",
            "dateRange":
            {
              "startDate": "2015-08-01",
              "endDate": "2015-08-01"
            }
          },
          {
            "name": "cohort 2",
            "type": "FIRST_VISIT_DATE",
            "dateRange":
            {
              "startDate": "2015-07-01",
              "endDate": "2015-07-01"
            }
          }
        ]
      }
    }
  ]
}

API Explorer で上記の例をご覧ください。

コホートの制限

コホート リクエストが有効であるためには、以下の制限を満たす必要があります。

  • ga:cohort」ディメンションは、リクエストに 1 つ以上のコホート定義が含まれている場合にのみ組み込まれます。
  • コホート名は固有でなければならない。
  • リクエストのコホートの最大数は 12 である。
  • ga:cohortNthWeek が定義されている場合、開始日は日曜日、終了日は土曜日にする必要があります。ga:cohortNthMonth が定義されている場合、開始日は月の初日、終了日は月の最終日にする必要があります。ga:cohortNthDay が定義されている場合、期間は 1 日でなければなりません。
  • 今日の日付を含むコホート リクエストは許可されない。
  • コホート リクエストと非コホート リクエストは同じ batchGet リクエストに含めないでください。
  • コホートの期間は、2015 年 2 月 1 日以降でなければならない。

ライフタイムバリュー(LTV)

ライフタイム バリュー レポートには、ユーザー獲得後の 90 日間に、ユーザーの 価値(収益)とエンゲージメント(アプリビュー、目標完了、セッション、およびセッション継続 時間)がどのように伸びるかが示されます。LTV 固有のディメンションと指標をご覧ください。

LTV リクエストは、lifetimeValue フィールドが true に設定されたコホートとして定義されます。次に例を示します。

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dimensions":
      [
        {
          "name": "ga:cohort"
        },
        {
          "name": "ga:cohortNthWeek"
        }
      ],
      "metrics":
      [
        {
          "expression": "ga:cohortTotalUsersWithLifetimeCriteria"
        },
        {
          "expression": "ga:cohortRevenuePerUser"
        }
      ],
      "cohortGroup":
      {
        "cohorts":
        [
          {
            "name": "cohort 1",
            "type": "FIRST_VISIT_DATE",
            "dateRange":
            {
              "startDate": "2015-08-01",
              "endDate": "2015-09-01"
            }
          },
          {
            "name": "cohort 2",
            "type": "FIRST_VISIT_DATE",
            "dateRange":
            {
              "startDate": "2015-07-01",
              "endDate": "2015-08-01"
            }
          }
        ],
        "lifetimeValue": true
      }
    }
  ]
}

API Explorer で上記の例をご覧ください。

コホートおよびライフタイム バリュー(LTV)のディメンションおよび指標

ディメンション

ディメンション名 定義
ga:cohort ユーザーが属するコホートの名前。コホートの定義方法によっては、ユーザーは複数のコホートに属することができます。これは、ユーザーが複数のセグメントに属する方法と似ています。
ga:cohortNthDay コホート定義の日付を基準にした 0 ベースの日付オフセット。たとえば、初回訪問日が 2015-09-01 のコホートが定義されている場合、日付 2015-09-04ga:cohortNthDay は 3 になります。
ga:cohortNthMonth コホート定義の日付を基準にした 0 ベースの月オフセット。
ga:cohortNthWeek コホート定義の日付を基準にした 0 ベースの週オフセット。
ga:acquisitionTrafficChannel ユーザーを獲得したトラフィック チャネル。ユーザーの最初のセッションから抽出されます。トラフィック チャネルは、ユーザー獲得時にデフォルト チャネル グループ化ルールに基づいて(可能な場合は、ビューレベルで)計算されます。
ga:acquisitionSource ユーザーを獲得したソース。ユーザーの最初のセッションから抽出されます。
ga:acquisitionMedium ユーザーを獲得したメディア。ユーザーの最初のセッションから取得されます。
ga:acquisitionSourceMedium ga:userAcquisitionSourcega:acquisitionMedium を合わせた値。
ga:acquisitionCampaign ユーザーを獲得したキャンペーン。ユーザーの最初のセッションから抽出されます。

指標

指標名 定義
ga:cohortActiveUsers この指標は、ゼロベースのオフセット ディメンション(ga:cohortNthDayga:cohortNthWeek、または ga:cohortNthMonth)に関連しています。コホートの n 日/週/月に対応する期間にアクティブだったコホート内のユーザーの数を示します。たとえば、ga:cohortNthWeek = 1 の場合、第 2 週にアクティブだった(コホート内の)ユーザーの数です。リクエストに ga:cohortNthDayga:cohortNthWeekga:cohortNthMonth のいずれも含まれていない場合、この指標の値は ga:cohortTotalUsers と同じになります。
ga:cohortTotalUsers コホートに属しているユーザー数。コホートサイズとも呼ばれます。
ga:cohortAppviewsPerUser コホートのユーザーあたりのアプリビュー数。
ga:cohortGoalCompletionsPerUser コホートのユーザーあたりの目標完了数。
ga:cohortPageviewsPerUser コホートのユーザーあたりのページビュー数。
ga:cohortRetentionRate コホート保持率。
ga:cohortRevenuePerUser コホートのユーザーあたりの収益。
ga:cohortVisitDurationPerUser コホートのユーザーあたりのセッション継続時間。
ga:cohortSessionsPerUser コホートのユーザーあたりのセッション数。

ライフタイム バリュー(LTV)指標

指標名 定義
ga:cohortTotalUsersWithLifetimeCriteria これは、ディメンションが ga:acquisitionTrafficChannelga:acquisitionSourcega:acquisitionMedium、または ga:acquisitionCampaign のリクエストのコンテキストで関連します。この指標は、現在のチャネル、ソース、メディア、またはキャンペーンを通じて獲得されたコホート内のユーザーの数を表します。たとえば ga:acquisitionTrafficChannel=Direct の場合、直接獲得されたコホート内のユーザー数を表します。上記のディメンションのいずれも存在しない場合、その値は ga:cohortTotalUsersアプリビューのみ)になります。
ga:cohortAppviewsPerUserWithLifetimeCriteria コホートの獲得ディメンションのユーザーあたりのアプリビュー数(アプリビューのみ)。
ga:cohortGoalCompletionsPerUserWithLifetimeCriteria コホートの獲得ディメンションのユーザーあたりの目標完了数(アプリビューのみ)。
ga:cohortPageviewsPerUserWithLifetimeCriteria コホートの獲得ディメンションのユーザーあたりのページビュー数(アプリビューのみ)。
ga:cohortRevenuePerUserWithLifetimeCriteria コホートの獲得ディメンションのユーザーあたりの収益(アプリビューのみ)。
ga:cohortSessionsPerUserWithLifetimeCriteria コホートの獲得ディメンションのユーザーあたりのセッション継続時間(アプリビューのみ)。