GoogleタグマネージャーでContact Form 7を測定する完全ガイド
この記事の要点
- 送信成功イベントwpcf7mailsentを起点に計測を組む
- HTMLタグ・イベントトリガー・GA4タグ・キーイベント登録の4段階で構築
- 公開前に発火・二重計測なし・エラー時不発火を確認しコンテナ公開
「問い合わせは来ているはずなのに、GA4の数字とどうも合わない」「そもそもフォーム送信が1件もコンバージョンに記録されていない」。Contact Form 7とGoogleタグマネージャー(GTM)の計測でつまずく方は本当に多いです。
この記事では、Contact Form 7の問い合わせ完了を正確に、二重計測なく、エラー送信を弾いて測るための具体的な設定手順を、非エンジニアの方にも分かるように解説します。なぜクリック計測ではダメなのか、何を使えば正しく測れるのか、現場でよく見る失敗まで一気に整理していきましょう。
Contents / 目次
結論。Contact Form 7の計測は「wpcf7mailsent」を起点に組む

先に答えを言います。Contact Form 7を正しく計測する鍵は、送信ボタンの「クリック」を測るのではなく、フォームが送信に成功したときだけ発火するwpcf7mailsent(ダブリューピーシーエフセブン・メールセント)というイベントを起点にすることです。ひとことで言うと、「ボタンを押した瞬間」ではなく「メールが正常に飛んだ瞬間」を測る、という考え方です。
なぜここが分かれ道になるのか。GTMには「クリック」や「フォームの送信」という便利なトリガー(きっかけ)が標準で用意されています。つい使いたくなりますが、Contact Form 7はこれらと相性が悪いんです。理由は、Contact Form 7が画面を切り替えずに(ページを再読み込みせずに)送信を処理する作りになっているから。入力ミスがあってもボタンは押せてしまうので、クリックを測ると「エラーで送れなかった人」までコンバージョンにカウントしてしまいます。
そこで、Contact Form 7が「送信成功」のときだけ自動で出すwpcf7mailsentという合図を拾います。これを使えば、本当に問い合わせが完了した人だけを数えられます。全体像は次の4ステップです。
| ステップ | やること | 使うツール |
|---|---|---|
| ①合図を拾う | wpcf7mailsentを検知してデータレイヤーに送信完了を伝える | GTM カスタムHTMLタグ |
| ②条件を作る | 「送信完了」という合図が来たら動くトリガーを用意 | GTM カスタムイベントトリガー |
| ③GA4に送る | generate_lead などのイベント名でGA4へ計測データを送る | GTM GA4イベントタグ |
| ④成果として登録 | そのイベントをGA4で「キーイベント」に設定し成果として扱う | GA4 管理画面 |
ここだけ覚えればOK。「クリックではなくwpcf7mailsentで測る」。この一点を外さなければ、計測のズレの9割は防げます。逆にここを間違えると、後からどれだけ調整しても数字は合いません。
なお、GTMとGA4そのものの初期導入がまだの方は、先に土台を整えてから進めるとスムーズです。GA4タグの基本設定についてはGoogleタグマネージャーでGA4の測定タグを正しく設定する方法で詳しく解説しているので、あわせて確認してみてください。
具体的な設定手順。4つのステップで組み立てる

