有問題可以在文章底部留言

如何使用GTM追蹤Contact Form 7表單提交

Google Tag Manager Haran 2年前 (2024-11-27) 2286次瀏覽 0條留言

Contact Form 7是WordPress最受歡迎的聯絡表單外掛之一。當訪客送出表單後,如果你沒有進行追蹤,就無法知道有多少潛在客戶透過網站與你聯繫。

這篇文章將介紹如何透過GTM蹤Contact Form 7的表單提交事件,並將資料傳送到GA4。

認識Contact Form 7

Contact Form 7(CF7)是一款免費且廣泛使用的WordPress表單外掛,可用於建立:

  • 聯絡我們表單
  • 詢價表單
  • 報名表單
  • 意見回饋表單

由於Contact Form 7採用AJAX技術送出資料,因此頁面通常不會重新整理,傳統的頁面瀏覽(Page View)無法用來判斷表單是否成功送出。

因此,我們需要使用其他方式來進行追蹤。

Contact Form 7 表單追蹤原理

常見的實作方式有兩種:

  • 方法一:利用元素可見度:當表單成功送出後,Contact Form 7 會顯示成功訊息。如果成功訊息出現在頁面上,我們可以透過 GTM 的「元素可見度觸發器」偵測該元素是否出現。
  • 方法二:利用Contact Form 7 DOM Events:Contact Form 7 本身提供多種 JavaScript DOM Events,可用來判斷表單送出結果。這種方式比元素可見度更穩定,也是較推薦的實作方法。

假設我們要追蹤https://www.haranhuang.com/contact-form-7.html頁面的 Contact Form 7 表單:

如何使用GTM追蹤Contact Form 7表單提交

 

方法一:使用元素可見度觸發器

步驟 1:確認成功訊息元素

當表單成功送出後,頁面會顯示類似訊息:

如何使用GTM追蹤Contact Form 7表單提交(如果你的沒有類似顯示,這種方法就不適用,請直接看下一種方法)。

查看網頁原始碼後可以發現:

如何使用GTM追蹤Contact Form 7表單提交

有class是wpcf7-response-output,就是成功訊息所在的元素,可以用CSS選取器定位。

步驟 2:設定觸發器

在GTM中點擊「觸發條件」—「新增」—「選擇一個觸發條件類型以開始設定」——「元素可見度」,命名為“表單提交示範”,然後做如下設定:

如何使用GTM追蹤Contact Form 7表單提交

元素選擇器裡之所以設定為div.wpcf7-response-output,是因為這個class是在div裡,具體看源碼。

 

步驟 3:設定代碼

在GTM中點擊「代碼」—「新增」—「請選擇代碼類型以開始設定…」——「Google Analytics(分析):GA4 事件」,命名為“表單提交”,做如下設定:

如何使用GTM追蹤Contact Form 7表單提交

這樣就可以實現事件跟蹤。

 

步驟 4:預覽調試

使用 GTM Preview Mode 進行測試:

如何使用GTM追蹤Contact Form 7表單提交

成功送出表單後,應可看到form_submit事件,事件正常觸發。

方法二:使用 Contact Form 7 DOM Events(推薦)

元素可見度雖然容易設定,但容易受到版型修改影響。

若網站後續調整成功訊息樣式或 HTML 結構,追蹤可能失效。

因此較建議使用 Contact Form 7 提供的 DOM Events。

Contact Form 7提供了如下 DOM events:

  • wpcf7invalid — Fires when an Ajax form submission has completed successfully, but mail hasn’t been sent because there are fields with invalid input.
  • wpcf7spam — Fires when an Ajax form submission has completed successfully, but mail hasn’t been sent because a possible spam activity has been detected.
  • wpcf7mailsent — Fires when an Ajax form submission has completed successfully, and mail has been sent.
  • wpcf7mailfailed — Fires when an Ajax form submission has completed successfully, but it has failed in sending mail.
  • wpcf7submit — Fires when an Ajax form submission has completed successfully, regardless of other incidents.

 

可以利用上述Dom Event去發送事件,監聽上述事件觸發,再發送自訂事件,如:

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
 window.dataLayer.push({
 "event" : "cf7submission",
 "formId" : event.detail.contactFormId,
 "response" : event.detail.inputs
 })
}); 
</script>

 

步驟 1:添加Contact Form 7 Listener代碼

Contact Form 7提供事件監聽功能,我們可以在事件觸發時將資料推送到Data Layer。

在GTM中點擊代碼」—「新增」—「請選擇代碼類型以開始設定…」——「自訂HTML」,命名為“cHTML – Contact Form 7 Listener”,然後做如下設定:

如何使用GTM追蹤Contact Form 7表單提交

步驟 2:建立資料層變數

根據Listener程式碼,可以取得兩個重要變數是formId和response

在GTM中點擊「變數」——「新增」——「請選擇變數類型以開始設定…」——「資料層變數」,命名為 “formID”, 然後做如下設定:

如何使用GTM追蹤Contact Form 7表單提交

同樣的方式去設定response。

步驟 3:設定觸發器

從 Listener 程式碼可看到推送的事件名稱cf7submission

在GTM中點擊「觸發條件」—「新增」—「選擇一個觸發條件類型以開始設定」——「自訂事件」,命名為“Custom Event(Contact Form 7)”,然後做如下設定:

如何使用GTM追蹤Contact Form 7表單提交

 

 

步驟 4:設定代碼

最後就是設定代碼。

在GTM中點擊「代碼」—「新增」—「請選擇代碼類型以開始設定…」——「Google Analytics(分析):GA4 事件」,命名為“Event—Form Submit Tracking(Contact Form 7)”,做如下設定:

如何使用GTM追蹤Contact Form 7表單提交

 

步驟 5:預覽測試

接下來就是預覽調試

如何使用GTM追蹤Contact Form 7表單提交

GA4事件正常觸發。

 

該選擇哪一種方法?

方法 優點 缺點
元素可見度 設定簡單、不需 JavaScript 容易受版型變動影響
DOM Events 穩定、可取得更多資訊 需要額外設定監聽程式

如果是正式網站,建議優先採用 DOM Events 方式,追蹤會更穩定且維護成本較低。

 

總結

Contact Form 7的表單提交追蹤主要有兩種實作方式:

  • 利用成功訊息顯示後的元素可見度進行追蹤
  • 利用Contact Form 7提供的DOM Events進行追蹤(推薦)

其中DOM Events不受頁面版型影響,且可取得表單 ID、提交結果等額外資訊,是較適合長期維護的方案。

完成設定後,建議搭配GA4 DebugView進行驗證,確認事件與參數皆正確送出後再正式發布。


如果您在操作上仍有任何疑問,歡迎留言交流,或加入:Google Analytics 4交流社團發問
Like (1)
發佈我的留言
取消留言
表情 贴图 加粗 删除线 居中 斜体

Hi,*为發佈留言必須填寫。

  • 顯示名稱*
  • 電子郵件地址*
  • 個人網站網址