Contact Form 7でGoogleスプレッドシート連携する方法
Contact Form 7の送信内容をGoogleスプレッドシートで管理したいときの考え方を解説。標準機能の限界、連携プラグイン、設定時の注意点をまとめます。
Contact Form 7で作った問い合わせフォームの回答を、Googleスプレッドシートで一覧管理したい。制作案件でもよく出る要望です。メール通知だけだと埋もれますし、担当者が複数いると表で見たい場面が増えます。ただし、Contact Form 7本体だけでGoogleスプレッドシートへ保存できるわけではないので、連携方法を分けて考えます。

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行追加されるか確認します。
列名とメールタグのズレに注意する
スプレッドシート連携で一番つまずきやすいのは、列名やタブ名のズレです。GSheetConnectorの公式ページでも、シート名、タブ名、列名のマッピングが合わないとデータが入らない可能性があると案内されています。
Contact Form 7側のタグが `[your-email]` なのに、シート側の見出しを別名で作っていると、うまく保存されないことがあります。フォーム項目を追加・変更したら、スプレッドシート側の列も一緒に見直します。

- シート名とタブ名を正確に入力する
- 1行目の列名とフォームのタグ名を合わせる
- フォーム項目を変えたら連携設定も見直す
権限とセキュリティも確認する
GoogleアカウントとWordPressプラグインを連携するため、誰のGoogleアカウントで接続するのかは大事です。個人アカウントで接続すると、担当者が変わったときに管理が面倒になります。
クライアント案件では、共有用のGoogleアカウントや管理方針を先に決めます。スプレッドシートには個人情報が入ることも多いので、閲覧権限も必要な人だけに絞ります。
スプレッドシートに入れば終わりではない
スプレッドシート連携は便利ですが、対応済みかどうか、誰が見るのか、CSVで出すのか、通知メールとどちらを正とするのかまで決めないと運用が曖昧になります。
Formieは、フォームごとに回答を保存し、管理画面やCSV出力で扱えます。WordPress側に連携プラグインを増やすより、フォーム部分だけ外部ツール化してiframeで埋め込むほうが保守しやすい案件もあります。