では実際の手順を見ていきましょう。GTMの管理画面の操作は、Googleのアップデートで細かいボタン位置が変わることがあるため、ここでは「何を、どの順番で作るか」というプロセスを中心に説明します。画面ごとの細かな押し方は、Google公式ヘルプもあわせて参照してください。
ステップ1。送信成功を拾うカスタムHTMLタグを作る
最初に、Contact Form 7の「送信できました」という合図を拾う仕掛けを作ります。GTMで「カスタムHTML」というタイプのタグを新規作成し、次のような短いコードを入れます。
<script>
document.addEventListener('wpcf7mailsent', function(event){
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'cf7_submit',
'formId': event.detail.contactFormId
});
});
</script>
難しく見えるかもしれませんが、やっていることはシンプルです。「Contact Form 7が送信成功(wpcf7mailsent)したら、cf7_submit という名前の合図と、どのフォームかを示すformIdを、GTMに渡してね」と書いているだけです。データレイヤーというのは、サイトとGTMの間で情報をやり取りするための受け渡し台のようなものだと思ってください。
このタグのトリガー(動くきっかけ)は「All Pages(全ページ)」または「DOM Ready」に設定します。フォームがどのページにあっても、常に合図を待ち構えている状態にするためです。最近はこの手のコードはAIに「Contact Form 7のwpcf7mailsentをデータレイヤーにpushするGTM用のスクリプトを書いて」と頼めば下書きを作ってくれます。ただし、そのまま貼るのではなく、後述のプレビューで必ず発火を確認してください。AIは「それらしいコード」を返しますが、自社の環境で動くかどうかは別問題です。
ステップ2。合図を受け取るカスタムイベントトリガーを作る
次に、ステップ1で飛ばした cf7_submit という合図を受け取る「トリガー」を作ります。GTMでトリガーを新規作成し、種類を「カスタムイベント」に設定。イベント名の欄に、ステップ1で書いたのと一字一句同じ「cf7_submit」を入力します。ここで大文字小文字やスペルがズレると一切動かないので、コピー&ペーストで揃えるのが安全です。
フォームが複数ある場合(例えば「資料請求」と「お問い合わせ」を分けたいとき)は、このトリガーに「formIdが○○のときだけ」という条件を足すことで、フォームごとに測り分けられます。
ステップ3。GA4へ送るイベントタグを作る
続いて、GA4にデータを送るタグを作ります。GTMでタグを新規作成し、種類を「Googleアナリティクス:GA4イベント」に設定。測定ID(G から始まる文字列)を入れ、イベント名にはGA4で表示させたい名前を入力します。問い合わせの場合は、GA4が標準で推奨しているgenerate_lead(見込み客の獲得)という名前を使うのが分かりやすくおすすめです。
このタグのトリガーに、ステップ2で作ったカスタムイベントトリガーを指定します。これで「送信成功 → 合図 → GA4へ generate_lead を送信」という一本道がつながりました。
ステップ4。プレビューで確認してから公開する
ここが最も大事な仕上げです。いきなり公開せず、必ずGTMの「プレビューモード」で実際にフォームを送ってみてください。確認すべきは次の3点です。
- 発火するか:テスト送信したとき、3つのタグ(HTML・トリガー・GA4タグ)がすべて反応しているか
- 1回だけか:1回の送信で、generate_lead が1回だけ送られているか(2回出ていたら二重計測)
- エラー時に止まるか:わざと必須項目を空にして送信し、そのときは発火しないか
あわせてGA4の「DebugView(デバッグビュー)」も開いておくと、GA4側に正しくデータが届いているかをリアルタイムで目視できます。問題がなければGTMコンテナを「公開」。最後にGA4の管理画面で、generate_lead をキーイベントとして登録すれば、レポート上で正式な成果としてカウントされるようになります。
公開ボタンを押すまで設定は本番に反映されません。プレビューで動いて満足して、公開を忘れて「数字が増えない」と悩むケースは本当によくあります。最後の「公開」を忘れずに。
正しく測れると何が変わるのか

