Contact Form 7のお問い合わせ送信をGA4のキーイベントとして計測する方法を、Site Kitでコード不要で設定する手順と、Googleタグマネージャーで設定する手順に分けて解説。0件のままになる原因や二重計測の防ぎ方も紹介します。
「GA4を入れているのに、お問い合わせの件数が分からない」「キーイベントがずっと0件のまま」――WordPressとContact Form 7でサイトを運用していると、よく起きる状態です。実は当社のサイトでも、Microsoft Clarity(行動分析ツール)ではフォームの送信が記録されているのに、GA4のキーイベントは0件のまま、ということがありました。原因は、フォームの送信をGA4に送る設定と、それを「キーイベント」として登録する設定の、どちらか(または両方)が抜けていることです。この記事では、Contact Form 7の送信をGA4のキーイベントとして計測する方法を、Site Kitを使う方法とGoogleタグマネージャー(GTM)を使う方法に分けて解説します。
GA4でお問い合わせが0件のままになる理由

GA4でお問い合わせを数えるには、次の2つの段階がそろっている必要があります。
- フォームが送信されたことを、イベントとしてGA4に送る
- GA4側で、そのイベントを「キーイベント」として登録する
GA4を入れただけでは、ページの表示(page_view)などは自動で計測されますが、「Contact Form 7でメールが送られた」という情報は自動では送られません。また、イベントが届いていても、キーイベントとして登録していなければ、レポートの「キーイベント」欄は0のままです。
なお「キーイベント」は、以前のGA4で「コンバージョン」と呼ばれていたものです。現在は、GA4で成果として数えるものをキーイベント、Google広告で成果として数えるものをコンバージョンと呼び分けています。
Contact Form 7の送信をGA4で計測する3つの方法

計測の方法は主に3つあります。
| 方法 | 向いているサイト | 手軽さ | メモ |
|---|---|---|---|
| Site Kitの「プラグインのコンバージョン トラッキング」 | Site KitでGA4を入れているサイト | ◎ コード不要 | 設定をオンにするだけ |
| Googleタグマネージャー(GTM) | GTMでタグを管理しているサイト | ○ 少しの設定が必要 | フォームごとの集計など自由度が高い |
| サンクスページ(送信完了ページ)の表示を数える | 送信後に別ページへ移動させたいサイト | △ 追加の設定が必要 | Contact Form 7は標準では別ページに移動しない |
Contact Form 7は、送信してもページが切り替わらず、同じページに「送信しました」と表示される仕組みです。そのため「完了ページの表示回数を数える」方法は、そのままでは使えません。まずはSite Kitか、GTMのどちらかで設定するのがおすすめです。
注意:同じ送信を複数の方法で計測しないこと
Site KitとGTMの両方で設定すると、1回の送信が2件と数えられてしまいます。どちらか1つに決めましょう。
方法1:Site Kitで計測する(コード不要)

Google公式のWordPressプラグイン「Site Kit by Google」でGA4を導入している場合は、この方法が最も簡単です。Site Kitには、Contact Form 7などの決まったプラグインの操作をGA4に送る機能があります。
手順
- WordPressの管理画面で「Site Kit」→「設定」を開く
- 「接続済みのサービス」から「アナリティクス」の「編集」を選ぶ
- 「プラグインのコンバージョン トラッキング」をオンにして保存する
これで、Contact Form 7のメール送信が成功したときに、GA4へイベントが送られるようになります。送られるイベント名は、Site Kitのバージョンや設定によって contact や generate_lead になります。次の「計測できているか確かめる方法」でテスト送信をして、実際にどの名前で届いているかを確認してから、キーイベントに登録しましょう。
テスト送信の注意
Site Kitの初期設定では、WordPressにログインしているユーザーのアクセスはGA4に送られません。ログインしたまま自分でテスト送信しても数えられないため、ログアウトした状態か、別のブラウザ(シークレットウィンドウなど)で試してください。
方法2:Googleタグマネージャー(GTM)で計測する

