フォーム送信の計測をしたい

送信ボタンとサンクスページを表示したブラウザ画面を背景に、GA4のロゴが虫眼鏡で強調されているイメージ。フォーム送信完了をGoogleアナリティクス4で計測する内容を表現した画像。 Google

このページでは、Googleアナリティクス4(GA4)で お問い合わせフォーム や 予約フォーム の送信完了を計測する方法をまとめています。

GA4を導入したい(基本) ができている前提で、サンクスページでの計測 と フォーム送信イベントの送信 の2パターンを、静的HTMLサイト向けに解説します。

このページの対象とゴール

このページは、次のような方を想定しています。

  • すでに GA4タグ(gtag.js) はサイトに入っている
  • お問い合わせ・予約フォームの送信数 をしっかり把握したい
  • フォームの完了ページ(サンクスページ)があるか、PHPなどでメール送信している
  • タグマネージャーを使わず、なるべくシンプルな方法で計測したい

読み終わるころには、次の状態を目指します。

  • フォーム送信の計測方法として 2つのパターン を理解している
  • 自分のサイトにあった方法で フォーム送信数をGA4で確認 できる
  • 必要であれば、フォーム送信を コンバージョン(重要な成果) として登録できている
ポイント:まずは「サンクスページで計測」がシンプル

フォーム送信後に 完了ページ(thanks.html など) へ遷移する構成であれば、
GA4側でそのページのアクセスをコンバージョンとして扱うだけで、比較的かんたんに管理できます。

フォーム送信の計測パターン:2つの考え方

フォーム送信をGA4で測る場合、主に次の2つのパターンがあります。

  1. パターンA:フォーム送信後の サンクスページ(完了ページ) の閲覧を計測する
  2. パターンB:フォームの submit(送信)イベント で GA4イベントを送信する

Templyでは、次のような使い分けをおすすめしています。

  • サンクスページがある → パターンAを基本 にしつつ、余裕があればBも追加
  • サンクスページがなく、同じページ内で完結 → パターンB を検討する
ポイント:「完了ページ」が作れるなら優先したい

サンクスページに遷移する形式だと、「フォーム送信完了」かどうかがURL単位で判別 しやすく、GA4側での管理(コンバージョン設定など)もシンプルになります。

パターンA:サンクスページでフォーム送信を計測する

もっともシンプルな方法は、フォーム送信完了後に サンクスページ へ移動させ、そのページの閲覧をフォーム送信とみなす方法です。

1. フォームの遷移先をサンクスページにする

HTML側では、次のように action で完了ページを指定します(例):

PHPでメール送信している場合は、contact.php → 処理完了後に thanks.html へリダイレクト する構成でもOKです。

2. GA4側で「サンクスページの閲覧」をコンバージョンにする

GA4の管理画面では、次のような流れでサンクスページをコンバージョンとして扱えます。

  1. GA4管理画面で「レポート」→「エンゲージメント」→「ページとスクリーン」を開き、
    サンクスページのURL(例:/contact/thanks.html)が計測されているか確認
  2. 「管理」→「イベント」画面を開き、page_view イベントを確認
  3. 「イベントを作成」から、URLに /contact/thanks.html を含む場合 などの条件で新しいイベントを作成
  4. 作成したイベントを「コンバージョンとしてマーク」しておく
ポイント:URLを変えれば複数フォームにも対応しやすい

お問い合わせと予約で別々に計測したい場合は、/contact/thanks.html と /reserve/thanks.html のように 完了ページを分ける と管理がラクになります。

パターンB:フォーム送信イベントをGA4に送る

フォームが同じページ内で完結している場合や、より細かく計測したい場合は、フォーム送信時にイベントを送信する方法もあります。

1. フォームに「イベント名」を付ける

クリック計測と同じ考え方で、フォーム側に data-gtag-form 属性を追加します。

data-gtag-form の値が、そのまま GA4に送る イベント名 になります。

ポイント:イベント名は「何のフォームか」が分かるように

