Googleタグマネージャーでフォーム送信を計測する方法を徹底解説

Alt属性 Googleタグマネージャー

Googleタグマネージャーでフォーム送信を計測する方法を初心者向けに解説。フォームトリガー、GA4連携、サンクスページ、Contact Form 7、確認方法までわかりやすく紹介します。

  1. Googleタグマネージャーのフォーム送信計測とは?
    1. フォーム送信計測とは?
    2. GTMでフォーム送信を計測する仕組み
    3. フォーム送信を計測すると何が分かる?
    4. 送信ボタンクリック計測との違い
    5. フォーム送信計測が役立つサイト
    6. GA4へフォーム送信イベントを送る基本的な流れ
  2. フォーム送信計測を設定する前に準備するもの
    1. GTMアカウントとコンテナを準備する
    2. WebサイトへGTMを設置する
    3. GA4を準備する
    4. Googleタグが正しく設定されているか確認する
    5. 計測したいフォームを決める
    6. フォーム送信後の動きを確認する
    7. 事前準備チェックリスト
  3. GTMでフォーム関連の変数を有効にする方法
    1. フォーム変数とは?
    2. GTMの「変数」を開く
    3. 「組み込み変数の設定」を開く
    4. Form Elementを有効にする
    5. Form Classesを有効にする
    6. Form IDを有効にする
    7. Form Targetを有効にする
    8. Form URLを有効にする
    9. Form Textを有効にする
    10. フォーム変数の役割早見表
  4. GTMのフォーム送信トリガーとは?
    1. フォーム送信トリガーとは?
    2. 「フォームの送信」で計測する仕組み
    3. すべてのフォーム送信を計測する方法
    4. 一部のフォームだけを計測する方法
    5. Form IDでフォームを指定する方法
    6. Form Classesでフォームを指定する方法
    7. Page URL・Page Pathで対象ページを絞る方法
    8. フォーム送信トリガーの選び方早見表
  5. GTMでフォーム送信トリガーを作成する方法
    1. 「新規トリガー」を作成する
    2. 「フォームの送信」を選択する
    3. 「タグの配信を待つ」とは?
    4. 「妥当性をチェック」とは?
    5. すべてのフォームを対象にする方法
    6. 特定フォームだけを対象にする方法
    7. トリガー名を分かりやすく付ける
  6. フォーム送信トリガーだけでは正しく計測できない場合がある
    1. 送信ボタンクリックと送信成功は別
    2. JavaScriptフォームでは通常の送信トリガーが動かない場合がある
    3. Ajaxフォームとは?
    4. ページ遷移しないフォームに注意する
    5. 入力エラーでもクリックは発生する
    6. フォームの種類によって計測方法を変える
  7. サンクスページでフォーム送信を計測する方法
    1. サンクスページ計測とは?
    2. フォーム送信後にURLが変わるか確認する
    3. Page Viewトリガーを作成する
    4. サンクスページのURLを条件にする
    5. GA4イベントタグを発火させる
    6. サンクスページ計測のメリット
    7. サンクスページ計測が向かないケース
    8. サンクスページ計測の向き・不向き早見表
  8. GA4へフォーム送信イベントを送る方法
    1. GA4イベントタグを作成する
    2. イベント名を決める
    3. フォーム送信トリガーを設定する
    4. フォームIDをパラメータへ送る
    5. Page URLを確認する
    6. フォーム名をパラメータへ送る方法
    7. フォーム送信イベント設定例
  9. フォーム送信イベント名とパラメータの決め方
    1. イベント名は分かりやすく統一する
    2. form_submitの設定例
    3. form_idを活用する
    4. form_nameを活用する
    5. page_locationを活用する
    6. イベント名をフォームごとに分けすぎない
    7. GA4のイベント命名ルールに注意する
    8. イベント名・パラメータ設定早見表
  10. GTMのプレビューでフォーム送信を確認する方法
    1. プレビューモードを起動する
    2. Tag Assistantでサイトへ接続する
    3. 実際にフォームへ入力する
    4. フォーム送信を実行する
    5. gtm.formSubmitを確認する
    6. Variablesでフォーム情報を見る
    7. Tags Firedを確認する
    8. 二重発火していないか確認する
    9. GTMプレビュー確認早見表
  11. GA4でフォーム送信イベントを確認する方法
    1. リアルタイムレポートで確認する
    2. DebugViewで確認する
    3. イベント名を確認する
    4. フォームID・フォーム名を確認する
    5. 通常レポートへの反映には時間差がある
    6. フォーム別に送信数を分析する方法
  12. GA4の標準form_submitイベントとの違い
    1. GA4の拡張計測でもフォーム操作を取得できる
    2. GA4標準のform_startとは?
    3. GA4標準のform_submitとは?
    4. GTM独自計測との違い
    5. GA4標準とGTMを重複させない
    6. どちらを使えばよい?
    7. GA4標準とGTMの使い分け早見表
  13. お問い合わせフォームの送信を計測する方法
    1. お問い合わせフォームで確認したい指標
    2. フォーム開始数を確認する
    3. フォーム送信数を確認する
    4. 送信完了率を確認する
    5. 離脱が多いフォームを見つける
    6. お問い合わせ導線の改善に活用する
  14. 資料請求・申込みフォームの計測に活用する方法
    1. 資料請求フォームを計測する
    2. 申込みフォームを計測する
    3. 予約フォームを計測する
    4. フォーム別に成果を比較する
    5. 流入元ごとの送信数を比較する
    6. フォーム送信とコンバージョンを比較する
    7. フォーム活用方法早見表
  15. WordPressフォームで計測するときの注意点
    1. WordPressでもフォーム送信を計測できる
    2. Contact Form 7はAjax送信に注意する
    3. WPFormsなどフォームプラグインごとに動作が異なる
    4. サンクスページへ移動するフォームは計測しやすい
    5. JavaScriptイベントを利用する方法もある
    6. プラグイン更新後は再確認する
    7. WordPressフォーム計測の注意点早見表
  16. Cocoonでフォーム送信を計測するときの注意点
    1. CocoonでもGTMを利用できる
    2. GTMコンテナの二重設置を避ける
    3. お問い合わせページだけを対象にする
    4. キャッシュによる影響を確認する
    5. フォームプラグインとの組み合わせを確認する
    6. Tag Assistantで実際の動作を確認する
    7. Cocoon・WordPress確認早見表
  17. フォーム送信イベントが計測できない原因と対処法
    1. フォーム変数を有効にしていない
    2. フォーム送信トリガーが発火していない
    3. 対象フォームの条件が一致していない
    4. Ajax送信でページ遷移していない
    5. 送信エラーでもクリックを計測している
    6. GA4イベントタグが発火していない
    7. GTMを公開していない
    8. 別のGTMコンテナを確認している
    9. GA4標準イベントと重複している
    10. キャッシュが残っている
    11. フォーム送信が計測できないときのチェック表
  18. フォーム送信計測を設定するときの注意点
    1. 送信ボタンクリックだけで成果と判断しない
    2. 送信成功を確認できる方法を優先する
    3. フォームごとにイベント名を増やしすぎない
    4. GA4標準イベントとの重複を避ける
    5. 個人情報をGA4へ送らない
    6. メールアドレスや電話番号をパラメータに入れない
    7. フォーム送信数だけで評価しない
    8. 公開前に必ずプレビューする
    9. フォーム送信計測の注意点早見表
  19. GTMのフォーム送信計測についてよくある質問
    1. フォーム送信計測は無料ですか?
    2. GA4だけでもフォーム送信を計測できますか?
    3. 送信ボタンのクリックだけでも計測できますか?
    4. Contact Form 7でも計測できますか?
    5. Ajaxフォームでも計測できますか?
    6. 複数のフォームを同時に計測できますか?
    7. フォームごとの送信数を確認できますか?
    8. サンクスページがない場合はどうすればよいですか?
    9. フォーム送信をキーイベントにできますか?
    10. タグを削除すると過去データも消えますか?
    11. フォーム送信計測FAQ早見表
  20. GTMでフォーム送信を正しく計測して成果を分析しよう
    1. 今日覚えておきたい重要ポイント3つ
    2. フォーム送信計測の手順早見表
    3. フォーム計測方法の選び方早見表
    4. フォーム変数の使い分け早見表
    5. GA4標準計測とGTM計測の違い
    6. フォーム送信が計測できないときのチェックリスト
    7. GTMフォーム送信計測の設定完了チェックリスト
    8. 次に読むおすすめGTM関連記事
    9. まとめ

Googleタグマネージャーでフォーム送信を計測したいものの、「送信ボタンをクリックしただけでも成果として数えていいの?」「Contact Form 7やAjaxフォームでも計測できる?」「GA4にはどのイベント名で送ればいい?」と迷う方も多いのではないでしょうか。フォーム計測では、クリックと送信成功を区別することがとても重要です。この記事では、GTMのフォーム変数や送信トリガーの設定、サンクスページを使った計測、GA4へのイベント送信、Tag Assistantでの確認、計測できない場合の対処法まで、初心者向けに順番にわかりやすく解説します。

Googleタグマネージャーのフォーム送信計測とは?

Googleタグマネージャー(GTM)を使うと、お問い合わせ・資料請求・予約・申込みなどのフォーム送信をイベントとして計測できます。

フォーム送信をGA4へ送ることで、単に「ページが見られたか」だけでなく、実際にフォームから行動につながったかを分析できるようになります。

ただし、フォームの仕組みによって計測方法は異なります。通常のHTMLフォーム、Ajax送信、JavaScriptで動くフォーム、サンクスページへ移動するフォームなどがあるため、最初に送信後の動きを確認することが大切です。

フォーム送信計測とは?

フォーム送信計測とは、ユーザーがお問い合わせフォームなどを送信したことをイベントとして記録する方法です。

たとえば、サイトに100人が訪問して、

  • 20人がフォーム入力を開始
  • 8人が送信
  • 5人がお問い合わせ完了

という流れが分かれば、アクセス数だけでは分からない「成果につながった行動」を確認できます。

代表的なフォームには、

  • お問い合わせ
  • 資料請求
  • 見積もり依頼
  • 商品・サービス申込み
  • 来店予約
  • セミナー申込み

などがあります。

GA4の拡張計測にも、フォームへの入力開始を記録するform_startと、フォーム送信を記録するform_submitがあります。Google ヘルプ

GTMでフォーム送信を計測する仕組み

GTMでは、フォーム送信を検知するトリガーと、GA4へデータを送るイベントタグを組み合わせて計測します。

基本的な流れは次のとおりです。

ユーザーがフォームを入力
↓
フォームを送信
↓
GTMのフォーム送信トリガーが発火
↓
GA4イベントタグが動作
↓
GA4へフォーム送信イベントを送信

Google公式では、GTMの「フォームの送信」トリガーを使って、フォーム送信時にタグを配信できると案内されています。Google ヘルプ


GTMのタグ・トリガー・変数など基本的な仕組みについては、「Googleタグマネージャーとは?初心者でもわかる仕組みと導入するメリットを解説」で詳しく解説しています。

フォーム送信を計測すると何が分かる?

フォーム送信を計測すると、サイトからどのくらい成果が発生しているかを確認できます。

たとえば、

確認できること分析例
フォーム送信数問い合わせが何件あったか
フォーム別の成果問い合わせ・資料請求の違い
ページ別の成果どの記事から送信されたか
入力開始と送信の差途中離脱が多くないか
流入経路別の成果検索・SNS・広告の違い

GA4のform_startとform_submitを比較すると、「入力を始めたけれど送信しなかったユーザー」が多いかどうかを分析する材料にもなります。Google ヘルプ

送信ボタンクリック計測との違い

ここは特に重要です。

送信ボタンをクリックしたことと、フォーム送信が正常に完了したことは同じではありません。

たとえば、

  • 必須項目が未入力
  • メールアドレスの形式が間違っている
  • 入力内容にエラーがある
  • 通信エラーが発生した

場合でも、送信ボタン自体はクリックできます。

そのため、

送信ボタンクリック=問い合わせ成功

として計測すると、実際の成果より多く見える可能性があります。

