【GTM】フォームの送信トリガーが動かない時とその対処法
Google タグ マネージャでデフォルトで用意されているフォームの送信トリガーは、便利な反面、思うように動作がしなかったりする場合があります。この記事では、フォームの送信トリガーの動作に不具合がある理由や、それに代わる代替えのトリガーの紹介をしています。

この記事で紹介している内容
フォームの送信トリガーが動作しない理由
その 1 – トリガーがフォームのイベントをキャッチ出来ていない
通常HTMLで構成されたフォームの送信が行われた時、JavaScript側で制御する事ができるsubmitイベントが発生します。Google タグ マネージャーのフォームの送信トリガーも、このsubmitイベントを使用してタグを配信する仕組みですが、わけあってトリガーがイベントを認識できないタイプのフォームも存在します。
その 2 – トリガーの設定に問題がある
フォームの送信トリガーでは、簡単に設定ができる反面、デメリットとして、フォームが誤送信されてしまった場合もsubmitイベントを受け取ってトリガーが発動してしまう事があります。詳しく述べると、フォームにある必須項目の入力がされないまま送信ボタンがクリックされてしまうと、その時点でsubmitイベントが発生してトリガーも反応してしまいます。
この現象を防ぐために、フォームの誤送信は認識せず、フォーム送信の成功時にだけタグを配信する設定が以下の『妥当性をチェック』のオプションです。ここの設定をすることにより、フォームの送信が成功したタイミングのみをトリガーとしてタグを配信する事ができます。

しかしながら、この妥当性をチェックする設定がされてることにより、ほとんどのケースでトリガーが動かなくなってしまいます。Google公式からも、特に理由や詳細は述べられていません。したがって、基本的にこの設定をしない方が良いです。
フォームの送信トリガーの代替オプション
どうしてもフォームの送信トリガーが動作しない場合は、他のトリガーで目的に合わせたタグ配信ができるかどうか探ってみます。Webサイトの構造によって型にハマるものはそれぞれ違いますが、以下に一例として挙げています。
代替オプション 1 – サンクスページが存在している場合
フォームを送信した後に、別ページに遷移するサンクスページが用意されているのであれば、サンクスページが読み込まれた時にタグを配信する設定で代用できます。該当のトリガーは、ページビューです。設定方法は、下の別記事で紹介しています。
代替オプション 2 – フォーム送信後にメッセージが表示される場合
フォームを送信した後、同ページ上で『お問合せありがとうございました』などのメッセージが表示される場合、メッセージが出現したタイミングでタグを配信する設定で代用できます。該当のトリガーは、要素の表示になります。設定方法は、下の別記事で紹介しています。
代替オプション 3 – JavaScriptを駆使できる方向け
フォームが送信されたタイミングでJavaScriptによるフォームの制御をかけて、イベントをGoogle タグ マネージャーに送信することで自由なタイミングでのタグ配信が可能になります。JavaScriptに理解がある方のみが行える最終奥義のようなものなので、初心者の方には向いていません。該当のトリガーはカスタムイベントです。カスタムイベントについては、下の別記事で紹介しています。