WordPressで問い合わせフォームを作るとき、よく使われているのが「Contact Form 7」です。

ただ、Contact Form 7で受信した問い合わせは、基本的にはメールで確認することになります。そこで、

問い合わせ内容をGoogleスプレッドシートにも保存したい

ということがあります。

問い合わせ件数が増えてくると、メールだけで管理するよりも、スプレッドシートに一覧化したほうが便利です。

今回は、Contact Form 7の問い合わせ内容をGoogleスプレッドシートへ保存する方法を、無料プラグイン「CF7 Google Sheets Connector」を使って紹介します。

問い合わせをスプレッドシートで一覧管理するイメージ

なぜスプレッドシートに保存するのか?

Contact Form 7はシンプルで使いやすいフォームプラグインですが、標準では問い合わせ内容をデータベースに一覧保存する機能はありません。そのため、

  • メールを見落としたくない
  • 問い合わせを一覧で管理したい
  • 対応状況を管理したい
  • 問い合わせ件数を集計したい
  • 担当者と共有したい

といった場合には、Googleスプレッドシートとの連携が便利です。

特にGoogleスプレッドシートなら、複数人で共有したり、フィルターや並び替えを使ったりできるので、簡単な問い合わせ管理システムとしても使えます。

一番簡単なのは連携プラグインを使う方法

Contact Form 7とGoogleスプレッドシートを連携する方法はいくつかあります。大きく分けると、

  1. 連携プラグインを使う
  2. Google Apps Script(GAS)を使う
  3. WordPressからGoogle Sheets APIを利用する
  4. 自作プラグインを作る

といった方法があります。

WordPressに詳しくない人や、できるだけ簡単に設定したい場合は、連携プラグインを使う方法がおすすめです。

今回使うプラグイン:CF7 Google Sheets Connector

今回は「GSheetConnector – CF7 Google Sheets Connector」を使います。

WordPress公式のプラグインディレクトリで公開されている無料プラグインで、有効インストール数は4万以上。2026年10月時点でも更新が続いています。

無料版でできる主なことは以下です。

  • フォーム送信時に、内容をGoogleスプレッドシートへ自動で追加
  • Googleアカウントでかんたんに連携(Quick Connect)
  • 送信日(date)の記録
  • 送信内容をWordPressのデータベースにも保存する機能
  • 認証や接続のエラーを記録するエラーログ

有料のPRO版では、列見出しを自由な名前にしたり、送る項目を選んだり、複数のシートへ送ったりといった細かい設定ができます。

まずは無料版で十分なので、ここからは無料版での設定手順で説明します。

Googleスプレッドシートを用意する

まずGoogleスプレッドシートを新規作成します。

ここでポイントになるのが1行目の見出しです。CF7 Google Sheets Connectorの無料版では、Contact Form 7のフィールド名をそのまま見出しにすることで、各列とフォームの項目が紐付きます。

例えば、以下のように1行目を用意します。

dateyour-nameyour-emailyour-telyour-message
(送信日)山田太郎yamada@example.com090-xxxx-xxxxホームページ制作について
(送信日)佐藤花子sato@example.com080-xxxx-xxxxお見積りについて

dateの列には送信日が入ります。2行目以降は、問い合わせが送信されるたびに1行ずつ自動で追加されます。

「お名前」「メールアドレス」のような日本語の見出しにしたい場合はPRO版の機能になります。無料版でも、見出しが英語のままで一覧管理としては十分使えます。

Contact Form 7側のフォームを確認する

例えばContact Form 7で、以下のようなフォームを作っているとします。

<label> お名前
[text* your-name]
</label>

<label> メールアドレス
[email* your-email]
</label>

<label> 電話番号
[tel your-tel]
</label>

<label> お問い合わせ内容
[textarea* your-message]
</label>

[submit "送信"]

ここで重要なのは、各入力項目に付いている名前です。例えば、

your-name
your-email
your-tel
your-message

です。この名前が、スプレッドシートの1行目の見出しと一致している必要があります。

連携プラグインをインストールする

WordPressの「プラグイン」→「新規プラグインを追加」から、「CF7 Google Sheets Connector」を検索してインストール・有効化します。

Contact Form 7も有効化されている必要があります。基本的な流れは、

WordPress
↓
Contact Form 7
↓
CF7 Google Sheets Connector
↓
Googleアカウント
↓
Googleスプレッドシート

という構成です。

Googleアカウントと連携する

管理画面の「お問い合わせ」→「Google Sheets」を開き、「Integration」タブの「Sign in with Google」をクリックします。

使いたいGoogleアカウントでログインすると、Googleスプレッドシートへのアクセス権限を求められます。内容を確認したうえで許可します。

連携が完了すると、Integrationタブに接続したGoogleアカウントが表示されます。

このQuick Connectを使う場合は、Google CloudのプロジェクトやAPIキーを自分で用意する必要はありません。

スプレッドシートを指定する

Googleとの接続が完了したら、保存先のスプレッドシートを指定します。

「お問い合わせ」→「コンタクトフォーム」から対象のフォームを編集し、「Google Sheets」タブを開きます。ここで、

  • Sheet Name(スプレッドシートの名前)
  • Sheet ID(スプレッドシートID)
  • Tab Name(下に表示されるシートのタブ名)
  • Tab ID(タブのID)

を入力して保存します。IDはスプレッドシートのURLから確認できます。例えばURLが、

https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXXXXXX/edit#gid=0

