コラムへ戻る
WordPress運用6

Contact Form 7でGoogleスプレッドシート連携する方法

Contact Form 7の送信内容をGoogleスプレッドシートで管理したいときに、標準機能だけで足りるか、連携プラグインを使うかを分けます。列名設定やテスト送信の注意も扱います。

Contact Form 7で作った問い合わせフォームの回答を、Googleスプレッドシートで一覧管理したい。制作案件でもよく出る要望です。メール通知だけだと埋もれますし、担当者が複数いると表で見たい場面が増えます。ただし、Contact Form 7本体だけでGoogleスプレッドシートへ保存できるわけではないので、連携方法を分けて考えます。

Contact Form 7の回答データを資料で確認する写真

Contact Form 7本体には回答保存機能がない

フォーム回答の一覧を確認する作業写真

まず押さえたいのは、Contact Form 7本体は送信メッセージを保存しないという点です。公式サイトでも、メールサーバーの問題やメール設定ミスがあると重要なメッセージを失う可能性があるため、保存プラグインの利用が案内されています。

たとえば、問い合わせが月に数件の会社ならメール通知だけでも追えるかもしれません。反対に、採用応募、資料請求、代理店募集のように複数担当者が同じ回答を見るフォームでは、誰かの受信箱に埋もれるより、スプレッドシートで一覧化したほうが対応漏れを見つけやすくなります。

Googleスプレッドシートに保存したい場合も、Contact Form 7だけで完結するというより、連携プラグインや外部自動化サービスを組み合わせる形になります。

  • Contact Form 7本体だけではスプレッドシート保存できない
  • メール通知だけに頼るか、保存先を用意するか決める
  • 重要な問い合わせでは保存の仕組みを先に用意する

連携プラグインを使う方法が現実的

WordPress.orgには、Contact Form 7とGoogle Sheetsをつなぐ連携プラグインがあります。たとえばGSheetConnector for CF7では、Google Sheetsとの認証、シート名やタブ名の設定、フォームのメールタグに合わせた列名設定が案内されています。

プラグインを使う場合は、WordPress管理画面でGoogleアカウント連携を行い、対象フォームとスプレッドシートを指定します。設定後は必ずテスト送信し、意図したシートに1行追加されるか確認します。

たとえば、コーポレートサイトの問い合わせフォームなら、会社名、氏名、メールアドレス、電話番号、問い合わせ種別、本文、送信日時を1行に並べます。採用応募フォームなら、希望職種、経験年数、ポートフォリオURL、連絡可能時間を加えるなど、メール本文と同じ感覚でシート列を決めると、あとで担当者が見やすくなります。

列名とメールタグのズレに注意する

スプレッドシート連携で一番つまずきやすいのは、列名やタブ名のズレです。GSheetConnectorの公式ページでも、シート名、タブ名、列名のマッピングが合わないとデータが入らない可能性があると案内されています。

たとえば、Contact Form 7側の項目名を `[company-name]` から `[company]` に変えたのに、シートの1行目を古い列名のままにしていると、その列だけ空になることがあります。見た目のフォームは問題なく送信できるため、数日後にシートを見て初めて欠けに気づく、という流れになりがちです。

Contact Form 7側のタグが `[your-email]` なのに、シート側の見出しを別名で作っていると、うまく保存されないことがあります。フォーム項目を追加・変更したら、スプレッドシート側の列も一緒に見直します。

たとえば、フォームには「資料請求」「採用応募」「協業相談」の問い合わせ種別があるのに、シート側では本文だけを保存していると、あとから振り分けが大変になります。メール通知で見れば分かる項目でも、シートで対応状況を追うなら列として残すほうが実務では扱いやすいです。

回答データの共有方法を確認するデバイス写真
  • シート名とタブ名を正確に入力する
  • 1行目の列名とフォームのタグ名を合わせる
  • フォーム項目を変えたら連携設定も見直す

権限とセキュリティも確認する

GoogleアカウントとWordPressプラグインを連携するため、誰のGoogleアカウントで接続するのかは大事です。個人アカウントで接続すると、担当者が変わったときに管理が面倒になります。

クライアント案件では、共有用のGoogleアカウントや管理方針を先に決めます。スプレッドシートには個人情報が入ることも多いので、閲覧権限も必要な人だけに絞ります。

たとえば、制作会社の担当者アカウントでGoogle連携を済ませたまま納品すると、退職や契約終了のタイミングで認証をやり直す必要が出ることがあります。納品前に、クライアント管理のGoogleアカウントで接続し直すのか、共有ドライブでシートを管理するのかを決めておくと、後日の問い合わせを減らせます。

また、スプレッドシートの共有リンクを「リンクを知っている全員」にしてしまうと、問い合わせ内容やメールアドレスが広く見られる状態になります。社内の複数人で見る場合も、閲覧者、編集者、フォーム設定を触る人を分けておくほうが安全です。

公開前のテストは、成功パターンだけで終わらせない

連携できたかを見るだけなら、1件テスト送信すれば確認できます。ただ、本番で困るのは、必須項目の抜け、長い自由記述、メールアドレスの打ち間違い、スパム対策との組み合わせなど、少し外れた入力です。

たとえば、会社名を空欄にした問い合わせ、電話番号にハイフンを入れた問い合わせ、本文が長い問い合わせ、同意チェックを入れ忘れた送信を試します。シートに入るべき項目だけが保存され、保存してはいけない途中状態が残らないかを見ると、公開後の混乱を減らせます。

メール通知とシート保存の両方を使うなら、どちらを正とするかも確認します。メールは届いたのにシートに入っていない、シートにはあるのに担当者がメールだけ見ている、という状態は対応漏れにつながります。テスト時点で、担当者が毎日見る場所を一つ決めておきます。

  • 必須項目、任意項目、長文入力を分けてテストする
  • メール通知とシート保存の両方を確認する
  • 担当者が毎日見る正の管理場所を決める

スプレッドシートに入れば終わりではない

スプレッドシート連携は便利ですが、対応済みかどうか、誰が見るのか、CSVで出すのか、通知メールとどちらを正とするのかまで決めないと運用が曖昧になります。

たとえば、制作会社がクライアントのWordPressに連携プラグインを入れる場合、公開後に列追加やGoogle認証切れが起きたとき、誰が直すのかを決めておかないと保守範囲が曖昧になります。問い合わせ対応の正をメールにするのか、シートにするのかも、納品時に決めておくほうが後で揉めにくいです。

Formieは、フォームごとに回答を保存し、管理画面やCSV出力で扱えます。WordPress側に連携プラグインを増やすより、フォーム部分だけ外部ツール化してiframeで埋め込むほうが保守しやすい案件もあります。

Formie

フォームを作成する

会員登録なしで作成画面を試せます。項目を追加しながら、入力画面、確認画面、完了画面の流れをプレビューできます。

フォームを作成するイラスト