您可以使用 Data API,以程式輔助方式存取 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 架構文件。