Google Tag Managerを使ってフォーム送信をGA4で計測したいが、どこから手をつければよいかわからない——そんな声をよく聞きます。
結論からお伝えすると、フォームのタイプ(サンクスページ型 or URLが変わらないAjax型)によって設定手順が異なります。
この記事では、Google Tag Managerを使ったGA4フォーム計測の2つのパターン、GA4管理画面でのキーイベント登録、設定後の確認方法、そして計測できないときのトラブルシューティングまでを一気に解説します。
GA4でフォーム送信を計測する前に確認すること
まずは前提条件を整理します。Google Tag ManagerとGA4が正しく接続されていないと、以降の設定をいくら行っても計測はできません。
Google Tag ManagerとGA4の接続は完了しているか
以下の2点を確認してください。
- Google Tag Managerのコンテナタグがサイトの全ページに設置されている
- Google Tag ManagerにGA4設定タグが作成され、「公開」済みである(プレビューモードのままは不可)
GA4の導入・設定方法についての基礎知識は、「GA4とは?設定方法と基本の使い方を初心者向けにわかりやすく解説」で詳しく解説しています。

自社のフォームはどのタイプか(サンクスページ型 or URLが変わらない型)
フォームの計測方法は、送信後の動作で2つに分かれます。
| タイプ | 特徴 | 設定方法 |
|---|---|---|
| サンクスページ型 | 送信後に /contact/thanks/ などの別URLへ遷移する | ページビュートリガーで計測(パターン1) |
| URLが変わらない型(Ajax) | 送信後もURLが変わらず、画面内に「送信完了」のメッセージが表示される | カスタムイベントトリガーで計測(パターン2) |
わからない場合は、フォームを実際に送信して送信前後のURLを比較してみてください。URLが変わればパターン1、変わらなければパターン2です。
【パターン1】サンクスページへ遷移するフォームの設定手順
サンクスページ型は、最も設定がシンプルなパターンです。サンクスページのURLをトリガー条件にするだけで、GA4にフォーム送信イベントを送ることができます。
Google Tag Managerでトリガーを作成する(ページビュー × サンクスページURL)
- Google Tag Manager管理画面の左メニューから「トリガー」→「新規」をクリック
- トリガー名に「サンクスページ – ページビュー」など識別しやすい名前をつける
- トリガーのタイプ:「ページビュー」を選択
- 「トリガーの発生場所」を「一部のページビュー」に変更
- 条件を「Page URL」「含む」「/thanks/」(サンクスページのURLの一部)に設定
- 「保存」をクリック

サンクスページのURLが https://example.com/contact/thanks/ であれば、条件には /contact/thanks/ を入力します。
GA4イベントタグを作成してトリガーに紐づける
- 左メニューから「タグ」→「新規」をクリック
- タグ名に「GA4イベント – フォーム送信」などとつける
- タグのタイプ:「Googleアナリティクス:GA4イベント」を選択
- 「設定タグ」に既存のGA4設定タグを選択
- イベント名に
form_submit(またはcontact_completeなど任意の名前)を入力 - トリガーの欄で、先ほど作成した「サンクスページ – ページビュー」を選択
- 「保存」をクリック
イベント名はGA4管理画面でキーイベントに登録する際に必要になります。英数字とアンダースコアで構成してください。
プレビューモードで動作確認する
タグを「公開」する前に、必ずプレビューモードで動作確認します。
- Google Tag Manager管理画面の右上「プレビュー」をクリック
- 対象サイトのURLを入力して「Connect」をクリック
- フォームに入力して送信し、サンクスページに遷移する
- Google Tag Managerのプレビュー画面に戻り、左側のイベント一覧に「Page View」が表示されていることを確認
- そのイベントをクリックし、右側の「Tags Fired」に作成したGA4イベントタグが表示されていれば成功
確認が取れたら、Google Tag Manager管理画面に戻って「公開」をクリックします。公開を忘れると本番環境に反映されないので注意してください。
【パターン2】URLが変わらないフォーム(Ajax)の設定手順
AjaxフォームはURLが変わらないため、パターン1のページビュートリガーでは検知できません。Google Tag ManagerのdataLayer(データレイヤー)を使ったカスタムイベントアプローチが必要になります。
なぜ標準の「フォームの送信」トリガーが機能しないのか
Google Tag Managerには「フォームの送信」という専用のトリガータイプがありますが、このトリガーはHTML標準の <form> タグのsubmitイベントをキャッチする仕組みです。
Ajaxフォームの場合、JavaScriptが非同期でデータを送信するため、HTML標準のsubmitイベントが発火しないケースがあります。
また、送信完了を確認する前にGoogle Tag Managerのトリガーが反応してしまい、フォームバリデーションで弾かれた場合も「送信」として計測されてしまう問題があります。
dataLayerを使ったカスタムイベントトリガーで対応する
dataLayerとは、ウェブサイトとGoogle Tag Managerの間でデータをやり取りするためのJavaScript配列です。
フォーム送信完了時にdataLayerにイベントを追加するコードを仕込むことで、Google Tag Managerがそのイベントを検知できるようになります。
ステップ1:フォーム送信完了時にdataLayerへイベントを送るコードを追加する
サイト開発者に依頼して、フォームの送信成功コールバック(送信完了後に実行される処理)に以下のコードを追加してもらいます。
dataLayer.push({
event: 'form_submit'
});
ステップ2:Google Tag Managerでカスタムイベントトリガーを作成する
- Google Tag Manager管理画面で「トリガー」→「新規」をクリック
- トリガーのタイプ:「カスタムイベント」を選択
- イベント名に
form_submit(dataLayerに追加したeventの値)を入力 - 「保存」をクリック