GTMのフォーム送信トリガーには「妥当性をチェック」という設定があり、有効にすると適切に送信された場合だけトリガーを発火させる仕組みがあります。ただし、AjaxやJavaScriptを利用したフォームでは通常のフォーム送信トリガーで検知できないこともあるため、フォームの実装に合わせた確認が必要です。Google ヘルプ

フォーム送信計測が役立つサイト

フォーム送信計測は、特に「問い合わせ」や「申込み」が成果になるサイトで役立ちます。

たとえば、

サイト計測したいフォーム
企業サイトお問い合わせ・見積もり
士業サイト相談予約
不動産サイト資料請求・内覧予約
スクール体験申込み
美容・医療系サイト予約・相談
ブログお問い合わせ・メルマガ登録

単純なアクセス数だけでなく、どのページが実際の成果につながっているかを判断できるのが大きなメリットです。

GA4へフォーム送信イベントを送る基本的な流れ

GTMからGA4へフォーム送信を送る場合は、GA4イベントタグと送信タイミングを決めるトリガーを設定します。

Google公式でも、GTMからGA4イベントを送信する場合は、「Google アナリティクス: GA4 イベント」タグを設定し、イベントを送るタイミングをトリガーで指定する方法が案内されています。Google ヘルプ

たとえば、

イベント名:form_submit

フォームID:contact-form

ページ:お問い合わせページ

のような情報をGA4へ送れば、フォームごとの送信状況を分析できます。

ただし、GA4の拡張計測ですでにform_submitを取得している場合があります。GTMで独自計測を追加する前に、GA4側ですでにフォームイベントが記録されていないか確認しておきましょう。Google ヘルプ

フォーム送信計測を設定する前に準備するもの

フォーム送信計測では、いきなりトリガーを作るのではなく、最初にGTM・GA4・フォームの動作を確認しておくことが重要です。

特にフォームはサイトごとに仕組みが違うため、**「送信後に何が起こるか」**を確認してから計測方法を決めると失敗しにくくなります。

GTMアカウントとコンテナを準備する

まず、対象サイトで利用するGTMアカウントとWebコンテナを準備します。

すでにGTMを導入している場合は、新しく作成する必要はありません。

確認したいのは、

  • 対象サイト用のコンテナである
  • GTM-IDが正しい
  • 編集できる権限がある

ことです。

複数サイトを運営している場合は、別サイトのコンテナを編集しないよう注意しましょう。

WebサイトへGTMを設置する

GTMでタグやトリガーを作っても、Webサイト側にGTMコンテナが設置されていなければ動作しません。

WordPressでは、

  • テーマ機能
  • GTM対応プラグイン
  • コードを直接設置

などの方法があります。

重要なのは、同じGTMコンテナを複数の方法で設置しないことです。

二重設置すると、フォーム送信イベントが重複して送られる原因になることがあります。

GA4を準備する

フォーム送信イベントをGA4へ送る場合は、GA4側も利用できる状態にしておきます。

確認するのは、

  • GA4プロパティ
  • Webデータストリーム
  • 測定ID
  • GA4へのアクセス権限

です。

Google公式のGTMイベント設定手順でも、事前にGA4アカウント・プロパティ・Webデータストリーム・GTMの設定を済ませておくことが前提とされています。Google ヘルプ

Googleタグが正しく設定されているか確認する

現在のGTMでは、従来の「GA4設定タグ」はGoogleタグへ移行しています。

Google公式では、従来のGA4設定タグはGoogleタグへ自動アップグレードされ、GA4イベントタグは引き続き利用できると案内されています。Google ヘルプ

確認したいのは、

  • 正しい測定IDを使っている
  • Googleタグが読み込まれている
  • GTMとGA4が正しく連携している
  • タグが重複設置されていない

ことです。

Tag Assistantを使って事前に確認しておくと安心です。

計測したいフォームを決める

次に、どのフォームを計測するのか決めます。

たとえばサイト内に、

  • お問い合わせ
  • 資料請求
  • 無料相談
  • 予約

という4種類のフォームがある場合、すべて同じ目的とは限りません。

最初から全部を計測するより、

「まずお問い合わせフォームを計測する」

など、重要なフォームから始めると管理しやすいです。

フォームを区別する場合は、GTMのForm IDやForm Classesなどを利用できます。フォーム送信トリガーが発火すると、Form Element・Form Classes・Form ID・Form Target・Form URL・Form Textなどの組み込み変数に値が入ります。Google ヘルプ

フォーム送信後の動きを確認する

フォーム計測で最も重要な準備の1つが、送信後に何が起こるか確認することです。

主なパターンは次のとおりです。

送信後の動き計測方法の候補
サンクスページへ移動ページビューで完了判定
同じページで完了メッセージ表示フォーム・要素表示・カスタムイベントなど
Ajaxで送信JavaScript・データレイヤーなどを検討
通常のHTMLフォーム送信フォーム送信トリガーを検討

たとえば、

/contact/

から送信後に、

/contact/thanks/

へ移動するなら、サンクスページ表示を送信完了として計測しやすくなります。

一方、URLが変わらず「送信しました」と表示されるフォームでは、通常のページビューだけでは完了を判定できません。

この確認をせずに「送信ボタンのクリック」だけで成果を計測すると、入力エラーまで成果として数える可能性があるので注意しましょう。

事前準備チェックリスト

設定を始める前に、次の項目を確認しましょう。

確認項目チェック内容
GTMアカウント利用できる
GTMコンテナ対象サイト用を確認
GTM設置サイトに正常設置
GA4対象プロパティを準備
Googleタグ正常に動作
対象フォーム計測するフォームを決定
Form IDなど識別できるか確認
送信方式通常・Ajaxなどを確認
送信後URL変化するか確認
サンクスページ有無を確認
GA4標準計測form_submit取得済みか確認
Tag Assistant接続・確認できる状態

準備段階で特に大切なのは、**「フォームを送信したらURLが変わるのか」「同じページのままなのか」**を実際に確認することです。

ここが分かれば、後のトリガー設定で「フォーム送信」「サンクスページ」「別の成功判定」のどれを使うべきか判断しやすくなります。

GTMでフォーム関連の変数を有効にする方法

GTMでフォーム送信を計測するときは、フォームに関する組み込み変数を有効にしておくと、どのフォームが送信されたのかを判別しやすくなります。

主に使うのは、

  • Form Element
  • Form Classes
  • Form ID
  • Form Target
  • Form URL
  • Form Text

です。

これらはフォームトリガーが成立したときに値を取得でき、トリガー条件やGA4イベントパラメータに利用できます。Google公式でも、フォームトリガー成立時にこれらの組み込み変数が使えると案内されています。Google ヘルプ

フォーム変数とは?

フォーム変数とは、送信されたフォームの情報を取得するための変数です。

たとえば、

  • フォームのID
  • class属性
  • 送信先
  • フォーム内のテキスト

などを取得できます。

GTMの変数は、トリガー条件を細かく指定したり、タグへ値を渡したりするために使う仕組みです。Google ヘルプ

たとえばお問い合わせフォームに、

id="contact-form"

が設定されていれば、Form IDを使ってそのフォームだけを対象にできます。


GTMの組み込み変数・ユーザー定義変数・データレイヤー変数の違いについては、「Googleタグマネージャーの変数とは?役割と設定方法を初心者向けに解説」で詳しく解説しています。

GTMの「変数」を開く

まずGTMで対象のコンテナを開きます。

左側メニューから**「変数」**を選択してください。

変数画面では、

  • 組み込み変数
  • ユーザー定義変数

を確認できます。

フォーム関連の変数はGTMにあらかじめ用意されているため、基本的には新しく作成する必要はありません。

「組み込み変数の設定」を開く

「変数」画面で、組み込み変数の欄にある設定を開きます。

フォーム関連の項目から、

  • Form Element
  • Form Classes
  • Form ID
  • Form Target
  • Form URL
  • Form Text

を有効にします。

フォーム送信時にこれらの変数へ値が入ることで、どのフォームが対象だったのか確認しやすくなります。Google ヘルプ

Form Elementを有効にする

Form Elementは、フォームそのもののDOM要素を取得します。

Google公式では、フォームトリガー成立時にgtm.elementを参照し、フォームのDOM要素を返すと案内されています。Google ヘルプ

通常の初心者向け設定では、Form IDやForm Classesほど直接使う機会は多くありませんが、フォーム要素を詳しく判定したいときに役立ちます。

Form Classesを有効にする

Form Classesは、フォームのclass属性を取得します。Google ヘルプ

たとえば、

class="contact-form main-form"

というフォームなら、そのclass情報を条件にできます。

同じページに複数のフォームがあり、共通のclassでまとめて管理したい場合に便利です。

Form IDを有効にする

Form IDは、フォーム要素のid属性を取得します。Google ヘルプ

たとえば、

id="contact-form"

なら、

Form ID equals contact-form

のような条件で、そのフォームだけを対象にできます。

フォームごとに固有のIDが設定されている場合は、Form IDが最も分かりやすい条件の1つです。

Form Targetを有効にする

Form Targetは、フォーム要素のtarget属性を取得します。Google ヘルプ

target="_blank"

などが設定されているフォームなら、その値を取得できます。

通常のWordPressお問い合わせフォームでは使う機会は少なめですが、別ウィンドウや別フレームへ送信するフォームでは確認材料になります。

Form URLを有効にする

Form URLは、フォームに関連するURL情報を取得する変数です。

Google公式の組み込み変数ヘルプでは、フォームトリガー成立時にgtm.elementUrlを取得すると案内されています。Google ヘルプ

フォームの送信先や関連URLを条件として使いたい場合に利用できます。

ただし、フォームの実装によっては想定した値が入らないこともあるため、Tag Assistantで実際の値を確認してから条件に使うのがおすすめです。

Form Textを有効にする

Form Textは、フォーム内の表示テキストを取得します。Google ヘルプ

たとえば、

  • お問い合わせ
  • 資料請求
  • 無料相談

など、フォーム内の表示内容を確認できます。

ただし、表示テキストは変更される可能性があるため、条件指定にはForm IDやForm Classesの方が安定する場合があります。

フォーム変数の役割早見表

変数取得する内容主な使い方
Form ElementフォームのDOM要素細かな要素判定
Form Classesclass属性同種フォームの判別
Form IDid属性特定フォームの指定
Form Targettarget属性送信先表示方法の確認
Form URLフォーム関連URL送信先などの判定
Form Textフォーム内の表示テキストフォーム内容の判別

初心者の方は、まずForm IDとForm Classesを中心に確認すると分かりやすいです。

スポンサーリンク

GTMのフォーム送信トリガーとは?

フォーム関連の変数を有効にしたら、次に「どのフォーム送信でタグを発火させるか」をトリガーで決めます。

GTMには「フォームの送信」トリガーがあり、フォーム送信を検知してタグを動かせます。Google ヘルプ

フォーム送信トリガーとは?

フォーム送信トリガーとは、ユーザーがフォームを送信したときにタグを発火させるための仕組みです。

たとえば、

お問い合わせフォーム送信

↓

フォーム送信トリガーが発火

↓

GA4イベントタグを送信

という流れになります。

GTMでは、タグを動かすには少なくとも1つのトリガーが必要です。Google ヘルプ


GTMのトリガーの種類や条件設定については、「Googleタグマネージャーのトリガーとは?作成方法と使い方をわかりやすく解説」で詳しく解説しています。

「フォームの送信」で計測する仕組み

GTMでは、

トリガー → 新規 → トリガーの設定 → フォームの送信

と進むことで、フォーム送信トリガーを作成できます。Google ヘルプ

フォーム送信を検知すると、

  • Form ID
  • Form Classes
  • Form URL
  • Form Text

などの変数へ値が入り、その値を使って特定フォームだけに絞り込めます。

すべてのフォーム送信を計測する方法

サイト内にフォームが1つしかなく、すべてのフォーム送信を対象にしたい場合は、すべてのフォームを対象にする方法があります。

ただし、サイト内に、

  • お問い合わせ
  • 検索フォーム
  • メルマガ登録
  • コメントフォーム

などがある場合、すべてを対象にすると不要な送信まで計測する可能性があります。

Google公式でも、フォーム送信が発生すると想定されるページや条件へ対象を絞ることを推奨しています。Google ヘルプ

一部のフォームだけを計測する方法

