Google フォームのデザインカスタマイズ・内容をメールで送信
フォームの内容を自分宛てにメール
フォームが送信されたときに、入力内容と同じものを自分宛てにメールできるようにしましょう。
右上の縦の…アイコンから
アドオンをクリックします。
Email Notifications for Forms をインストール
フリー版では送信制限があり1日20通までとなっています。
アドオンの一覧が表示されるので「Email Notifications For Forms」をさがしてクリックしましょう。
見つからなければ上の検索欄で検索できます。
インストールをクリック
アドオンのインストールには権限が必要なので、Googleアカウントの確認をします。
フォーム作成画面に戻り、ブラウザを再度読み込みしましょう。
右上にアドオンアイコンが追加されるので、クリックして「Email Notification for Forms」を選択します。
新しくメール通知を設定するときは一番上の「Create Email Notification」を選択しましょう。
通知ルールを作成
右下にアドオンの設定画面が表示されます。
{{ XXX }} の部分はGoogleフォームで入力された内容が自動的に入ります。そのままコピペして下さい。
- Rule Name:ルール名
- Email Address(es) to Notify : ここに送信先の自分のメールアドレス
- Sender’s Email:そのままでOK
- Sender’s Name:{{お名前}}
- Reply-to Address:{{連絡先メールアドレス}}
メールの内容をカスタマイズすることができます。
「Code Your Own HTML」を選択。
「Email Subject」には通知メールの件名を入力しましょう。
「Email Message Body」の中に以下のコードをコピペします。
<p>【マイブログ】のフォームからお問い合わせ</p>
<p>【送信日時】{{Response Date}} </p>
<p>[お名前]<br>{{お名前}} </p>
<p>[メールアドレス]<br>{{連絡先メールアドレス}} </p>
<p>[件名]<br>
<pre>{{件名}}</pre></p>
<p>[お問い合わせ内容]<br>
<pre>{{お問い合わせ内容}}</pre></p>
最後に、一番下の「SAVE RULE」をクリックして保存して下さい。
「MANAGE RULES」から既存のルールを編集できます。
ここで、日時の設定を日本に合わせておきましょう。
「Date Format & Timezone」からタイムゾーンを 「GMT+9:00 tokyo」にします。
そして、 「Specify Date Format」を 「yyyy/MM/dd HH:mm」と入れましょう。
「UPDATE」をクリックして保存します。
これで完成です。
実際にフォームから送って動作を確認してみましょう。
こんな感じで自分宛てにメールが届きます。
フォーム送信者にもメールを送る
送信ルールの中で、「Nofify Form Submitter」にチェックを入れておくと、フォームを送信した人にも同じ内容のメールが届きます。
必須ではありませんが、確認メールを送りたい場合はチェックしておきましょう。
Google フォームの回答をスプレッドシートに保存
フォームで送信された内容をGoogle スプレッドシート(表計算ソフト)に保存できます。
あとで内容を集計する際などに非常に便利です。
フォーム編集画面上部の「回答」を選んで右のアイコンをクリックしましょう。
回答の保存先を作成します。
新しくスプレッドシートが作成されました。フォームが送信されると下の列に挿入されていきます。
こんな感じで追加されます。
Google フォームのデザインをカスタマイズ
- 入力内容・文字数を検証
- 入力欄が問題なければ色を変えてチェックマークを表示
まずはこちらのコードをエディターなどにコピペしてください。
<div class="form-box">
<form class="contact-form" action="https://docs.google.com/forms/u/5/d/e/XXXXX/formResponse">
<p><label for="name"><span class="must">必須</span> お名前<br>
<input id="name" class="form-text" name="entry.XXXXXXXXX" required="" type="text" pattern=".{2,}" placeholder="例) 山田 花子"></label></p>
<p><label for="email"><span class="must">必須</span> 連絡先メールアドレス</label><br>
<input id="email" class="form-text" name="entry.XXXXXXXXX" required="" type="text" pattern=".+@.+..+" title="メールアドレスは、[email protected] のような形式で記入してください。" placeholder="例) [email protected]"></p>
<p><label for="subject"><span class="free">任意</span> 件名</label><br>
<input id="subject" class="form-text-op" name="entry.XXXXXXXXX" type="text" placeholder="ご自由に入力して下さい。"></p>
<p><label for="msg"><span class="must">必須</span>お問い合わせ内容</label><br>
<textarea id="msg" class="form-area" name="entry.XXXXXXXXX" required="" minlength="20" title="20文字以上ご入力ください。" placeholder="ご自由に入力して下さい。"></textarea></p>
<p><label for="robot"><span class="must">必須</span><i class="fas fa-robot"></i> スパムロボット対策中</label><br>
<input id="robot" class="form-robot" name="entry.XXXXXXXXX" required="" type="text" pattern="みかん" title="入力内容を確認してください。" placeholder="ここにひらがなで「みかん」と入力してください。"></p>
<p><button type="submit" class="form-submit">フォームを送信</button></p>
</form>
</div>
.entry-XXXXXXXXX となっているところを自分のフォームに合わせて編集する必要があります。
フォームの編集画面から目のアイコンでプレビューしてから、ブラウザで右クリックしてソースコードを開いて下さい。
Ctrl + F や ⌘ + F をして検索パネルを開き「entry.」を検索して、必要な箇所を探します。
今回の場合だとそれぞれ5つの項目に対応する entry.XXXXXXXX があるのでコピーして、さきほどのエディタのコードへ貼り付けて下さい。
- お名前
- 連絡先メールアドレス
- 件名
- メッセージ内容
- スパムロボット対策
直前に「aria-label (読み上げ用のラベル)」があるので、それを参考にどの entry.XXXXXXXX をコピーしているのかを確認できます。
そして今度は、ソースコード内で「form action」で検索します。すると action=”XXX” のところに、Googleフォームに送信するためのURLが表示されるのでこれをコピーして、エディタのコードへ貼り付けます。
貼り付けるところは、<iframe src=”XXX” …> のところです。
https://docs.google.com/forms/u/0/d/e/XXXXX/formResponse
ここまで終わったらコンタクトフォームを設置した固定ページの編集画面開いてカスタムHTMLブロックにコードを貼り付けて下さい。
スタイルシートを編集してデザインを整える
つづいてWordPress の子テーマ内の「style.css」へ追記しましょう。
/*--------------------------------------
コンタクトフォーム
--------------------------------------*/
form.contact-form {
max-width: 600px;
margin: 0 auto;
}
@media only screen and (min-width: 768px) {
/*PCでの設定*/
div.form-box {
border: 1px solid #ddd;
border-radius: 0px;
padding: 2em 1em 1em;
}
}
.must {
color: #fff;
margin-right: 10px;
padding: 6px 10px;
background: #F92931;
border-radius: 20px;
}
.free {
color: #fff;
margin-right: 10px;
padding: 6px 10px;
background: #424242;
border-radius: 20px;
}
form p {
font-weight: 600;
}
input.form-text, .form-text-op, input.form-robot, textarea.form-area {
width: 100%;
padding: 8px 15px;
margin: 8px 10px 10px 0;
border: 2px solid transparent;
border-radius: 20px;
box-shadow: 0 0 10px #ddd;
box-sizing: border-box;
outline: 0;
}
input.form-robot {
background: #fff5f7;
border-color: rgba(255,84,102,0.4);
}
input.form-robot::placeholder {
font-weight: 900;
color: rgba(255,84,102,0.8);
}
textarea.form-area {
height: 200px;
}
input.form-text:valid, textarea.form-area:valid,input.form-robot:valid {
background: rgba(222, 243, 255, 0.8);
border: 2px solid #fff;
}
input.form-text:valid,
textarea.form-area:valid,
input.form-robot:valid {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' id='_x35_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='width: 32px; height: 32px;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%231B2D4E;} .st1{fill:%23FFFFFF;} .st2{opacity:0.1;fill:%23040000;}%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M512,256c0,15-1.3,29.6-3.8,43.8c-14.2,82.5-67.8,151.4-140.9,186.8C333.7,502.9,295.9,512,256,512 C114.6,512,0,397.4,0,256C0,114.6,114.6,0,256,0C397.4,0,512,114.6,512,256z'%3E%3C/path%3E%3Cpolygon class='st1' points='370.4,150.5 245,275.9 186.1,217.1 143.3,259.9 202.1,318.7 245,361.6 413.2,193.3 '%3E%3C/polygon%3E%3Cpolygon class='st2' points='427.2,242.6 259,410.8 157.3,309.2 175,291.6 202.1,318.8 245,361.6 395.5,210.9 '%3E%3C/polygon%3E%3C/g%3E%3C/svg%3E");
background-position: 98%;
background-repeat:no-repeat;
background-size: 20px;
border-color: #71ADE1;
}
button.form-submit {
margin-top: 2em;
background: linear-gradient(90deg, #1B2D4E 0%, #2F4E88 100%) no-repeat 50% 50% / 100% 100%;
border: none;
border-radius: 20px;
width: 100%;
height: 50px;
font-size: 20px;
color: #fff;
border-radius: 50px;
font-weight: 600;
cursor: pointer;
transition-duration: 500ms;
border-radius: 50px;
}
button.form-submit:hover {
opacity: 0.7;
}
Google フォームで別の入力欄や選択方式(ラジオボタン)などを設置した場合には個別カスタマイズが必要となります。