例)contact_form_submitreserve_form_submitestimate_form_submit など。フォームの種類ごとに分かる名前にしておくと、後からレポートが見やすくなります。

2. 共通スクリプトでフォーム送信イベントを送る

次に、data-gtag-form が付いたフォームが送信されたときに GA4へイベントを送るスクリプトを追加します。

JavaScriptの例(共通ファイルに追加)

たとえば、assets/js/main.js のような共通JSファイルに、次のようなコードを足します。

これで、フォーム送信時に temply_form カテゴリのイベントが GA4に送信されます。

ポイント:サンクスページと併用すると安心

通信状況によっては、フォーム送信イベントが正しく届かないケースもゼロではありません。可能であれば、「サンクスページでの計測」+「イベント送信」 の2段構えにしておくと、抜け漏れが減ります。

GA4でフォーム送信が計測できているか確認する

実装ができたら、GA4側でイベントが届いているか確認しましょう。

  1. 実際にフォームを入力し、送信してみる(テスト用の内容でOK)
  2. GA4管理画面で「レポート」→「リアルタイム」を開く
  3. 画面下部の「イベント」に、contact_form_submit や reserve_form_submit などが表示されているか確認
  4. サンクスページを使っている場合は、「ページとスクリーン」レポートで該当URLの閲覧数もチェック
  5. 問題なければ、「管理」→「コンバージョン」からフォーム関連イベントをコンバージョンとしてマークする
ポイント:一定期間テストしながら調整する

フォーム送信数は、日によってばらつきがあります。1〜2週間ほど様子を見ながら、イベント名やコンバージョン設定を微調整していくイメージでOKです。

よくあるつまづきとチェックポイント

サンクスページのアクセスが計測されていない

  • サンクスページのHTMLにも GA4タグ(gtag.js)が入っているか
  • URLが正しく公開されているか(/contact/thanks.html など、パスの打ち間違いがないか)
  • フォーム送信後に、本当にサンクスページへ遷移しているか

フォームイベントがGA4に出てこない

  • data-gtag-form のスペルミスがないか
  • 共通JSファイル(例:assets/js/main.js)が読み込まれているか
  • コンソールにJavaScriptエラーが出ていないか(ブラウザの開発者ツールで確認)
  • テスト時に キャッシュや拡張機能の影響 を避けるため、シークレットウィンドウで試しているか

外部サービスのフォームを使っている場合

予約サイトや外部フォームサービス(例:予約システムASP)のフォームを使っている場合は、相手側のサービスが用意しているGA連携 を使う必要があります。

このページの方法(自サイトのHTML+JS)は、あくまで 自分のサーバー上にあるフォーム を前提としています。

ポイント:まずは「1フォーム」から始める

最初からすべてのフォームに計測を入れようとすると大変なので、一番大事なフォーム(予約or問い合わせ)1つ から順番に整えていくのがおすすめです。

次のステップ:GA4でできることを少しずつ広げる

フォーム送信の計測ができたら、「クリック」「スクロール」「外部予約サイトへの遷移」など、周辺の動きも合わせて見ていくと全体像がつかみやすくなります。

アクセス解析(GA4)の設定を進める

サイトに来た人の動きや人気ページを把握したい場合は、GA4の導入とイベント計測を設定しておくと便利です。

埋め込み〜レスポンシブ〜軽量化を整理する

「とりあえず表示する」ところから、「スマホでも見やすく、できるだけ軽い」状態まで、一度流れを振り返っておくと安心です。

Search Console関連の設定を見直す

Search Consoleの基本設定・サイトマップ・インデックス状況をセットで押さえておくと安心です。

Googleマップと相性の良い設定

実店舗を運営している場合は、Googleマップ上に表示される店舗情報も一緒に整えておくと効果的です。

※本記事の内容は 執筆時点の情報 に基づいています。
料金・仕様・画面デザインなどは変更される場合がありますので、最新の情報は公式サイトにてご確認ください。

GoogleAnalytics-GA4
Templyをフォローする
タイトルとURLをコピーしました