フォーム送信を正確に追跡する簡単な方法をお探しです。これは私が現在使っているコードです:GTM - フォーム提出時のファイアタグ(必須フィールドが入力されている場合のみ)
$(function() {
$('#form').submit(function() {
dataLayer.push({
'event': 'GAEvent',
'eventCat': 'Form Submit - Create',
'eventAction': 'Form Submit Document',
'eventLabel': checked,
'eventValue': count,
'gaNonInt': false
});
});
});
問題は、フォームが送信していなくてもタグが発砲していることです。たとえば、誰かが必要なフィールドに入力して送信ボタンをクリックしなかった場合、GTMはクリックを送信として送信すると見なします。すべての必須フィールドが満たされていれば、タグを起動する簡単な方法はありますか?
ありがとうございます。
あなたは、フォームのHTMLと任意のJavaScript検証を投稿することができます。 –
@JoshCronin私は、しかし、フォームは大規模です。 JSバリデーションがどこに保存されているのか分かりません。これらのフォームはDrupal 7コアに統合されています。私はすべての必須フィールドがクラスの命名に「必須」を使用することに気付きましたか?それは何とか使うことができますか? – Kellen
必須の属性を調べるだけでは、問題は完全に解決されません。フィールドにテキストが含まれていてもフォームが送信されないようにするための他の検証ルールが存在する可能性があります。 –