高度な使用例

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

はじめに

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

ピボット

Google アナリティクス Reporting API v4 を使用して、ピボット テーブルを生成できます。ピボット テーブルを持つリクエストを作成するには、ReportRequestPivot フィールドを定義します。Pivot オブジェクトには、固有のディメンションと指標に加え、オプションで 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"
            }
          ]
        }
      ]
    }
  ]
}

レスポンス列ヘッダー

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

"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"
                ]
            }
        ]
    }
],

レポートに含まれるピボット値は 3 つのみです。これは、元のリクエストで maxGroupCount が 3 であるためです。"totalPivotGroupsCount": 7 となっているため、 値の数は最大 7 個です。

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

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

合計
セッション数
Internet Explorer
セッション数
FireFox
セッション数
Android ブラウザ
セッション数
インド 12 3 2 4
アメリカ 192 21 18 1
イギリス 35 12 2 0

コホート

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

コホート リクエストを定義するには、cohort オブジェクトを nametype、および dateRange で定義する必要があります。

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 で上記の例をご覧ください。

コホートの制限

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

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

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

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

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

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-04 であれば、ga:cohortNthDay は 3 になります。
ga:cohortNthMonth コホート定義の日付を基準にした 0 ベースの月オフセット。
ga:cohortNthWeek コホート定義の日付を基準にした 0 ベースの週オフセット。
ga:acquisitionTrafficChannel ユーザーを獲得したトラフィック チャネル。ユーザーの最初のセッションから抽出されます。トラフィック チャネルは、ユーザー獲得時にデフォルト チャネル グループ化ルールに基づいて(可能な場合は、ビューレベルで)計算されます。
ga:acquisitionSource ユーザーを獲得したソース。ユーザーの最初のセッションから抽出されます。
ga:acquisitionMedium ユーザーを獲得したメディア。ユーザーの最初のセッションから抽出されます。
ga:acquisitionSourceMedium ga:userAcquisitionSourcega:acquisitionMedium を組み合わせた値。
ga:acquisitionCampaign ユーザーを獲得したキャンペーン。ユーザーの最初のセッションから抽出されます。

指標

指標名 定義
ga:cohortActiveUsers この指標が関係するのは、0 ベースのオフセット ディメンション(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 コホートの獲得ディメンションのユーザーあたりのセッション継続時間(アプリビューのみ)。