講到事件追蹤,想必大家都不會覺得陌生,那到底事件追蹤可以怎麼做呢?今天Code For Marketing 就跟大家講有關GA 常用到的事件追蹤,帶大家認識一下什麼是基礎的事件追蹤吧!
在開始講GA的事件追蹤前,先了解一下事件追蹤的流程:
事件追蹤是GA內部相當重要的一個環節,其中你可以把『事件』設定為『目標』,又或是作為『分群USer』的條件,他有諸多功用,但究竟追蹤的原理是什麼呢?從根本的程式面來說,你可以把流程理解成這樣:
換言之,在設計追蹤事件時,你必須要弄清楚『觸發事件』的條件(trigger)、以及參與事件的對象(variable)、還有事件回傳的對象(Tag)。
當然除了了解到事件追蹤的發生的流程,另外一件重要的事情,就是要知道你所追蹤的值是怎麼呈成報表的,這邊我們以GA為例:
其實GA的事件追蹤報表,就是一張Excel 表,而我們可以透過我們所傳回GA的值來作為過濾資料的篩選條件,所以如上圖,我們就可以選擇用事件『類別』來觀看特定類別的總體資料,所以如果在追蹤上定義或回傳的值不明確,就會影響到你拉報表的精確性。
GA 事件的基礎構成:
GA 的時間追蹤由幾件事情構成,主要由以下幾件事情:
- 類別:分析物件進行分組而起的名稱。
- 動作:針對特定網頁物件評估的事件或互動類型。
- 標籤:要分析的事件提供額外資訊。
- 值:事件產生的數字。
從以下的例子來看:
如果今天你想要了解有多少人會播放這部影片,而這個事件用文字表達就是『A影片播放的次數』。
那現在我們如果用GA的概念去拆解,我們就可以理解成:
- 類別:影片
- 動作:播放
- 標籤:A影片
GA 事件拆解: 類別、動作、標籤、值
GA 事件裡面的類別、動作、標籤、值,大致上關係如下,但實際上,在思考時會更接近右圖一些,至於為什麼呢?我們可以從以下來看看。
eventCategory類別
定義:類別是事件追蹤的最上層,一般來說我們會把GA事件的類別作為想要追蹤項目的『內容分類』,舉例來說,『影片』、『文章』、『商品分類』等等都是可以用來作為寫入『分類』的值,而這個值會出現在Google Analytics 的報表上,為最上層的分類。
最佳做法:在使用類別做定義時,盡量用較為General 廣泛定義的項目作為名稱,而不要定義到太細,如『影片』為較佳的選擇,但『復仇者聯盟』可能就不是最佳選擇,可以將細節定義到『標籤』、或是『值』等資料。
特殊例外:當今天如果你已經定義了事件Video,你想要修改『類別』的名稱,但不改其他項目,在修正後重新發送的事件會被轉入到新的類別下,但舊有的資料還會依舊存在,例如:
A = { eventCategory: 'Video',
eventAction: 'play',
eventLabel: 'Fall Campaign'}
NewA = {eventCategory: 'VideoS',
eventAction: 'play',
eventLabel: 'Fall Campaign'}
你會在分類『Video』、『VideoS』底下都會看到label為 Fall Campaign 的事件。
eventAction
動作:
定義:一般來說,eventAction通常會用與網頁互動時的『動作』來命名,例如『播放』、『點擊』、『收藏』等等行為。
最佳做法:盡量單純的動作名稱來做命名,或是具有一定『關聯性』的動作名稱,以下方為例:
- 一個『類別』,多個行為:當今天事件是針對『影片』這個類別,你可以帶入的有『播放』、『暫停』、『快轉』等等,但這些行為只會發生在『影片』這個類別。
- 一個『類別』一個行為:當今天User要把商品放入『加入購物車時』時,都是以『點擊』在觸發行為,所以在動作上可能都是『點擊』,但移除時也是點擊,而這樣的情境為了方便判斷是加入、還是移出,則我們可以用後續會提到的eventValue來做判斷 ,新增時回傳『1』,刪除時回傳『0』。
特殊例外:
- 所有動作的排列方式都與上層類別無關,也就是當今天維度選擇『動作』為主key時,其排序與類別無關。
- 不重複動作名稱決定不重複事件,這個是在看事件追蹤報表裡頭最為複雜的一段,我們從下文來看看:
動作 | 標籤:「亂世佳人」 | 標籤:「華府風雲」 | 總計 |
---|---|---|---|
播放 | 共 22 次點擊來自
發生事件的 10 次工作階段 |
共 7 次點擊來自
發生事件的 5 次工作階段 |
29 次事件總數和
15 次不重複事件「播放」 |
暫停 | 共 3 次點擊來自
發生事件的 2 次工作階段 |
共 16 次點擊來自
發生事件的 8 次工作階段 |
19 次事件總數和
10 次不重複事件「暫停」 |
可以發現其實15次不重複事件,其實指的就是『將該次造訪(工作階段內),所執行的播放事件整理為一次,所以每次的造訪(工作階段)加總 = 不重複播放次數』。
eventLabel
標籤:
定義:標籤通常可以用來作為辨識『內容』的用途,或是存放『內容相關的額外資訊』,例如文章的標題、或是商品的名稱。
最佳做法:
- 用標籤建立內容的獨立性:舉例來說,為了能夠看到『復仇者聯盟』的影片『播放量』,你可以設定一個事件為:
- eventCategory 類別 : 影片。
- eventAction 類別 : 播放。
- eventLabel 類別: 復仇者聯盟。
eventValue
事件價值:
定義:當今天你的事件本身會傳遞價值時,你可以將事件發生時所想要傳入的『值』放入『事件價值中』,除此之外也可以用它來作為辨識『開啟 or 關閉』、又或是『有 or 無』等情況的判斷,另外Event 的Value在報表內,會以『總計』與『平均』的方式作呈現。
最佳做法:
- 使用Event Value 傳值到Goal:Event 可以作為GA帳戶裡面的Goal ,同時Event記錄到的內容也都可以傳遞到Goal中作為使用,其中可以使用Event Value來作為轉換價值。
- 特殊用法,判斷『有 or 無』:當今天在架構事件時,如果單純想要判斷事件的字樣,你也可以帶入 『0』 or 『1』來作為判斷,所以當今天EventValue = 0(假設 ‘0’ 表示『移除』事件) 時,你就可以查詢到執行『移除』事件的人有多少。
*備註,此做法涉及到相當多的工程細節,這邊僅是簡單介紹,未來有機會在後面的章節再做介紹。
GA 事件計算邏輯與特殊情境:
非互動事件:
什麼是非互動事件?他其實是我們在傳送GA事件時額外再帶入的一個『參數』,這個參數會影響部分指標是否把帶有『該參數的事件』納入計算,請參考下圖程式碼
ga('send', 'event', 'Videos', 'play', 'Fall Campaign', {
nonInteraction: true
});
程式碼中的 nonInteraction: true 就是『非互動事件』的標記,那關於非互動事件具體是怎麼影響指標計算的?我們以Google文件上的範例帶大家來說明,用『跳出率』的計算作為範例:
情境:跳出率的定義:User 進入頁面後只有瀏覽一頁,且執行其他任何被標記為事件的動作的比率。(所以GA預設會把事件計算進入)
帶入『非互動事件』:所以當今天我們帶入非互動事件後,該跳出率就會排除該頁面上被標記為事件的行為,不列入計算囉!
Note :
- 事件追蹤本身會影響網站部分指標,所以如果要將其排除,則應當設定non-interaction event . (非互動事件)
- 在架構你的設計前,要切記思考你的報表該如何呈現,否則很可能會出現追蹤做完,但報表無法呈現的情況!
- 雖然以上說明為GA的事件追蹤,但僅是觀念跟計算邏輯,另外Google Analytics APP+Web, Google Analytics Firebase 的追蹤方式又有所不同喔,會在後面的章節在做介紹。
- 另外本文章中引用的程式碼僅為參考、以及多數引用自Analytics .js 的版本,請檢查你的版本為gtag.js ,因為兩者在實作上不同喔!
參考資料:
https://developers.google.com/analytics/devguides/collection/analyticsjs/command-queue-reference#send
https://support.google.com/analytics/answer/1033068?hl=zh-Hant