特定フォームだけを計測したい場合は、一部のフォームを選択し、条件を設定します。

たとえば、

Form ID equals contact-form

とすれば、contact-formというIDを持つフォームだけを対象にできます。

ほかにも、

  • Form Classes
  • Page URL
  • Page Path

などを条件にできます。

フォームが複数あるサイトでは、この方法の方が安全です。

Form IDでフォームを指定する方法

フォームに固有のIDがある場合は、Form IDで絞り込む方法が分かりやすいです。

たとえばHTMLが、

<form id="contact-form">

なら、

Form ID equals contact-form

と設定します。

Form IDはフォーム要素のID属性を取得するため、フォームごとに固有IDが付いているサイトでは条件として使いやすいです。Google ヘルプ

Form Classesでフォームを指定する方法

Form IDがない場合は、Form Classesを使う方法があります。

たとえば、

class="wpcf7-form contact"

のようなフォームなら、class情報を利用できます。

ただし、同じclassが複数フォームで使われている場合は、Form Classesだけでは区別できないことがあります。

その場合は、

Form Classes

+

Page Path

のように複数条件を組み合わせると安全です。

Page URL・Page Pathで対象ページを絞る方法

フォームが特定ページにしか存在しない場合は、URL条件で絞る方法も有効です。

たとえば、

Page Path equals /contact/

と設定すれば、お問い合わせページ上のフォームだけを対象にできます。

Google公式でも、フォームやリンクのトリガーでは、Page Path equals /my/tested/form/pageのように、対象範囲をテスト済みページへ制限する方法を推奨しています。Google ヘルプ

たとえば次のように使い分けられます。

条件用途
Form ID特定フォームを厳密に指定
Form Classes同じ種類のフォームをまとめる
Page URL特定URLを指定
Page Pathサイト内の特定ページを指定
複数条件フォーム+ページを組み合わせる

フォーム送信トリガーの選び方早見表

サイトの状態おすすめ条件
フォームが1つだけすべてのフォームでも可
複数フォームがあるForm ID
共通classで管理Form Classes
特定ページだけPage Path・Page URL
同じフォームが複数ページForm ID+Page条件
フォームの実装が特殊Tag Assistantで確認して判断

フォーム送信トリガーは便利ですが、JavaScriptやAjaxで処理されるフォームでは通常どおり反応しない場合があります。Google公式も、フォームやリンクのトリガーは別のJavaScript処理が介入すると動作しないことがあるため、公開前にプレビューモードでテストすることを推奨しています。

GTMでフォーム送信トリガーを作成する方法

GTMでフォーム送信を計測するには、「フォームの送信」トリガーを作成します。

Google公式では、フォーム送信トリガーを使うと、フォームが送信されたときにタグを発火できると案内されています。フォーム送信後にGA4イベントタグを動かしたい場合、このトリガーが基本になります。 Google ヘルプ

「新規トリガー」を作成する

まずGTMで対象のコンテナを開きます。

左側メニューから、

「トリガー」→「新規」

と進みます。

次に「トリガーの設定」をクリックし、フォーム送信を検知するためのトリガータイプを選びます。

GTMでは、タグを発火させるために少なくとも1つのトリガーが必要です。 Google ヘルプ

「フォームの送信」を選択する

トリガータイプの一覧から、

「フォームの送信」

を選択します。

このトリガーは、フォームが送信されたときに動作します。Google公式でも、フォーム送信トリガーはフォーム送信を検知してタグを配信するための機能として案内されています。 Google ヘルプ

たとえば、

お問い合わせフォーム送信

↓

フォーム送信トリガー発火

↓

GA4イベントタグ発火

という流れになります。

「タグの配信を待つ」とは?

「タグの配信を待つ」は、フォーム送信によって次のページへ移動する前に、GTMのタグが発火する時間を確保するための設定です。

この設定をオンにすると、

  • 関連タグの配信が完了する
  • 指定したタイムアウト時間が経過する

のどちらか早い方まで、フォーム送信を一時的に待つ仕組みになります。 Google ヘルプ

たとえば、フォーム送信後すぐにサンクスページへ移動する場合、ページ遷移が速すぎるとGA4イベントタグの送信が間に合わないことがあります。

そのようなケースで「タグの配信を待つ」が役立ちます。

「妥当性をチェック」とは?

「妥当性をチェック」は、フォームが適切に送信された場合だけトリガーを発火させるための設定です。

Google公式では、この設定をオンにすると、フォームが正常に送信された場合だけトリガーが発火すると案内されています。オフの場合は、ユーザーが送信を試みた時点で発火します。 Google ヘルプ

たとえば、

  • 必須項目が未入力
  • メールアドレス形式が不正
  • 入力エラーがある

場合でも、送信操作自体は発生します。

そのため、送信成功に近い条件で計測したい場合は、「妥当性をチェック」の有効化を検討するとよいでしょう。

ただし、JavaScriptやAjaxで独自に送信処理されるフォームでは、この設定だけで正確に判定できない場合があります。

すべてのフォームを対象にする方法

サイト内のすべてのフォーム送信を対象にする場合は、トリガーの発生場所で**「すべてのフォーム」**を選択できます。

ただし、サイト内には、

  • お問い合わせ
  • サイト内検索
  • コメント
  • メルマガ登録
  • ログイン

など、目的の異なるフォームが複数存在することがあります。

そのため、すべてのフォームを対象にすると、不要な送信までGA4へ記録される可能性があります。

Google公式でも、フォーム送信が発生する場所を特定し、「一部のフォーム」で条件を絞る方法を推奨しています。 Google ヘルプ

特定フォームだけを対象にする方法

お問い合わせフォームだけなど、特定のフォームを計測したい場合は、**「一部のフォーム」**を選択します。

たとえば、

Form ID equals contact-form

と設定すれば、contact-formというIDを持つフォームだけを対象にできます。

ほかにも、

  • Form Classes
  • Page URL
  • Page Path

などを条件に使えます。

たとえば、

Page Path equals /contact/

とすれば、お問い合わせページにあるフォームだけに限定できます。

Google公式でも、フォームトリガーは対象ページやフォームを条件で絞ることを推奨しています。 Google ヘルプ

トリガー名を分かりやすく付ける

トリガーを作成したら、後から見ても内容が分かる名前にしましょう。

たとえば、

Form Submit|お問い合わせ

Form Submit|資料請求

Form Submit|/contact/

などです。

「トリガー1」「フォーム2」のような名前では、あとで何を計測しているか分かりにくくなります。

トリガー名は、

種類|対象フォーム|対象ページ

のように統一すると管理しやすいです。

フォーム送信トリガーだけでは正しく計測できない場合がある

GTMのフォーム送信トリガーは便利ですが、すべてのフォームで必ず正しく動くわけではありません。

特に、

  • JavaScriptで送信処理するフォーム
  • Ajaxフォーム
  • ページ遷移しないフォーム
  • 独自プラグインで作られたフォーム

では、通常のフォーム送信トリガーが反応しないことがあります。

Google公式でも、フォームの標準的なsubmit動作が変更されている場合は、カスタムイベントトリガーなど別の方法が必要になることがあると案内されています。 Google ヘルプ

送信ボタンクリックと送信成功は別

フォーム計測で最も重要なのは、

送信ボタンを押したこと

と

フォームが正常に送信されたこと

を分けて考えることです。

たとえば、

  • 名前が未入力
  • メールアドレスに誤り
  • 必須チェックが未選択

でも、送信ボタン自体はクリックできます。

そのため、送信ボタンのクリックだけを成果として計測すると、実際の問い合わせ件数より多くなる可能性があります。

クリック計測=送信成功ではない

と覚えておきましょう。

JavaScriptフォームでは通常の送信トリガーが動かない場合がある

最近のフォームでは、JavaScriptを使って送信処理を制御しているケースがあります。

この場合、通常のHTMLフォームで発生するsubmitイベントが使われていなかったり、途中で別のJavaScript処理に置き換えられていたりすることがあります。

Google公式でも、フォームやリンクのトリガーは、別のJavaScriptイベントが処理に介入すると正常に動作しない場合があるため、プレビューモードで確認するよう案内しています。 Google ヘルプ

Ajaxフォームとは?

Ajaxフォームとは、ページ全体を再読み込みせずに、JavaScriptを使ってフォーム内容を送信する仕組みです。

たとえば、

送信ボタンを押す

↓

画面はそのまま

↓

「送信完了しました」と表示

というフォームです。

この方式では、

  • サンクスページへ移動しない
  • URLが変わらない
  • 通常のフォーム送信イベントが発生しない

ことがあります。

そのため、通常のフォーム送信トリガーだけでは正しく検知できない場合があります。

ページ遷移しないフォームに注意する

フォーム送信後にURLが変わらない場合、ページビューだけでは送信成功を判定できません。

たとえば、

/contact/

のまま画面上に、

「お問い合わせを送信しました」

と表示されるケースです。

このような場合は、

  • 完了メッセージの表示
  • カスタムイベント
  • dataLayerへのイベント送信
  • フォームプラグイン固有のJavaScriptイベント

などを使って送信成功を判定する方法があります。

Google公式でも、標準的なフォーム送信が変更されている場合は、カスタムイベントトリガーを使う方法が紹介されています。 Google ヘルプ

入力エラーでもクリックは発生する

たとえば、

メールアドレスが未入力

のまま「送信」を押した場合、

  • クリックイベント → 発生
  • フォーム送信成功 → 発生しない

という状態になります。

そのため、送信ボタンクリックだけを見ると、実際には送信されていない操作まで成果として数えてしまいます。

フォーム成果を正確に分析したい場合は、

  • サンクスページ到達
  • 正常なform_submit
  • 完了メッセージ表示
  • カスタムイベント

など、送信成功に近いタイミングを使う方が適しています。

フォームの種類によって計測方法を変える

フォーム送信の計測方法は、フォームの仕組みに合わせて選びましょう。

フォームの種類計測方法の候補
通常のHTMLフォームフォーム送信トリガー
送信後にサンクスページへ移動ページビュー・URL条件
Ajaxフォームカスタムイベントなど
JavaScriptフォームdataLayer・カスタムイベントなど
送信ボタンだけ計測したいクリックトリガー
完了メッセージを判定したい要素表示・カスタムイベントなど

初心者の方は、まず実際にフォームを送信して、

「URLが変わるのか」「画面内だけ変わるのか」

を確認してください。

その結果から計測方法を選ぶと、誤計測を減らせます。

Google公式でも、フォームトリガーは公開前にプレビューモードでテストし、フォームデータやタグが正常に動作するか確認することを推奨しています。

サンクスページでフォーム送信を計測する方法

フォーム送信後に「お問い合わせありがとうございました」などの専用ページへ移動するサイトでは、サンクスページが表示されたことをフォーム送信完了として計測する方法があります。

通常のフォーム送信トリガーが使いにくい場合でも、送信成功後だけ専用URLへ移動する仕組みなら、ページビューを利用して比較的分かりやすく設定できます。Google公式でも、確認ページなどの閲覧を条件にイベントを送る場合は「ページビュー」トリガーを利用できると案内しています。 Google ヘルプ

サンクスページ計測とは?

サンクスページ計測とは、フォームの送信成功後に表示される専用ページへの到達を、成果として記録する方法です。

たとえば、

/contact/

でお問い合わせフォームを送信し、成功した場合だけ、

/contact/thanks/

へ移動するとします。

この場合は、

フォーム送信成功
↓
サンクスページへ移動
↓
ページビューを検知
↓
GA4イベントタグを発火

という流れで計測できます。

「送信ボタンを押しただけ」ではなく、送信後の完了ページまで到達したことを条件にできる点がメリットです。

フォーム送信後にURLが変わるか確認する

最初に、実際にテスト送信して、送信後のURLを確認しましょう。

たとえば、

送信前
https://example.com/contact/

送信後
https://example.com/contact/thanks/

のように変われば、サンクスページを条件にできます。

一方で、

Example Domain

のまま「送信しました」と表示されるフォームでは、URLによるサンクスページ計測はできません。

確認するポイントは、

  • 送信成功後だけURLが変わるか
  • 毎回同じ完了URLになるか
  • 入力エラー時には完了ページへ移動しないか

です。

