2017-04-05 164 views
1

我正在尋找一種簡單的方法來準確跟蹤表單提交。這是我目前使用的代碼:GTM - 表格提交的火標籤(僅在需要填寫字段時填寫)

$(function() { 
     $('#form').submit(function() { 
     dataLayer.push({ 
      'event': 'GAEvent', 
      'eventCat': 'Form Submit - Create', 
      'eventAction': 'Form Submit Document', 
      'eventLabel': checked, 
      'eventValue': count, 
      'gaNonInt': false 
     }); 
     }); 
    }); 

問題是即使表單未提交,標籤也會觸發。例如,如果某人未能填寫必填字段並點擊提交按鈕,GTM就會將提交點擊提交。如果填寫所有必填字段,是否有一種簡單的方法可以僅觸發代碼?

在此先感謝。

+0

您可以發佈您的表單HTML和任何JavaScript驗證。 –

+0

@JoshCronin我可以,但是,形式是巨大的。我不確定JS驗證存儲在哪裏。這些表單被集成到Drupal 7核心中。我注意到,所有必填字段在其類的命名中都使用「必需」字段?可以以某種方式使用它嗎? – Kellen

+0

只看所需的屬性可能不會完全解決問題 - 可能存在其他驗證規則,即使該字段包含某些文本,也會阻止提交表單。 –

回答

3

您可能想嘗試使用GTM的「原生」提交觸發器而不是jQuery代碼,並確保選中「check validation」複選框。

表單中的JavaScript驗證會抑制提交按鈕的默認行爲,並且只有在驗證通過後纔會調用提交事件。通過設置「check validation」選項,GTM表單提交觸發器應該能夠注意到默認行爲是被阻止的,並且只有當驗證器函數調用提交事件時纔會觸發標籤(我說「應該」,因爲,我認爲表單提交觸發器並不總是100%可靠,但可能值得一試)。

enter image description here