玩轉Google Analytics 4,你需要理解這些

Photo of author
Written By CMO

玩轉Google Analytics 4
玩轉Google Analytics 4

GA4發布兩個多月了,不少小伙伴已經陸續開始嚐鮮。其中大家最大的體會是GA4和過去的Universal Analytics差異非常大,上手難度高。為了幫助HubSpot One的讀者更好地理解GA4,HubSpot One將通過本文“揭秘”GA4的核心。只有掌握了這些,你才有可能從容地正確地使用GA4。

GA4的核心本質是什麼?是Event

GA4並不是將之前版本的Google Analytics進行升級。它和Universal Analytics版本僅僅是名字上共享Google Analytics。 GA4的設計和核心代碼都拋棄了沿用十多年的Urchin構架,其層級劃分不再是User-Session-Hit。 GA4是基於事件流(Event Stream)的新一代分析工具。說新一代並不是說就更好,至少過去教兩天就能會的,現在至少要教兩週了。

Event(事件)是GA4的基本實體,一個Page View就是一個Event,一次點擊是一個Event,一個轉化也是一個Event。 Session(會話)在GA4中被弱化,屬於同一個Session的各個Event會分享同一個Event Property(事件屬性)——sid。如下圖,我們可以在DevTools中查看。

因此,對Event(包括自動、增強、推薦和自定義)的熟悉程度會影響到GA4的熟練使用程度。如果讀者想要精通GA4,那麼務必要對GA4的各個Event的定義爛熟於胸

使用collect可以過濾出GA的數據傳送,v2為GA4
使用collect可以過濾出GA的數據傳送,v2為GA4

當我們在上圖中看DevTools的時候也能發現GA4的Event都會觸發一個204的請求(此處使用204是為了不再返回一個1×1的圖片,直接用HTTP頭確認)。比如Session Start這個Event就用了_ss參數表示,同樣First Visit用_fv參數表示。而Event Name的參數en的值卻為page_view。這種合併多個Event的情況很普遍

Event的Parameters和User Properties

每個Event都會帶一些Parameter(參數),其中有一些是固定收集的,包括:

  • language
  • page_location
  • page_referrer
  • page_title
  • screen_resolution

要想自定義Event Parameter,你必須先註冊。方法是Events – All events – Manage Custom Definitions – Create custom dimensions。

你還可以為讓Event攜帶User Properties(用戶屬性)這樣會一直讓訪客具有這些屬性直到你更新這些值。 User Properties也需要註冊後才能使用,入口在左邊菜單欄的CONFIGURE – User properties。

不管是Event Parameter還是User Property都是作為Dimension來使用的,你可以把新建的這些看作過去的Custom Dimension。

Segment去哪兒了?

在舊版GA中Segment是一個非常常用的功能。 GA4中叫做Comparison。你可以最多加5個條件取交集,實際上是簡化許多,不太好用。對於復雜的Segment你可以通過在CONFIGURE – Audiences中添加,或者在Analysis Hub的SEGMENTS中添加。見下圖:

在GA4中建立新的Segment
在GA4中建立新的Segment

建完在右上角勾選Build an audience就可以在Comparison反複使用了。不過這Segment構造器十分難用,下面是一個例子,其中圈選出了先後訪問了兩個頁面的人群。

你需要在此過程中註冊page_title參數
你需要在此過程中註冊page_title參數

注意,和Comparison一樣,在Analysis Hub中使用FILTERS只能“與”操作,不能“或”操作。

Filters去哪兒了?

在舊版GA中Filters有各種逆天的功能,可以屏蔽可疑的數據,也可以替換改寫源數據。但是在GA4中,你會被告知:

Displaying Filters for Universal Analytics Properties only. Filters cannot be applied to Google Analytics 4 Properties.

要找回Filters的功能,你可以這樣做。在管理Admin中找到GA4的Property,Data Settings – Data Filters – Create Filter。你可以過濾掉公司內部或者是開發人員的Events。

另一半原Filter的功能可以在Data Streams – Tag Settings – Modify Events。這裡你可以對Event的各參數進行修改。

Landing Page Report哪裡去了?

Landing Page(落地頁)表現是我們經常要看的維度。那麼在GA4中這個報表去哪兒了呢?

把All Events改為session_start
把All Events改為session_start

我們可以在Engagement – Pages and screens報表中,將Event count下的All Events改為session_start,這樣可以看到各頁面作為落地頁的數量。可是我們能否知道訪客以落地頁進入後的表現呢?目前的GA4中由於缺乏Custom Report很難實現。儘管GA4已經走出了Beta,但依然是一個嬰儿期的產品。你需要自建新的Dimension和Metric去實現許多功能,因為那些默認的Dimension和Metric不像UA時期那樣唾手可得。這也是GA4和舊版本的最大區別——舊版本你不用提前佈局,想看的時候自己建一些Segment和Custom Report便可以解決;GA4必須提前設置,把該定義的Event定義好,如果哪天你想起來了再去做就來不及了。為什麼我說GA4很難就是這個道理,你要非常熟悉Event體系,並且能預測到未來可能需要哪些Event,提前佈局好。從這個意義上說,不會用GTM就只能玩一小段GA4