Page Viewトリガーを作成する

サンクスページを計測する場合は、GTMでページビュータイプのトリガーを作成します。

基本的には、

「トリガー」→「新規」→「トリガーの設定」→「ページビュー」

と進みます。

そして「一部のページビュー」を使って、サンクスページだけを対象にします。

Google公式でも、特定の確認ページが表示されたときにイベントを送る場合、ページビュータイプのトリガーを使用できると案内しています。 Google ヘルプ

サンクスページのURLを条件にする

次に、サンクスページのURLをトリガー条件へ設定します。

たとえば、

Page Path equals /contact/thanks/

のように設定します。

URL全体を使う場合はPage URLでも条件を作れますが、ドメイン変更やHTTP・HTTPSなどの影響を受けにくくする目的では、Page Pathの方が扱いやすい場合があります。

設定例は次のとおりです。

項目設定例
トリガータイプページビュー
発生場所一部のページビュー
変数Page Path
条件equals
値/contact/thanks/

GA4イベントタグを発火させる

サンクスページ用トリガーを作成したら、GA4イベントタグに設定します。

たとえば、

イベント名:form_submit

トリガー:サンクスページ表示

とすれば、サンクスページが表示されたタイミングでGA4へフォーム送信イベントを送れます。

Google公式では、GTMからGA4へイベントを送る場合、「Google アナリティクス: GA4 イベント」タグを設定し、イベント送信のタイミングをトリガーで指定します。 Google ヘルプ

ただし、GA4の拡張計測ですでにform_submitを取得している場合があります。同じ送信をGTMからも送ると意味の重複が起こるため、事前にGA4側を確認しておきましょう。GA4の拡張計測ではform_startとform_submitが自動収集される場合があります。 Google ヘルプ

サンクスページ計測のメリット

サンクスページ計測には、フォーム送信ボタンのクリックだけを計測する方法と比べて、送信成功に近いタイミングを取得しやすいメリットがあります。

たとえば、

  • 必須項目未入力
  • メールアドレス形式エラー
  • 入力内容の不備

がある場合、通常はサンクスページまで移動しません。

そのため、クリックだけを成果とするより、実際の問い合わせ完了件数に近いデータを取得しやすくなります。

サンクスページ計測が向かないケース

サンクスページ方式が使えない、または注意が必要なケースもあります。

たとえば、

  • 送信後もURLが変わらない
  • Ajaxで完了メッセージだけ表示される
  • JavaScriptでフォーム処理される
  • 誰でも直接サンクスページを開ける
  • ページを再読み込みするとイベントが再発火する

場合です。

特にサンクスページのURLを直接開いた場合や再読み込みした場合にも、ページビュー条件だけならイベントが発火する可能性があります。

そのため、サンクスページ表示=必ず新しいフォーム送信1件とは限らない点は覚えておきましょう。

フォームの実装が標準的でない場合は、Google公式でもカスタムイベントトリガーを使う方法が案内されています。 Google ヘルプ

サンクスページ計測の向き・不向き早見表

フォームの状態サンクスページ計測
成功後だけ専用URLへ移動◎ 向いている
入力エラー時は移動しない◎ 向いている
送信後も同じURL× URLでは判定不可
Ajax送信△ 別方法を検討
直接URLへアクセス可能△ 誤計測に注意
再読み込み可能△ 重複計測に注意

GA4へフォーム送信イベントを送る方法

フォーム送信トリガーやサンクスページトリガーを準備したら、次はGA4へイベントを送ります。

GTMでは、イベント名に加えてフォームIDやフォーム名などをイベントパラメータとして送ることで、どのフォームから成果が発生したのかを分析しやすくできます。

GA4イベントタグを作成する

GTMで「新規タグ」を作成し、GA4へイベントを送るタグを設定します。

主に設定する項目は、

  • Googleタグ
  • イベント名
  • イベントパラメータ
  • トリガー

です。

Google公式でも、GTMでGA4イベントを設定する場合はGA4イベントタグを作り、イベント送信の条件となるトリガーを設定する手順が案内されています。 Google ヘルプ


GTMとGA4を接続し、GoogleタグやGA4イベントタグを設定する基本手順については、「GoogleタグマネージャーとGoogle Analyticsを連携する方法を徹底解説」で詳しく解説しています。

イベント名を決める

フォーム送信をGA4へ送る場合、代表的なイベント名として、

form_submit

があります。

GA4の拡張計測でもフォーム送信時にform_submitが使われ、form_id・form_name・form_destination・form_submit_textなどの情報が取得されます。 Google ヘルプ

ただし、すでにGA4拡張計測で同じフォームのform_submitが取得されている場合、GTMでも同じイベントを送ると二重計測になる可能性があります。

そのため、

GTMで追加する前にGA4の既存イベントを確認する

ことが大切です。

フォーム送信トリガーを設定する

GA4イベントタグを作成したら、発火条件となるトリガーを割り当てます。

フォームの種類によって、

  • フォーム送信トリガー
  • サンクスページのPage Viewトリガー
  • カスタムイベントトリガー

などを使い分けます。

通常のフォームなら「フォームの送信」、サンクスページ方式なら「ページビュー」というように、送信成功を最も正確に判定できるトリガーを選びましょう。

フォームIDをパラメータへ送る

複数フォームを区別したい場合は、Form IDをGA4へ送ると便利です。

たとえば、

パラメータ名値
form_id{{Form ID}}

と設定します。

お問い合わせフォームのIDがcontact-formなら、

form_id = contact-form

のようにGA4へ送れます。

GA4の拡張計測でも、form_idはフォームDOM要素のHTML id属性を表すパラメータとして使われています。 Google ヘルプ

ただし、フォームにIDが設定されていなければ値を取得できません。Tag Assistantで実際の値を確認してから利用しましょう。

Page URLを確認する

フォームイベントでは、「どのページで発生したか」も重要です。

GA4のWebイベントではページ情報が自動的に取得されるため、単に発生ページを確認したいだけなら、独自にpage_urlを追加しなくても分析できるケースがあります。

たとえば、

  • /contact/
  • /service-a/
  • /campaign/

などを比較すれば、どのページがフォーム送信につながっているか判断できます。

特に同じ問い合わせフォームを複数ページに配置している場合、発生ページを確認すると成果の高いページを見つけやすくなります。

フォーム名をパラメータへ送る方法

フォーム名を区別したい場合は、分かりやすい名称をイベントパラメータとして送る方法もあります。

たとえば、

パラメータ名値の例
form_namecontact
form_namedocument_request
form_namereservation

とします。

GA4標準の拡張計測でもform_nameはフォームDOM要素のHTML name属性から取得されるパラメータです。 Google ヘルプ

ただし、GTMの組み込みフォーム変数に「Form Name」が用意されているとは限りません。そのため独自の分かりやすいフォーム名を送りたい場合は、固定値・ユーザー定義変数・データレイヤーなど、サイトの実装に合った方法を使います。

氏名やメールアドレスなど、ユーザーの個人情報をform_nameへ入れてはいけません。

フォーム送信イベント設定例

お問い合わせフォームをGTMからGA4へ送る場合、たとえば次のように整理できます。

設定項目設定例
タグGA4イベント
イベント名form_submit
form_id{{Form ID}}
form_namecontact
発生ページGA4のページ情報を利用
トリガーフォーム送信またはサンクスページ
確認方法Tag Assistant・GA4 DebugView

送信の流れは次のイメージです。

フォーム送信成功
↓
GTMトリガー発火
↓
GA4イベントタグ発火
↓
form_submitを送信
↓
GA4でフォーム別・ページ別に分析

GA4ではform_startとform_submitを利用して、フォーム入力を始めたユーザーと送信したユーザーを比較できます。Google公式も、この2つのイベントをフォーム利用状況の比較に使えると案内しています。 Google ヘルプ

なお、フォーム関連パラメータをGA4の通常レポートなどで分析したい場合は、必要に応じてカスタムディメンションの作成が必要です。Google公式でも、拡張計測のフォームパラメータをレポートで利用するにはカスタムディメンションを作成するよう案内しています。

フォーム送信イベント名とパラメータの決め方

フォーム送信をGA4へ送るときは、イベント名とパラメータを最初に整理しておくことが大切です。

フォームごとに別々のイベント名を増やしすぎると、GA4のイベント一覧が分かりにくくなります。基本は、イベント名はできるだけ統一し、フォームの違いはパラメータで分けると管理しやすくなります。

イベント名は分かりやすく統一する

イベント名は、何を計測しているのかが分かる名前にしましょう。

ただし、ここで重要な注意点があります。

GA4のform_submitは、拡張計測で使われる予約済みイベント名です。Google公式の命名規則でも、form_submitは予約済みイベント名として案内されています。GTMから独自イベントを新しく送る場合は、form_submitをそのまま独自イベント名として使うより、別名を使う方が安全です。 Google ヘルプ

たとえば、

  • contact_form_submit
  • lead_form_submit
  • inquiry_submit

などが分かりやすいでしょう。

form_submitの設定例

form_submitは、GA4の拡張計測でフォーム送信時に自動収集されるイベントです。

このイベントには、

  • form_id
  • form_name
  • form_destination
  • form_submit_text

などのパラメータが付くことがあります。Google公式でも、form_submitは拡張計測のフォーム操作イベントとして案内されています。 Google ヘルプ

そのため、まずGA4ですでにform_submitが取得されていないか確認しましょう。

すでに取得できているなら、GTMで同じ目的の独自イベントを追加しなくてもよい場合があります。

form_idを活用する

複数フォームを区別したい場合は、form_idが便利です。

たとえば、

イベント名form_id
contact_form_submitcontact-form
contact_form_submitdocument-form
contact_form_submitreservation-form

のようにすれば、イベント名を増やさずにフォームごとの送信数を分けられます。

GA4標準のフォームイベントでも、form_idはフォームDOM要素のHTML id属性として利用されています。 Google ヘルプ

form_nameを活用する

form_nameも、フォームを判別するのに使えるパラメータです。

たとえば、

  • contact
  • document_request
  • reservation

など、管理しやすい名称を使うと分かりやすいです。

ただし、GA4標準のform_nameはフォームDOM要素のHTML name属性から取得されます。独自に分かりやすい名称を設定したい場合は、固定値やユーザー定義変数などで管理する方法があります。 Google ヘルプ

page_locationを活用する

どのページでフォーム送信が発生したか確認したい場合は、page_locationを活用できます。

GA4のWebストリームでは、page_locationはカスタムイベントを含むすべてのイベントでデフォルト収集されます。 Google ヘルプ

そのため、単に発生ページを知りたいだけなら、独自のpage_urlパラメータを追加しなくてもよいケースが多いです。

たとえば、

  • /contact/
  • /service-a/
  • /campaign/

のどこからフォーム送信が発生したかを比較できます。

イベント名をフォームごとに分けすぎない

たとえば、

  • contact_submit
  • document_submit
  • reservation_submit
  • consultation_submit

とフォームごとにイベント名を増やすと、イベント一覧が複雑になります。

初心者の方には、

イベント名:lead_form_submit

form_name:contact

form_name:document_request

のように、イベント名を統一してフォームの違いをパラメータで分ける方法が分かりやすいです。

イベントパラメータは、ユーザー行動に追加情報を付けて詳しく分析するために使えます。 Google ヘルプ

GA4のイベント命名ルールに注意する

GA4ではイベント名にルールがあります。

Google公式では、

  • 英字で始める
  • 英数字とアンダースコアを使う
  • スペースを使わない
  • 大文字・小文字を区別する
  • 予約済みイベント名を使わない

と案内されています。 Google ヘルプ

たとえば、

contact_form_submit

は分かりやすいですが、

Contact Form Submit

のようにスペースを入れるのは避けましょう。

また、

form_submit

は予約済みなので、GTM独自イベントとして新しく設定する場合は別名にするのが安全です。

イベント名・パラメータ設定早見表

項目おすすめ例
独自イベント名contact_form_submit
フォームIDform_id
フォーム名form_name
発生ページpage_location
送信先必要に応じてform_destination
管理方法イベント名を統一しパラメータで分ける

GTMのプレビューでフォーム送信を確認する方法

