このページでは、Googleアナリティクス4(GA4)で お問い合わせフォーム や 予約フォーム の送信完了を計測する方法をまとめています。
GA4を導入したい(基本) ができている前提で、サンクスページでの計測 と フォーム送信イベントの送信 の2パターンを、静的HTMLサイト向けに解説します。
このページの対象とゴール
このページは、次のような方を想定しています。
- すでに GA4タグ(gtag.js) はサイトに入っている
- お問い合わせ・予約フォームの送信数 をしっかり把握したい
- フォームの完了ページ(サンクスページ)があるか、PHPなどでメール送信している
- タグマネージャーを使わず、なるべくシンプルな方法で計測したい
読み終わるころには、次の状態を目指します。
- フォーム送信の計測方法として 2つのパターン を理解している
- 自分のサイトにあった方法で フォーム送信数をGA4で確認 できる
- 必要であれば、フォーム送信を コンバージョン(重要な成果) として登録できている
フォーム送信後に 完了ページ(thanks.html など) へ遷移する構成であれば、
GA4側でそのページのアクセスをコンバージョンとして扱うだけで、比較的かんたんに管理できます。
フォーム送信の計測パターン:2つの考え方
フォーム送信をGA4で測る場合、主に次の2つのパターンがあります。
- パターンA:フォーム送信後の サンクスページ(完了ページ) の閲覧を計測する
- パターンB:フォームの submit(送信)イベント で GA4イベントを送信する
Templyでは、次のような使い分けをおすすめしています。
- サンクスページがある → パターンAを基本 にしつつ、余裕があればBも追加
- サンクスページがなく、同じページ内で完結 → パターンB を検討する
サンクスページに遷移する形式だと、「フォーム送信完了」かどうかがURL単位で判別 しやすく、GA4側での管理(コンバージョン設定など)もシンプルになります。
パターンA:サンクスページでフォーム送信を計測する
もっともシンプルな方法は、フォーム送信完了後に サンクスページ へ移動させ、そのページの閲覧をフォーム送信とみなす方法です。
1. フォームの遷移先をサンクスページにする
HTML側では、次のように action で完了ページを指定します(例):
<form
id="contact-form"
class="contact-form"
action="/contact/thanks.html"
method="post">
<!-- お名前 / メールアドレス / お問い合わせ内容など -->
<button type="submit" class="btn btn-primary">送信する</button>
</form>
PHPでメール送信している場合は、contact.php → 処理完了後に thanks.html へリダイレクト する構成でもOKです。
2. GA4側で「サンクスページの閲覧」をコンバージョンにする
GA4の管理画面では、次のような流れでサンクスページをコンバージョンとして扱えます。
- GA4管理画面で「レポート」→「エンゲージメント」→「ページとスクリーン」を開き、
サンクスページのURL(例:/contact/thanks.html)が計測されているか確認 - 「管理」→「イベント」画面を開き、
page_viewイベントを確認 - 「イベントを作成」から、URLに
/contact/thanks.htmlを含む場合 などの条件で新しいイベントを作成 - 作成したイベントを「コンバージョンとしてマーク」しておく
お問い合わせと予約で別々に計測したい場合は、/contact/thanks.html と /reserve/thanks.html のように 完了ページを分ける と管理がラクになります。
パターンB:フォーム送信イベントをGA4に送る
フォームが同じページ内で完結している場合や、より細かく計測したい場合は、フォーム送信時にイベントを送信する方法もあります。
1. フォームに「イベント名」を付ける
クリック計測と同じ考え方で、フォーム側に data-gtag-form 属性を追加します。
<!-- お問い合わせフォーム -->
<form
id="contact-form"
class="contact-form"
action="/contact/thanks.html"
method="post"
data-gtag-form="contact_form_submit">
<!-- フィールドは省略 -->
<button type="submit" class="btn btn-primary">送信する</button>
</form>
<!-- 予約フォーム -->
<form
id="reserve-form"
class="reserve-form"
action="/reserve/thanks.html"
method="post"
data-gtag-form="reserve_form_submit">
<!-- フィールドは省略 -->
<button type="submit" class="btn btn-primary">予約内容を送信する</button>
</form>
data-gtag-form の値が、そのまま GA4に送る イベント名 になります。
例)contact_form_submit、reserve_form_submit、estimate_form_submit など。フォームの種類ごとに分かる名前にしておくと、後からレポートが見やすくなります。
2. 共通スクリプトでフォーム送信イベントを送る
次に、data-gtag-form が付いたフォームが送信されたときに GA4へイベントを送るスクリプトを追加します。
JavaScriptの例(共通ファイルに追加)
たとえば、assets/js/main.js のような共通JSファイルに、次のようなコードを足します。
document.addEventListener('DOMContentLoaded', function () {
var trackedForms = document.querySelectorAll('[data-gtag-form]');
trackedForms.forEach(function (form) {
form.addEventListener('submit', function () {
var eventName = form.getAttribute('data-gtag-form');
if (typeof gtag === 'function' && eventName) {
gtag('event', eventName, {
'event_category': 'temply_form',
'event_label': window.location.pathname
});
}
});
});
});
これで、フォーム送信時に temply_form カテゴリのイベントが GA4に送信されます。
通信状況によっては、フォーム送信イベントが正しく届かないケースもゼロではありません。可能であれば、「サンクスページでの計測」+「イベント送信」 の2段構えにしておくと、抜け漏れが減ります。
GA4でフォーム送信が計測できているか確認する
実装ができたら、GA4側でイベントが届いているか確認しましょう。
- 実際にフォームを入力し、送信してみる(テスト用の内容でOK)
- GA4管理画面で「レポート」→「リアルタイム」を開く
- 画面下部の「イベント」に、
contact_form_submitやreserve_form_submitなどが表示されているか確認 - サンクスページを使っている場合は、「ページとスクリーン」レポートで該当URLの閲覧数もチェック
- 問題なければ、「管理」→「コンバージョン」からフォーム関連イベントをコンバージョンとしてマークする
フォーム送信数は、日によってばらつきがあります。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)は、あくまで 自分のサーバー上にあるフォーム を前提としています。
最初からすべてのフォームに計測を入れようとすると大変なので、一番大事なフォーム(予約or問い合わせ)1つ から順番に整えていくのがおすすめです。
次のステップ:GA4でできることを少しずつ広げる
フォーム送信の計測ができたら、「クリック」「スクロール」「外部予約サイトへの遷移」など、周辺の動きも合わせて見ていくと全体像がつかみやすくなります。
アクセス解析(GA4)の設定を進める
サイトに来た人の動きや人気ページを把握したい場合は、GA4の導入とイベント計測を設定しておくと便利です。
埋め込み〜レスポンシブ〜軽量化を整理する
「とりあえず表示する」ところから、「スマホでも見やすく、できるだけ軽い」状態まで、一度流れを振り返っておくと安心です。
Search Console関連の設定を見直す
Search Consoleの基本設定・サイトマップ・インデックス状況をセットで押さえておくと安心です。
Googleマップと相性の良い設定
実店舗を運営している場合は、Googleマップ上に表示される店舗情報も一緒に整えておくと効果的です。


