如何使用 R 將 Universal Analytics 資料備份到 BigQuery

已發表: 2023-09-26

Universal Analytics (UA) 終於日落了,我們的資料現在可以自由流入我們的 Google Analytics 4 (GA4) 資源。 人們可能很想不再查看我們的 UA 設置,但是,在我們放棄 UA 之前,儲存它已經處理過的數據非常重要,以便我們將來需要分析它。 為了儲存您的數據,我們當然推薦 BigQuery,Google 的資料倉儲服務,在本部落格中,我們將向您展示從 UA 備份哪些資料以及如何備份!

為了下載我們的數據,我們將使用 Google Analytics API。 我們將編寫一個腳本,從 UA 下載必要的資料並將其一次性上傳到 BigQuery。 對於此任務,我們強烈建議使用 R,因為 googleAnalyticsR 和 bigQueryR 套件使這項工作非常簡單,因此我們編寫了 R 教程!

本指南不會介紹設定驗證的更複雜的步驟,例如下載憑證檔案。 有關這方面的信息,以及有關如何將數據上傳到 BigQuery 的更多信息,請查看我們關於從 R 和 Python 將數據上傳到 BigQuery 的博客!

使用 R 備份 UA 數據

與任何 R 腳本一樣,第一步是載入我們的庫。 對於此腳本,我們需要以下內容:

庫(googleAuthR)
庫(googleAnalyticsR)
庫(bigQueryR)

如果您以前沒有使用過這些庫,請在控制台中執行 install.packages(<PACKAGE NAME>) 來安裝它們。

然後我們需要對所有的各種授權進行排序。 為此,您需要運行以下程式碼並按照所提供的說明進行操作:

googleAuthR::gar_cache_empty()
googleAuthR::gar_set_client(“C:\\Users\\Tom Brown\\Documents\\R\\APIs\\credentials.json”)
bqr_auth(email = “<您的電子郵件地址>”)
ga_id <- <您的 GA 在此處查看 ID>


當您在UA中選擇視圖時,可以在視圖名稱下方找到ga_id,如下所示:

接下來,我們必須決定實際從 UA 取得哪些資料。 我們建議拉取以下內容:

會話範圍的維度事件範圍維度頁面瀏覽範圍維度
客戶ID 客戶ID 頁面路徑
時間戳時間戳時間戳
來源/媒介活動類別來源/媒介
設備類別事件動作設備類別
活動事件標籤活動
頻道分組來源/媒介頻道分組
活動

將它們放入 BigQuery 中的三個表格中應該足以滿足您未來所有潛在的 UA 資料需求。 要從 UA 提取此數據,首先您需要指定日期範圍。 進入 UA 平台並查看一份報告,以了解資料收集首次開始的時間。 然後,指定一個日期範圍,從那時起一直到運行腳本的前一天,這是您將擁有完整 24 小時資料的最後一天(如果您在 UA 執行後執行此操作)日落,無論如何都會包含100%的可用數據)。 我們的數據收集於 2017 年 5 月開始,所以我寫道:

日期 <- c(“2017-05-01”, Sys.Date()-1)

現在,我們需要根據上表指定需要從 UA 中提取的內容。 為此,我們需要執行 google_analytics() 方法三次,因為您無法同時查詢不同範圍的維度。 您可以直接複製以下程式碼:

會話拉 <- google_analytics(ga_id,
日期範圍=日期,
指標 = c(“會話”),
維度 = c(“clientId”, “dateHourMinute”,
「sourceMedium」、「deviceCategory」、「campaign」、「channelGrouping」)、
反樣本=真)

eventspull <- google_analytics(ga_id,
日期範圍=日期,
指標 = c(“totalEvents”, “eventValue”),
維度 = c(“clientId”、“dateHourMinute”、“eventCategory”、“eventAction”、“eventLabel”、“sourceMedium”、“campaign”),
反樣本=真)

pvpull <- google_analytics(ga_id,
日期範圍=日期,
指標 = c(「綜合瀏覽量」),
維度 = c(“pagePath”、“dateHourMinute”、“sourceMedium”、“deviceCategory”、“campaign”、“channelGrouping”),
反樣本=真)

這應該將所有資料整齊地放入三個資料框中,標題為sessionpull (用於會話範圍維度)、 eventspull (用於事件範圍維度)和pvpull (用於頁面瀏覽範圍維度)。

我們現在需要將資料上傳到 BigQuery,其程式碼應如下所示,對每個資料幀重複三次:

bqr_upload_data(“<您的專案>”、“<您的資料集>”、“<您的表格>”、<您的資料框>)

就我而言,這意味著我的程式碼如下:

bqr_upload_data(“我的專案”,“test2”,“bloguploadRSess”,sessionspull)
bqr_upload_data(“我的專案”,“test2”,“bloguploadREvent”,eventspull)
bqr_upload_data(“我的專案”,“test2”,“bloguploadRpv”,pvpull)

全部寫完後,您就可以設定腳本來運行,坐下來放鬆! 完成後,您將能夠前往 BigQuery,並且您應該會看到所有資料現在所屬的位置!

透過安全地保存您的 UA 資料以備不時之需,您可以將全部精力集中在最大限度地發揮 GA4 設定的潛力上 - Semetrical 可以為您提供幫助! 請查看我們的博客,以了解有關如何充分利用數據的更多資訊。 或者,要獲得有關所有事物分析的更多支持,請查看我們的網路分析服務,以了解我們如何為您提供協助。