「設定が面倒そう」と感じるかもしれません。でも、ここを正確にすると、その後のWeb集客の打ち手がまるで変わります。具体的にどう変わるのか、現場でよく見る変化を挙げてみます。
まず、「どの流入が問い合わせにつながっているか」が見えるようになります。これまで「アクセスは増えたけど成果は不明」だったものが、「自然検索からの問い合わせが先月より20%増えた」「広告経由のフォーム完了は思ったより少なかった」と、お金と労力をかける先を数字で判断できるようになります。アクセスはあるのにCVが伸びない悩みについてはアクセスあるのにCVが増えない時のSEOチェック法でも触れているので、計測を整えたあとの分析にぜひ役立ててください。
次に、無駄な計測ノイズが消えます。クリック計測のままだと、エラー送信や同じ人の複数回クリックまで数えてしまい、実態より多い「水増しされた成果」を見ていることがあります。wpcf7mailsent方式に切り替えるだけで、報告数値が実際の問い合わせ件数とピタリと合うようになり、社内や上司への報告の信頼性が一気に上がります。
さらに、正確なコンバージョンデータが溜まると、それをGoogle広告に連携して広告の最適化に使ったり、フォームに到達したのに離脱した人を分析して改善したり、と打ち手が広がります。土台となる数字が正しいからこそ、その上の施策が意味を持つわけです。SEO全体の効果測定の考え方はSEOの効果ってどう測る?失敗しない見える化の方法とはでも整理しています。
成功している会社に共通するのは、派手なツールを使っていることではなく、「成果の定義を1つに決めて、それを正確に測り続けている」というシンプルな点です。問い合わせ完了をブレずに測れている。たったそれだけで、改善のサイクルが回り始めます。
よくある失敗と回避法

