如何使用 R 將 Universal Analytics 資料備份到 BigQuery
已發表: 2023-09-26Universal 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 可以為您提供幫助! 請查看我們的博客,以了解有關如何充分利用數據的更多資訊。 或者,要獲得有關所有事物分析的更多支持,請查看我們的網路分析服務,以了解我們如何為您提供協助。