GTM中的「或」:用不同啟動時機條件觸發相同代碼

Ian
I think, therefore I do.
7 min readMar 19, 2024

在之前談到的「觸發條件群組」文章中,我們稍稍提到了「」這個條件的運用,可以幫助我們以不同的觸發條件去觸發同一個代碼,這個「」代表著一種邏輯運算,用來連接觸發條件中的多個條件,只要其中任何一個條件符合,就會觸發相應的 GTM 代碼。

注意喔,這裡的「」條件是指「只要其中一個觸發條件」符合就可以,跟觸發條件群組中的「全部觸發條件 」都要符合是不一樣的。

舉例來說,我們可以設定當使用者有點擊按鈕 A「或」按鈕 B 時觸發代碼,或者是使用者瀏覽過頁面 A 「或」頁面 B 的時候,只要其中一個觸發條件符合,代碼便會啟動。

這篇文章我們將帶著你了解「」條件的設定方式,並告訴你可能會有的錯誤以及如何更靈活的運用「」條件來幫助你達成追蹤事件的設定。

初期常見的錯誤

假設我們為了聖誕節的行銷活動製作了 5 個頁面(辛苦你了設計師),只要有使用者看過其中一個頁面,我們就觸發同一個 GA4 事件代碼,可能是一個促銷彈窗,或是單純的瀏覽事件。

而這五個頁面的網址網域都相同,都是 www.abc.com,唯獨網址路徑(page path)不同,分別是:/Xmas/HBD/BlueM/HNY 以及 /BlackFriday

初期剛接觸 GTM 的朋友,可能會如下圖這樣設定觸發條件,直接在 同一個網頁瀏覽觸發條件 下新增多個網址。

這樣的設定方式是行不通的。一個網頁只能有一個網址,因此不可能同時具有五種不同的網址。這樣的設定方式將永遠無法滿足觸發條件,因此代碼也不會啟動。

那麼,我們應該怎麼做呢?讓我們繼續往下看。

(實際上,最好的處理方式是從活動頁面的設計階段就開始考慮網址的結構規劃,例如,所有的網頁路徑都是以 /special-campaign 開頭,我們就可以用「 包含 」的方式來設定觸發條件。)

於代碼中綁定多個觸發條件

接續上述的情況,我們可以設定五個類似的「 網頁瀏覽 」觸發條件,將其綁定在同一個代碼底下。(如下圖)

但這樣的做法相對較為繁瑣且不夠有效率,如果未來類似的追蹤情況頻繁出現,持續添加類似的觸發條件只會使 GTM 容器的管理變得困難,我們可以採用更好的方法,使追蹤設定更加簡潔且易於管理。

善用規則運算式(RegeX)

在設定觸發條件中的啟動時機條件時,我們可以選擇「 與規則運算式相符 」的方式來設定條件。

在規則運算式中,「」代表的是「 」的意思,因此我們可以在觸發條件中這樣設定,當 Page Path 與規則運算式相符(忽略大小寫)/BlckFriday|/BlueM|/HBD|/HNY|/Xmas 時,啟動時機的條件將被滿足。

透過這樣的設定方式,就只需要設定一個觸發條件,便可以滿足所有可能會有的情況,不用為了每一個網址單獨設定一個觸發條件。

善用規則運算式表格/對照表變數

除了在啟動時機條件中直接使用規則運算式以外,我們還可以運用「 對照表」或是「 規則運算式表格 」變數來處理相同的情況。

這兩種表格的差異在於,「 對照表」內「 輸入」欄位的值必需要跟「 輸入變數 」的值完全一樣。

而「 規則運算式表格」則保有較多彈性,你可以用 RegeX 語法來處理更複雜的條件,跟 上一個方法 一樣,只是用表格的方式呈現我們可以更一目瞭然,也較好管理。

GTM 左側介面選擇「 變數」 > 下方使用者定義的變數區塊右上角選擇「 新增」> 選擇「 規則運算式表格」(當然,你也可以用「 對照表 」)

輸入變數」選擇內建變數 Page Path > 下方左側「 圖案(pattern)」欄位輸入「 網頁路徑」 > 右側「 輸出」欄位輸入 true > 進階設定勾選「 忽略大小寫」> 命名後儲存

(不知道為什麼 pattern 直翻成圖案,翻成「 模式 」可能會比較貼切!?)

接下來,回到觸發條件的設定中,我們一樣選擇「 網頁瀏覽」觸發條件,只是這次我們要利用「 規則運算式表格 」變數來設定觸發條件。

網頁瀏覽」觸發條件介面 > 部分的網頁瀏覽 > 點擊左側欄位的下拉選單 > 選擇設定的「 規則運算式表格」變數 > 中間欄位選擇「 等於」> 右側欄位輸入 true

完成後,該觸發條件設定會如下圖。

將上面這一整串的操作用中文解釋的話就是:

透過「 規則運算式表格」去比對網頁路徑,如果路徑符合,就回傳 true,然後,在「 網頁瀏覽」觸發條件的啟動時機條件設定中,我們可以檢查「 規則運算式表格 」變數是否為 true,如果是 true,就代表瀏覽的網頁路徑符合我們設定的條件,進而觸發相對應的代碼。

這樣的做法有一個好處,你會「較」方便管理你的網頁路徑,透過表格,你可以清楚地看到需要追蹤的路徑是否已經包含在內,並且可以輕鬆新增需要追蹤的路徑。

到這邊你可能會想說:「如果我今天有 50 個路徑要追蹤,是不是就要增加 50 列?」

是的,沒錯,但此時你應該考量的是好好規劃網頁路徑這件事情,針對類似活動的網頁,是否可以規劃一個共同的路徑名稱在其中,如此一來,你只要用到「 包含 」這個條件,就可以滿足所有情況了。

例如,所有特別活動的網頁路徑都是 /special-campaign/Xmas/special-campaign/BlueM,透過這樣的方式,觸發條件的設定就可以是:Page Path 包含 /special-campaign,如此一來,就可以讓事情簡單許多。

照樣照句

到這邊,你應該能夠理解「 」條件的運作邏輯了,除了應用在網址路徑的追蹤上,也可以用於其他類型的觸發條件,例如點擊類型的觸發條件,當使用者點擊不同的 Click Classes 的按鈕時,觸發相同的代碼。

同樣的,也可以透過「 規則運算式表格 」來達成。

總結一下

這篇文章我們提到了在網站追蹤中可能遇到的「 」條件設定,以及設定上容易犯的錯誤,接著介紹了幾種不同的設定方式,包括善用「 與規則運算式相符」條件、運用「 規則運算式表格」還有「 對照表 」變數,抑或是針對每個觸發情況設定一個觸發條件(當然,這較沒效率我們也不建議),最後總結了其運作邏輯,未來有類似情況時,你就會知道手上有什麼工具,是否足夠解決眼前的問題了。

--

--