ステップ3:GA4イベントタグを作成してトリガーに紐づける
パターン1と同様に、GA4イベントタグを作成して上記のトリガーを紐づければ完了です。
Contact Form 7(WordPress)の場合の設定方法
WordPressのお問い合わせプラグインとして広く使われているContact Form 7はAjax送信を採用しているため、パターン1では計測できません。
しかしGoogle Tag Managerのカスタムイベントトリガーを使えばコード改修なしで対応可能です。
Contact Form 7は送信完了時に wpcf7mailsent というカスタムJavaScriptイベントを発火する仕様になっています。このイベントをdataLayerに連携するコードを自分で書く代わりに、Google Tag Managerのカスタムイベントトリガーで直接 wpcf7mailsent を指定できます。
- Google Tag Manager管理画面で「トリガー」→「新規」をクリック
- トリガーのタイプ:「カスタムイベント」を選択
- イベント名に
wpcf7mailsentを入力 - 「保存」してGA4イベントタグに紐づける

Contact Form 7のバージョンによって挙動が異なる場合があるため、プレビューモードで必ず動作確認を行ってください。
GA4管理画面でキーイベントに登録する方法
Google Tag ManagerでGA4へのイベント送信が確認できたら、GA4管理画面でそのイベントをキーイベントとして登録します。キーイベントに登録することで、レポートやGoogle広告でコンバージョンとして活用できます。
「コンバージョン」から「キーイベント」への名称変更とは
2024年5月以降、GA4では「コンバージョン」という名称が「キーイベント」に変更されました。 管理画面の表示名が変わっただけで、機能自体は同じです。
一方、Google広告側では引き続き「コンバージョン」と表示されます。「GA4ではキーイベント、Google広告ではコンバージョン」と覚えておくとスムーズです。
競合記事やYouTube動画の中には「コンバージョン」という旧名称で解説しているものが多数あります。現在のGA4管理画面で「コンバージョン」という項目が見つからなくても、「キーイベント」の欄を確認してください。
キーイベントの登録手順(画面操作)
- GA4管理画面の左メニューから「管理」(歯車アイコン)をクリック
- 「データの表示」セクションにある「キーイベント」をクリック
- Google Tag Managerで計測されたイベント名(例:
form_submit)が一覧に表示されていることを確認 - 対象のイベントの「キーイベントとしてマーク」のトグルをオンにする
イベントが一覧に表示されていない場合は、まだGA4にデータが届いていない可能性があります。Google Tag Managerのプレビューモードで実際にフォーム送信を行い、GA4のDebugViewでイベントが届いているか確認してください。
設定後にGA4のどこで正しく計測できているか確認するか?
設定が完了したら、GA4管理画面でデータが正しく取得できているかを確認します。確認のタイミングに合わせて、2つのツールを使い分けましょう。
DebugViewでリアルタイム確認する方法
DebugViewは、設定直後の動作確認に最適なツールです。データが即時反映されるため、「タグが発火しているか」を数秒以内に確認できます。
- GA4管理画面の「管理」→「DebugView」を開く
- 別タブでGoogle Tag Managerのプレビューモードを有効にした状態でフォームを送信する
- DebugView上に
form_submitイベントが表示されれば成功
Google Tag Managerのプレビューモードを有効にすると、そのブラウザのセッションがGA4のDebugViewに反映されるようになります。プレビューモードを使わずにフォーム送信した場合、DebugViewには表示されない場合があります。
レポート画面(集客 / エンゲージメント)で数字を見る場所
通常のレポートにキーイベントのデータが反映されるのは24〜48時間後です。以下の場所で確認できます。
- 「レポート」→「ビジネス目標」→「主要なビジネスデータを確認する」:キーイベントの合計数が確認できる
- 「レポート」→「集客」→「トラフィック獲得」:チャネル別のキーイベント数が確認できる
- 「探索」機能:イベント名、日付、流入チャネルなどの軸でカスタム集計できる
設定直後にレポートに数字が出なくても、24〜48時間後に再確認してみてください。DebugViewで正常にイベントが確認できていれば、時間が経てばレポートにも反映されます。
Google Tag Managerのフォーム計測が「できない・取れない」ときの原因チェックリスト
「DebugViewにイベントが来ない」「レポートに数字が出ない」というときは、以下の原因を順番に確認してください。
原因①:Ajaxフォームに標準トリガーを使っている
最も多い原因です。URLが変わらないフォームに「ページビュー」トリガーや「フォームの送信」トリガーを設定していても、正しく計測できません。パターン2(カスタムイベントトリガー)の設定に切り替えてください。
原因②:外部フォームサービス(formrunなど)でクロスドメイン未設定
Googleフォーム、formrun、Hubspot Forms など、外部ドメインのフォームをiframeで埋め込んでいる場合、自サイトのGoogle Tag Managerではフォーム内の送信イベントを検知できません。
対策として以下の方法が一般的です。
- 外部フォームの「サンクスページをリダイレクト先に設定する」機能を使い、自サイトのサンクスページに遷移させる(パターン1の手順で計測可能になる)
- 外部フォームが提供するGA4/Google Tag Manager連携機能を利用する(フォームサービスによって異なります)
原因③:Google Tag Managerの変更を「公開」し忘れている
Google Tag Managerで設定を行っても、「公開」ボタンを押すまでは本番環境に反映されません。タグやトリガーを作成・変更したら、必ず「公開」まで実行してください。
プレビューモードでは機能していても本番で計測できない場合は、この原因が大半を占めます。
原因④:DebugViewには出るがレポートに反映されない(24〜48時間の遅延)
GA4の通常レポートへのデータ反映には24〜48時間かかります。設定直後にレポートを確認しても数字が出ないのは正常な動作です。
DebugViewでイベントが確認できていれば設定は成功しています。翌日以降にレポートを再確認してください。
まとめ
- フォームタイプを確認する:サンクスページ型(パターン1)か、URLが変わらないAjax型(パターン2)かを先に判断する
- パターン1はGoogle Tag Managerのページビュートリガーを使い、サンクスページURLを条件に設定する
- パターン2はdataLayerへのイベント追加またはContact Form 7の場合は
wpcf7mailsentを使ったカスタムイベントトリガーで対応する - Google Tag Managerで動作確認したら、GA4管理画面の「キーイベント」でマークする(「コンバージョン」という名称は2024年5月から変更済み)
- 設定直後の確認はDebugViewで行い、通常レポートへの反映は24〜48時間後に確認する
まずは自社のフォームのタイプを確認するところから始めてみてはいかがでしょうか。
GA4のキーイベントをGoogle広告に活用する方法は、「GA4のコンバージョンをGoogle広告にインポートする方法|手順・数値の違い・トラブル対処まで実務解説」で詳しく解説しています。

