高度な使用例

このドキュメントでは、Google アナリティクスの高度な機能をいくつか Data API v1 です。 API の詳細なリファレンスについては、API リファレンスをご覧ください。

カスタム定義を一覧表示してレポートを作成する

Data API では、登録したカスタム ディメンションカスタム 指標Metadata API メソッドを使用すると、API のリストを取得できます。 プロパティの登録済みカスタム定義の名前これらの API 名は、 レポート リクエストで使用する runReport メソッドなど)。

以下のセクションでは、カスタム定義の各タイプの例を示します。イン GA_PROPERTY_IDプロパティ ID に置き換えてください。

イベント スコープのカスタム ディメンション

ステップ 1: Metadata API メソッドをクエリする をプロパティ ID に置き換えます。

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

ステップ 2: 目的のイベント スコープのカスタム ディメンションを見つける レポートを作成できますディメンションが存在しない場合は、 ディメンションを登録します。

"dimensions": [
...
    {
      "apiName": "customEvent:achievement_id",
      "uiName": "Achievement ID",
      "description": "An event scoped custom dimension for your Analytics property."
    },
...
],

ステップ 3: レポート リクエストにカスタム ディメンションを含めます。次の runReport メソッドに対するサンプル リクエストです。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
  "dimensions": [{ "name": "customEvent:achievement_id" }],
  "metrics": [{ "name": "eventCount" }]
}

ユーザー スコープのカスタム ディメンション

ステップ 1: Metadata API メソッドをクエリする をプロパティ ID に置き換えます。

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

ステップ 2: 目的のユーザー スコープのカスタム ディメンションを見つける レポートを作成できますディメンションが存在しない場合は、 ディメンションを登録します。

"dimensions": [
...
    {
      "apiName": "customUser:last_level",
      "uiName": "Last level",
      "description": "A user property for your Analytics property."
    },
...
],

ステップ 3: レポート リクエストにカスタム ディメンションを含めます。次の runReport メソッドに対するサンプル リクエストです。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "entity": { "propertyId": "GA_PROPERTY_ID" },
  "dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "customUser:last_level" }],
  "metrics": [{ "name": "activeUsers" }]
}

イベント スコープのカスタム指標

ステップ 1: Metadata API メソッドをクエリする をプロパティ ID に置き換えます。

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

ステップ 2: 目的のイベント スコープのカスタム指標を見つける レポートを作成できます指標が存在しない場合は、次の操作を行う必要があります。 指標を登録します。

"metrics": [
...
    {
      "apiName": "customEvent:credits_spent",
      "uiName": "Credits Spent",
      "description": "An event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

ステップ 3: レポート リクエストにカスタム指標を含めます。次の runReport メソッドに対するサンプル リクエストです。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "customEvent:credits_spent" }]
}

1 つのキーイベントに対するキーイベント率の指標

ステップ 1: Metadata API に対してクエリを実行する メソッドをプロパティ ID に置き換えます。

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

ステップ 2: 関心のある 1 つのキーイベントのキーイベント率指標を見つける いくつかご紹介します。キーイベントが存在しない場合は、 その鍵を設定する必要が イベントです

"metrics": [
...
    {
      "apiName": "sessionKeyEventRate:add_to_cart",
      "uiName": "Session key event rate for add_to_cart",
      "description": "The percentage of sessions in which a specific key event was triggered",
    },
...
],

ステップ 3: レポート リクエストにキーイベント率の指標を含めます。次の runReport に対するサンプル リクエストです。 メソッドを呼び出します。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "sessionKeyEventRate:add_to_cart" }]
}

イベント スコープのカスタム指標の平均

ステップ 1: Metadata API メソッドをクエリする をプロパティ ID に置き換えます。

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

ステップ 2: 関心のあるイベント スコープのカスタム指標の平均値を見つける レポートを作成できます指標が存在しない場合は、次の操作を行う必要があります。 指標を登録します。

"metrics": [
...
    {
      "apiName": "averageCustomEvent:credits_spent",
      "uiName": "Average Credits Spent",
      "description": "The average of an event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

ステップ 3: レポート リクエストにカスタム指標の平均を含めます。次の runReport メソッドに対するサンプル リクエストです。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}

コホート レポートの例

コホート レポートでは、コホートのユーザー維持率の時系列が作成されます。対象 各 API フィールドの詳細なドキュメントについては、 CohortSpec を指定します。

コホート レポートを作成する

こちらがコホート レポートの例です。

  • コホートは、firstSessionDate2020-12-01 のユーザーです。これは cohorts オブジェクトによって構成されます。レポートのディメンションと指標 コホートのユーザー数のみに基づいて 回答が決定されます
  • コホート レポートには 3 つの列が表示されます。これは ディメンションと指標のオブジェクトです
    • ディメンション cohort はコホートの名前です。
    • ディメンション cohortNthDay は、2020-12-01 からの経過日数です。
    • 指標 cohortActiveUsers は、まだアクティブなユーザーの数です。
  • cohortsRange オブジェクトでは、レポートにイベントデータを含めるよう指定します。 このコホートの期間は 2020-12-01 から 2020-12-06 までです。
    • 粒度が DAILY の場合、ディメンション cohortNthDay は次のようになります。 整合性を確保するためにおすすめします

コホートのレポート リクエストは次のとおりです。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" }, { "name": "cohortNthDay" }],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-12-01", "endDate": "2020-12-01" }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "DAILY"
    }
  },
}

このリクエストに対するレポート レスポンスの例を次に示します。