フォーム送信トリガーやGA4イベントタグを設定したら、すぐに公開せず、まずGTMのプレビューモードで確認しましょう。

Google公式でも、フォームやリンクのトリガーは、JavaScriptの影響で正しく動かない場合があるため、公開前にプレビューでテストすることを推奨しています。 Google ヘルプ

プレビューモードを起動する

GTMで対象コンテナを開き、画面右上の**「プレビュー」**をクリックします。

すると、Google Tag Assistantが新しいタブで起動します。

Google公式でも、

GTM → プレビュー → Tag Assistant起動

という流れで確認する方法が案内されています。 Google ヘルプ

Tag Assistantでサイトへ接続する

Tag Assistantが開いたら、フォームがあるページのURLを入力して接続します。

たとえば、

Example Domain

などです。

接続後は、実際のサイトを操作しながら、

  • イベント
  • タグ
  • 変数

を確認できます。

Google公式でも、Tag AssistantにURLを入力して接続し、タグやイベントを検証する方法が案内されています。 Google ヘルプ

実際にフォームへ入力する

次に、実際にテスト用の内容をフォームへ入力します。

たとえば、

  • 名前
  • メールアドレス
  • お問い合わせ内容

などを入力します。

本番サイトでテストする場合は、実際のお問い合わせと区別できるよう、

「GTM計測テスト」

など分かりやすい内容にすると管理しやすいです。

フォーム送信を実行する

フォーム入力後、送信ボタンを押します。

このとき、

  • 正常送信
  • 入力エラー
  • サンクスページへの移動
  • 完了メッセージ表示

など、フォームの動作も確認しましょう。

フォーム送信トリガーは「妥当性をチェック」を有効にすると、フォームが適切に送信された場合のみ発火するよう設定できます。 Google ヘルプ

gtm.formSubmitを確認する

標準的なフォーム送信トリガーが正常に検知された場合、Tag Assistantのイベント一覧でフォーム送信に対応する内部イベントを確認できます。

環境によっては、

gtm.formSubmit

として表示されます。

ただし、JavaScriptやAjaxで標準のsubmit動作が変更されているフォームでは、通常のフォーム送信イベントが出ないことがあります。

Google公式でも、標準的なフォーム送信処理が変更されている場合は、カスタムイベントトリガーなど別の方法が必要になることがあると案内されています。 Google ヘルプ

Variablesでフォーム情報を見る

フォーム送信に対応するイベントを選択したら、Variablesを確認します。

主に見るのは、

  • Form Element
  • Form Classes
  • Form ID
  • Form Target
  • Form URL
  • Form Text

です。

フォーム送信トリガーが発火すると、これらの組み込み変数に値が入ります。 Google ヘルプ

たとえば、

Form ID:contact-form

となっていれば、対象フォームを正しく取得できていると判断できます。

Tags Firedを確認する

次に、目的のGA4イベントタグが発火しているか確認します。

たとえば、

GA4|contact_form_submit

というタグを作成している場合、そのタグがTags Firedに表示されているかを見ます。

確認したいのは、

  • 目的のタグが発火している
  • 対象フォームだけで発火する
  • 入力エラー時は不要に発火しない
  • サンクスページ方式なら正しいページで発火する

ことです。

二重発火していないか確認する

フォーム送信計測では、同じ送信でイベントが2回以上発生していないかも確認しましょう。

二重発火の主な原因は、

  • GTMコンテナの二重設置
  • GA4拡張計測のform_submitとGTM独自計測の重複
  • 同じGA4イベントタグを複数作成
  • 複数トリガーが同時に動いている

ことです。

特に、GA4の拡張計測ではform_submitが自動収集されるため、GTMでも同じ送信を計測すると、意味の近いイベントが重複する可能性があります。 Google ヘルプ

GTMプレビュー確認早見表

確認項目見るポイント
Tag Assistant接続対象サイトへ接続できる
フォーム送信正常に送信できる
内部イベントgtm.formSubmitなどを確認
VariablesForm IDなどが正しい
Tags FiredGA4イベントタグが発火
入力エラー不要な成果計測がない
二重発火同じ送信で2回送られていない
Ajaxフォーム通常トリガーが使えるか確認

フォーム計測では、**「ボタンを押した」ではなく「送信成功を正しく検知できたか」**を確認することが最も重要です。

GA4でフォーム送信イベントを確認する方法

GTMでフォーム送信イベントを設定したら、次はGA4側で正しく受信できているか確認します。

設定直後は通常レポートよりも、リアルタイムレポートやDebugViewを使うと確認しやすいです。Google公式でも、データ収集の確認にはリアルタイムレポートとDebugViewを利用できると案内されています。 Google ヘルプ

リアルタイムレポートで確認する

GA4を開き、リアルタイムレポートでフォーム送信イベントが届いているか確認します。

たとえばGTM独自イベント名を、

contact_form_submit

としている場合、そのイベントがリアルタイムで表示されれば、GA4へデータが届いていると判断できます。

確認したいのは、

  • 設定したイベント名が表示される
  • 送信後にイベント数が増える
  • テスト送信したタイミングと一致する

ことです。

リアルタイムレポートは、設定直後の動作確認に向いています。 Google ヘルプ

DebugViewで確認する

より詳しく確認したい場合は、DebugViewを使います。

DebugViewでは、デバッグ対象のブラウザや端末から送信されたイベントを時系列で確認できます。 Google ヘルプ

たとえば、

contact_form_submit

を選び、

  • form_id
  • form_name
  • page_location
  • その他のイベントパラメータ

が正しく送られているか確認します。

イベントが届いていてもパラメータが空欄なら、GTM側の変数設定やフォームのHTML属性を見直す必要があります。

イベント名を確認する

まず確認したいのは、GTMで設定したイベント名とGA4側のイベント名が一致しているかです。

たとえば、

GTM側
contact_form_submit

GA4側
contact_form_submit

となっているか確認します。

GA4ではイベント名の大文字・小文字が区別されるため、

contact_form_submit

と

Contact_Form_Submit

は別イベントとして扱われます。

そのため、イベント名は最初に決めたルールで統一しておくことが大切です。

フォームID・フォーム名を確認する

複数フォームを計測している場合は、form_idやform_nameも確認しましょう。

GA4の標準フォームイベントでは、

  • form_id
  • form_name
  • form_destination
  • form_submit_text

などのパラメータが利用されます。 Google ヘルプ

たとえば、

イベント名form_idform_name
contact_form_submitcontact-formcontact
contact_form_submitdocument-formdocument_request
contact_form_submitreservation-formreservation

のように整理すると、フォーム別の成果を比較しやすくなります。

なお、これらのパラメータを通常のレポートで使う場合は、カスタムディメンションの作成が必要になることがあります。GA4公式でも、フォームパラメータをレポートで利用する場合はカスタムディメンションを作成するよう案内しています。 Google ヘルプ

通常レポートへの反映には時間差がある

フォーム送信イベントがリアルタイムやDebugViewで確認できても、通常レポートにはすぐ表示されない場合があります。

Google公式では、レポートやデータ探索で使える形に処理されるまで、24~48時間かかることがあると案内されています。 Google ヘルプ

そのため、

設定直後
→ リアルタイム・DebugView

時間がたった後
→ 通常レポート・データ探索

という使い分けがおすすめです。

フォーム別に送信数を分析する方法

フォーム送信イベントが蓄積したら、フォームごとに比較すると改善に役立ちます。

たとえば、

フォーム入力開始送信見方
お問い合わせ10060比較的送信率が高い
資料請求12040途中離脱が多い可能性
予約5035送信率が高い

GA4ではform_startとform_submitを使って、フォーム入力を始めたユーザーと送信したユーザーを比較できます。Google公式も、この2つを比較してフォーム途中の問題を見つける用途を案内しています。 Google ヘルプ

たとえば資料請求フォームだけ送信率が低い場合は、

  • 必須項目が多すぎる
  • 入力方法が分かりにくい
  • エラー表示が分かりにくい
  • スマホで入力しづらい

といった問題を確認するとよいでしょう。

GA4の標準form_submitイベントとの違い

GA4には、GTMで独自設定しなくてもフォーム操作を取得できる拡張計測機能があります。

そのため、GTMでフォーム送信イベントを追加する前に、GA4ですでにform_startやform_submitが取得されていないか確認することが重要です。

GA4の拡張計測でもフォーム操作を取得できる

GA4のWebデータストリームで拡張計測が有効になっている場合、フォーム操作として、

  • form_start
  • form_submit

が自動収集されます。 Google ヘルプ

つまり、すべてのフォームでGTM独自イベントを作らなくても、GA4標準機能だけで必要な情報が取れている場合があります。

まずはGA4のイベント一覧やDebugViewで、

form_start

form_submit

が発生しているか確認しましょう。

GA4標準のform_startとは?

form_startは、ユーザーがセッション内で初めてフォームを操作したときに記録されるイベントです。 Google ヘルプ

主に、

  • form_id
  • form_name
  • form_destination

などの情報を持ちます。

このイベントを見ると、

「フォームを開いただけでなく、実際に入力を始めたユーザー」

を把握できます。

ただし、同じセッション内で同じユーザーが何度もフォームを触った場合でも、form_startは最初の操作を基準に考えるイベントです。

GA4標準のform_submitとは?

form_submitは、ユーザーがフォームを送信したときに記録されるイベントです。 Google ヘルプ

主なパラメータは、

  • form_id
  • form_name
  • form_destination
  • form_submit_text

です。

これにより、

「入力開始した人数」と「実際に送信した人数」

を比較できます。

たとえば、

form_start:100

form_submit:60

なら、40人分の差があるため、フォーム途中で離脱している可能性があります。

GTM独自計測との違い

GA4標準計測とGTM独自計測では、自由度が異なります。

項目GA4標準GTM独自計測
設定比較的簡単設定が必要
form_start自動取得可能独自設定可能
form_submit自動取得可能独自設定可能
特定フォームだけ計測限定的細かく条件指定可能
サンクスページを条件にする別設定が必要設定しやすい
Ajax・特殊フォーム対応取得できない場合ありカスタムイベント等で対応可能
独自パラメータ限定的自由に追加しやすい

GTMでは、標準フォーム送信がJavaScriptなどで上書きされている場合でも、カスタムイベントトリガーを使って対応できます。Google公式でも、フォームの標準submit動作が変更されている場合の代表的な用途として、カスタムイベントトリガーを案内しています。 Google ヘルプ

GA4標準とGTMを重複させない

ここは特に重要です。

GA4の拡張計測ですでにform_submitを取得している状態で、GTMから同じ送信を独自イベントとして追加すると、分析が分かりにくくなる場合があります。

たとえば、

GA4標準:form_submit

GTM独自:contact_form_submit

のように役割を分ければ整理しやすくなります。

ただし、同じフォーム送信を2種類のイベントで取る必要がなければ、どちらか一方へ整理した方がシンプルです。

特に、

  • 標準form_submitで十分なのか
  • サンクスページ計測が必要なのか
  • Ajaxフォームで標準計測できないのか

を確認してからGTM独自計測を追加しましょう。

どちらを使えばよい?

目的によって選びます。

目的おすすめ
標準的なフォーム送信を簡単に見るGA4標準
入力開始と送信を比較したいGA4標準
特定フォームだけを厳密に計測したいGTM
サンクスページ到達を成果にしたいGTM
Ajax・JavaScriptフォームを計測したいGTM+カスタムイベントなど
独自パラメータを細かく付けたいGTM

初心者の方は、まずGA4標準のform_start・form_submitが取れているか確認し、不足する場合だけGTMで補う方法が分かりやすいです。

この順番なら、不要な重複計測を避けやすくなります。

GA4標準とGTMの使い分け早見表

確認内容GA4標準で十分GTM追加を検討
普通のフォーム送信○必要に応じて
form_start確認○通常不要
form_submit確認○特殊フォームなら検討
サンクスページ到達△○
Ajaxフォーム△○
特定フォームだけ厳密に計測△○
独自パラメータ追加△○

お問い合わせフォームの送信を計測する方法

お問い合わせフォームは、企業サイトやサービスサイトで重要な成果地点の1つです。

単に送信件数だけを見るのではなく、入力開始数・送信数・送信完了率・離脱状況まで確認すると、フォームの使いやすさや導線の問題を見つけやすくなります。

