ホームページにGoogleアナリティクス(GA4)を設定しているのに、問い合わせが何件あったのか分からない。
アクセス数や閲覧ページは確認できる。でも、そのアクセスが実際の問い合わせにつながっているのか判断できない。
企業サイトやサービスサイトを運営しているなら、これは改善したいところです。
特にWordPressのContact Form 7を使っている場合、単純に送信ボタンのクリック数を計測するだけでは、正しい問い合わせ件数にならない可能性があります。
なぜなら、送信ボタンがクリックされたことと、フォームの送信処理が正常に完了したことは別だからです。
必須項目が未入力でもボタンは押せます。メール送信に失敗することもあります。迷惑メールとして処理される場合もあります。
それらをすべて問い合わせとして数えてしまうと、実際の成果より多く計測されてしまいます。
Contact Form 7の問い合わせ送信完了をGA4で計測するなら、Contact Form 7が提供する「wpcf7mailsent」イベントを利用する方法がおすすめです。
Googleタグマネージャー(GTM)を使えば、送信成功を検知してGA4へイベントを送信できます。
ただし、wpcf7mailsentはメール送信処理の成功を示すもので、問い合わせメールが相手の受信トレイに届いたことまで保証するものではありません。
また、送信完了を計測できても、それが有効な問い合わせや受注につながったかどうかは別に判断する必要があります。
この記事では、Contact Form 7の送信完了をGA4のキーイベントとして計測する方法を、Googleタグマネージャーの設定から動作確認まで順番に解説します。
さらに、計測がうまくいかない原因、複数フォームの区別、二重計測を防ぐ方法、集客改善に数字を活用する考え方まで整理します。
なお、この記事は2026年10月11日時点の公式情報をもとに作成しています。GoogleタグマネージャーやGA4の管理画面は変更される場合があります。
- Contact Form 7の問い合わせ計測は「何を成果とするか」が重要
- Contact Form 7をGA4で計測する3つの方法を比較
- 設定前に確認すること|GA4・GTM・Contact Form 7の準備
- Contact Form 7の送信成功イベントをGTMへ送る方法
- GTMでカスタムイベントを作成してGA4へ送信する
- GA4で問い合わせ送信をキーイベントとして登録する
- 計測できているか確認する方法|GTMプレビューとGA4 DebugView
- Contact Form 7の送信完了がGA4で計測されない原因
- 問い合わせ計測でよくある失敗|数字が取れても正しいとは限らない
- GA4の問い合わせデータを集客改善に活用する方法
- まとめ|問い合わせ計測は「送信ボタン」ではなく「送信成功」を基準にする
Contact Form 7の問い合わせ計測は「何を成果とするか」が重要
設定方法を説明する前に、まず考えたいことがあります。
そもそも、問い合わせの何を計測するのでしょうか。
送信ボタンを押した回数でしょうか。
送信完了メッセージが表示された回数でしょうか。
それとも、会社が実際に受信した問い合わせ件数でしょうか。
似ているようですが、意味は違います。
問い合わせには複数の段階がある
一般的な問い合わせフォームでは、次のような流れになります。
- ユーザーが問い合わせページを閲覧する
- フォームへの入力を開始する
- 送信ボタンをクリックする
- 入力内容のチェックが行われる
- 迷惑メール判定などが行われる
- フォームの送信処理が正常に完了する
- メールが受信側へ届く
- 会社が問い合わせ内容を確認する
- 商談や受注につながる
どの段階を計測するかによって、数字の意味が変わります。
たとえば送信ボタンを押しただけで1件と数えると、必須項目の入力エラーが発生した場合も問い合わせとして扱われる可能性があります。
逆に、送信処理が正常に完了した場合だけを数えれば、実際の問い合わせ件数に近い数字を取得できます。
ただし、送信処理が成功しても、その後のメール配送や受信側の迷惑メール判定で問題が発生する可能性は残ります。
GA4で計測するものと、会社が管理するものを分ける
問い合わせを正しく把握するなら、次のように分けて考えると分かりやすくなります。
| 段階 | 確認方法 | 目的 |
|---|---|---|
| フォーム閲覧 | GA4のページ閲覧 | 問い合わせページへの集客状況 |
| フォーム操作 | GA4のフォーム関連イベント | 入力開始などの行動分析 |
| 送信処理成功 | Contact Form 7の成功イベント | 問い合わせ送信完了の計測 |
| メール受信 | 受信メール・送信ログなど | 問い合わせが届いているか確認 |
| 有効な問い合わせ | 問い合わせ管理表・CRMなど | 営業対象となる問い合わせの把握 |
| 受注 | 顧客管理・売上管理 | 実際の事業成果の確認 |
GA4だけですべてを管理しようとする必要はありません。
むしろ、GA4で分かることと、別の仕組みで確認するべきことを分けた方が、数字の意味が明確になります。
問い合わせ計測で最初に決めるべきなのは、タグの設定ではなく、何を1件として数えるかです。
Contact Form 7をGA4で計測する3つの方法を比較
Contact Form 7の送信を計測する方法はいくつかあります。
代表的なのは次の3つです。
- 送信ボタンのクリックを計測する
- サンクスページへのアクセスを計測する
- Contact Form 7の送信成功イベントを計測する
それぞれメリットと注意点があります。
方法1|送信ボタンのクリックを計測する
Googleタグマネージャーには、ボタンやリンクのクリックを検知する機能があります。
そのため、問い合わせフォームの送信ボタンをクリックしたタイミングでGA4へイベントを送信することもできます。
設定自体は比較的簡単です。
ただし、この方法には問題があります。
たとえば、必須項目が未入力のまま送信ボタンをクリックした場合。
フォームは送信されていませんが、クリックイベントは発生します。
入力エラーで何度もクリックすれば、その回数だけ計測される可能性もあります。
そのため、送信ボタンのクリックは「送信しようとした行動」を分析する用途には使えても、問い合わせ完了件数の計測には向いていません。
方法2|サンクスページへのアクセスを計測する
問い合わせ送信後に、専用の完了ページへ移動させる方法です。
たとえば、次のようなURLです。
https://example.com/contact/thanks/
このページが表示されたら、問い合わせ完了として計測します。
サンクスページ方式は、計測対象のURLが明確なので管理しやすいというメリットがあります。
一方、完了ページを直接開いた場合や、再読み込みした場合にもページ閲覧が発生します。
また、Contact Form 7の標準的なAjax送信では、送信後に別ページへ移動するとは限りません。
サンクスページ方式を利用するなら、正常に送信できた場合だけ遷移させる仕組みを用意する必要があります。
方法3|Contact Form 7の送信成功イベントを計測する
今回おすすめする方法です。
Contact Form 7には、フォームの処理結果に応じて発生するJavaScriptのイベントが用意されています。
そのうち、メール送信処理が成功したときに発生するのが、次のイベントです。
wpcf7mailsent
このイベントを検知すれば、送信ボタンのクリックだけではなく、Contact Form 7側で送信処理が成功したタイミングを計測できます。
3つの方法を比較すると
| 比較項目 | ボタンクリック | サンクスページ | 送信成功イベント |
|---|---|---|---|
| 設定の考え方 | クリックを検知 | 完了ページを検知 | CF7の成功イベントを検知 |
| 入力エラーの除外 | 難しい | 正常遷移なら可能 | 可能 |
| 再読み込みによる誤計測 | 通常は発生しない | 対策が必要 | 通常のページ再読み込みでは発生しない |
| Ajaxフォームとの相性 | 計測可能 | 追加実装が必要 | 良い |
| 複数フォームの区別 | 設定次第 | URL設計次第 | フォームIDで区別可能 |
| 主な用途 | 送信意欲の分析 | 完了ページを使うサイト | CF7の送信完了計測 |
一般的なContact Form 7のAjax送信を利用しているなら、送信成功イベントを使う方法が分かりやすいと思います。
ただし、JavaScriptが正常に動作していない場合や、Ajax送信を利用していない場合は、同じ方法で計測できないことがあります。
サイトの実装方法に合わせて選びましょう。
設定前に確認すること|GA4・GTM・Contact Form 7の準備
ここから具体的な設定方法を説明します。
今回は、次の環境を想定します。
- WordPressでサイトを運営している
- 問い合わせフォームにContact Form 7を使用している
- GA4のプロパティを作成済み
- Googleタグマネージャーを設置済み
- GTMからGA4へイベントを送信できる
- Contact Form 7がAjax送信で動作している
まだGA4やGTMを設置していない場合は、先に基本的な計測環境を整えてください。
GA4とGTMが正常に連携しているか
まず、GA4で通常のページ閲覧が計測できているか確認します。
GA4のリアルタイムレポートを開き、自分でサイトへアクセスしてみてください。
アクセスが反映されていれば、基本的な計測環境が動いている可能性が高いと判断できます。
ただし、リアルタイムに表示されたからといって、GTMの設定がすべて正しいとは限りません。
GA4タグをGTM経由とWordPressプラグイン経由の両方で設置している場合など、重複して計測される構成もあるためです。
GA4のタグを二重に設置していないか
たとえば、次のような構成です。
- WordPressテーマの設定でGA4を設置
- SEOプラグインでもGA4を設置
- GoogleタグマネージャーでもGA4を設置
複数の経路から同じGA4プロパティへイベントを送信すると、意図しない重複計測が発生する可能性があります。
すべての構成で必ず重複するわけではありませんが、どこからGA4のタグを配信しているのかは把握しておきましょう。
今回の記事では、Googleタグマネージャーを中心にイベントを管理する構成で説明します。
Contact Form 7のフォームIDを確認する
WordPress管理画面で、Contact Form 7のフォーム一覧を開きます。
各フォームにはIDがあります。
たとえば、次のようなショートコードです。
[contact-form-7 id="123" title="お問い合わせ"]
※上記は説明用の架空例です。現在のContact Form 7ではショートコードのID表記が異なる場合があります。
今回の例では、フォームIDを「123」とします。
実際に設定するときは、自分のサイトのフォームIDへ置き換えてください。
複数のフォームがある場合は、それぞれのIDを控えておくと後の設定が楽になります。
Contact Form 7の送信成功イベントをGTMへ送る方法
ここが今回の設定で最も重要な部分です。
Contact Form 7の送信成功を検知し、Googleタグマネージャーが認識できるイベントへ変換します。
Contact Form 7には専用のDOMイベントがある
Contact Form 7公式では、次のようなイベントが用意されています。
| イベント名 | 発生するタイミング |
|---|---|
| wpcf7invalid | 入力内容に問題がある |
| wpcf7spam | スパムとして判定された |
| wpcf7mailsent | メール送信処理が成功した |
| wpcf7mailfailed | メール送信処理に失敗した |
| wpcf7submit | Ajax送信処理が完了した |
注意したいのが「wpcf7submit」です。
名前だけを見ると、フォーム送信成功を表しているように感じます。
しかし、wpcf7submitは送信処理の結果にかかわらず発生するイベントです。
そのため、入力エラーやメール送信失敗を除外して計測したい場合には向いていません。
送信成功を計測するなら、基本的にはwpcf7mailsentを使用します。
なお、Contact Form 7の「skip_mail」設定など、実際のメール送信を省略する特殊な構成では、wpcf7mailsentが発生してもメールが送られていない場合があります。
そのため、このイベントを「受信確認済み」の意味で扱わないようにします。
GTMでカスタムHTMLタグを作成する
Googleタグマネージャーを開きます。
対象のコンテナを選択し、次の順番で進みます。
- 「タグ」を開く
- 「新規」をクリックする
- タグの種類で「カスタムHTML」を選択する
- 以下のJavaScriptを設定する
- トリガーに「DOM Ready」を指定する
設定するコードは次のとおりです。
<script>
(function() {
if (window.diblogCf7TrackingReady) {
return;
}
window.diblogCf7TrackingReady = true;
document.addEventListener('wpcf7mailsent', function(event) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'cf7_mail_sent',
cf7_form_id: String(event.detail.contactFormId)
});
}, false);
})();
</script>
このコードは、Contact Form 7のwpcf7mailsentイベントを検知すると、GTMのデータレイヤーへ情報を送ります。
送信する情報は次の2つです。
cf7_mail_sent:送信処理が成功したことを表すイベント名cf7_form_id:送信されたContact Form 7のフォームID
フォームIDを取得しているため、複数の問い合わせフォームがあっても区別できます。
また、コードの冒頭では、同じページでイベントリスナーが重複登録されることを防いでいます。
ただし、同じ処理を別のプラグインやテーマでも実装している場合は、重複イベントが発生する可能性があります。
既存の計測設定がある場合は、追加前に確認してください。
今回はGTMのカスタムHTMLタグから設置する方法を説明しています。
同じコードをWordPressテーマのfunctions.phpや別のコード管理プラグインにも追加する必要はありません。
また、テーマやプラグインによってはすでに同様のイベントを送信している場合があります。既存設定を確認してから追加しましょう。
トリガーはDOM Readyを指定する
カスタムHTMLタグのトリガーには、基本的にDOM Readyを指定します。
DOM Readyは、ページのHTMLが読み込まれ、DOMの構築が完了したタイミングで発生するトリガーです。
この時点でイベントを監視する処理を登録しておけば、その後にユーザーがフォームを送信したときのイベントを検知できます。
問い合わせフォームが特定のページにしかない場合は、対象ページだけでタグを実行する設定にしても構いません。
ただし、フォームを複数のページに設置しているなら、対象ページを漏らさないように注意します。
設定したら、いったん保存してください。
この段階では、まだGA4へイベントを送信するタグは作成していません。
GTMでカスタムイベントを作成してGA4へ送信する
続いて、先ほどのコードが送信した「cf7_mail_sent」をGTMで検知し、GA4へ送信する設定を作ります。
STEP1|カスタムイベントトリガーを作成する
GTMで「トリガー」を開き、「新規」をクリックします。
トリガーの種類は「カスタムイベント」を選択します。
イベント名には、次の文字列を入力します。
cf7_mail_sent
イベント名は、先ほどのJavaScriptで指定したものと完全に一致させてください。
大文字と小文字、アンダースコアの違いにも注意します。
トリガー名は、たとえば次のようにしておくと分かりやすいでしょう。
CF7|送信成功
複数のフォームをすべて計測する場合は、すべてのカスタムイベントで発火する設定にします。
STEP2|フォームIDを取得する変数を作成する
次に、どのフォームが送信されたのかをGA4へ伝えるための変数を作ります。
GTMの「変数」から「新規」をクリックします。
変数の種類は「データレイヤーの変数」を選択してください。
データレイヤーの変数名には、次を入力します。
cf7_form_id
データレイヤーのバージョンは、通常はバージョン2を使用します。
変数名は、たとえば次のようにします。
DLV|CF7 Form ID
これで、フォーム送信時に送られてきたIDをGTMで取得できるようになります。
STEP3|GA4イベントタグを作成する
GTMの「タグ」から新しいタグを作成します。
タグの種類は「Googleアナリティクス:GA4イベント」を選択します。
測定IDには、対象のGA4プロパティの測定IDを指定します。
測定IDは、一般的に次のような形式です。
G-XXXXXXXXXX
イベント名には、今回は次の名前を使用します。
contact_form_success
イベントパラメータには、次の設定を追加します。
| 項目 | 設定内容 |
|---|---|
| イベント名 | contact_form_success |
| パラメータ名 | form_id |
| パラメータ値 | {{DLV|CF7 Form ID}} |
| トリガー | CF7|送信成功 |
※変数の表示名は、自分で作成したGTMの変数名に合わせてください。
今回は、問い合わせフォームの送信成功を独立して管理しやすいように、カスタムイベント名を使用しています。
GA4には、見込み顧客の獲得を表す推奨イベント「generate_lead」もあります。
一般的な問い合わせフォームをリード獲得として計測するなら、generate_leadを利用する方法もあります。
ただし、今回は他のフォームイベントとの混同を避け、設定内容を分かりやすくするため、contact_form_successという名前で統一します。
重要なのはイベント名の見た目ではなく、何を計測しているかが明確で、継続して同じルールで運用できることです。
STEP4|フォームごとに計測を分ける場合
企業サイトでは、問い合わせフォームが1つとは限りません。
たとえば、次のようなフォームがあります。
- 一般問い合わせ
- 見積もり依頼
- 採用応募
- 資料請求
これらをすべて同じ問い合わせとして数えると、成果の内容が分かりにくくなります。
たとえば、採用応募が増えたことで問い合わせ件数が増加しても、営業案件が増えたわけではありません。
この場合、フォームIDを利用して計測対象を分けます。
たとえば、架空のフォーム構成が次のようになっているとします。
| フォーム | フォームID | 管理上の分類 |
|---|---|---|
| 一般問い合わせ | 123 | 営業問い合わせ |
| 見積もり依頼 | 456 | 見積もり |
| 採用応募 | 789 | 採用 |
GTMのカスタムイベントトリガーで、データレイヤー変数「cf7_form_id」が「123」と一致する場合だけ発火させれば、一般問い合わせだけを計測できます。
同様に、456なら見積もり、789なら採用という形で分類できます。
複数フォームを同じGA4イベント名で送信し、form_idパラメータで区別する方法もあります。
ただし、通常のGA4レポートでform_idを分析したい場合は、必要に応じてイベントスコープのカスタムディメンションを登録してください。
フォームの種類ごとに別のキーイベントとして集計したい場合は、GTM側でイベント名を分ける方法も検討できます。
問い合わせフォームが複数あるからといって、必ず別々のイベント名にする必要はありません。
同じ成果として評価するフォームなら共通イベント+form_id。
営業問い合わせ・採用応募など、成果の意味が違うフォームならイベントを分ける。
この考え方にすると、GA4のレポートを後から見たときに数字を解釈しやすくなります。
GA4で問い合わせ送信をキーイベントとして登録する
GTMからイベントを送信できるようになったら、GA4側でキーイベントとして設定します。
以前のGoogleアナリティクスでは「コンバージョン」という言葉が使われていました。
現在のGA4では、ビジネスにとって重要なユーザー行動を「キーイベント」と呼びます。
キーイベントの設定手順
GA4の管理画面を開きます。
基本的な手順は次のとおりです。
- 対象のGA4プロパティを開く
- 「管理」を開く
- 「データの表示」から「イベント」を選択する
- contact_form_successを探す
- イベントをキーイベントとしてマークする
すでにイベントを受信している場合は、イベント一覧から設定できます。
まだイベントが表示されていない場合でも、GA4の機能を利用して新しいイベント名を事前にキーイベントとして登録できる場合があります。
なお、キーイベントとしてマークするには、GA4で必要な権限が付与されている必要があります。
設定前のデータはさかのぼってキーイベントにならない
ここは注意が必要です。
GA4でイベントをキーイベントとして登録しても、過去に発生したイベントが自動的にキーイベントへ変更されるわけではありません。
キーイベントとしての集計は、基本的に設定後のデータが対象です。
そのため、問い合わせ計測を導入するなら、イベントの送信設定とキーイベント登録をまとめて行った方が管理しやすくなります。
キーイベントのカウント方法も確認する
GA4には、キーイベントのカウント方法に関する設定があります。
代表的なのは次の2つです。
- イベントごとに1回
- セッションごとに1回
イベントごとに1回の場合、同じユーザーが同じセッション内で2回送信すれば、原則として2回のキーイベントとして計測されます。
セッションごとに1回の場合、同じセッション内の複数回の発生を1回として扱います。
どちらが正しいかは、計測目的によります。
たとえば、フォーム送信の発生回数を把握したいなら、イベントごとに1回が分かりやすいでしょう。
一方、問い合わせを発生させたセッション数を重視するなら、セッション単位で見る考え方もあります。
ただし、同じユーザーが複数回送信した場合や、迷惑メールが混在する場合、GA4のキーイベント数と実際の有効問い合わせ件数は一致しないことがあります。
そのため、カウント方法を変更する前に、何を1件として評価するのか決めておきましょう。
計測できているか確認する方法|GTMプレビューとGA4 DebugView
設定が終わったら、必ず動作確認を行います。
ここを省略すると、イベントが送信されていないことに気づかないまま運用してしまう可能性があります。
STEP1|GTMのプレビューモードを使う
Googleタグマネージャーで「プレビュー」をクリックします。
対象サイトのURLを入力し、Tag Assistantで接続します。
その状態で、問い合わせフォームからテスト送信を行います。
正常に動作していれば、送信成功後に次のカスタムイベントを確認できるはずです。
cf7_mail_sent
このイベントが表示されたら、GTMがContact Form 7の送信成功を検知できています。
さらに、イベントを選択してGA4イベントタグが発火しているか確認します。
ただし、GTMでタグが発火したことと、GA4がイベントを正常に受信・処理したことは同じではありません。
次の確認も行います。
STEP2|GA4のDebugViewを確認する
GA4の管理画面からDebugViewを開きます。
GTMのプレビューモードなどでデバッグ状態になっているブラウザからテスト送信すると、DebugViewでイベントを確認できる場合があります。
確認するイベント名は次のとおりです。
contact_form_success
イベントが表示されたら、イベントパラメータも確認します。
今回の設定では、form_idが取得できているかが重要です。
たとえばフォームIDが123なら、次のような値になっているか確認します。
form_id: 123
ここまで確認できれば、Contact Form 7からGTMを経由してGA4へイベントが送信されていることを確認できます。
なお、同意管理の設定やブラウザの広告ブロック機能などによって、DebugViewにイベントが表示されない場合もあります。
STEP3|正常送信以外もテストする
ここが特に重要です。
正常送信だけ確認して終わりにしないでください。
最低限、次のパターンを確認します。
| テスト内容 | 期待する計測結果 |
|---|---|
| 正常に送信できた | 成功イベントが1回発生 |
| 必須項目を空欄で送信 | 成功イベントは発生しない |
| メールアドレス形式が不正 | 成功イベントは発生しない |
| スパム判定された | 成功イベントは発生しない |
| メール送信処理に失敗 | 成功イベントは発生しない |
| フォームページを再読み込み | 成功イベントは発生しない |
※スパム判定やメール送信失敗のテストは、通常の入力だけでは再現できない場合があります。無理に本番環境を壊して再現する必要はありません。
まずは正常送信と入力エラーを確認し、必要に応じて検証環境で追加テストを行いましょう。
テスト送信がGA4の成果に含まれることにも注意
テスト送信を行うと、設定によってはGA4にイベントが記録されます。
そのため、テスト送信を10回行えば、実際の問い合わせがないのにキーイベントが10回増える可能性があります。
テストした日時と件数は記録しておきましょう。
必要に応じて内部トラフィックの除外なども検討できますが、設定方法によっては通常の計測にも影響するため、慎重に確認してください。
Contact Form 7の送信完了がGA4で計測されない原因
設定したのにイベントが表示されない場合は、原因を順番に切り分けます。
最初からすべての設定を変更するのではなく、どこまで動作しているか確認することが重要です。
原因1|Contact Form 7がAjax送信で動いていない
Contact Form 7のwpcf7mailsentなどのDOMイベントは、Ajax送信の処理で発生します。
そのため、Ajax送信が正常に動作していない場合、イベントが発生しません。
Contact Form 7公式でも、非Ajax送信ではこれらのDOMイベントが発生しないと説明されています。
JavaScriptのエラーや、他のプラグインとの競合などがないか確認してください。
原因2|イベント名が一致していない
GTMのカスタムイベントトリガーでは、イベント名を正しく指定する必要があります。
今回の例では、次の名前です。
cf7_mail_sent
たとえば、次のような名前では一致しません。
cf7_mailsent
cf7_mail_send
CF7_mail_sent
似ていますが、別のイベント名です。
JavaScript側とGTM側で完全に一致しているか確認します。
原因3|GTMのタグが実行されていない
カスタムHTMLタグが正常に発火していなければ、イベントを監視できません。
GTMのプレビューモードで、DOM ReadyのタイミングにカスタムHTMLタグが実行されているか確認してください。
また、問い合わせフォームを設置しているページがトリガーの対象から外れていないかも確認します。
原因4|GTMでは発火しているがGA4に表示されない
この場合は、GTMとGA4の接続部分を確認します。
代表的な確認ポイントは次のとおりです。
- GA4の測定IDが正しいか
- 対象のGA4プロパティを開いているか
- GA4イベントタグが正しく設定されているか
- ブラウザの広告ブロック機能が影響していないか
- Cookie同意や同意モードの設定が影響していないか
- DebugViewでデバッグモードが有効になっているか
GA4の通常レポートは、データの処理に時間がかかる場合があります。
Google公式では、通常のレポートやデータ探索でデータが処理されるまで、24〜48時間かかる場合があると説明されています。
そのため、設定直後は通常レポートだけで判断せず、リアルタイムレポートやDebugViewも確認します。
原因5|送信ボタンのクリックと成功イベントを両方計測している
既存のGTM設定に、送信ボタンのクリックイベントが残っている場合があります。
さらに今回の成功イベントを追加すると、1回の問い合わせに対して複数のイベントが発生します。
異なるイベントとして記録すること自体は問題ありません。
ただし、両方を同じ問い合わせ成果として集計すると、数字が増えてしまいます。
特にGoogle広告などへコンバージョンを連携している場合は、どのイベントを成果として扱うのか整理しておきましょう。
計測できないときの切り分け表
| 確認できた状態 | 次に確認すること |
|---|---|
| GTMのカスタムHTMLタグが動かない | タグのトリガー・配信条件 |
| タグは動くがcf7_mail_sentが出ない | CF7のAjax送信・JavaScriptエラー |
| cf7_mail_sentは出るがGA4タグが動かない | カスタムイベントトリガー |
| GA4タグは動くがDebugViewに出ない | 測定ID・同意設定・ブロック機能 |
| DebugViewには出るが通常レポートにない | 処理時間・レポート設定 |
| イベント数が多すぎる | 重複タグ・クリック計測・複数イベント |
この順番で確認すれば、原因を絞り込みやすくなります。
問い合わせ計測でよくある失敗|数字が取れても正しいとは限らない
ここまでの設定で、GA4へ問い合わせ送信成功イベントを送れるようになります。
ただし、イベントが表示されたからといって、計測設計が完成したわけではありません。
運用時には、次のような点にも注意が必要です。
失敗1|GA4のform_submitをそのまま問い合わせ件数にする
GA4には、拡張計測機能としてフォームの操作を計測する仕組みがあります。
代表的なイベントが次の2つです。
- form_start
- form_submit
これらはフォーム操作の分析に役立ちます。
ただし、すべてのフォームで送信処理の成功を正確に判定できるとは限りません。
Contact Form 7のようにJavaScriptを利用して送信処理を行うフォームでは、標準のフォーム計測と実際の送信成功が一致するか確認する必要があります。
そのため、今回のようにContact Form 7専用の成功イベントを用意する方法には意味があります。
失敗2|送信成功とメール受信を同じものとして扱う
Contact Form 7で送信成功イベントが発生しても、受信側のメールボックスへ確実に届いたことを保証するものではありません。
メール配送には、SMTPサーバー、DNS、SPF・DKIMなどの認証、受信側の迷惑メール判定などが関係します。
そのため、GA4では問い合わせが発生しているのに、会社側ではメールを確認できないという状況も起こり得ます。
GA4の計測とメールの受信確認は、別々に行う必要があります。
失敗3|すべてのフォームを同じ成果として扱う
一般問い合わせ、採用応募、資料請求、営業目的の問い合わせ。
これらをすべて同じ成果として数えると、何が増えたのか分からなくなります。
特に企業サイトでは、採用応募が増えたことと、営業案件が増えたことは別の成果です。
フォームの目的が違うなら、計測上も区別しておいた方がいいでしょう。
失敗4|個人情報をGA4へ送信してしまう
これは必ず注意したいポイントです。
Googleアナリティクスでは、個人を特定できる情報を送信することが禁止されています。
たとえば、次のような情報です。
- 問い合わせした人の氏名
- メールアドレス
- 電話番号
- 住所
- 問い合わせ本文に含まれる個人情報
Contact Form 7のDOMイベントからは、フォームの入力内容を取得することも技術的には可能です。
しかし、取得できるからといってGA4へ送っていいわけではありません。
今回のコードでは、フォームIDだけを送信しています。
問い合わせ内容やメールアドレスなどは送信していません。
「どんな問い合わせがあったか分析したい」という理由で、フォームの入力内容をそのままGA4のイベントパラメータへ設定するのは避けてください。
問い合わせ内容の管理は、メール、CRM、問い合わせ管理システムなど、適切な仕組みで行います。
GA4では、フォームの種類や送信完了など、個人を特定しない範囲の情報を計測することが基本です。
失敗5|問い合わせ件数が増えたことだけで成功と判断する
たとえば、GA4で問い合わせ件数が前月10件から20件に増えたとします。
数字だけ見れば2倍です。
でも、その20件のうち15件が営業メールや迷惑メールだったらどうでしょう。
実際の営業成果が改善したとは言い切れません。
GA4のキーイベント数は重要ですが、それだけで集客の良し悪しを判断するのは危険です。
GA4の問い合わせデータを集客改善に活用する方法
最後に、計測したデータをどう使うか考えてみます。
問い合わせ計測は、設定して終わりではありません。
数字を見て、サイトのどこを改善するべきか判断するためのものです。
問い合わせ件数だけでなく、途中の数字も確認する
たとえば、次のようなサイトがあったとします。
| 項目 | 1か月の数字 |
|---|---|
| 問い合わせページの閲覧数 | 1,000 |
| フォーム入力開始 | 100 |
| 送信ボタンクリック | 30 |
| 送信処理成功 | 10 |
| 受信確認できた問い合わせ | 8 |
| 有効な営業問い合わせ | 3 |
※数字は説明用の架空例です。各指標は計測方法や集計単位によって異なるため、単純な人数比較とは限りません。
この場合、送信成功が10件あったことは分かります。
でも、それだけでは改善する場所が分かりません。
入力開始が100件あるのに、送信成功が10件しかない。
フォームの項目数が多すぎるのかもしれません。
スマートフォンで入力しにくいのかもしれません。
送信エラーが発生している可能性もあります。
また、送信成功10件に対して受信確認が8件なら、メール配送や問い合わせ管理の仕組みも確認したいところです。
さらに、有効な営業問い合わせが3件しかないなら、集客しているユーザー層や問い合わせ内容の質も見直す必要があります。
問い合わせが少ない原因を4つに分ける
DIBLOGでは、問い合わせが少ない場合、次の4つに分けて考える方法をおすすめします。
| 問題 | 確認する数字 | 主な改善対象 |
|---|---|---|
| そもそも見られていない | アクセス数・流入経路 | SEO・広告・集客 |
| 見られているが入力されない | ページ閲覧・入力開始 | 掲載内容・導線・訴求 |
| 入力されるが送信されない | 入力開始・送信成功 | フォームの使いやすさ・エラー |
| 送信されるが成果につながらない | 送信成功・有効問い合わせ・受注 | ターゲット・営業対応・サービス内容 |
こうして分けると、何を改善するべきかが見えてきます。
たとえば、問い合わせページへのアクセスがほとんどないなら、フォームのデザインを変更しても効果は限定的でしょう。
反対に、問い合わせページへ十分なアクセスがあるのに送信成功が少ないなら、フォームの項目数や入力しやすさを見直す価値があります。
また、送信成功が多いのに有効な問い合わせが少ない場合は、フォーム以前の集客内容やターゲット設定に問題があるかもしれません。
アクセス数を増やすことと、問い合わせを増やすことは同じではありません。
問い合わせ計測を行う意味は、この違いを数字で確認できるようにすることです。
広告を運用している場合はさらに重要
Google広告などを運用している場合、問い合わせの計測は特に重要です。
広告のクリック数だけを見ても、実際に問い合わせにつながっているか分かりません。
たとえば、次の2つの広告があったとします。
| 項目 | 広告A | 広告B |
|---|---|---|
| 広告費 | 30,000円 | 30,000円 |
| クリック数 | 300 | 150 |
| 問い合わせ送信成功 | 3件 | 6件 |
| 送信成功1件あたりの広告費 | 10,000円 | 5,000円 |
※数字は説明用の架空例です。
クリック数だけなら広告Aの方が多くなっています。
しかし、問い合わせ送信成功を基準にすると、広告Bの方が効率的です。
もちろん、実際には問い合わせの質や受注率まで確認する必要があります。
また、GA4のキーイベントをGoogle広告の最適化へ利用する場合は、Google広告側のコンバージョン設定や重複計測にも注意が必要です。
ただ、少なくともクリック数だけで広告の成果を判断するより、改善の方向性を考えやすくなります。
毎月確認する項目は多くなくていい
GA4には大量のデータがあります。
すべての数字を毎月確認する必要はありません。
一般的な企業サイトなら、まず次の項目から始めてもいいと思います。
- サイト全体のアクセス状況
- 問い合わせページの閲覧状況
- 問い合わせ送信成功イベント数
- 主な流入経路別の成果
- 実際に受信した問い合わせ件数
- 有効な問い合わせ件数
これらを毎月同じ基準で確認します。
そして、数字が変わった理由を考えます。
アクセスが増えたのか。
問い合わせページへの誘導が改善したのか。
フォームの使いやすさが変わったのか。
それとも、営業目的の問い合わせが増えただけなのか。
ここまで確認して初めて、数字を改善に使えるようになります。
まとめ|問い合わせ計測は「送信ボタン」ではなく「送信成功」を基準にする
Contact Form 7の問い合わせをGA4で計測するなら、送信ボタンのクリック数だけで判断するのはおすすめしません。
入力エラーや送信失敗があってもクリックは発生するため、実際の問い合わせより多く計測される可能性があるからです。
今回紹介した方法では、Contact Form 7のwpcf7mailsentイベントを利用して、送信処理が成功したタイミングを計測します。
設定の流れを整理すると、次のようになります。
- GA4とGTMの基本設定を確認する
- Contact Form 7のフォームIDを確認する
- wpcf7mailsentをGTMで検知する
- カスタムイベントをGA4へ送信する
- GA4でキーイベントとして登録する
- GTMプレビューとDebugViewで確認する
- 入力エラー時に誤計測しないか確認する
ただし、ここまで設定できても、問い合わせ管理がすべて完成するわけではありません。
送信成功とメール受信は別です。
メール受信と有効な問い合わせも別です。
有効な問い合わせと受注も、もちろん別です。
だからこそ、GA4では何を計測しているのか明確にしておく必要があります。
ホームページの成果を改善したいなら、アクセス数だけでなく、問い合わせにつながったかどうかを確認する。
そして問い合わせが少ないなら、集客が足りないのか、掲載内容が弱いのか、フォームで離脱しているのかを切り分ける。
この順番で考えれば、何となくデザインを変更したり、理由もなく広告費を増やしたりする前に、改善するべき場所を見つけやすくなります。
GA4の設定そのものが目的ではありません。
計測した数字を使って、WEBサイトの成果を改善することが目的です。
問い合わせフォームを設置しているのに送信完了を計測していない場合は、まず現在の設定を確認してみてください。
正しく計測できるようになるだけでも、今まで見えていなかった改善ポイントが見つかるかもしれません。
参考:公式情報
本記事は2026年10月11日時点で確認できる公式情報をもとに作成しています。
- Contact Form 7公式|DOMイベント
- Contact Form 7公式|DOMイベントが動作しない場合
- Googleタグマネージャー公式|カスタムイベントトリガー
- Googleタグマネージャー公式|GA4イベントの設定
- Googleアナリティクス公式|イベントをキーイベントとしてマークする
- Googleアナリティクス公式|拡張計測機能イベント
- Googleアナリティクス公式|データ収集の確認
- Googleアナリティクス公式|個人情報を送信しないための注意点
Contact Form 7、Googleタグマネージャー、GA4の仕様や管理画面は変更される場合があります。実際の設定時には最新の公式情報を確認してください。