{
  "dimensionHeaders": [
    { "name": "cohort" }, { "name": "cohortNthDay" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "293" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "143" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "123" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "92" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0005" }],
      "metricValues": [{ "value": "86" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "83" }]
    }
  ],
  "metadata": {},
  "rowCount": 6
}

このレポートの回答から、このコホート レポートのグラフが続きます。分析情報 このレポートによると、このコホートのアクティブ ユーザー数が最も減少したのは 1 日目と 2 日目の間です

ユーザーのコホートの推移の可視化

複数のコホートとユーザー維持率の割合

ユーザー獲得と維持は、ウェブサイトやアプリを成長させるための手段です。コホート 主にユーザー維持率ですこの例のレポートには、次のプロパティが表示されます。 4 日間のユーザー維持率が 2 週間で 10% 向上しました。

このレポートを作成するには、3 つのコホートを指定します。 firstSessionDate / 2020-11-02、2 番目の firstSessionDate2020-11-09、3 つ目の firstSessionDate2020-11-16 です。これは、 プロパティのユーザー数がこの 3 日間で異なっている場合 そのコホートのユーザー維持率指標を cohortActiveUsers/cohortTotalUsers を使用するのではなく、 cohortActiveUsers 指標。

これらのコホートのレポート リクエストは次のようになります。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metrics": [
    {
      "name": "cohortRetentionFraction",
      "expression": "cohortActiveUsers/cohortTotalUsers"
    }
  ],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-02", "endDate": "2020-11-02" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-09", "endDate": "2020-11-09" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-16", "endDate": "2020-11-16" }
      }
    ],
    "cohortsRange": {
      "endOffset": 4,
      "granularity": "DAILY"
    }
  },
}

このリクエストに対するレポート レスポンスの例を次に示します。

{
  "dimensionHeaders": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metricHeaders": [{
      "name": "cohortRetentionFraction",
      "type": "TYPE_FLOAT"
    }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.308" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.272" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.257" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.248" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.235" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.211" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.198" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.172" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.167" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.155" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.141" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.118" }]
    }
  ],
  "metadata": {},
  "rowCount": 15
}

このレポートの回答から、このコホート レポートのグラフが続きます。分析情報 このレポートによると、4 日間のユーザー維持率は 2 週間にわたって実施されます2020-11-16firstSessionDate の後のコホート firstSessionDate の以前のコホートの維持率を上回っています /2020-11-02

複数のコホート維持率のグラフ

週次コホートと他の API 機能とのコホートの使用

ユーザー行動の日々のばらつきをなくすには、週次コホートを使用します。週単位 コホート レポート。同じ週に firstSessionDate のユーザーはすべて 作成できます週は日曜日に始まり、土曜日に終わります。またこのレポートでは コホートをスライスして、ロシアでのアクティビティのユーザーと、 メキシコでの活動の一例です。このスライスでは、country ディメンションと dimensionFilter とすると、2 か国のみが考慮されます。

これらのコホートのレポート リクエストは次のようになります。

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "dimensionFilter": {
    "filter": {
      "fieldName": "country",
      "inListFilter": {
        "values": [ "Russia", "Mexico" ]
      }
    }
  },
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": {
          "startDate": "2020-10-04",
          "endDate": "2020-10-10"
        }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "WEEKLY"
    }
  },
}

このリクエストに対するレポート レスポンスの例を次に示します。

{
  "dimensionHeaders": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "105" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "98" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "35" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "24" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "23" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "17" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0005" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "3" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    }
  ],
  "metadata": {},
  "rowCount": 11
}

このレポートの回答から、このコホート レポートのグラフが続きます。根拠 レポートによると、このプロパティはメキシコでアクティビティを行うユーザーの維持に優れています ロシアのユーザーと比較しました

国の比較コホートのグラフ

比較

比較を使用すると、データのサブセットを並べて評価できます。Google Chat では comparisons を指定して比較を定義します。 フィールドを定義する必要があります。Data API の比較機能も同様の Google アナリティクス管理画面での比較をご覧ください。

各 API フィールドの詳細については、 比較

比較を作成する

比較するデータセットごとに個別の比較を作成できます。 たとえば、アプリとウェブのデータを比較するには、 Android と iOS のデータ、ウェブデータの比較。

2 つの比較を定義し、アクティブ ユーザー数を返すサンプル レポート 国別に分類されています。

最初の比較対象は「アプリのトラフィック」ですinListFilter を使用しています 「platform」ディメンションを値「iOS」と一致させます[Android]を選択します2 つ目の 「ウェブ トラフィック」という名前の比較stringFilter を使用して platform と一致する 「ウェブ」ディメンションを選択します

  POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
  {
    "comparisons": [
      {
        "name": "App traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "inListFilter": {
              "values": [
                "iOS",
                "Android"
              ]
            }
          }
        }
      },
      {
        "name": "Web traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "stringFilter": {
              "matchType": "EXACT",
              "value": "web"
            }
          }
        }
      }
    ],
    "dateRanges": [
      {
        "startDate": "2024-05-01",
        "endDate": "2024-05-15"
      }
    ],
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ]
  }

比較機能を使用するすべてのリクエストでは、フィールド comparison は次のようになります。 自動的に追加されます。このフィールドには名前が含まれます リクエストで指定された比較の結果を出力できます。

比較を含むレスポンスのスニペットの例を次に示します。

{
  "dimensionHeaders": [
    {
      "name": "comparison"
    },
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "638572"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "Japan"
        }
      ],
      "metricValues": [
        {
          "value": "376578"
        }
      ]
    },
  {
      "dimensionValues": [
        {
          "value": "App traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "79527"
        }
      ]
    },

    ...

  ],

...

}