お問い合わせフォームで確認したい指標

お問い合わせフォームでは、主に次の指標を確認します。

  • フォーム表示数
  • フォーム開始数
  • フォーム送信数
  • 送信完了率
  • 離脱数
  • 送信元ページ
  • 流入経路

たとえば、フォームページへのアクセスは多いのに送信数が少ない場合は、入力項目や導線に問題がある可能性があります。

逆に、アクセス数は少なくても送信完了率が高ければ、フォーム自体よりも集客や導線を改善する方が効果的かもしれません。

フォーム開始数を確認する

GA4の拡張計測では、フォームへの入力が開始されたときにform_startイベントを取得できる場合があります。

この数値を見ると、

「フォームページを見た人」

と

「実際に入力を始めた人」

を分けて考えられます。

たとえば、

フォームページ閲覧:500

form_start:200

なら、300人は入力を始める前に離脱したことになります。

その場合は、

  • フォームが長そうに見える
  • 必須項目が多い
  • 何を入力すればよいか分かりにくい
  • 個人情報の入力に不安がある

といった点を確認するとよいでしょう。

フォーム送信数を確認する

フォーム送信数は、実際にお問い合わせが何件発生したかを見る基本指標です。

GA4標準のform_submitやGTM独自イベントを利用して確認できます。

たとえば、

form_start:200

form_submit:120

なら、80件分の差があります。

この差を見ることで、入力途中で離脱した可能性を把握できます。

ただし、送信ボタンのクリック数だけを成果にすると、入力エラーも含む可能性があるため注意しましょう。

送信完了率を確認する

送信完了率は、フォームを始めたユーザーのうち、どのくらいが送信まで進んだかを見る指標です。

たとえば、

フォーム開始数:200

フォーム送信数:120

なら、

120 ÷ 200 × 100 = 60%

となります。

この数値を記事や期間ごとに比較すると、改善前後の変化も分かりやすくなります。

項目件数
フォーム開始200
フォーム送信120
途中離脱80
送信完了率60%

ただし、GA4標準イベントの取得状況やフォームの実装によっては、開始数・送信数が完全に一致しない場合があります。数値は実際の動作確認と合わせて見ましょう。

離脱が多いフォームを見つける

複数のフォームがある場合は、送信完了率を比較すると問題のあるフォームを見つけやすくなります。

たとえば、

フォーム開始数送信数完了率
お問い合わせ1007070%
無料相談1204537.5%
見積もり依頼805568.8%

この場合は、無料相談フォームで大きく離脱していることが分かります。

改善候補としては、

  • 入力項目を減らす
  • 任意項目を増やす
  • エラー表示を分かりやすくする
  • スマートフォンで入力しやすくする
  • 送信ボタンの文言を見直す

などがあります。

お問い合わせ導線の改善に活用する

フォーム送信データは、フォーム自体だけでなく、記事やサービスページからの導線改善にも使えます。

たとえば、

サービスページA → お問い合わせ10件

サービスページB → お問い合わせ40件

なら、ページBの方が問い合わせにつながりやすい可能性があります。

その違いを、

  • CTAの位置
  • 内部リンク
  • ボタン文言
  • 説明内容
  • 料金情報
  • 実績紹介

などと合わせて確認すると、成果の出やすい導線を見つけやすくなります。

資料請求・申込みフォームの計測に活用する方法

GTMとGA4を使えば、お問い合わせだけでなく、資料請求・申込み・予約など、複数のフォーム成果を比較できます。

フォームごとの成果を分けて計測すると、どのサービスやページが実際の行動につながっているかを判断しやすくなります。

資料請求フォームを計測する

資料請求フォームでは、送信件数だけでなく、

  • どのページから資料請求されたか
  • どの流入元から来たか
  • どの資料が選ばれたか

を確認すると効果的です。

たとえば、

サービスA資料請求:50件

サービスB資料請求:20件

なら、サービスAへの関心が高い可能性があります。

フォームIDやフォーム名を使い分ければ、GA4で資料請求ごとの成果を整理できます。

申込みフォームを計測する

申込みフォームは、実際の契約や利用開始につながる重要なフォームです。

たとえば、

  • セミナー申込み
  • 無料体験
  • 会員登録
  • サービス申込み

などがあります。

申込みフォームでは、単なるクリックではなく、送信成功や完了ページ到達を成果として計測する方が適しています。

入力エラーや途中離脱を成果として数えないようにしましょう。

予約フォームを計測する

予約フォームでは、

  • 来店予約
  • 面談予約
  • 宿泊予約
  • オンライン相談

などを計測できます。

予約フォームは日時選択や複数ステップを含むことが多いため、途中離脱も起こりやすいです。

たとえば、

予約開始:100

予約完了:45

なら、半数以上が途中で離脱しています。

その場合は、

  • 日時選択が分かりにくい
  • 入力項目が多い
  • 空き状況が見づらい
  • スマホ操作がしにくい

といった点を確認するとよいでしょう。

フォーム別に成果を比較する

複数のフォームを同じイベント名で計測し、form_idやform_nameで分けると比較しやすくなります。

たとえば、

フォーム送信数目的
お問い合わせ80相談・質問
資料請求120情報収集
無料体験45利用検討
予約30来店・面談

この比較から、ユーザーがどの段階で行動しているかを把握できます。

イベント名をフォームごとに増やしすぎず、パラメータで整理すると管理もしやすくなります。

流入元ごとの送信数を比較する

GA4ではフォーム送信と流入元を組み合わせることで、

  • Google検索
  • SNS
  • 広告
  • 他サイト
  • 直接アクセス

など、どこから来たユーザーがフォーム送信につながったかを分析できます。

たとえば、

流入元フォーム送信数
Google検索60
SNS20
広告40
直接アクセス15

のように比較できます。

単にアクセス数が多い流入元ではなく、実際に送信へつながる流入元を見ることが重要です。

フォーム送信とコンバージョンを比較する

フォーム送信が重要な成果であれば、GA4ではキーイベントとして扱うこともできます。

たとえば、

  • お問い合わせ送信
  • 資料請求完了
  • 予約完了

などです。

ただし、すべてのフォーム送信を重要成果にする必要はありません。

たとえばメルマガ登録と正式な見積もり依頼では、ビジネス上の重要度が異なります。

そのため、

フォーム送信数

だけでなく、

キーイベント数・売上・契約件数

などと比較すると、より実際の成果に近い分析ができます。

フォーム活用方法早見表

フォーム主に見る指標改善ポイント
お問い合わせ開始数・送信数入力項目・導線
資料請求送信数・流入元資料内容・CTA
申込み完了数入力手順・不安要素
予約開始数・完了数日時選択・スマホ操作

フォーム計測では、「何件送信されたか」だけでなく、「どこから来て、どこで離脱し、どのフォームが成果につながったか」まで見ると改善につなげやすくなります。

WordPressフォームで計測するときの注意点

WordPressでも、Googleタグマネージャーを使ってフォーム送信を計測できます。

ただし、WordPressではフォームプラグインによって送信方法が異なります。通常のページ遷移をするフォームもあれば、AjaxやJavaScriptで同じページのまま送信するフォームもあるため、プラグインごとに送信後の動きを確認してから計測方法を決めることが大切です。

WordPressでもフォーム送信を計測できる

WordPressサイトでも、GTMが正しく設置されていればフォーム送信を計測できます。

たとえば、

  • お問い合わせ
  • 資料請求
  • 予約
  • 見積もり依頼
  • 無料相談

などのフォームが対象になります。

計測方法としては、

  • GTMのフォーム送信トリガー
  • サンクスページのPage View
  • JavaScriptのカスタムイベント
  • dataLayerへのイベント送信

などがあります。

Google公式でも、通常のフォーム送信なら「フォームの送信」トリガーを利用でき、標準の送信動作が変更されている場合はカスタムイベントを利用する方法が案内されています。 Google ヘルプ

Contact Form 7はAjax送信に注意する

Contact Form 7では、Ajaxによるフォーム送信が利用されるため、ページ全体を再読み込みせずに送信結果が表示されることがあります。

この場合、通常のフォーム送信トリガーだけでは、期待どおりに送信成功を判定できないことがあります。

Contact Form 7公式では、Ajax送信時に次のようなDOMイベントが用意されています。

  • wpcf7mailsent:送信完了し、メール送信も成功
  • wpcf7mailfailed:フォーム送信処理は完了したが、メール送信失敗
  • wpcf7invalid:入力内容に不備があり送信されなかった
  • wpcf7submit:Ajaxフォーム送信処理が完了したときに発生

特に**「問い合わせ送信成功」を計測したい場合は、wpcf7mailsentを利用する方法が分かりやすい**です。 Contact Form 7

たとえば、

Contact Form 7送信成功
↓
wpcf7mailsent発生
↓
dataLayerへイベント送信
↓
GTMカスタムイベントトリガー発火
↓
GA4へイベント送信

という流れで計測できます。

WPFormsなどフォームプラグインごとに動作が異なる

WordPressにはContact Form 7以外にも多くのフォームプラグインがあります。

たとえばWPFormsでは、送信後の確認方法として、

  • 成功メッセージを表示
  • サイト内の別ページへ移動
  • 指定URLへリダイレクト

を選べます。 WPForms

また、WPFormsにはAjax送信を利用する設定もあるため、すべてのフォームが同じ動きをするとは限りません。 WPForms

そのため、

「WPFormsだからこの方法」

と決めつけず、実際にフォームを送信して、

  • URLが変わるか
  • ページを再読み込みするか
  • 成功メッセージだけ表示されるか
  • Ajax送信か

を確認することが重要です。

サンクスページへ移動するフォームは計測しやすい

フォーム送信後に、

/contact/thanks/

などの専用ページへ移動する場合は、サンクスページの表示を送信完了として計測しやすくなります。

たとえば、

Page Path equals /contact/thanks/

というトリガーを作れば、サンクスページ表示時にGA4イベントタグを発火できます。

この方法のメリットは、

  • 入力エラーでは発火しにくい
  • URL条件で設定しやすい
  • フォームプラグインへの依存が比較的少ない

ことです。

ただし、サンクスページへ直接アクセスした場合や再読み込みした場合にも発火する可能性があるため、完全に「送信件数=ページビュー数」とは限らない点に注意しましょう。

JavaScriptイベントを利用する方法もある

AjaxフォームやJavaScriptで動くフォームでは、カスタムイベントを使う方法があります。

Google公式では、フォームの標準submitイベントが書き換えられている場合などに、GTMのカスタムイベントトリガーを使う方法を案内しています。 Google ヘルプ

たとえばフォーム送信成功時に、

dataLayer.push()

で独自イベントを送れば、そのイベントをGTMで受け取ってGA4へ送信できます。

ただし、JavaScriptやdataLayerを利用する設定は、コードを誤ると計測できなくなる可能性があります。初心者の方は、まずサンクスページ方式やプラグイン公式のイベントが利用できないか確認するとよいでしょう。

プラグイン更新後は再確認する

フォームプラグインを更新すると、

  • HTML構造
  • class名
  • ID
  • Ajax処理
  • JavaScriptイベント

などが変更される場合があります。

そのため、以前は正常に動いていたGTM設定でも、更新後に発火しなくなる可能性があります。

特に、

  • Contact Form 7
  • WPForms
  • フォーム関連アドオン
  • キャッシュ・最適化プラグイン

を更新した後は、Tag Assistantで再確認しましょう。

WordPressフォーム計測の注意点早見表

確認項目注意点
通常フォームフォーム送信トリガーを検討
Contact Form 7Ajax・DOMイベントを確認
WPForms確認メッセージ・ページ・リダイレクトを確認
サンクスページPage Viewで計測しやすい
Ajaxフォームカスタムイベントも検討
プラグイン更新Tag Assistantで再テスト

Cocoonでフォーム送信を計測するときの注意点

CocoonでもGTMを利用してフォーム送信を計測できます。

CocoonにはGTM-IDを入力する設定欄が用意されているため、テーマファイルを直接編集しなくてもGTMを導入できます。 Cocoon

CocoonでもGTMを利用できる

Cocoonでは、

Cocoon設定 → アクセス解析・認証 → Googleタグマネージャ設定

