如何用 GTM 追蹤使用者是否「開始填寫」表單?

Ian
6 min readApr 3, 2024

在之前 一系列的「表單提交」追蹤教學中,我們提到了許多透過 GTM 設定的方式,同時也建議如果可以透過 GTM 進行「 表單提交」的追蹤,就盡可能使用 GTM 進行設定,並關閉 GA4 中的「 表單互動 」加強型評估事件,這樣可以避免像是七顆龍珠一樣,各個追蹤事件散落在世界各地,造成未來管理上的困難。

然而這個操作,我們也關閉了一個相當實用的 GA4 預設追蹤事件,也就是加強型評估中的 form_start 事件,這個事件可以協助我們紀錄有多少使用者開始填寫表單,將這個數據除以最終表單提交數量,我們可以計算出 表單提交率 ,是一個相當實用的表單優化判斷數據。

GA4 加強型評估事件文件

至於該怎麼用 GTM 做呢?讓我們繼續看下去。

設定觸發條件

#1 用內建變數「Click Classes」搭配「規則運算式」

當使用者要填寫表單欄位時,會先點擊欄位空白處直到游標出現開始填寫,此時我們就可以運用點擊的觸發條件類型「 所有元素」來偵測使用是否開始填寫表單,因此我們必須要先找出屬於該欄位專屬的元素,不管是 Class 或是 ID 都可以,重點是 確保其為該欄位獨有的元素 就可以。

以下圖為例,可以看到 input 元素中,有代表這個欄位的 Class 名稱,我們可以善加利用來設定觸發條件。

以防萬一,我們可以在檢查工具的介面中,用 Ctrl+F(cmd+F)搜尋確認該 Class 名稱是否為該頁面上的唯一。

可以看到搜尋結果只有一個吻合,這也是我們要的結果,確認沒問題之後,我們可以開始設定觸發條件。

GTM 左側面板選擇「 觸發條件」 > 右上角「 新增」 > 選擇「 所有元素

我們可以使用內建變數「 Click Classes」搭配「 規則運算式」的方式來設定觸發條件,當使用者點擊的 Class 名稱包含 wpcf7-email 或是 wpcf7-tel 的時候,即滿足觸發條件。

在規則運算式中,「」代表的是「 」的意思,關於在 GTM 中應用「 」這個條件的方式,我們在這篇文章中有更進一步的介紹: GTM中的「或」:用不同啟動時機條件觸發相同代碼

#2 你也可以用「CSS 選取器」

如果你理解 HTML 結構,使用「 CSS 選取器」也是一個相當方便的方式,一般來說, WordPress 外掛生成的表單都會有一個專屬的 ID,如果不是使用 Worepress,也可以請工程師為表單添加一個專屬的 ID,這樣設定起來會更加方便,以本文提到的表單為例,可以看到表單有一個專屬 ID,名稱為 wpcf7-f522-p384-o1,透過這個 ID,就可以用「 CSS 選取器 」輕鬆地選到這個表單,從而進行相應的設定。

我們可以用下圖的方式設定觸發條件,因為 ID 屬性的值通常是頁面上的唯一值,不會有其它地方與其重複,更可以確保只有當使用者點擊該欄位時,觸發條件才會被滿足。

把上圖這個設定翻譯成中文就會是: 只有當點擊的元素是位於 ID 值為 wpcf7-f522-p384-o1 底下的 input 元素時,觸發條件才會被滿足。

(如果對於「 CSS 選取器」的應用尚不熟悉的朋友,可以參考這篇文章: 如何使用 GTM 的「CSS 選取器」?

設定 form_start GA4 事件代碼

GTM 左側面版選擇「 代碼」 > 右上角「 新增」 >「 Google Analytics(分析)」>「 Google Analytics(分析):GA4 事件

事件名稱我們直接沿用原本的 GA4 加強型評估事件名稱 form_start,當然,你也可以自行命名,這部分沒有一定的限制,但若沿用原名,請記得關閉 GA4 加強型評估事件中的「 表單互動 」。

另外,需要注意的是,一個頁面上的表單通常會包含多個欄位,為了避免當使用者點擊每個欄位時都發送一次事件,我們必須將代碼觸發選項從「 每個事件一次」改成「 每個網頁一次 」,這是與過去一般代碼設定上較為不同的地方。

完成上述設定後,將代碼與觸發條件綁定,我們就可以進行測試了。

測試一下

完成以上步驟後,我們將透過「 GTM 預覽模式」進行測試。預期的結果是當使用者點擊該欄位準備開始填寫時, form_start 事件代碼會被觸發。而在第二次點擊欄位時, form_start 事件代碼則不會再次觸發。(這裡是指同一頁的情況下。)

確認在預覽模式中,代碼都已經正常運作後,記得也要到 GA4 的 Debug View 中,確認是否有收到 form_start 事件。如果一切正常,我們透過 GTM 來追蹤「 開始填寫」表單事件的設定就完成了,最後,別忘了「 提交 」代碼。

如果想要知道使用者點擊哪個欄位?

可以參考文章「 如何用 GTM 追蹤「表單提交」錯誤訊息?」中的段落「 透過自動事件變數了解出錯的欄位名稱 」,其設定方式都是一樣的。

也別忘了在設定完畢之後,一定要記得 去 GA4 後台自訂維度,否則將無法從 GA4「 探索 」報表中選到這個維度。

總結一下

原 GA4 加強型評估事件中的「表單互動」是一個相當好用的工具,但在實際應用中,由於網站結構和表單設計的差異,有時會出現無法正確運作的情況,甚至會在使用者點擊網站的其它元素時被意外觸發,因此,使用 Google 代碼管理工具來取代「表單互動」事件的追蹤,可以提高追蹤數據的準確性。

而有了 form_start 以及 form_submit 事件之後,我們就可以計算出表單提交率,藉此作為優化表單的依據,了解頁面是否存在可以優化的地方,或是觀察來自哪個渠道的表單提交率較高,看看該渠道做對了什麼事情,藉此複製以及加強對該渠道的投資。

表單提交」的追蹤方式我們在過去的文章中說了很多,如果還不熟這部分的朋友,可以參考這篇文章: 5 個用 GTM 追蹤「表單提交」的方式,你該用哪一種?

--

--