よくある質問(FAQ)
Q. Google Tag Managerを使わずにGA4だけでフォーム送信を計測できますか?
GA4の拡張計測機能を使えば、HTMLの標準的な <form> タグを使った一部のフォーム送信は計測できます。ただし計測条件を細かく指定できないため、特定のフォームだけを計測したい場合や、Ajax送信のフォームにはGoogle Tag Managerを使う方法が適しています。特にビジネスの問い合わせ計測ではGoogle Tag Managerを使うのが実務上の標準です。
Q. キーイベントに登録してから数字が反映されるまでどれくらいかかりますか?
通常24〜48時間程度かかります。DebugViewでは即時確認できるため、設定直後の動作確認はDebugViewを使うのがおすすめです。レポートに数字が出ない場合でも、DebugViewでイベントが確認できていれば設定は正常に完了しています。
Q. 複数のフォームをそれぞれ別々に計測したい場合はどうすればよいですか?
Google Tag Managerで各フォームに固有のイベント名(例:form_contact、form_download)を割り当て、GA4側でそれぞれをキーイベントとして登録することで個別に計測できます。パターン1の場合はサンクスページのURLで条件を分岐させ、パターン2の場合はdataLayer.push時に異なるイベント名を使い分けます。
Q. Contact Form 7のフォーム送信はGoogle Tag Managerで計測できますか?
計測できます。Contact Form 7はAjax送信のため標準の「フォームの送信」トリガーでは検知できませんが、Google Tag Managerのカスタムイベントトリガーに wpcf7mailsent を設定することで計測可能です。サイトのコードを変更せずにGoogle Tag Managerだけで対応できます。
Q. フォーム送信のキーイベントをGoogle広告でも使いたい場合、追加で設定が必要ですか?
はい。GA4のキーイベントをGoogle広告にインポートするか、Google Tag ManagerにGoogle広告コンバージョントラッキングタグを別途追加する必要があります。GA4とGoogle広告が連携済みであれば、GA4からのインポートが管理しやすくおすすめです。詳しい手順は「GA4のコンバージョンをGoogle広告にインポートする方法」をご覧ください。