から、GTM-IDを設定できます。

Cocoon公式でも、

GTM-XXXXXXX

形式のタグマネージャIDを入力して利用する方法が案内されています。 Cocoon

一度GTMを正しく導入すれば、

  • フォーム送信
  • クリック
  • スクロール
  • GA4イベント

などをGTM側で管理できます。

GTMコンテナの二重設置を避ける

CocoonでGTM-IDを設定している場合は、同じコンテナを別の方法でも設置しないようにしましょう。

たとえば、

Cocoon設定

+

GTM導入プラグイン

+

header.phpへの直接記述

という状態は避けます。

GTMコンテナが重複すると、

  • フォーム送信イベントが二重になる
  • GA4イベント数が実際より多くなる
  • 原因調査が難しくなる

可能性があります。

またCocoon公式では、GTM-IDが設定されている場合、二重計測を防止するためGTM側が優先される仕様も案内されています。 Cocoon

お問い合わせページだけを対象にする

Cocoonサイトでも、サイト内すべてのフォームを一括計測するより、必要なページへ絞る方が安全です。

たとえば、

Page Path equals /contact/

とすれば、お問い合わせページだけを対象にできます。

これにより、

  • サイト内検索
  • コメントフォーム
  • その他のフォーム

まで誤って計測するリスクを減らせます。

Google公式でも、フォーム送信トリガーでは特定URLなど、フォーム送信が発生すると想定される場所へ条件を絞ることを推奨しています。 Google ヘルプ

キャッシュによる影響を確認する

WordPressでは、キャッシュやJavaScript最適化によって設定変更がすぐ反映されない場合があります。

たとえば、

  • GTM設定を変更した
  • Contact Form 7を更新した
  • トリガー条件を変更した
  • JavaScriptを追加した

あとでも、以前のデータがブラウザやサーバー側に残っている場合があります。

そのため、変更後は必要に応じて、

  • キャッシュ系プラグイン
  • サーバーキャッシュ
  • ブラウザキャッシュ

を確認してから再テストしましょう。

フォームプラグインとの組み合わせを確認する

Cocoon自体がフォーム送信方法を決めるわけではありません。

実際の送信処理は、

  • Contact Form 7
  • WPForms
  • その他のフォームプラグイン

などによって異なります。

そのため、Cocoonを利用していても、計測方法はフォームプラグイン側の挙動に合わせます。

たとえば、

Contact Form 7+Cocoon

ならContact Form 7のAjax・DOMイベントを確認し、

WPForms+Cocoon

ならWPFormsの確認メッセージやリダイレクト設定を確認する、と考えると分かりやすいです。 Contact Form 7

Tag Assistantで実際の動作を確認する

最終的には、実際のWordPressサイトでフォームを送信して確認します。

確認したいのは、

  • 正しいGTMコンテナが読み込まれている
  • 対象フォームでだけタグが発火する
  • 入力エラーでは成果タグが発火しない
  • 正常送信時にGA4イベントタグが発火する
  • 同じ送信で二重発火していない

ことです。

GTMでは、フォーム送信などのイベントをトリガーが検知し、条件に一致した場合にタグが発火します。 Google ヘルプ

Cocoon・WordPress確認早見表

確認項目確認内容
GTM設置Cocoonなど1つの方法に統一
GTM-ID対象コンテナと一致
対象ページお問い合わせページなどに限定
フォームプラグイン送信方式を確認
Ajax通常トリガーが使えるか確認
キャッシュ変更後に反映確認
Tag Assistant発火・重複を確認

フォーム送信イベントが計測できない原因と対処法

フォーム送信イベントがGA4に表示されない場合は、いきなり設定を作り直すのではなく、

変数 → トリガー → 対象フォーム → GA4イベントタグ → GTM公開 → GA4受信

の順番で確認すると原因を見つけやすくなります。

特にWordPressでは、AjaxやJavaScriptを使ったフォームも多いため、フォームの送信方式によって対処方法が変わります。

フォーム変数を有効にしていない

Form IDやForm Classesなどをトリガー条件やイベントパラメータに使う場合は、対応する組み込み変数を有効にしておきましょう。

主に確認したいのは、

  • Form Element
  • Form Classes
  • Form ID
  • Form Target
  • Form URL
  • Form Text

です。

たとえば、

Form ID equals contact-form

という条件を使いたい場合は、Form IDの値が正しく取得できるかTag Assistantで確認します。

なお、フォーム変数を有効にしていないこと自体が、必ずしもフォーム送信トリガーそのものを停止させるわけではありません。変数を条件やパラメータとして使う場合に必要と考えると分かりやすいです。

フォーム送信トリガーが発火していない

フォーム送信を実行してもGA4イベントタグが動かない場合は、まずトリガーが発火しているか確認します。

Tag Assistantで、

  • フォーム送信に関するイベントが発生しているか
  • 対象トリガーの条件を満たしているか
  • Tags Firedに目的のタグが入っているか

を確認しましょう。

標準的なフォームなら通常のフォーム送信トリガーで計測できますが、AjaxやJavaScriptフォームでは別の方法が必要になる場合があります。

対象フォームの条件が一致していない

トリガーを「一部のフォーム」にしている場合、条件が実際のフォームと一致していなければ発火しません。

たとえば、

Form ID equals contact-form

と設定しているのに、実際には、

contact_form

だった場合は一致しません。

また、

Page Path equals /contact/

としているのに、実際のURLが、

/inquiry/

なら対象外です。

Tag AssistantのVariablesで、実際のForm ID・Form Classes・Page Pathなどを確認してから条件を設定しましょう。

Ajax送信でページ遷移していない

Ajaxフォームでは、送信後もページ全体が再読み込みされず、URLも変わらないことがあります。

たとえば、

送信前:/contact/

送信後:/contact/

のまま、「送信しました」とだけ表示されるケースです。

この場合、

  • サンクスページのPage View
  • 通常のページ遷移
  • 標準的なフォーム送信

だけを前提にしていると、正しく計測できないことがあります。

対処方法としては、

  • フォームプラグイン固有のイベント
  • カスタムイベント
  • dataLayerへのイベント送信
  • 完了メッセージの表示判定

などを検討します。

送信エラーでもクリックを計測している

送信ボタンのクリックだけを計測している場合は注意が必要です。

たとえば、

  • 名前未入力
  • メールアドレス形式エラー
  • 必須項目未入力

でも、送信ボタン自体はクリックできます。

つまり、

クリックイベントは発生

していても、

問い合わせは送信されていない

可能性があります。

フォーム成果を計測する場合は、クリックではなく、できるだけ送信成功を確認できるタイミングを使いましょう。

GA4イベントタグが発火していない

フォーム送信トリガーが動いていても、GA4イベントタグが発火していなければGA4には届きません。

確認するポイントは、

  • 正しいGoogleタグを利用している
  • イベント名が正しい
  • トリガーがGA4イベントタグに設定されている
  • Tag AssistantのTags Firedに表示される
  • 必要なパラメータが取得できている

ことです。

トリガーは正常なのにタグが発火しない場合は、タグ側の設定を確認しましょう。

GTMを公開していない

GTMでは、変更内容を保存しただけでは本番環境に反映されません。

プレビューでは正常に動くのに、通常のサイトアクセスでは計測されない場合は、GTMを公開していない可能性があります。

基本の流れは、

設定保存

↓

プレビュー

↓

動作確認

↓

送信・公開

です。

プレビューだけで安心せず、最後に公開状態を確認しましょう。

別のGTMコンテナを確認している

複数サイトを運営している場合は、別のGTMコンテナを編集していることがあります。

たとえば、

サイトに設置:GTM-AAAAAAA

なのに、

編集しているコンテナ:GTM-BBBBBBB

では設定が反映されません。

確認したいのは、

  • GTM-ID
  • コンテナ名
  • 対象ドメイン
  • Tag Assistantに表示されるコンテナ

です。

GA4標準イベントと重複している

GA4の拡張計測でフォーム操作が有効なら、form_startやform_submitがすでに取得されている場合があります。

そこへGTMから同じ目的のイベントを追加すると、

  • GA4標準form_submit
  • GTM独自イベント

が両方発生することがあります。

重複している場合は、

  • GA4標準だけで十分か
  • GTM独自計測が本当に必要か
  • イベント名を分けるか

を整理しましょう。

キャッシュが残っている

WordPressでは、GTMやJavaScriptを変更しても、キャッシュの影響ですぐ反映されない場合があります。

確認したいのは、

  • WordPressキャッシュ
  • サーバーキャッシュ
  • ブラウザキャッシュ
  • JavaScript最適化

です。

設定変更後は必要に応じてキャッシュを更新し、再度Tag Assistantで確認しましょう。

フォーム送信が計測できないときのチェック表

原因確認場所対処
フォーム変数未確認Variables必要な変数を有効化
トリガー未発火Tag Assistant条件を確認
Form ID不一致Variables実際の値へ修正
Ajax送信フォーム動作カスタムイベント等を検討
クリックだけ計測クリックタグ送信成功へ変更
GA4タグ未発火Tags Firedタグ設定を確認
GTM未公開GTM管理画面公開する
別コンテナGTM-ID正しいIDを確認
GA4標準と重複GA4イベント役割を整理
キャッシュWordPress等更新後に再確認

フォーム送信計測を設定するときの注意点

フォーム送信は、問い合わせや申込みなど重要な成果につながるデータです。

そのため、単にイベントが発生すればよいのではなく、**「本当に送信成功を表しているか」「二重計測していないか」「個人情報を送っていないか」**まで確認することが大切です。

送信ボタンクリックだけで成果と判断しない

送信ボタンのクリックは、ユーザーが送信を試みたことしか分かりません。

たとえば入力エラーがあってもクリック自体は発生します。

そのため、

送信ボタンクリック数=問い合わせ件数

とは考えないようにしましょう。

クリック計測は、

「送信しようとした行動」

を見るデータとして使い、実際の成果は送信成功で判断するのが安全です。

送信成功を確認できる方法を優先する

可能であれば、次のような送信成功に近いタイミングを計測しましょう。

  • サンクスページ到達
  • 正常なフォーム送信イベント
  • 完了メッセージ表示
  • フォームプラグイン固有の成功イベント
  • dataLayerへ送られた成功イベント

たとえば、

「お問い合わせありがとうございました」ページへ到達

したタイミングなら、ボタンクリックだけより成果に近いデータになります。

フォームごとにイベント名を増やしすぎない

複数フォームがあるからといって、

  • contact_submit
  • reservation_submit
  • document_submit
  • estimate_submit

など、イベント名を細かく増やしすぎると管理しにくくなります。

たとえば、

イベント名:lead_form_submit

form_name:contact

form_name:reservation

のように、イベント名を統一し、フォームの違いをパラメータで分ける方法もあります。

これならGA4のイベント一覧を整理しやすくなります。

GA4標準イベントとの重複を避ける

GA4の拡張計測でform_submitが取得できている場合は、GTM独自イベントを追加する必要がないこともあります。

GTMを追加するなら、

  • 特定フォームだけ計測したい
  • サンクスページを成果にしたい
  • Ajaxフォームを正確に計測したい
  • 独自パラメータを追加したい

など、追加する目的を明確にすることが大切です。

個人情報をGA4へ送らない

フォームでは個人情報を扱うことが多いため、イベントパラメータには特に注意が必要です。

GA4へ、

  • 氏名
  • メールアドレス
  • 電話番号
  • 住所
  • 問い合わせ本文

など、個人を識別できる情報を送らないようにしましょう。

分析に必要なのは、

  • form_id
  • form_name
  • page_location
  • フォーム種類

など、個人を特定しない情報で十分です。

メールアドレスや電話番号をパラメータに入れない

たとえば、

email = user@example.com

phone = 090xxxxxxxx

のようなイベントパラメータをGA4へ送る設定は避けましょう。

また、URLのクエリパラメータに個人情報が含まれる仕組みも注意が必要です。

フォーム送信計測では、誰が送信したかではなく、どのフォームがどこから送信されたかを分析するようにします。

フォーム送信数だけで評価しない

フォーム送信数だけでは、サイト改善の判断材料として十分ではありません。

