Googleフォームへの「お問い合わせ」を自分宛てにメール転送

このところ、HP経由のお問い合わせをいただく機会が増えています。
これまでサイトでは「お問い合わせ」にContact Form 7を使っていましたが、先日、Googleフォームへ変更してみました。

HPでのお問い合わせ窓口

ホームページの「お問い合わせ」としては、Contact Form 7で作成するのが一般的だと思います。
サイト構築の説明でも、多くの場合はContact Form 7を勧めています。

設定自体それほど難しくなく、お問い合わせがあるたびにメール転送もしてくれます。
確かに便利です。

一方で、営業メールも多く、そのほとんどは「迷惑メール」として認識されてることになります。
それはそれでいいのですが、本当のお問い合わせが「迷惑メール」フォルダ内に埋もれてしまうこともたびたびです。

このたび、HPの「お問い合わせ」をGoogleフォームに変更してみました。

Googleフォーム

Googleフォームの利用方法については、アプリ画面を見れば直感的にわかることがほとんどです。
不明な点は、ヘルプ機能、あるいは、使い方を解説しているサイトを見れば多くのことは解決するはずです。

設定変更を行ったのは、お客さまのメールアドレスに入力した内容を送信してもらうこと程度です。

GASでメール転送

Googleフォームで「送信」ボタンが押されると、指定した自分のメールアドレスに通知が来ます。
私のメールアドレスにも、テスト送信の結果が送られてきました。

しかし、これだけでは、問い合わせ内容がわかりません。
入力されたデータは、Googleフォームに見に行くのが基本です。
これだと、一手間かかりますし、外出先だと返信も容易ではありません。

Googleフォームの内容を自分のアドレスに転送するには、GASでスクリプトを作成したうえで、トリガーを設定する必要があります。
以前だとGASの分厚い解説書を読みつつ、試行錯誤で作成していましたが、生成AIが一気に解決してくれます。

Googleのサービスなので、コードはGeminiに作成してもらいました。

function sendFormMail(e) {
  // ① フォームのシステム設定で収集されたメールアドレスを取得する
  const replyToEmail = e.response.getRespondentEmail();
  
  const itemResponses = e.response.getItemResponses();
  let body = "ホームページのGoogleフォームから新しいお問い合わせがありました。\n\n";

  // ② 通常の質問項目(会社名やお問い合わせ内容など)を本文に追加
  for (let i = 0; i < itemResponses.length; i++) {
    const itemResponse = itemResponses[i];
    const questionTitle = itemResponse.getItem().getTitle();
    const answer = itemResponse.getResponse();

    body += "■ " + questionTitle + "\n";
    body += answer + "\n\n";
  }

  const recipient = "事務所のメールアドレス@example.com"; // あなたのメールアドレスに変更してください
  const subject = "【お問い合わせ】ホームページより";

  // ③ Reply-To(返信先)に取得したお客様のメールアドレスを設定して送信
  if (replyToEmail) {
    GmailApp.sendEmail(recipient, subject, body, {
      replyTo: replyToEmail
    });
  } else {
    // 万が一取得できなかった場合(通常はありえませんが念のため)
    GmailApp.sendEmail(recipient, subject, body);
  }
}

さらにトリガーの設定方法も説明してくれます。

これで、Contact Form 7とほぼ同様の機能を実装することができました。

本日のまとめ

Contact Form 7からGoogleフォームへの移行というのは、ちょっとしたサイトの修正です。
改良を思い立ったときに対応できるのが、自作サイトのメリットかもしれません。

ところで、Googleフォームに変更したら多少は営業メールが減るのかと期待しましたが、移行後の最初の受信内容がまさに営業メール。
その点は、あまり効果は期待できないようです。