Google アナリティクス Data API の概要

Data API を使用して、Google アナリティクスのレポートデータにプログラムでアクセスできます。

詳しくは、Google アナリティクスのプロパティをご覧ください。

API から返されるデータは、Google アナリティクスのユーザー インターフェースに表示されるデータと一致し、Google アナリティクス プロパティに設定されているレポート用識別子の設定(ハイブリッド、実測データ、デバイスベースなど)が完全に適用されます。

Google Analytics Data API v1 を使用してレポートできる例をいくつかご紹介します。

  • 対象の Android アプリは先週、1 日あたりのアクティブ ユーザー数が何人いたか。
  • 過去 28 日間にサイトの上位 10 ページが獲得したページビュー数。
  • 対象 iOS アプリの過去 30 分間の国別アクティブ ユーザー数。

Google Analytics Data API v1 を使用して、次の操作を行うこともできます。

  • Google アナリティクスのデータを表示するカスタマイズされたマイレポートを作成する。
  • 複雑なレポートタスクを自動化して時間を節約する。
  • Google アナリティクスのデータを他のビジネス アプリケーションと統合する。

データの整合性とレポート用識別子

Google Analytics Data API v1 は、Google アナリティクスのインターフェースと同じレポートデータにアクセスします。API から返されるデータは、Google アナリティクスのプロパティに設定されたレポート用識別子の設定を完全に尊重するため、ユーザー数、重複除去、データ モデリングは、プロパティ設定で選択されたユーザー識別スペース(ハイブリッド、観測データ、デバイスベースなど)に沿ったものになります。

さまざまなユーザー識別スペースがレポートに与える影響について詳しくは、レポート用識別子をご覧ください。

始める

Java、Python、Node.js、PHP、C#、Go、Ruby のクライアント ライブラリの使用を開始するには、クライアント ライブラリのクイックスタートをご覧ください。クエリの作成、ディメンションのフィルタ、レスポンスの読み取り方法については、レポートを作成するをご覧ください。または、Query Explorer でクエリをインタラクティブにテストしてください。

runReport のリクエストとレスポンスの例

REST でイベントデータをクエリするには、dateRanges、dimensions、metrics を指定する RunReportRequest JSON 本文を含む POST リクエストを runReport エンドポイントに送信します。

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

または、アプリケーションのデフォルト認証情報を使用して、同等の curl コマンドを実行します。

curl -X POST \
  "https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport" \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: PROJECT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "dateRanges": [
      { "startDate": "7daysAgo", "endDate": "yesterday" }
    ],
    "dimensions": [
      { "name": "country" }
    ],
    "metrics": [
      { "name": "activeUsers" }
    ]
  }'

API は、列ヘッダーとデータ行を含む RunReportResponse を返します。

{
  "dimensionHeaders": [
    { "name": "country" }
  ],
  "metricHeaders": [
    { "name": "activeUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "United States" }],
      "metricValues": [{ "value": "4820" }]
    },
    {
      "dimensionValues": [{ "value": "Japan" }],
      "metricValues": [{ "value": "2541" }]
    }
  ],
  "rowCount": 2,
  "kind": "analyticsData#runReport"
}

利用可能なメソッド

Data API メソッドの一覧を以下に示します。詳細については、リファレンス ドキュメントをご覧ください。

  • runReport このメソッドは、Google アナリティクスのイベントデータのカスタム レポートを返します。シンプルなレポートクエリに適したメソッドです。
  • batchRunReports これは runReport メソッドのバッチ バージョンで、1 回の API 呼び出しで複数のレポートを生成できます。
  • runPivotReport このメソッドは、Google アナリティクスのイベントデータのカスタマイズされたピボット レポートを返します。ピボット レポートは、通常のレポートよりも高度で表現力豊かな形式です。各ピボットは、レポート レスポンスに表示されるディメンションの列と行を表します。
  • batchRunPivotReports これは runPivotReport メソッドのバッチ バージョンで、1 回の API 呼び出しで複数のレポートを生成できます。
  • getMetadata このメソッドは、レポート メソッドで使用できるディメンションと指標のメタデータを返します。ディメンションと指標を探索するために使用されます。このメソッドのレスポンスには、指定した Google アナリティクスのプロパティで使用可能なカスタム ディメンションとカスタム指標も含まれます。
  • checkCompatibility このメソッドは、レポート リクエストに追加して互換性を維持できるディメンションと指標を一覧表示します。
  • runRealtimeReport このメソッドは、プロパティのカスタマイズされたリアルタイム イベントデータのレポートを返します。イベントは、Google アナリティクスに送信されてから数秒後にリアルタイム レポートに表示されます。リアルタイム レポートには、現在から 30 分前(Google アナリティクス 360 プロパティでは最大 60 分前)の期間のイベントと使用状況データが表示されます。
  • properties.audienceExports オーディエンスのエクスポートを生成できるメソッドのグループ。オーディエンス内のユーザーのスナップショットが含まれます。
  • properties.recurringAudienceLists (早期プレビュー版) 繰り返し発生するオーディエンス エクスポートを管理できるメソッドのグループ。繰り返しオーディエンスのエクスポートでは、毎日新しいオーディエンス リストが生成されます。
  • runFunnelReport (早期プレビュー版)このメソッドは、Google アナリティクスのイベントデータのカスタマイズされた目標到達プロセス レポートを返します。ファネルデータ探索では、ユーザーがタスクを完了するまでのステップをビジュアル表示し、各ステップでのユーザーの動向を簡単に確認できます。
  • properties.chat (早期プレビュー版)このメソッドは、Google アナリティクスの Ask Advisor へのプログラムによる会話アクセスを提供します。イベントデータに関する自然言語の質問、パフォーマンスの変化の診断、構造化されたナラティブと表形式の分析情報の取得が可能です。

サポートされているディメンションと指標

Data API でサポートされているすべてのディメンションと指標のリストについては、API スキーマのドキュメントをご覧ください。