GTMでタグを管理しているサイトや、フォームごとに件数を分けて見たい場合はこちらの方法です。ポイントは、送信ボタンのクリックではなく、メールの送信に成功したときだけ発生する wpcf7mailsent という合図を使うことです。
ステップ1:送信成功を受け取るタグをつくる
GTMで「カスタムHTML」タグを新規作成し、次のコードを貼り付けます。トリガーは「All Pages」(またはフォームがあるページだけ)にします。
<script>
document.addEventListener('wpcf7mailsent', function (event) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'cf7_mail_sent',
cf7_form_id: event.detail.contactFormId
});
}, false);
</script>
ステップ2:変数とトリガーをつくる
- 変数:種類「データレイヤーの変数」、変数名
cf7_form_id - トリガー:種類「カスタムイベント」、イベント名
cf7_mail_sent(1文字でも違うと動かないため、コードからコピーして貼り付けます)
ステップ3:GA4のイベントタグをつくる
タグの種類「Google アナリティクス: GA4 イベント」を選び、測定ID(G-から始まるID)、イベント名 generate_lead、イベントパラメータ form_id に {{cf7_form_id}} の変数を設定します。トリガーにはステップ2のカスタムイベントを指定します。
generate_lead は、GA4があらかじめ用意している「見込み客の獲得」を表す推奨イベント名です。独自の名前でも計測はできますが、推奨イベント名を使うとレポートで扱いやすくなります。
ステップ4:プレビューで確認して公開する
GTMの「プレビュー」でサイトを開き、テスト送信をして、タグが1回だけ発火することを確認してから公開します。
GA4でキーイベントとして登録する

イベントがGA4に届くようになったら、キーイベントとして登録します。
すでにイベントが届いている場合
- GA4の「管理」→「データの表示」→「イベント」を開く
- 一覧から
contactまたはgenerate_leadを探す - イベント名の横にあるスター(キーイベントとしてマークを付ける)をオンにする
まだ1件も届いていない場合
「最近のイベント」の一覧には、すでに計測されたイベントしか出てきません。設定したばかりでまだ送信がない場合は、次の手順で先に登録できます。
- 「管理」→「データの表示」→「イベント」→「イベントを作成」を選ぶ
- イベント名に、実際に送られる名前(
contactやgenerate_lead)を入れる - 「キーイベントとしてマークを付ける」をオンにする
- 作成方法で「コードを使用して作成」を選び、作成する
お問い合わせには金額がないため、キーイベントの値は「設定しない」で問題ありません。なお、GA4の画面の表記は変わることがあります。見当たらない場合は、Googleアナリティクスのヘルプで「キーイベント」を検索してください。
計測できているか確かめる方法

設定が終わったら、必ずテスト送信で確認しましょう。
- WordPressからログアウトした状態(または別のブラウザ)で、お問い合わせフォームからテスト送信する
- GA4の「レポート」→「リアルタイムの概要」を開く
- 「イベント数」に
contactやgenerate_leadが1件、「キーイベント」にも1件表示されることを確認する
リアルタイムでは数分以内に確認できますが、通常のレポートに反映されるまでには最大で24〜48時間ほどかかります。翌日以降に「エンゲージメント」→「イベント」や、キーイベントのレポートでも数字が入っているか確認しましょう。
あわせて、テスト送信の通知メールが届いているかも確認しておくと安心です。計測ができていても、通知メールが迷惑メールフォルダに入っていて気づかない、ということは少なくありません。
つまずきやすい5つのポイント

- ログインしたままテストしている:Site Kitではログインユーザーが計測から除外されます。ログアウトして試しましょう。
- 送信ボタンのクリックを数えている:クリックや
wpcf7submitは、入力エラーで送れなかったときにも発生します。メール送信に成功したときのwpcf7mailsentを使います。 - 二重に計測している:Site KitとGTMの両方、またはGA4の自動計測(拡張計測機能の「フォームの操作」)とあわせて複数のイベントをキーイベントにすると、件数が実際より多くなります。キーイベントにするのは1つだけにしましょう。
- 自分や社内のアクセスが混ざっている:テスト送信を繰り返すと件数がふくらみます。GA4の「内部トラフィック」の設定で、社内のアクセスを除外しておきましょう。
- イベント名の打ち間違い:GA4では大文字・小文字やアンダースコアの違いも別のイベントとして扱われます。実際に届いた名前をリアルタイムレポートで確認してから登録します。
まとめ

Contact Form 7の送信をGA4で数えるには、次の2つが必要です。
- フォームの送信をイベントとしてGA4に送る(Site Kitの設定をオンにする、またはGTMで
wpcf7mailsentを受け取る) - GA4で、そのイベントをキーイベントとして登録する(まだ届いていなくても「イベントを作成」で先に登録できる)
設定したら、ログアウトした状態でテスト送信し、リアルタイムレポートで確認するまでがセットです。お問い合わせの件数が正しく数えられるようになると、どのページやどの集客施策が成果につながっているかが見えるようになります。
株式会社La plusでは、ホームページの制作だけでなく、GA4やSearch Consoleの設定、お問い合わせが増えない原因の分析までお手伝いしています。「設定したはずなのに数字が出ない」という場合も、お気軽にご相談ください。
