Googleフォーム × スプレッドシート × Gmailで自動返信メールを送る方法
なぜ自動返信が必要なのか?
お客様がWebフォームから問い合わせをすると、「ちゃんと送信できたのか」「いつ返事が来るのか」と不安になります。送信直後に「受け付けました」と連絡が届くと安心感が生まれ、企業への信頼度も向上します。また、担当者の手間を減らすことも重要です。自動返信を導入することで、簡易な問い合わせや資料請求などはシステムが応答し、担当者は内容の確認や回答作成に集中できます。
自動返信の仕組みを実装する方法は主に3つあります(標準機能/アドオン/Apps Script)。それぞれ特徴や難易度が異なるので、目的に合わせて選びましょう。
1. Googleフォームの標準機能を使う(回答のコピーを送信)
Googleフォームには「メールアドレスを収集」と「回答のコピーを送信」の設定があり、これをオンにすると回答者宛に回答内容をそのまま送ることができます。方法は以下の通りです。
- Googleフォームの「設定」タブを開きます。
- 「メールアドレスを収集する」「回答のコピーを送信」「常に表示」にチェックを入れ、保存します。
- フォームにメールアドレス欄が追加され、送信者に回答内容が自動送信されます。
この方法は設定が簡単で費用もかかりませんが、送られるメールは回答内容のみでカスタマイズはできません。お礼文や注意事項などの追記が必要な場合はアドオンやGASを検討しましょう。
2. アドオン「Email Notifications for Google Forms」を使う
特徴と制限
「Email Notifications for Google Forms」はGoogle公式アドオンで、自動返信メールの件名・本文を自由に設定できます。無料プランでは1日20件まで、スタンダードプラン(月額3.25ドル)以上では1日400件までメール送信できます。回答コピーより高機能ですが、プランによる制限がある点に注意してください。
インストールと設定
- フォーム編集画面で右上の縦三点リーダー(︙)から「アドオン」を選択します。
- 検索ボックスに「Email Notifications for Google Forms」と入力し、該当アドオンをインストールします。フォーム上部のアドオンメニューに追加されれば完了です。
- アドオンメニューから「Create Email Notification」を選択し、ルール名や送信者名、通知先メールアドレスなどを入力します。
- 「Use a visual editor」を選択し、テンプレート画面でお礼文や案内文を作成します。フォーム項目の値は
{{質問名}}
の形式で差し込め、例えば{{参加者の名前をご記入ください}}様
と書くと回答者の名前が自動挿入されます。 - 「Notify Form Submitter?」にチェックを入れ、Submitter’s Email Field(送信者のメールアドレス欄)を「Submitter Email Address」に必ず変更します。これを設定しないと回答者に返信メールが届きません。
- 最後に「SAVE RULE」をクリックして保存し、フォーム送信テストを行って動作を確認します。
アドオンはコードを書かずにカスタマイズでき、テンプレートから差し込み文字を利用したパーソナライズも可能です。ただし無料プランの送信数制限には注意が必要です。
3. Apps Scriptで自動返信メールを送る(Googleフォーム × スプレッドシート × Gmail)
全体の流れ
フォーム送信 → スプレッドシートに記録 → Apps Scriptが新規行を検知 → Gmailで自動返信。この仕組みを作ることで、返信文面を自由に設計でき、送信件数の制限もありません。
Step 1: フォーム回答をスプレッドシートへリンク
Googleフォームの「回答」タブでスプレッドシートアイコンをクリックし、新しいシートを作成・リンクします。これによりフォーム送信ごとにシートに行が追加されます。
Step 2: Apps Scriptプロジェクトを作成
リンクしたスプレッドシートの「拡張機能」→「Apps Script」を開きます。プロジェクト名は分かりやすいものに変更しましょう。
Step 3: スクリプトを記述
Apps Scriptエディタに以下のコードを貼り付けます(一部変更可)。この例ではフォームの「メールアドレス」と「お名前」という質問から値を取得し、カスタマイズしたメールを送信しています。
/**
* 送信メールのテンプレート
*/
// メール設定(必要に応じて変更)
const Options = {
from: 'youraddress@example.com', // 送信元メールアドレス(実在するGoogleアカウント):contentReference[oaicite:18]{index=18}
name: '〇〇事務局', // 送信者名:contentReference[oaicite:19]{index=19}
replyTo: 'contact@example.com', // 返信先メールアドレス(任意):contentReference[oaicite:20]{index=20}
cc: '', // CC先(任意)
bcc: '' // BCC先(任意)
};
// メール件名
const MailSubject = '【自動返信】お問い合わせありがとうございます';
// メール本文のテンプレート
const MailBody = (customerName, timestamp, message) => (`
${customerName} 様
この度はお問い合わせいただきありがとうございます。
下記の内容を受け付けました。
----------------------
日時: ${timestamp}
お名前: ${customerName}
内容: ${message}
---------------------
担当者より追ってご連絡差し上げます。
`);
/**
* フォーム送信時のイベントを処理する関数
*/
function onFormSubmit(evt) {
// フォームから入力された値を取得
const email = evt.namedValue['メールアドレス'][0]; // 「メールアドレス」という設問名と一致させる:contentReference[oaicite:21]{index=21}
const name = evt.namedValue['お名前'][0];
const time = evt.namedValue['タイムスタンプ'][0] || new Date().toString();
const message = evt.namedValue['お問い合わせ内容'][0];
// メール送信
GmailApp.sendEmail(email, MailSubject, MailBody(name, time, message), Options);
}
コードのポイント
evt.namedValue
からは設問名をキーにして値を取り出せます。設問名が変わるとコードも変更する必要があります。Options
でfrom
に指定するメールアドレスは有効なGoogleアカウントでなければなりません。MailBody
を関数にすることで、宛名や日付、問い合わせ内容を自由に組み込み、複数行の文章も記述できます。
Step 4: トリガーを設定
エディタ画面左側の「トリガー」から、新しいトリガーを作成します。関数には onFormSubmit
を、イベントの種類には「フォーム送信時」を選択します。これでフォームに新しい回答が追加されたときにスクリプトが自動実行されます。
Step 5: 担当者への通知メールや条件分岐も可能
同じスクリプト内で社内スタッフ宛の通知メールを送ることもできます。例えば、送信内容を確認したい部署のアドレスを cc
や bcc
に入れる、または MailApp.sendEmail
を2回呼び出して別の宛先に送るなどの応用ができます。回答内容によって別の件名や本文を送る条件分岐も if
文で実装できます。
Step 6: 送信テストとデバッグ
フォームを「プレビュー」から送信し、メールが届くかテストします。届かない場合は以下を確認します。
- フォームにメールアドレス欄があり、「メールアドレスを収集」がオンになっているか。
- スクリプトの設問名がフォームの設問と一致しているか。
- トリガーが正しく設定されているか。
- 送信元アドレスにGmailの送信制限(1日あたりの送信数制限)がかかっていないか。
4. トラブルシューティングと注意点
- 自動返信メールが届かない:回答者メールが迷惑メールに入っていないかを確認し、スクリプトの送信元アドレスが有効なGoogleアカウントか確認しましょう。
- フォーム編集後にメールが反映されない:フォーム項目名を変更した際はApps Script側の
namedValue
のキーも更新する必要があります。 - 日々の送信件数が多い:アドオンは無料プランで1日20通までの制限がありますが、Apps Scriptの場合でもGmailの送信上限(Gmail無料アカウントは500通/日、Google Workspaceは2,000通/日など)に注意しましょう。
- Googleフォームの仕様変更への対応:2024年12月以降、フォームの公開設定が変わり、回答者を特定のアカウントやグループに制限できるようになりました。フォームを共有する際は公開範囲と「他の人の回答を表示しない」設定を確認してください。
5. 応用アイデア:ステップメールや条件分岐
Google Apps Scriptを活用すると、単純な自動返信だけでなく、以下のような仕組みも作れます。
- 条件に応じた返信:例えばアンケート結果が「資料請求」なら資料ダウンロードリンクを送る、「質問」ならサポート担当者への通知と案内メールを送るなど、回答内容に応じて送信先や本文を変えることができます。
- リマインドメール:回答日から一定日数後にフォローアップメールを送る定期実行型のスクリプトを追加することもできます。
- カスタムテンプレート:外部サービスと連携してHTMLメールテンプレートを読み込み、ブランドロゴや画像を含めた美しいメールを送ることも可能です。
まとめ
Googleフォームとスプレッドシート、Gmailを連携すれば、問い合わせに対する自動返信メールを低コストで実現できます。標準機能やアドオンで簡易的な返信も可能ですが、ブランドに合わせて本文を自由に設計したい場合はApps Scriptがおすすめです。以下のポイントを押さえれば、スムーズに運用できます。
- **標準機能(回答のコピー送信)**は設定が簡単な反面、メール内容を編集できません。
- アドオンを使えば文面のカスタマイズができ、テンプレートで回答者の名前を差し込むことも可能ですが、無料プランは1日20通までの制限があります。
- Apps Scriptを使えば、送信元や本文を自由に設定でき、社内通知や条件分岐など高度なメール処理が可能です。
まずはフォームの標準設定を理解し、必要に応じてアドオンやApps Scriptを活用して自動返信機能を自社に最適化してみましょう。これにより、顧客満足度の向上と業務効率化の両立が期待できます。