Home
Menu
Side
Twitter
Top

Google フォームのお問い合わせを自分好みにカスタマイズ!

2020/08/24

Blog Blogger

この記事はこんな悩みを解決します!
  • Google フォームでお問い合わせを作ったけど、見た目をカスタマイズしたい
  • お問い合わせ送信後のサンクスページを別タブで表示させたい
  • スパム対策を強化したい

こんにちは、HARU( @HARU )です。

ここでは Google フォームを使ったお問い合わせフォームのカスタマイズについて解説します。

CSS のみで調整できると思っていたのですが、どうやら骨格から作成しなければいけないようです。

少し面倒ですが、デフォルトのダサダサフォームからシンプルなものに変更します。

今回カスタマイズするお問い合わせフォーム

今回カスタマイズするお問い合わせフォームの内容は以下の内容となります。

お問い合わせフォーム内容
  • お名前
  • メールアドレス
  • お問い合わせ内容・ご意見等
  • スパム対策の質問

質問内容や順番が違う場合、若干手順が変わるのでご注意ください。

Google フォームを使ったお問い合わせフォーム作成やスパム対策については以下を参照してください。

見た目をカスタマイズする

まずは見た目をシンプルにしていきましょう。

お問い合わせフォーム作成画面

(1)[ 送信 ] をクリック

(2)リンクマークをクリック

(3)ブラウザ( Google クローム推奨 )で URL を開く

Google フォーム お問い合わせカスタマイズステップ1イメージ

(4)Google クロームのデベロッパーツール [ F12 ] を起動

(5)① をクリック

(6)お問い合わせフォームのタイトルを選択、クリック

Google フォーム お問い合わせカスタマイズステップ2イメージ

(7)[ Ctrl ] + [ F ] キーで検索ボックスを開く

(8)「 entry. 」と検索

(9)<input type="hidden" name="entry.〇〇〇" value=""> の〇〇〇をすべてをコピーし残しておく

Google フォーム お問い合わせカスタマイズステップ3イメージ

(10)「 formResponse 」と検索

(11)「 /formResponse 」で終わる URL をコピーし残しておく

コピーし残しておいたもの

  質問のID( 上から Google フォーム表示上と同じ )
  entry.〇〇〇

  お問い合わせフォームの URL
  https://docs.google.com/forms/u/0/d/e/〇〇〇/formResponse

(12)以下のテンプレートの〇〇〇に当てはまる文字、数字を入力

(13)スパム対策用テキストキャプチャを挿入

完成したら、お問い合わせフォームの HTML の代わりに、以下のテンプレートをお問い合わせページに記載する。


  <div id="contact">
  <form action="https://docs.google.com/forms/d/e/〇〇〇/formResponse" id="form">
  <div class="label">お名前</div>
  <input id="name" name="entry.〇〇〇" placeholder="Name" required="required" type="text" />
  <div class="label">メールアドレス</div>
  <input id="email" name="entry.〇〇〇" placeholder="E-mail" required="required" type="text" />
  <div class="label">お問い合わせ内容・ご意見等 </div>
  <textarea id="msg" name="entry.〇〇〇"required="required"></textarea>
  <div class="label">ロボットではありませんか? 以下の画像の文字を入力してください。</div>
  <p class="img">スパム対策用テキストキャプチャ画像を挿入</div>
  <input id="robot" name="entry.〇〇〇" required="required" type="text" />
  <div style="text-align:center"><input id="button" name="button" type="submit" value="送信" /></div>
  </form>
  </div>


  <style>
  #contact .label {
    font-weight: bold;
    padding: 1em 0 5px;
  }
  #contact #form ::placeholder {
    color: #333;
  }
  #contact #button {
    border: none;
    border-radius : 3px;
    font-size: 18px;
    padding: .3em 2em;
    margin-top: 2em;
    background: #6a91c1;
    color: #fff;
    transition: .3s;
  }
  #contact #button:hover {
    opacity: 0.6;
  }
  #contact #button:active {
    box-shadow: none;
  }
  #contact #name,
  #contact #email,
  #contact #msg,
  #contact #robot {
    padding: .5em;
    border-radius: 3px;
    background: #f5f5f5;
    font-size: 17px;
    max-width: 100%;
    width: 100%;
    border: 1px solid #d3d3d3;
  }
  #contact #msg {
    min-height: 200px;
    min-width: 100%;
  }
  #contact #robot {
    min-width: 100%;
  }
