WordPress のお問い合わせフォームは特別なご希望がない時は、ほぼ Contact Form 7 + Flamingo で運用してきたのですが、最近クライアントさんから「スプレッドシートで一元管理したい」「対応状況も書き込みたい」というご要望が増えてきました。
Flamingo はシンプルで便利な反面、
- 複数人で見るには共有しづらい
- 「対応中」「完了」のステータス管理がしにくい
- 種別ごとに振り分けたい時に手作業
- そもそも管理画面に入らないといけない
…という弱点もあるんですよね。
スプレッドシートなら、共有もコメントも色分けも、誰でも触れるツールで完結します。
そこで今回は、Contact Form 7 の送信内容を Google Apps Script(GAS)経由でスプレッドシートに自動転記して、種別ごとにシートを自動で振り分け、対応状態も管理できる仕組みを組んでみたお話です。
できあがった仕組み
- フォーム送信 → スプレッドシートに自動転記
- 「お問い合わせ」「資料請求」「見積依頼」の種別ごとにシートを自動振り分け
- 該当するシートがなければ自動で作成、ヘッダーも自動追加
- 新規行には自動で「未対応」が入る
- プルダウンで「未対応 / 対応中 / 完了」を切り替え(信号機カラーで色分け)
- ヘッダー固定、ゼブラストライプ、罫線まで自動で整う
クライアントさんは「ただスプレッドシートを開くだけ」。届いた問い合わせを見て、対応したらプルダウンで「完了」にするだけで運用できるようになります。
完成したものは以下のとおりです。

設計のポイント
クライアントさん所有のシートに、自分の GAS から書き込む構成にする
スプレッドシートはクライアントさんのドライブに置いたまま、GAS は制作者(自分)のアカウントで動かしています。こうすると、
- クライアントさんは権限承認やデプロイ作業をしなくて済む
- 制作者が将来離れても、データはクライアントさんの手元に残る
「シートはクライアントさん、ロジックは制作者」という分離がきれいに保てます。
簡単にいうと相手からGoogleアカウントの共有などは一切不要ということになるので、お客様のご負担にならないところが良いところですね。
下記の画像にあるIDを変更するだけで書き込みができます。

・シートを自動作成する設計にする
・行が増えても見た目が崩れない工夫
・電話番号の先頭ゼロを守る
・対応状態のデフォルトと色分け
などに注意して対応することで、特に問題なく対応できました。
ただし、「自分のアカウント」で作成したGASになるので、スプレッドシートを削除すると当然ですがクライアント様のGASも動かなくなります。
そのようなリスクもあるので、いずれはクライアント様か制作会社様のアカウントでデプロイが必要になる作業かと思います。
とはいえ、テストとしては十分に稼働ができるのでお渡しするまでの繋ぎとしてはこの対応で十分だなと思いました。
ハマったポイント
デプロイの「新バージョン」を忘れる
GAS はコードを書き換えても、デプロイし直さないと Web アプリには反映されません。しかも「新しいデプロイ」を押すと URL が変わってしまうので、必ず「デプロイを管理 → 既存デプロイの編集 → バージョン『新バージョン』」の手順を踏む必要があります。「直したのに動かない…!」の原因の8割はこれでした…。
デプロイ設定の落とし穴
- 次のユーザーとして実行: 自分
- アクセスできるユーザー: 全員
前者を「アクセスしているユーザー」にしてしまうと、WordPress からスプレッドシートにアクセスできなくなります。後者を「自分だけ」にすると外部から呼べません。両方とも初期値と違うので、つい見落としてハマりがちです。
テスト用シートと本番用シートを分ける
本番(クライアントさん所有のシート)で直接テストすると、テストデータが残ったり、間違えて消してしまうリスクがあります。自分所有の「テスト用シート」を別に作って、コード内のシート ID を切り替えて動作確認 → 本番に切り替えて再デプロイ、という流れにしておくと事故が起きにくいです。
運用してみての所感
組むまでは少し大変ですが、組んだ後は完全に放置で動いてくれます。
クライアントさんから「便利だね」「対応漏れがなくなった」と言っていただけるので、納品物としての満足度はとても高いです。
何より管理画面に入らなくても完結することがメリットの一つだと思われます。
「うちのクライアントもスプレッドシート管理したいと言っている」
「Flamingo から乗り換えたい」「自分で組むのはちょっと大変…」
とお困りの方は、いつでもお気軽にご相談ください!