たとえば送信数が少ない場合でも、

  • フォーム閲覧自体が少ない
  • form_startが少ない
  • 入力開始後に離脱している
  • CTAまで到達していない

など、原因は異なります。

そのため、

確認する指標分かること
フォームページ閲覧フォームまで来た人数
form_start入力開始した人数
送信数完了した人数
CTAクリックフォームへ進もうとした行動
流入元どこから来たか
キーイベント重要成果の発生

のように複数指標を組み合わせて判断しましょう。

公開前に必ずプレビューする

GTM設定を変更したら、いきなり公開せずTag Assistantでテストします。

確認したいのは、

  • 正常送信時にタグが発火する
  • 入力エラー時に成果タグが発火しない
  • 正しいForm IDを取得している
  • GA4イベントタグが1回だけ発火する
  • GA4標準イベントと不要に重複していない
  • 対象外フォームでは発火しない

ことです。

フォーム送信は成果データに直結するため、**「発火したか」だけでなく「正しいタイミングで1回だけ発火したか」**まで確認しましょう。

フォーム送信計測の注意点早見表

注意点対策
クリックだけで成果判定送信成功を基準にする
イベント名が多すぎるパラメータで整理
GA4標準と重複事前に既存イベント確認
個人情報を送信IDやフォーム種類だけ利用
送信数だけで評価開始数・流入元も確認
Ajaxフォーム専用イベント等を確認
公開前確認不足Tag Assistantでテスト

GTMのフォーム送信計測についてよくある質問

ここでは、Googleタグマネージャーでフォーム送信を計測するときに、初心者の方が迷いやすいポイントをまとめます。

特に大切なのは、送信ボタンをクリックしたことと、フォーム送信が正常に完了したことは別だと理解することです。

フォーム送信計測は無料ですか?

はい。通常のGoogleタグマネージャーとGA4を使ったフォーム送信計測は、基本的に無料で利用できます。

たとえば、

  • お問い合わせ
  • 資料請求
  • 予約
  • 見積もり依頼

などの送信イベントをGTMからGA4へ送るだけなら、追加料金はかかりません。

ただし、外部の有料フォームサービスやサーバーサイドGTMなどを利用する場合は、別途費用が発生することがあります。

GA4だけでもフォーム送信を計測できますか?

はい。GA4の拡張計測では、フォーム操作に関するform_startやform_submitを取得できる場合があります。

そのため、GTMで独自イベントを作る前に、まずGA4で、

  • form_start
  • form_submit

がすでに取得されていないか確認しましょう。

標準計測で目的を満たせるなら、無理にGTM設定を追加する必要はありません。

送信ボタンのクリックだけでも計測できますか?

はい。GTMのクリックトリガーを使えば、送信ボタンのクリック自体は計測できます。

ただし、

送信ボタンクリック=送信成功

ではありません。

たとえば必須項目が未入力でもボタンはクリックできます。

そのため、問い合わせ件数や申込み件数として使うなら、

  • 正常なフォーム送信
  • サンクスページ到達
  • 送信完了イベント
  • 完了メッセージ表示

など、送信成功に近い地点を計測する方が適しています。

Contact Form 7でも計測できますか?

はい。Contact Form 7でもフォーム送信を計測できます。

ただし、Ajaxで送信される場合があるため、通常のフォーム送信トリガーだけでは期待どおりに動かないケースがあります。

その場合は、Contact Form 7が用意しているJavaScriptのイベントなどを利用して、送信成功をGTMへ伝える方法があります。

実際の設定では、Tag Assistantで正常送信時だけタグが発火しているか確認しましょう。

Ajaxフォームでも計測できますか?

はい。Ajaxフォームでも計測できます。

ただし、Ajaxではページ全体を再読み込みせず、URLも変化しないことがあります。

そのため、

  • カスタムイベント
  • dataLayer
  • フォームプラグイン固有イベント
  • 完了メッセージの表示

などを利用して送信成功を判定します。

Ajaxフォームでは「ページが変わらないから計測できない」のではなく、計測方法をフォームの仕組みに合わせることがポイントです。

複数のフォームを同時に計測できますか?

はい。複数のフォームを同時に計測できます。

たとえば、

  • お問い合わせ
  • 資料請求
  • 無料相談
  • 予約

を1つのサイトで計測することも可能です。

フォームごとの違いは、

  • Form ID
  • Form Classes
  • form_id
  • form_name
  • Page Path

などを使って区別できます。

イベント名を細かく増やしすぎず、パラメータで整理すると管理しやすくなります。

フォームごとの送信数を確認できますか?

はい。

たとえば共通イベントを、

lead_form_submit

として、

form_name = contact

form_name = reservation

のように分ければ、フォーム別の送信数を比較できます。

フォーム送信数の例
お問い合わせ80
資料請求120
予約35

このように整理すると、どのフォームが実際の成果につながっているか分かりやすくなります。

サンクスページがない場合はどうすればよいですか?

サンクスページがなくても計測できます。

たとえば、

  • フォーム送信トリガー
  • JavaScriptイベント
  • カスタムイベント
  • dataLayer
  • 完了メッセージ表示

などを利用できます。

送信後も同じページのままなら、URLではなく**「送信成功時に何が起きるか」**を確認することが重要です。

フォーム送信をキーイベントにできますか?

はい。フォーム送信がサイト運営上の重要な成果であれば、GA4でキーイベントとして扱うことができます。

たとえば、

  • お問い合わせ完了
  • 資料請求完了
  • 予約完了
  • 申込み完了

などです。

ただし、単なる送信ボタンクリックをキーイベントにすると、入力エラーまで成果として含む可能性があります。

キーイベントには、実際の成果に近いイベントを選びましょう。

タグを削除すると過去データも消えますか?

いいえ。

GTMからフォーム送信タグを削除しても、すでにGA4へ収集された過去のイベントデータが自動的に消えるわけではありません。

タグを削除すると、基本的にはその後の新しいイベント送信が停止します。

過去データを削除したい場合は、GA4側で別のデータ削除手続きが必要です。

フォーム送信計測FAQ早見表

質問答え
無料で使える?基本的に無料
GA4だけでも可能?標準フォーム計測が利用できる場合あり
クリックだけでも可能?可能だが送信成功とは別
Contact Form 7対応?可能。Ajaxに注意
Ajaxフォーム対応?可能。カスタムイベントなどを検討
複数フォーム対応?可能
フォーム別分析可能?form_id・form_nameなどで可能
サンクスページなしでも可能?可能
キーイベントにできる?重要な送信なら可能
タグ削除で過去データ消失?自動では消えない

GTMでフォーム送信を正しく計測して成果を分析しよう

Googleタグマネージャーを使うと、お問い合わせ・資料請求・申込み・予約などのフォーム送信をGA4へイベントとして送信できます。

ただし、フォームの種類によって計測方法は異なります。通常のフォーム送信トリガーだけでなく、サンクスページ、Ajax、JavaScriptイベントなどを使い分けることが重要です。

特に、ボタンクリックをそのまま送信成功と判断しないことが、正確な成果計測につながります。

今日覚えておきたい重要ポイント3つ

今回の記事で特に覚えておきたいのは、次の3点です。

  • 送信ボタンクリックとフォーム送信成功は別
  • GA4標準のform_submitが取得されていないか最初に確認する
  • Tag AssistantとGA4で送信成功時に1回だけ計測されるか確認する

フォーム送信は問い合わせや申込みなど重要な成果データになるため、正確さを優先しましょう。

フォーム送信計測の手順早見表

基本的な流れは次のとおりです。

順番作業内容確認ポイント
1計測するフォームを決める問い合わせ・資料請求など
2送信方法を確認通常・Ajax・サンクスページ
3フォーム変数を有効化Form IDなど
4トリガーを作成送信・ページビュー等
5GA4イベントタグ設定イベント名・パラメータ
6Tag Assistantで確認正常送信で発火
7入力エラーでも確認成果タグが発火しない
8GTMを公開保存だけで終わらせない
9GA4で受信確認リアルタイム・DebugView
10成果分析フォーム別・流入元別

初心者の方は、**「送信方法確認 → トリガー設定 → プレビュー → GA4確認」**の順番で進めると分かりやすいです。

フォーム計測方法の選び方早見表

フォームの状態おすすめ計測方法
通常のHTMLフォームフォーム送信トリガー
送信後に専用ページへ移動サンクスページ
Ajaxフォームカスタムイベント等
JavaScriptフォームdataLayer・カスタムイベント
完了メッセージ表示要素表示・専用イベント等
送信ボタンだけ見たいクリックトリガー

「どの方法が一番優れているか」ではなく、そのフォームで送信成功を正しく判定できる方法を選ぶことが大切です。

フォーム変数の使い分け早見表

変数主な役割
Form Elementフォーム要素そのもの
Form Classesclass属性を取得
Form IDid属性を取得
Form Targettarget属性を取得
Form URLフォーム関連URLを取得
Form Textフォーム内テキストを取得

初心者の方は、まずForm IDとForm Classesを確認すると、特定フォームを絞り込みやすくなります。

GA4標準計測とGTM計測の違い

項目GA4標準GTM独自計測
設定の手軽さ比較的簡単設定が必要
form_start自動取得できる場合あり独自設定可能
form_submit自動取得できる場合あり独自設定可能
フォーム指定限定的細かく指定可能
サンクスページ別設定設定しやすい
Ajax対応取得できない場合あり柔軟に対応可能
独自パラメータ限定的追加しやすい

まずGA4標準イベントを確認し、足りない部分だけGTMで補うと、重複計測を防ぎやすくなります。

フォーム送信が計測できないときのチェックリスト

計測できない場合は、次の順番で確認しましょう。

  • フォーム変数を必要に応じて有効にしている
  • フォーム送信トリガーが発火している
  • Form ID・Classesなどの条件が一致している
  • Ajaxフォームかどうか確認した
  • 送信ボタンクリックだけを成果にしていない
  • GA4イベントタグがTags Firedに表示される
  • 正しいGTMコンテナを使用している
  • GTMを公開している
  • GA4標準イベントと重複していない
  • キャッシュ更新後に再確認した
  • GA4のDebugViewで受信を確認した

「GTMで発火しているのか」「GA4まで届いているのか」を分けて確認すると原因を見つけやすくなります。

GTMフォーム送信計測の設定完了チェックリスト

最終的に、次の項目まで確認できれば基本設定は完了です。

  • 計測対象のフォームを決めた
  • フォームの送信方式を確認した
  • GA4標準form_submitの有無を確認した
  • 必要なフォーム変数を有効にした
  • 適切なトリガーを作成した
  • イベント名を整理した
  • form_id・form_nameなどを必要に応じて設定した
  • 個人情報をイベントへ送っていない
  • 正常送信時にだけ成果タグが発火する
  • 入力エラー時の挙動を確認した
  • 二重発火していない
  • Tag Assistantでテストした
  • GA4のDebugViewで確認した
  • GTMを公開した

特に、正常送信時に1回だけ発火するかを最後まで確認することが重要です。

次に読むおすすめGTM関連記事

フォーム送信計測を理解したら、GTM全体の仕組みやGA4との連携方法も確認しておくと、イベント設定を管理しやすくなります。


「Googleタグマネージャー完全ガイド|導入からタグ設定まで初心者向けに徹底解説」


「GoogleタグマネージャーとGoogle Analyticsを連携する方法を徹底解説」

参考元:

  • Googleタグマネージャー ヘルプ
  • Google Analytics ヘルプ
  • Contact Form 7 公式ドキュメント
  • Cocoon公式マニュアル

※GTMのフォーム送信トリガー、GA4のform_start・form_submit、AjaxフォームやWordPress環境での注意点について、各公式情報を中心に確認しているため、信頼性は高い内容です。

まとめ

Googleタグマネージャーを使うと、お問い合わせ・資料請求・申込みなどのフォーム送信をGA4へイベントとして記録できます。設定では、フォーム変数・送信トリガー・GA4イベントタグを正しく組み合わせることが基本です。ただし、送信ボタンのクリックと実際の送信成功は別なので、サンクスページや送信完了イベントを使って判定することが重要です。設定後はTag AssistantやGA4のDebugViewで確認し、重複計測や個人情報の送信にも注意しましょう。

タイトルとURLをコピーしました