</style>

デザインに関しては ふじろっくさんのところで紹介されているものを色を変更したり、スパム対策質問を追加した内容になっています。

動作確認

お問い合わせページにて実際に動作することを確認しておきましょう。

お問い合わせ送信後のページを別タブで表示する

お問い合わせの送信後は、Google フォーム独自のサンクスページに移動します。

自分のサイト内にサンクスページを作成し、そこに移動させることもできるようです。

しかし、私のようにスパム対策用の質問を実装していると、間違った回答でもサンクスページに移動してしまい「 送信できた 」かのように見えてしまうため、実装を断念しました。

Google フォームのサンクスページへの移動は問い合わせと同じタブで移動してしまうため、サイト離脱に繋がる恐れがあります。

そこでサンクスページを別タブで表示するように調整します。

方法は簡単で form タグ内に target="_blank" を設定するだけです。

これでサンクスページは別タブに表示されます。

<form action="https://docs.google.com/forms/d/e/〇〇〇/formResponse" id="form" target="_blank">

スパム対策用の質問を強化

最近のスパムロボットは、画像に記載されている文字を自動で読み取りスパムメールを送ることができると言われています。

そこで、私が実装しているスパム対策用の質問( テキストキャプチャ )を強化したいと思います。

実装イメージ

パスワードをファーストビューでは非表示にしておき、ボタンをクリックすることで表示させるようにします。

クリックする分、対策になってくれたらいいなって感じですw

テンプレート編集

お問い合わせのテンプレートを以下のように編集します。

なお、以下のテンプレートはサンクスページを別タブ表示にさせるようになっています。また、CSS は除いています。


<div id="contact">
<form action="https://docs.google.com/forms/d/e/〇〇〇/formResponse" id="form"target="_blank">
<div class="label">お名前</div>
<input id="name" name="entry.〇〇〇" placeholder="Name" required="required" type="text" />
<div class="label">メールアドレス</div>
<input id="email" name="entry.〇〇〇" placeholder="E-mail" required="required" type="text" />
<div class="label">お問い合わせ内容・ご意見等 </div>
<textarea id="msg" name="entry.〇〇〇"required="required"></textarea>
<div class="label">ロボットではありませんか? 以下の画像の文字を入力してください。</div>
<div class="robotpass">ここをクリックしてパスワードを表示してください。</div>
<p class="img robotimg">スパム対策用テキストキャプチャ画像を挿入</p>
<input id="robot" name="entry.〇〇〇" required="required" type="text" />
<div style="text-align:center"><input id="button" name="button" type="submit" value="送信" /></div>
</form>
</div>

〇の部分とテキストキャプチャ画像は、ココを参考にしてください。

Script

以下の Script をお問い合わせフォームのページに追記します。


  <!-- クリックで画像表示 -->
  <script>
    $(".robotpass").on("click", function () {
      $(".robotimg").toggleClass("change");
    });
  </script>

JQuery を実装していない方は実装してください。

CSS 追記

以下の CSS をお問い合わせフォームのページに追記します。

style タグを外して、テンプレートの <style>~</style> 内に追記しても大丈夫です。


  <style>
  #contact .robotpass {
    cursor: default;
    display:inline-block;
    border: 1px solid #d3d3d3;
    user-select:none;
    margin-bottom:1em;
    padding:.3em;
    background: #6a91c1;
    color:#fff;
    transition: .3s;
  }
  #contact .robotpass:hover {
     opacity: 0.6;
  }
  #contact .robotimg {
    display:none;
  }
  #contact .robotimg.change {
    display:block;
  }
  </style>

QooQ