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 的用戶端程式庫,請參閱用戶端程式庫快速入門導覽課程。如要瞭解如何建構查詢、篩選維度和解讀回應,請參閱「建立報表」,或在查詢探索工具中以互動方式測試查詢。

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 架構說明文件。