數據分析筆記(1) — GA4/GTM 使用心得

CW Wayne Yeh
Oct 12, 2023

--

Photo by fabio on Unsplash

在這篇文章中,我想筆記使用 Google Analytic 4(後稱 GA4)、Google Tag Assistant(後稱 GTM)的心得。這篇文章會聚焦於我在工作上使用到的功能,以及我在個過程中認為重要並且想特別筆記的「概念」。如果你想手把手學怎麼埋碼與解讀數據,也許找 Hahow 上的課程會是個更好的選擇。

淺談 GA4

所以說,何謂 GA4?我想 GA4 可以理解為一項收集客戶在網頁、APP上的行為數據並進行分析的服務。

事件與轉換

GA4 的核心是「事件」,也就是當你的用戶在網站上產生了特定的行為,或是與網頁的元素發生了特定的互動,GA4 的追蹤碼會透過 JS 觸發,並發送一筆事件資料給 GA4,這些事件包含了:網頁瀏覽、點擊、提交表單、元素曝光等類型。每個事件會帶有諸多參數,像是我們應該會預期網頁瀏覽事件(pageview)觸發的同時,也紀錄該事件是在哪頁 URL 觸發的、使用者的 ID 等資訊。

有部分事件會被定義為「轉換」,這通常是值得被列為成效指標/KPI 的特殊事件,如:購買、加入購物車、訂閱等。被列為轉換的事件可以被 google ads、google optimize 等服務取用並作為指標追蹤。

工作階段¹

另外一個重要觀念是「工作階段」,簡言之就是使用者連續與網站互動的一段期間,像是我進到購物網站並接連著看了首頁、商品頁、購物車頁、結帳完成等頁面,觸發了數次瀏覽、點擊、購買等事件,這些事件會被歸屬在同個工作階段內;但如果我在因為閒置過久或離開,再次互動產生事件時,就會開啟新的工作階段。

各種資料層級²

不管是在 GA4 或是其他的分析平台,我們會看到各種層級的欄位與指標,如:用戶層級、工作階段層級、事件層級,不同層級能夠統計的指標與意涵都有所差異 (可以想像不同層級的資料依附該層級的ID上)。因此想清楚指標與層級的關係,對於理解 GA4 的各項報表與意涵會很有幫助。

  • 用戶層級:首次造訪時間、裝置資訊、性別等
  • 工作階段層級:開啟工作階段的頁面(到達網頁)、開啟工作階段的來源(如:自然搜尋、社群廣告)等
  • 事件層級:事件觸發頁面、點擊文字(for 點擊事件)、購買金額(for 購買事件)等

關於 GTM

GTM 是 google 的代碼管理工具,可以讓非工程人員更輕易地管理網站埋設的追蹤代碼,這包含一定程度地增修追蹤內容、暫停與下架過時的代碼,此外,GTM 也提供了測試與版本控制的功能。GTM 的三大要素包含了代碼內容、觸發條件、變數。

  • 代碼內容:要傳輸的對象與內容,如:GA、Meta Pixel、Google Ads 等
  • 觸發條件:何時傳送,如:點擊某網頁元素、瀏覽特定網頁等
  • 變數:提供可供 GTM 放入代碼的內容,像是瀏覽互動時的資訊(點擊元素文字、頁面 URL、cookie資訊)或是寫入資料層中的資訊(訂單編號、金額乃至從站內資料庫取得的用戶屬性等)

代碼 vs 事件

GTM 代碼可以被理解為傳輸設定,這包含了要送給誰、何時送、要送哪些東西等設定;相較之下,GA4 的事件僅是 GTM代碼可能傳送的對象之一,因此你可以說代碼的層次比事件更高。以 Purcase 的代碼與事件例來說:

  • GTM — Purchase代碼:套用 GA4 事件類型傳給 GA4(包含訂單編號、金額等參數規格),設定在結帳完成頁且有資料層有 purchase 的自訂事件時觸發
  • GA — Purchase事件:就是一筆資料,除了事件名稱叫 Purchase 外,還包含訂單編號、金額等依規格帶入的參數與值

資料層變數

上段提到的資料層 (DataLayer) 是網頁建立的一個資料物件,通常用來取得 GTM 預設變數無法直接取得的資訊,像是訂單金額、用戶標籤等。使用者可以取用資料層變數,設定為變數,並用於代碼參數或觸發條件內。流程如下(參考附圖):

  1. 前端工程師依照規格將資料在適當的時機送到資料層,如圖例中的 purchase 自訂事件
  2. 在 GTM 的變數頁籤新增 GTM 變數 value,其來源為資料層變數 ecommerce.value
  3. 在 GTM 的代碼新增需要的 GTM 變數,如:GA4 的 purchase 事件需要有購買金額這個參數,其值需要帶入剛剛定義的 GTM 變數 value (用雙大括號去帶入值 {{value}})
資料層變數取用流程

討論與筆記

[1] 取得站內參數的方式,除了利用 DataLayer 外,還可以使用變數自訂 JS、代碼自訂 HTML 功能。自訂類的功能比起 DataLayer 更加有彈性,一旦設置完成並可以取得站內資料,我們就能直接在更多場境取用,而不必請前端重新在新的應用場景送資訊到 DataLayer。

[2] 使用 GA/GTM 幾乎是需要和前端工程師合作,對於應用端,我想有幾種方式可以促進合作

  • 表達你對前端在維護與管理上的尊重,像是:說明欲更新代碼的內容並請他們協助發佈 (發佈權可以請前端控)
  • 表達說若網站體驗有受影響,GTM 端有些方法可以調教與追蹤:像是需要在全站頁面觸發的代碼,我們可以設定等頁面完全載入後再觸發

--

--

CW Wayne Yeh

資料分析/閱讀筆記/生活雜感。我是葉政維,台大經研畢,目前是樹鋸分析師🪚,正在職場站穩腳步,也在探索什麼是好的生活。