將 Google Analytics API 與 R 一起使用
已發表: 2021-11-04為什麼要使用 Google Analytics API?
Google Analytics (GA) 中的自定義報告功能對於直接在 GA 平台中收集特定信息和執行定制分析非常有用。 但是假設您想將這些數據從平台中提取出來以進一步處理它?
GA API 允許您自動提取數據並將其與其他業務應用程序集成,而無需手動數據處理。 對於訪問量很大的非 GA360 用戶,API 對於減少數據採樣至關重要,因為它允許每天提取數據。 該 API 還允許您通過獲取所需數據、對其進行處理並將其輸入到可用作數據源的 Google 表格文檔中來加速 DataStudio 儀表板。 這避免了每次加載儀表板時都必須直接查詢 GA API。
其他 GA API 使用
- 以 CSV 格式存儲 GA 數據
- 自動查詢和報告
- 將 GA 數據輸入 BigQuery 或表格
- 將 GA 數據與其他來源(即 CRM 數據)合併
R簡介及下載地址
R 是一種免費的編程語言和軟件環境,可以在 RStudio Workbench 上輕鬆安裝和運行。 雖然您可以使用 Python 和其他編程語言連接到 GA API,但 R 包“googleAnalyticsR”的使用特別簡單。
確保先安裝 R,然後再安裝 RStudio。 本簡明指南將向您展示如何操作。
解決方案 – googleAnalyticsR
在本教程中,我將向您展示如何使用 Mark Edmondson 的 googleAnalyticsR 包來訪問來自 GA API 的數據。 假設您的機器上安裝了 R,這應該相對容易。 不需要 R 的經驗——事實上,如果你是 R 的新手,這個包是一個非常好的開始。
在本教程結束時,您應該能夠使用 googleAnalyticsR 運行您的第一個查詢,並將此數據存儲在 CSV 或表格文檔中。 我們還將介紹在您的查詢中使用過濾器和細分。
1. googleAnalyticsR 入門
安裝包“googleAnalyticsR”並加載庫:
install.packages('googleAnalyticsR') library(googleAnalyticsR)2. 授權你的GA賬號
有幾種方法可以做到這一點——我們現在將堅持使用簡單的“快速入門”方式,但也有使用您自己的 Google 項目的“專業”方式。
運行這行代碼,您將被重定向到您的網絡瀏覽器,並要求您接受權限。 確保您已經在瀏覽器上登錄了 GA 帳戶:
ga_auth()3. 設置您的查詢
使用下面的代碼作為模板,更改變量以適應您的條件:

data <- google_analytics (91023145, date_range = c(“2021-01-01”,”Yesterday”), metrics = c("sessions"), dimensions = c("date", "sourceMedium","campaign"), anti_sample = TRUE)4. 為您的查詢添加過濾器
為了提取相關數據,您可能需要創建一些過濾器。 下面的示例顯示瞭如何為有機表單提交創建過濾器。 請注意,過濾器聲明必須滿足兩個條件,因此是“AND”。 然而,這可以更改為“OR”,以擴大報告的範圍。
formSubmissionEvent <- dim_filter("eventCategory", "EXACT", "FormSubmission") organicTraffic <- dim_filter("channelGrouping", "EXACT", "Organic Search") organicFormSubmissionFilter <- filter_clause_ga4(list(formSubmisisonEvent,organicTraffic),”AND” )現在讓我們將其放入查詢中,以計算用戶通過自然搜索訪問並提交表單的會話數:
data <- google_analytics (set_view_ID, date_range = c(“2021-01-01”,”Yesterday”), metrics = c("sessions"), dimensions = c("date", "sourceMedium","campaign"), dim_filters = organicFormSubmissionFilter, anti_sample = TRUE)5. 向您的查詢添加細分
您可以在 googleAnalyticsR 中創建細分,但這有點困難。 我們建議在 GA 平台中創建您的細分,並將它們讀入您的 R 環境。 運行以下代碼以顯示所有現有細分。

View(ga_segment_list())現在找到所需的段並使用段ID 和名稱來創建段變量。
exampleSeg <- segment_ga4("Semetrical Example", "gaid::HfpJEyqIRlqq7OL1a4-6rg")現在,讓我們將此段添加到查詢中:
data <- google_analytics (set_view_ID, date_range = c(“2021-01-01”,”Yesterday”), metrics = c("sessions"), dimensions = c("date", "sourceMedium","campaign"), dim_filters = organicFormSubmissionFilter, segments = exampleSeg, anti_sample = TRUE)6. 將您的數據存儲在 CSV 或表格中
我們建議您盡可能將數據存儲在 CSV 中,即使您還計劃將其發送到表格中。 只需修改以下代碼即可在相關文件中創建文檔。
write.csv(data, "C:\\Users\\Semetrical\\Google Analytics\\OrganicFormSubmission.csv")向表格發送數據需要 googlesheets4 庫和身份驗證。 創建一個新工作表並將代碼從您的 URL 複製/粘貼到以下代碼的“ss”部分。
library(googlesheets4) gs4_auth() sheet_write(data, ss = "17lkbyrb4Pask8j3KE4bMnmfJPj6jaeePFiDBDZmw2OE", sheet = "Google Analytics - OrganicFormSubmission")您現在應該能夠:
- 在 R 中從 GA 查詢數據
- 創建過濾器並讀入句段以添加到您的查詢中
- 將您的數據存儲在 CSV 文件中或將其發送到 Google 表格文檔
以下代碼顯示了此過程的完整示例:
library(googleAnalyticsR) library(googlesheets4) ga_auth() gs4_auth() formSubmissionEvent <- dim_filter("eventCategory", "EXACT", "FormSubmission") organicTraffic <- dim_filter("channelGrouping", "EXACT", "Organic Search") organicFormSubmissionFilter <- filter_clause_ga4(list(formSubmissionEvent,organicTraffic),”AND” ) exampleSeg <- segment_ga4("Semetrical Example", "gaid::HfpJEyqIRlqq7OL1a4-6rg") data <- google_analytics (set_view_ID, date_range = c(“2021-01-01”,”Yesterday”), metrics = c("sessions"), dimensions = c("date", "sourceMedium","campaign"), dim_filters = organicFormSubmissionFilter, segments = exampleSeg, anti_sample = TRUE) write.csv(data, "C:\\Users\\Semetrical\\Google Analytics\\OrganicFormSubmission.csv") sheet_write(data, ss = "17lkbyrb4Pask8j3KE4bMnmfJPj6jaeePFiDBDZmw2OE", sheet = "Google Analytics - OrganicFormSubmission") Summary結論
儘管谷歌分析提供了一個用戶友好的界面,但對於有高級數據分析需求的經驗豐富的用戶來說,該平台有很多限制; 他們中的大多數人已經在尋找一種訪問平台外數據的方法。 GA API 通過促進數據處理的自動化,使您可以更靈活地進行網絡分析,從而極大地提高此類流程的效率。
googleAnalyticsR 包是一種利用 GA API 的簡單方法,並提供了將數據發送到 CSV 或 Google 表格文檔的功能。 對於那些很少或沒有 R 經驗的人來說,這個包是開始你的編程冒險的好地方。