utm_content,utm_term去哪兒了?

為了證明上面的論斷,我們舉個例子。 GA4中保留了對utm_campaign,utm_source,utm_medium的自動解析收集,但是卻丟了utm_content和utm_term。這個參數對我們來說挺重要的,我們可以放廣告版本和關鍵字訊息。那怎麼做呢?我們必須另外想辦法。

通過GTM,我們可以建一個GA4 Event Tag。如下圖般設置:

找回utm_content和utm_term
找回utm_content和utm_term

左邊的各個參數我們需要在GA4中註冊,右邊的參數我們可以用定義一些URL變量,具體方法如下圖所示:

從URL中解析出utm_content存入變量
從URL中解析出utm_content存入變量

這樣我們便可以用前文介紹的方法再回到GA4的Filters把抓到的各個參數複製到其他Event中去了,下面不贅述。

Measurement Protocol還能用嗎?

Measurement Protocol方便了軟件和線下設備傳送GA的Hit數據給GA。只要是能聯網的設備和軟件都可以利用這個接口推送數據並獲得分析報表。HubSpot One早在2016年3月曾經率先介紹過用MP檢測郵件打開的實例。谷歌為了GA4新建了GA4專用的Measurement Protocol。現在還在Alpha版。你可以通過Admin – Data Streams – choose your stream – Measurement Protocol – Create新建一個API SECRET。與原先的GAMP不同的是,GA4MP傳送的是一個個Event。也就是說你將使用POST方式(原本是GET方式)推送一個JSON格式的Event給GA4.

gtag.js實施GA4MP一例
gtag.js實施GA4MP一例

舊版的Hit Builder也不再適合GA4的Measurement Protocol。谷歌為此配套了Event Builder (https://ga-dev-tools.appspot.com/aw-event-builder/)。

Custom Report去哪兒了?

我們在結束這篇又難又長的文章之前來講一下Custom Report。事實上,為了彌補Custom Report的缺失,GA4免費開通了直連BigQuery。那麼不會玩BigQuery的小白們怎麼辦?縱觀GA4現有的功能,和Custom Report最接近的應該是Analysis Hub功能。但是Analysis Hub很難,為了證明很難我們舉一個簡單的例子(此處我們用“很難”與“簡單”造句了):

Analysis Hub舉例
Analysis Hub舉例

上圖是一個簡單的Exploration分析。其中Row用了page_path。三個Metric依次如圖。那麼這個表到底是什麼意思呢?

  • Entrances的意思是The number of times that the first event recorded for a session occured on a particular screen.這是一個著陸的意思。
  • Sessions的解釋是The number of sessions that began on your site or app (event triggered: session_start). 這也是一個著陸的意思。

那麼既然兩者都是著陸的意思,為什麼數字差不少呢?原因如下:

  • Entrances是按照page_view的Event來計數的;
  • Sessions則按照session_start來計數。

有兩個原因。第一,事實上,如我們在文章開頭描述_ss參數時說明的那樣session_start是一個被綁定到其他Event的Event,那麼兩者有出入就很正常了。

Web stream設置中對page_view進行設置
Web stream設置中對page_view進行設置

第二,page_view事件默認情況下有兩種觸發方式,其一是頁面載入時,另一種是瀏覽器歷史,這包括(pushState, replaceState, popstate)。

為了證明上面的兩點,感興趣的讀者可以在這個報表裡添加不同的Filter:

  1. 當使用Event name exactly matches page_view時,Sessions欄的數據全部為0。
  2. 當使用Event name exactly matches session_start時,Entrances欄的數據全部為0。

是不是已經很麻煩了?還有更麻煩的。假設我們要看各Landing Page帶來的轉化各是多少該怎麼做呢?顯然我們無法再使用page_path作為Dimension了,因為基於Event報表我們無法對page_path進行篩選,page_path和Landing Page Path是不同的概念。此時我們必須新建Landing Page Path作為Parameter/Dimension,然後才能把它用作row。這就像我們前面所說的,這個工作必須要提前做,不然會變成“Event到用時方恨少”的窘境。

總結一下

  • GA4是完全不同於以往任何GA版本的全新分析工具。
  • GA4基於Event淡化了Session概念,需要對Event有深刻的理解才能用好。
  • GA4很大程度依賴GTM進行Event設置,必須預先設置。
  • 複雜的高級分析需要依賴BigQuery直接在Log層級數據上進行分析,前端作用有限。
  • GA4還在產品的嬰儿期,UA預計還要存在很長一段時間(至少2年?)

本文篇幅有限但是包含的內容很多,有許多地方沒有辦法寫得很詳盡,有進一步的問題請通過HubSpot One公眾號提出。謝謝。