Googleフォームで
「問い合わせフォーム」を
作る
(メール通知)

Canvaサイトに問い合わせフォームを追加しようと思い、最初はCanvaアプリでを使ってみました。
しかし、やっぱり無料版だと広告が入っちゃう。これはちょっと困りました。

そこでGoogleフォームに切り替えたんですが、新たな疑問が。
Googleフォームって、入力された内容が「回答」というタブに蓄積されていくんですよね。
でも私が欲しかったのは、問い合わせが来たらすぐにGmailで知らせてほしいということでした。

関連記事

1. 通知設定の手順

Googleフォームを開いて、上部にある「回答」タブをクリックします。
すると回答の一覧画面が表示されるんですが、ここで右上を見てください。
縦に三つ点が並んだメニューアイコン(︙)があります。

これをクリックすると、いくつかメニューが出てきます。
その中に「新しい回答についてのメール通知を受け取る」という項目を発見しました。

ここをクリックするだけ。
たったこれだけで設定完了です。

1.1. どんな通知メールが届くのか

設定後、実際にフォームに回答すると、Gmailアドレスに「新しい回答がありました」というメールが届くようになりました。
メール通知は、Googleフォームを作ったGoogleアカウントのメールアドレスに届きます。

ただし、通知メールには回答者が実際に何を入力したのかという詳細は含まれません。
詳しい内容を見たいときは、通知メール内のリンクをクリックして、Googleフォームの回答ページに移動する必要があります。

ちょっと手間ですが、少なくとも「誰かが回答した」という事実はすぐにわかるので、対応が遅れる心配はなくなりました。

2. もっと詳しい通知が欲しいときは

「通知が来るのはいいけど、やっぱり回答内容そのものもメールで見たいな」と思う方もいるでしょう。

実は、Google Apps Script(GAS)という無料のツールを使えば、回答内容をメール本文に含めて送信することもできます。これはGoogleが提供しているプログラミング環境で、JavaScriptというプログラミング言語を使います。

Google Apps Scriptを使って、Googleフォームの回答内容をメールで受け取る方法を説明します。

2.1. スクリプトエディタでコードを記述

  1. Googleフォームを開く
  2. 右上の「︙」(縦三点メニュー)をクリック
  3. スクリプトエディタ」を選択

スクリプトエディタが開いたら、onFormSubmit 関数を定義するコードを記述します。

function onFormSubmit(e) {
  // メール送信先(自分のメールアドレスに変更してください)
  const emailAddress = "your-email@gmail.com";
  
  // フォームの回答を取得
  const itemResponses = e.response.getItemResponses();
  
  // メール本文を作成
  let message = "新しい回答が届きました:\n\n";
  
  for (let i = 0; i < itemResponses.length; i++) {
    const itemResponse = itemResponses[i];
    const question = itemResponse.getItem().getTitle();
    const answer = itemResponse.getResponse();
    message += "【" + question + "】\n" + answer + "\n\n";
  }
  
  // メール件名
  const subject = "Googleフォーム: 新しい回答が届きました";
  
  // メール送信
  MailApp.sendEmail(emailAddress, subject, message);
}
Code language: JavaScript (javascript)

コード内の your-email@gmail.com は、実際に通知を受け取りたいメールアドレスに変更します。
itemResponsesは、フォームの回答を並べた配列になっていて、順番に getTitle()とgetResponse()で質問と回答を取得しています。

2.2. トリガーの設定と権限の承認

  1. スクリプトエディタの左側メニューから「トリガー」(時計アイコン)をクリック
  2. 右下の「トリガーを追加」ボタンをクリック
  3. 以下のように設定:
    • 実行する関数:onFormSubmit
    • イベントのソース:フォームから
    • イベントの種類:フォーム送信時
  4. 「保存」をクリック

初回は権限の承認が必要です:

  1. 「権限を確認」をクリック
  2. Googleアカウントを選択
  3. 「詳細」→「安全でないページに移動」をクリック
  4. 「許可」をクリック

これで、誰かがフォームに回答するたびに、質問と回答の内容がすべて記載されたメールが届くようになります。

設定にはちょっとしたコードを書く必要がありますが、一度設定すれば自動で動いてくれるので便利です。
ただし、プログラミングに慣れていない人には少しハードルが高いかもしれません。

3. 結論:シンプルな通知なら設定は簡単

Googleフォームの標準機能だけで、回答があったことをGmailで知ることはできます。設定も数クリックで完了するので、すぐに始められますね。

Canvaの広告問題から始まった今回の挑戦でしたが、Googleフォームを使うことで無料かつ広告なしの問い合わせ環境を作れました。通知も受け取れるようになったので、一応の目的は達成です。

回答内容の詳細までメールで受け取りたい場合は、Apps Scriptという選択肢もあります。自分のニーズに合わせて使い分けるといいでしょう。