Google Analytics Data API 總覽

您可以使用 Data API,以程式輔助方式存取 Google Analytics 報表資料。

進一步瞭解 Google Analytics 資源。

API 傳回的資料與 Google Analytics 使用者介面中顯示的資料一致,且完全符合為 Google Analytics 資源設定的報表識別資訊設定 (例如混合、已觀察或以裝置為準)。

以下列舉幾個您可能使用 Google Analytics Data API v1 製作的報表:

  • 過去一週內,您的 Android 應用程式有多少每日活躍使用者。
  • 過去 28 天內,網站上瀏覽次數前 10 名的網頁,有多少網頁瀏覽次數。
  • 過去 30 分鐘內,您的 iOS 應用程式在每個國家/地區有多少活躍使用者。

您也可以使用 Google Analytics Data API v1 執行下列操作:

  • 建立自訂資訊主頁,顯示 Google Analytics 資料。
  • 自動化複雜的報表作業,節省時間。
  • 整合 Google Analytics 資料與其他商業應用程式。

資料一致性和報表識別資訊

Google Analytics Data API v1 存取的報表資料與 Google Analytics 介面相同。API 傳回的資料會完全遵守為 Google Analytics 資源設定的「報表識別資訊」,因此使用者人數、重複資料刪除和資料模型會與資源設定中選擇的識別資訊空間 (例如混合式、觀測式或以裝置為準) 一致。

如要進一步瞭解不同識別資訊空間對報表的影響,請參閱「報表識別資訊」。

開始使用

如要開始使用 Java、Python、Node.js、PHP、C#、Go 或 Ruby 的用戶端程式庫,請參閱用戶端程式庫快速入門導覽課程。如要瞭解如何建構查詢、篩選維度及解讀回應,請參閱「建立報表」,或在 Query Explorer 中以互動方式測試查詢。

runReport 要求和回應範例

如要透過 REST 查詢事件資料,請傳送 POST 要求至 runReport 端點,並在 RunReportRequest JSON 主體中指定 dateRanges、dimensions 和 metrics:

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 Analytics 事件資料的自訂報表,是簡單報表查詢的首選方法。
  • batchRunReports 這是 runReport 方法的批次版本,可讓您透過單一 API 呼叫產生多份報表。
  • runPivotReport:這個方法會傳回 Google Analytics 事件資料的自訂資料透視報表。透視報表比一般報表更進階,也更具表現力。每個資料透視表都會說明報表回應中可見的維度欄和列。
  • batchRunPivotReports 這是 runPivotReport 方法的批次版本,可讓您透過單一 API 呼叫產生多份報表。
  • getMetadata 這個方法會傳回報表方法中可用維度和指標的中繼資料。用於探索維度和指標。這個方法的回應也包含指定 Google Analytics 資源可用的自訂維度和指標。
  • checkCompatibility 這個方法會列出可新增至報表要求,且能維持相容性的維度和指標。
  • runRealtimeReport 這個方法會傳回資源的即時事件資料自訂報表。事件傳送至 Google Analytics 後,幾秒內就會顯示在即時報表中。即時報表會顯示從當下到 30 分鐘前 (Google Analytics 360 資源最多可達 60 分鐘) 的事件和使用資料。
  • properties.audienceExports 這組方法可讓您產生目標對象匯出資料,其中包含目標對象中使用者快照。
  • properties.recurringAudienceLists (早期預先發布版) 一組方法,可讓您管理週期性目標對象匯出作業。系統每天都會匯出新的目標對象名單。
  • runFunnelReport (早期預先發布版) 這種方法會傳回 Google Analytics 事件資料的自訂漏斗報表。您可以透過「漏斗探索」將使用者完成某件事時採取的步驟化為圖表,迅速瞭解使用者完成或不完成各個步驟的情況。
  • properties.chat (早期預先發布版) 這個方法提供程式輔助對話存取權,可存取 Google Analytics 的 Ask Advisor。您可以對事件資料提出自然語言問題、診斷成效變化,並取得結構化敘述和表格洞察。

支援的維度和指標

如要查看 Data API 支援的所有維度和指標,請參閱 API 架構文件。