だった場合、XXXXXXXXXXXXXXXXXXXXの部分がSheet ID、gid=の後ろの数字(この例では0)がTab IDです。

Contact Form 7の項目とスプレッドシートを紐付ける

無料版では、項目ごとに紐付けを設定する画面はありません。1行目の見出しとフィールド名が一致する列に、自動でデータが入る仕組みです。

CF7 Google Sheets Connector無料版では列見出しをContact Form 7のフィールド名にそろえる

見出しは、フィールド名を大文字・小文字やハイフンまで正確に入力します。スペースや引用符などが入っていると正しく紐付かないので注意してください。

実際にフォームを送信してテストする

設定が完了したら、必ずテスト送信します。例えば、

お名前:テスト太郎
メール:test@example.com
電話番号:090-1234-5678
お問い合わせ内容:テスト送信です。

として送信します。その後、Googleスプレッドシートを確認します。

以下のように1行追加されていれば成功です。

dateyour-nameyour-emailyour-telyour-message
(送信日)テスト太郎test@example.com090-1234-5678テスト送信です。

なお、このプラグインにはスプレッドシートの数式を悪用されないための対策として、値の先頭にある「=」「+」「-」「@」を取り除く機能があります。「+81」から始まる電話番号などは、先頭の「+」が消えた状態で保存されるので覚えておきましょう。

メールとスプレッドシートの両方に保存する

おすすめなのは、スプレッドシートだけに保存するのではなく、メールも従来通り送信する構成です。例えば、

お問い合わせ送信
      │
      ├──→ メール通知
      │
      └──→ Googleスプレッドシート保存

という形です。

こうしておけば、メール通知に問題が発生してもスプレッドシート側に問い合わせが残っている可能性があります。

逆に、スプレッドシート連携に問題が発生しても、メールから問い合わせ内容を確認できます。

問い合わせを取りこぼしたくない場合は、複数の保存・通知先を持っておくと安心です。

Flamingoも併用するとさらに安心

Contact Form 7を使っているなら、Flamingoも便利です。

Flamingoは、Contact Form 7から送信されたメッセージをWordPress側に保存できます。つまり、

問い合わせをメール・Flamingo・スプレッドシートの3か所に残す構成

という構成にできます。この構成にしておくと、問い合わせ情報を複数の場所に保存できます。特に、

Contact Form 7では「送信成功」になったのにメールが届かない

というトラブルが発生した場合、Flamingoに問い合わせ内容が残っていれば、少なくとも問い合わせ自体は受け取れていたことを確認できます。

この問題については別記事でも詳しくまとめています。

Contact Form 7のメールが届かない!Flamingoには保存されている場合の確認ポイント

Googleスプレッドシートに保存されない場合

連携設定をしたのにデータが入らない場合は、以下を確認します。

1. Googleアカウントの認証

Integrationタブで、Googleとの連携が正常に完了しているか確認します。認証が切れている場合は、再認証を試します。

2. スプレッドシートの指定

Sheet NameやSheet IDが、別のスプレッドシートのものになっていないか確認します。特に複数のスプレッドシートを持っている場合は注意してください。

3. タブ名とタブID

Tab NameとTab IDが、実際のタブと一致しているか確認します。例えばシート1とお問い合わせは別物です。タブ名を後から変更した場合も、設定を合わせ直します。

4. 見出しとフィールド名

1行目の見出しが、フォーム側のyour-nameやyour-emailなどのフィールド名と完全に一致しているか確認します。日本語の見出しにしていると、無料版ではデータが入りません。

5. エラーログ

CF7 Google Sheets Connectorには、Googleの認証・接続・APIのエラーを記録するエラーログがあります。原因が分からない場合は、エラーログの内容を確認してみましょう。

セキュリティにも注意

問い合わせ内容には個人情報が含まれることがあります。そのため、Googleスプレッドシートの共有設定には注意してください。

「リンクを知っている全員が閲覧可能」のような設定は、必要がない限り避けたほうが安全です。

また、問い合わせ内容を保存する期間や、誰が閲覧できるのかについても事前に決めておくと安心です。特に、

  • 氏名
  • メールアドレス
  • 電話番号
  • 住所
  • 問い合わせ内容

などを保存する場合は、アクセス権限を必要最小限にしておきましょう。

まとめ

Contact Form 7の問い合わせ内容をGoogleスプレッドシートへ保存すると、問い合わせを一覧で管理できるようになります。基本的な構成は、

Contact Form 7
      ↓
CF7 Google Sheets Connector
      ↓
Googleスプレッドシート

です。無料版では、スプレッドシートの1行目をContact Form 7のフィールド名にそろえるのがポイントです。

さらに、

Contact Form 7
      │
      ├── メール
      ├── Flamingo
      └── Googleスプレッドシート

としておけば、問い合わせ管理の信頼性を高めることもできます。

まずは連携プラグインを使って構築するのが簡単です。

一方で、案件によっては「問い合わせ内容をスプレッドシートへ保存するだけではなく、対応状況を管理したい」「SlackやGoogle Chatへ通知したい」「特定の項目によって保存先を変えたい」といった要件が出てくることもあります。

そういった場合は、PRO版の機能やGoogle Apps Script、WordPress側のカスタマイズ、自作プラグインなどを検討すると、より柔軟な仕組みにできます。

Contact Form 7はシンプルなフォームですが、Googleスプレッドシートと組み合わせるだけでも、かなり実用的な問い合わせ管理システムになります。

あわせて読みたい