這篇文章是使用 GTM(Google Tag Manager) 進行 跨網域追蹤 設定的筆記。
如果僅使用 GA(Google Analytics) 而沒有使用 GTM 做代碼管理,則需要另外處理/修改追蹤碼。
前幾天工程師突然和我說,他「建議」,是不是不同的網域應該要埋設不同的追蹤碼。我聽到時真的是覺得滿頭問號,我們不是只有一個網域嗎?然後我才知道,我一直以為是在子網域的另一個網站以及手機版網頁,竟然和我們的官網是同個層級的網域。
舉例來說,我一直以為我們的官網是 A 網站「aaa.com.tw」,但實際上是「www.aaa.com.tw」。而另一個 B 網站是「bbb.aaa.com.tw」,手機版則是「m.aaa.com.tw」和「mbbb.aaa.com.tw」。這四個網站都是在不同的網域,並非另外三個是在第一個網域下的子網域。
關於跨網域追蹤
這樣子會有什麼問題呢?
因為是不同的網域,GA 會將他們視為不同的網站,User 在從 A 網站進入到 B網站時,並不會被紀錄為網站內頁面切換的瀏覽,而是進入另一個網站,對 GA 來說,是 A 網站和 B 網站各自有一個 User (實際為同一 User),我們便無法追蹤到完整流程。
在 Google 提供的 Analytics (分析) 說明中有提到跨網域追蹤的簡介以及常用方法,其中關於子網域有寫到,如果已經使用 analytics.js 追蹤程式碼,在追蹤子網域時是不需要進行額外設定的。而多個網域的部份,則是建議設定跨網域追蹤來收集這些網域的資料,並傳送給同一個 Analytics (分析) 帳戶資源。
而在代碼管理工具說明的注意事項又寫到,最理想的做法是為每個網域建立一個容器。不過如果網站上的使用者活動和代碼橫跨多個網域,建議只設定一個容器給所有相關網域使用。
什麼時候需要設定跨網域追蹤
- 使用流程橫跨網域:
我們公司的網站就是屬於這種情況,大部分的產品可以在 A 網站完成購買流程,但部份產品則是會連結到 B 網站完成後續購買步驟。
※許多使用第三方金流的購物網站也是此情況,需連結至付款頁面完成購買流程。 - 網站導流:
舉例來說,曾經待過一間公司為各個產品線別註冊不同網域,並在每個網站中互相放入其他產品線的連結,這時候就可以透過跨網域追蹤來蒐集流量資料。
步驟一:GTM 容器的 GA 通用代碼變數設定
※在此假設已在所有網頁使用 GTM 埋設同一組追蹤碼並傳送資料至 GA 帳戶資源。
這個步驟可以在 GA 通用代碼中的變數的部份進行設定並勾選「在這個代碼中啟用覆寫設定」,也可以在變數的地方直接設定。若是後者,如果有代碼使用到這個變數而沒有勾選覆寫設定,則會套用變數自身的設定。
打開更多設定,並且設定下列項目:
- 要設定的欄位
欄位名稱 allowLinker → 值 true
欄位名稱 cookieDomain → 值 auto - 跨網域追蹤
自動連結網域 → 輸入所有要追蹤跨網域資料的網域,使用半形的逗號「,」分隔
步驟二:設定參照連結網址排除清單
接著回到 GA,在資源的追蹤資訊→參照連結網址排除清單中 新增參照連結網址排除條件,將所有要追蹤跨網域資料的網域都新增在此。
如此一來在跨網站時 GA 便會視為同一個 User 的工作階段去做追蹤。
步驟三:設定資料檢視篩選器
這個設定是為了在資料檢視中能夠區分網頁是屬於哪個網域下的。例如,在要跨網域追蹤的兩個網站首頁都是「home」,原本在資料檢視中看到針對網頁「/home」的數據,在設定後就可以看出是「www.aaa.com.tw/home」還是「bbb.aaa.com.tw/home」。
到資料檢視→篩選器中 新增篩選器,在篩選器類型選擇自訂→進階,然後按照以下設定。
- 欄位 A –> 擷取 A:
主機名稱 = (.*) - 欄位 B –> 擷取 B:
要求 URI = (.*) - 輸出至 –> 建構函式:
要求 URI = $A1$B1
到此步驟已經設定完畢了,最後只需要檢驗是否設定成功。
驗證是否設定成功
驗證的方法很簡單,只要從一個網站中點選連結到另一個網站,看看網址後面是否有多一組參數 ?_ga=……一大串數字,這組參數就是 GA 傳送的 cid (client_id) 。
如果是使用 Chrome 瀏覽器的話,也可以透過 Google Tag Assistant ,確認一下是不是在所有網頁中 cid 都是相同的( Pageview Requests → URLs )。
我在最一開始接觸數位行銷時,並沒有使用 Google Tag Manager,只有使用 Google Analytics 做流量追蹤而已,但現在的我強烈建議使用代碼管理工具來輔助,透過在代碼管理工具裡做設定,可以讓你在埋設追蹤碼時大幅減少對工程師的依賴,也可以提高工作效率:D
關於子網域的說明有點不明白,和我之前認知不同..
範例
https://www.example.com
example = 網域 (主域名) = https://example.com
www = 子網域 = 舉凡主域名前有掛子域名,都是子網域 e.g. http://www.example.com、abc.example.com、123.example.com
com =頂級域名
aaa.com.tw = 主域名
子網域
http://www.aaa.com.tw
bbb.aaa.com.tw
m.aaa.com.tw
mbbb.aaa.com.tw
若是 GTM 或 GA要方便做跨網域追縱,不是用一組 GTM 一組 GA 比較好管理嗎 ?
https://zh.wikipedia.org/wiki/%E5%AD%90%E5%9F%9F%E5%90%8D
哈囉!子網域是你的範例那樣沒有錯唷!
文章的前兩段並不是在說明子網域,而是在說明我遇到的狀況~
我們的網站是使用子網域「www.aaa.com.tw」
所以其他站台「bbb.aaa.com.tw」、「m.aaa.com.tw」、「mbbb.aaa.com.tw」
都不是「www.aaa.com.tw」的子網域,因此需要做跨網域追蹤
實際上我們也是使用一組 GTM 和一組 GA 來做追蹤和管理喔~