ここからは、現場で何度も見てきた「やりがちな失敗」を紹介します。先に知っておくだけで、無駄な手戻りをかなり減らせます。
失敗1。クリックトリガーで測ってしまう
一番多いのがこれです。GTMの標準「クリック」や「フォームの送信」トリガーで設定してしまうパターン。どうなるか:入力エラーで送れなかった人や、二度押しした人までコンバージョンに数えられ、実際より多い数字が出ます。広告の費用対効果を見誤る原因にもなります。どう防ぐか:必ずwpcf7mailsentを使ったカスタムHTML方式にする。Contact Form 7に関しては、これが唯一の正解だと考えてください。
失敗2。古いUA時代の記事を見て設定する
ネット上には、旧ツールであるユニバーサルアナリティクス(UA)向けの解説がまだたくさん残っています。どうなるか:UAは2023年7月1日にデータ処理を終了しているため、その手順をなぞっても今は動きません。古いコードを貼って「なぜか測れない」と何時間も悩むことになります。どう防ぐか:必ずGA4を前提とした新しい情報(2026年06月13日時点で最新のもの)を参照する。記事の公開日や対象バージョンを最初に確認する癖をつけましょう。
失敗3。イベント名のスペル・大文字小文字がズレる
cf7_submit と書いたつもりが、トリガー側で cf7submit になっていた、wpcf7mailsent を大文字混じりで書いた、というケース。どうなるか:エラーは出ないのに、ただ静かに発火しません。原因が見えにくく、最も時間を溶かす失敗です。どう防ぐか:イベント名は手打ちせず、コピー&ペーストで揃える。タグとトリガーで同じ文字列を使っているか、目視で1文字ずつ確認します。
失敗4。テーマにwp_footer()がなくてタグが動かない
WordPressのテーマによっては、フッター部分に必要な命令(wp_footer)が入っておらず、GTMのコードがそもそも読み込まれないことがあります。どうなるか:設定は完璧なのに、なぜか何も発火しない。どう防ぐか:テーマのfooter.phpにwp_footer()があるか確認する。自作テーマや古い無料テーマで起きやすいので、計測がうまくいかないときは疑ってみてください。
失敗5。二重発火に気づかない
リスナーを複数のタグに入れてしまったり、トリガー条件が重なっていたりすると、1回の送信でGA4に2回データが飛ぶことがあります。どうなるか:コンバージョン数が常に倍近くで表示され、ずっと水増しされた数字を信じてしまいます。どう防ぐか::プレビューモードとDebugViewで、1回の送信につき1回だけ発火していることを必ず確認する。これはステップ4のチェックで防げます。
使う前に知っておきたい落とし穴と現場の本音
ここまで手順を説明してきましたが、実際にやってみると「教科書通りにはいかない」場面がいくつもあります。相談を受けることが多いポイントを、率直にお伝えします。
まず、同意モード(Consent Mode v2)の存在です。2024年3月以降、欧州経済領域(EEA)のユーザーにGoogle広告を配信するサイトでは、Cookie同意の仕組みと連動させる「同意モードv2」の実装が求められています。国内中心のサイトなら影響は限定的ですが、Cookie同意バナーを入れている場合、「同意しない」を選んだ人のデータは送られず、計測が欠ける可能性があります。バナーを導入しているのにコンバージョンが急に減ったら、まずここを疑ってください。プライバシー対応と計測精度はトレードオフの関係にあり、ここは正直、片手間で完璧にするのが難しい領域です。
次に、「自分でやる」と「任せる」の線引きです。今回の4ステップは、落ち着いて取り組めば社内のWeb担当者でも十分組めます。実際、AIにコードの下書きを頼みながら自力で設定する会社も増えました。一方で、フォームが何種類もある、Cookie同意やGoogle広告連携まで絡む、複数サイトをまたぐ、といった条件が重なると、途端に複雑さが跳ね上がります。「単一フォームの計測は自分で、複雑な連携は専門家と」という切り分けが、結局いちばん早くて安全だと感じています。
そしてコストの見落とし。GTMもGA4もContact Form 7も無料です。ですが「無料だから安く済む」とは限りません。設定ミスに気づかず数か月間ずれた数字で意思決定をしてしまうと、その間の広告費やコンテンツ投資の判断を丸ごと誤ります。正確な計測は、ツール代ではなく「正しい判断を続けられること」に価値があると捉えると、最初にきちんと組む意味が見えてきます。AIは設定コードの下書きは助けてくれますが、「自社にとって何を成果と定義するか」「その数字をどう経営判断に使うか」までは決めてくれません。そこは人が向き合う領域です。
よくある質問
プラグインを使えばGTMなしでも計測できますか
簡単な計測ならプラグインでも可能です。ただし細かい条件分けや複数フォームの測り分け、Google広告連携まで考えると、GTMで組んだほうが後々ずっと柔軟です。本格的に運用するならGTMをおすすめします。
設定したのに数字が増えません。何を見ればいい?
まずGTMを「公開」したか確認してください。次にプレビューモードでテスト送信し、タグが発火するか、イベント名のスペルが一致しているかを見ます。多くはこの3点のどれかが原因です。
コードはAIに書いてもらっても大丈夫ですか
下書きとしては有効です。wpcf7mailsentを使う基本コードは定型なので、AIでも十分作れます。ただし、そのまま信用せず、必ずプレビューで自社サイトでの発火を確認してから公開してください。
イベント名は generate_lead じゃないとダメですか
必須ではありませんが、generate_lead はGA4が推奨する標準名で分かりやすいため、特に理由がなければこれを使うのが無難です。form_submit など独自名でも計測自体は問題なく動きます。
まとめ。正確な計測が改善の出発点になる
Contact Form 7の計測は、「クリックではなくwpcf7mailsentで測る」という一点を押さえるだけで、精度が大きく変わります。手順自体は4ステップで、落ち着いて取り組めば社内でも組めるものです。一方で、Cookie同意や広告連携、複数フォームが絡むと一気に難しくなるのも事実です。
ここまで読んで「自社のフォーム、本当に正しく測れているか不安だな」と感じた方は、一度ご相談ください。今の計測がズレていないかの確認だけでも大歓迎です。現状を一緒に整理するところから、お手伝いします。効果測定の考え方やGA4の基本設定もあわせてどうぞ。お気軽にお問い合わせください。
30分の無料相談
現状をお聞きし、優先順位を一緒に整理します。
予約する →