コラム
問い合わせフォームの作り方|項目設計から営業メール対策までの7手順
「サイトに問い合わせフォームを置きたい」と調べ始めると、出てくるのはHTMLのコード例か、ツールの比較記事のどちらかです。そして実際に作ってみると、手が止まるのはコードやツール選びではなく、「必須項目はどこまで?」「同意チェックは要る?」「通知はどこに飛ばす?」といった設計の判断のほうだった——という方は多いはずです。
さらにやっかいなのは、公開して数週間後に起きることです。届くのは見込み客の問い合わせではなく、営業代行会社からの提案メール。ここで慌ててreCAPTCHAを足しても、営業メールは減りません。
本記事では、問い合わせフォームの作り方を「どの手段で作るか」から「公開前のテスト送信」まで7手順に分解し、後から作り直さずに済む設計の順序を解説します。ボット対策と営業メール対策は別物なので、その切り分けも手順のなかで整理します。
この記事の結論(先に要点)
問い合わせフォームの作り方は、大きく3通りです。どれを選ぶかで、後から足せるもの・足せないものが変わります。
| 作り方 | 初期の手間 | 月額費用 | ボット対策 | 人間が送る営業メールの仕分け | 向いているケース |
|---|---|---|---|---|---|
| HTMLで自作(+サーバー側処理) | 大(送信処理・メール送信を自作) | サーバー費のみ | 自分で実装(reCAPTCHA・ハニーポット) | 自分で作り込む必要あり | 既存の静的サイト、要件が特殊 |
| WordPressプラグイン(Contact Form 7等) | 中(管理画面で完結) | 無料〜 | プラグイン+reCAPTCHAで対応可 | 標準機能では対象外 | WordPressサイト全般 |
| フォーム作成サービス | 小(テンプレートから作成) | 無料〜 | サービス側が対応 | サービスによる(AI判定があるものは可) | 最短で公開したい、運用も任せたい |
→ 3通りのどれを選んでも、「ボット対策」と「人間が送る営業メールの仕分け」は別の工程です。前者はreCAPTCHAやハニーポットで足せますが、後者は内容を読む判定が必要になります。作り方を決める段階でここを分けておくと、公開後の作り直しを避けられます。
以下、手順順に見ていきます。
1. 問い合わせフォームの作り方は3通り|まず手段を決める
最初に決めるのは「どこでフォームを動かすか」です。ここを曖昧にしたまま項目を考え始めると、後で実装できない要件が出てきます。
HTMLで自作する
<form> タグでフォーム自体を書くのは簡単です。難しいのはその先で、送信された内容を受け取り、メールで送り、送信結果の画面を返すサーバー側の処理が必要になります。PHPやNode.js、あるいはフォーム送信を受け付ける外部エンドポイントを使うことになります。
自作の利点は、デザインとマークアップを完全に制御できることです。一方、迷惑メール対策・送信エラー時の挙動・文字化け・二重送信の防止といった「地味だが必須」の部分をすべて自分で面倒を見る必要があります。静的サイトジェネレーターで作ったサイトなど、すでに構成が決まっている場合の選択肢です。
WordPressプラグインで作る
WordPressサイトなら、これが最も一般的です。Contact Form 7をはじめ無料プラグインが揃っており、管理画面で項目を並べてショートコードを貼れば公開できます。
ただし、プラグインによって無料版でできるスパム対策の範囲がかなり違います。Contact Form 7は初期状態ではスパム対策がほぼ入っておらず、reCAPTCHAやAkismetを自分で連携する設計です。選び方はWordPress問い合わせフォームプラグインの選び方で比較しています。
フォーム作成サービスを使う
サービス側でフォームを作り、発行されたコードをサイトに貼る(またはURLを共有する)方式です。サーバー側の処理・通知メール・回答の保存がまとめて用意されているため、公開までの時間が最も短いのはこの方式です。ツールごとの得手不得手は問い合わせフォーム作成ツールおすすめランキング10選にまとめています。
判断の目安:WordPressを使っていてデザイン要件が普通ならプラグイン、WordPressでなく最短で公開したいならサービス、要件が特殊で作り込む前提なら自作、という順で考えると迷いにくくなります。
2. 手順1:入力項目を決める|必須項目は「少なく」が正解
作り方が決まったら項目設計です。ここで多くのサイトがやりがちなのが、項目を増やしすぎることです。
最低限の構成は次の通りです。
| 項目 | 必須にするか | 補足 |
|---|---|---|
| お問い合わせ内容(自由記述) | 必須 | 判断材料として最も重要。複数行の入力欄にする |
| メールアドレス | 必須 | 返信先。入力形式のチェックを入れる |
| お名前 | 必須 | 「ご担当者名」等の表記でもよい |
| 会社名 | 任意(BtoBなら必須も可) | BtoCサイトでは不要になりがち |
| 電話番号 | 任意にする | 必須にすると個人からの問い合わせが減りやすい |
| 問い合わせ種別(選択) | 任意 | 「お見積り/採用/その他」など。後の振り分けが楽になる |
| 住所・部署・役職 | 通常は不要 | 必要になってから返信で聞けば足りる |
考え方はシンプルで、「返信するために必ず必要な情報か」だけを必須にすることです。電話番号やFAX番号を必須にしているフォームは珍しくありませんが、その1項目が入力の心理的ハードルになります。
「問い合わせ種別」の選択肢を用意するのは、後の運用で効きます。営業目的の連絡を受け付ける窓口を別に用意するという設計も取れるようになるためです(この考え方は営業メールの断り方・お断り例文集でも触れています)。
なお、項目を増やせばスパムが減るわけではありません。自動送信ツールは項目数に関係なく送ってきますし、人間が送る営業メールは必須項目をきちんと埋めてきます。項目設計はスパム対策ではなく、コンバージョン率と運用効率の問題として考えてください。
3. 手順2:個人情報の扱いとプライバシーポリシー同意を用意する
問い合わせフォームは個人情報を受け取る窓口です。公開前に、少なくとも次の2つは揃えておくのが一般的です。
- プライバシーポリシーのページ(取得する情報・利用目的・問い合わせ窓口を記載)
- フォーム上での案内(ポリシーへのリンクと、同意を得る仕組み)
同意の取り方は、チェックボックスを必須にする方式と、送信ボタンの近くに「送信することでプライバシーポリシーに同意したものとみなします」と明記する方式のどちらかが多く使われています。チェックボックス方式のほうが同意の記録が明確になる一方、1ステップ増えるため離脱要因にもなります。自社の方針に合わせて選んでください。
ポリシーの記載内容や運用は業種・取り扱う情報によって変わるため、最終的な文面は自社で確認するか、専門家に相談することをおすすめします。参考として、当サイトのプライバシーポリシーも公開しています。
「営業お断り」の記載もここで用意しておく
フォームの近くに「営業目的のご連絡はご遠慮ください」と書いておくこと自体はコストゼロで、一定の抑止効果があります。ただし読まない送信者・無視する送信者には効きません。書いておく価値はありますが、これを対策の本体にはしないでください。
4. 手順3:送信後の体験を設計する(確認画面・完了画面・自動返信)
作っているときは意識しづらいのですが、フォームで最も問い合わせが失われるのは送信ボタンを押した後です。ここで決めることは3つあります。
- 確認画面を挟むか:入力ミスを減らせますが、1ステップ増えます。項目が少ないフォームなら、確認画面なしでバリデーション(入力チェック)を丁寧にするほうが完了率は上がりやすいです
- 完了画面(サンクスページ)をどうするか:送信できたことが明確に伝わる文言と、「返信の目安(例:2営業日以内)」を書いておくと問い合わせ後の不安が減ります。専用ページに遷移させると、後述のコンバージョン計測もしやすくなります
- 自動返信メールを送るか:受付できたことを送信者に伝える手段です。「届いたか不安で電話がかかってくる」を減らせます
自動返信は、ツールによって対応状況が分かれます。Defformの場合、自動返信メール(Thanksメール)の送信と件名・追加メッセージのカスタマイズはPRO / BUSINESSプランの機能です(→料金プラン)。
コンバージョン計測を入れるなら、ここで設計する
広告やGA4でフォーム送信を成果地点にする場合、完了画面への到達や送信イベントを計測対象にします。ただし注意点があります。営業メールやスパムも「フォーム送信」としてカウントされるため、対策をしないままだとコンバージョン数が水増しされ、広告の最適化が歪みます。この問題はGA4のコンバージョンが営業メール・スパムで水増しされる問題で詳しく扱っています。
5. 手順4:通知先を決める|届かない問い合わせを作らない
フォームは作れたのに、通知メールが誰にも届いていない——これは実際に起きます。よくある原因は次の通りです。
| 症状 | よくある原因 | 対処 |
|---|---|---|
| 通知が1通も来ない | 送信元アドレスがサーバーのドメインと一致せず、受信側で破棄されている | 送信元を自社ドメインのアドレスにする。SPFなどの送信ドメイン認証を確認する |
| 迷惑メールフォルダに入る | 送信元の信頼性が低い、件名が定型的 | 同上。件名に自社名を入れる |
| 担当者が変わって気づかれない | 個人アドレス1つだけを通知先にしている | 共有アドレス(info@ 等)やSlackなど複数の受け口にする |
| 営業メールに埋もれて見落とす | 通知が全件同じ扱いで届いている | 内容で仕分けてから通知する(手順6) |
通知先は「個人アドレス1つ」にしないのが重要です。担当者の退職・異動でそのまま問い合わせが止まる構成は、想像以上によくあります。共有メールアドレスに加えて、Slackなどのチャットにも流しておくと気づきやすくなります。
6. 手順5:ボット対策を入れる(reCAPTCHA・ハニーポット)
ここからがスパム対策です。まず入れるのはボットによる自動送信を止める層で、これは定番の手段が揃っています。
| 手段 | 効果の範囲 | 導入の手間 |
|---|---|---|
| reCAPTCHA v3 | 機械的な自動送信に有効。ユーザー操作は不要 | サイトキー・シークレットキーの設定が必要 |
| Cloudflare Turnstile / hCaptcha | 同等。プライバシー面の配慮が進んでいる | 同程度 |
| ハニーポット(隠しフィールド) | 単純なボットに有効。ユーザー体験を損なわない | 小さい(自作可・プラグインあり) |
| Akismet | 既知スパムのデータベースと照合 | WordPressなら容易 |
最初に入れるなら、reCAPTCHA v3(またはTurnstile)+ハニーポットの組み合わせが現実的です。前者は挙動から自動送信を推定し、後者は人間には見えない入力欄への記入を検知します。実装手順は問い合わせフォームのハニーポット実装に、Contact Form 7でのreCAPTCHA設定はContact Form 7のスパム・営業メール対策 完全ガイドにまとめています。
ここで一つ、設定時の注意があります。reCAPTCHA v3のスコアしきい値を初期値より厳しくするのは避けてください。営業メールは高スコアで通過する一方、プライバシー保護設定の強いブラウザやVPN経由の正規のお客様が弾かれる確率だけが上がります。しかも弾かれた問い合わせは記録に残らないため、取りこぼしたことに気づけません(→reCAPTCHAが効かない理由)。
7. 手順6:営業メール対策を「作り方」の段階で組み込む
手順5まで終えると、ボットの自動送信は目に見えて減ります。そして、日本語の営業メールだけが残ります。
reCAPTCHAやハニーポットが判定しているのは「人間が送ったか、ボットが送ったか」です。営業代行会社のフォーム営業は、人間または人間と同等にブラウザを操作するツールで送信されます。判定軸から見れば「正常な人間による送信」であり、仕様どおりに通過します。
[送信]
↓
【第1層】ボット判定 ← reCAPTCHA / Turnstile / ハニーポット / Akismet
↓ 機械的な自動送信を除去
【第2層】内容の判定 ← ★ ここが空白になりがち
↓ 人間が送った営業メールを仕分ける
[本当に対応すべき問い合わせ]
第2層を人力で埋めているのが、多くのサイトの現状です。1日10分の目視確認でも、月にすれば3時間を超えます。フォームを新しく作るなら、この層をどう埋めるかを最初に決めておくほうが、後から慌てて対策を積み増すより楽です。
第2層の選択肢は限られます。
| 手段 | できること | 限界 |
|---|---|---|
| NGワード指定 | 「営業代行」等の定型語を検出 | 表現を変えられると通る |
| 海外IPのブロック | 海外発の送信を減らせる | 国内から送られる営業には無力。海外の顧客も弾く |
| 営業専用フォームの分離 | マナーを守る送信者を誘導できる | 分離先を確認する工数は残る |
| 目視での仕分け | 判断は正確 | 毎日の作業時間がそのままコストになる |
| AIによる内容の判定 | 本文・件名・送信者情報から文脈で仕分ける | 誤判定の確認手段が必要 |
網羅的な整理は問い合わせフォームの営業メール・スパム対策 完全ガイドにまとめています。フォーム営業が法的にどう扱われるかが気になる場合は問い合わせフォーム営業は違法かも参考になります。
8. 手順7:公開前のテスト送信チェックリスト
最後に、公開前の確認です。ここを飛ばすと「フォームは動いているのに問い合わせが来ない」状態に気づけません。実際に自分で送信して、次の項目を上から確認してください。
- スマートフォンで入力・送信できる(入力欄が小さすぎない、キーボードで隠れない)
- 必須項目を空のまま送信すると、どこが足りないか画面上でわかる
- メールアドレスの形式チェックが効いている
- 送信後に完了画面(または完了メッセージ)が表示される
- 通知メールが想定した全員に届く(迷惑メールフォルダも確認)
- 通知メールの本文で、入力内容がすべて読める(文字化けしていない)
- 通知メールに返信すると、送信者のアドレスに返信できる
- 自動返信メールを設定した場合、送信者側に届く
- 送信ボタンを連打しても二重送信にならない
- reCAPTCHAなどを入れた場合、通常の送信が弾かれていない
- コンバージョン計測を入れた場合、テスト送信がGA4等で記録される
- プライバシーポリシーへのリンクが正しいページに飛ぶ
特に見落としやすいのが通知メールの到達確認とスマートフォンでの表示です。問い合わせの多くはスマートフォンから送られるため、PCだけで確認して公開すると気づけない不具合が残ります。
公開後は、1〜2週間ほど「届いた問い合わせの内訳」を見てください。ボットスパム・営業メール・本物の問い合わせがそれぞれ何割かがわかると、次に手を入れる場所が決まります。
9. 内容の判定をAIに任せる(既存の対策と併用前提)
第2層を埋める手段として、DefformはAIが内容を読んで仕分けるアプローチを取っています。判定しているのは送信者の挙動ではなく、本文・件名・送信者情報・文章のパターンです。
- 誰にでも当てはまる定型的な提案文か、自社に固有の用件か
- 差出人の情報と問い合わせ内容に整合性があるか
- 過去の営業メールに頻出するパターンと一致するか
これらを総合して、営業メール / スパム / 本物の問い合わせに振り分けます。判定軸がreCAPTCHAやハニーポットと重ならないため、併用が前提です。第1層でボットを落とし、第2層で営業メールを仕分ける、という二段構えになります。
AIの判定が常に自社の感覚と一致するわけではありません。そのため判定結果はすべてダッシュボードから確認できる設計になっており、営業メールに振り分けられた回答も内容を失うことはありません。業種や自社固有の判定ルールを設定して、運用しながら調整していけます。
フォームの作り方としては、次の2通りがあります。
A. Defformでフォームを作る:テンプレートからフォームを作成し、発行されたコードを設置します。FREEプランで3フォームまで作成でき、ダッシュボードで回答を確認できます。
B. 既存フォームに後付けする:WordPressなら、Contact Form 7などの既存フォームを残したままプラグインで追加できます。フォームを作り直す必要はありません。
- WordPress管理画面 →「プラグイン」→「新規プラグインを追加」→「Defform」を検索・有効化(WordPress公式プラグイン)
- Defformに無料サインアップ
- 発行されたAPIキーを設定画面に貼り付ける
- 業種に応じた判定ルールを設定する
料金は、FREEがAI判定30通/月(うちフリーメール送信者10通)まで永年無料、PROが月額3,000円でAI判定300通/月、BUSINESSが月額15,000円です(→料金プラン)。まずFREEで1〜2ヶ月運用し、届く問い合わせの内訳を見てから判断するのが現実的です。
AIによる仕分けの仕組み自体は問い合わせの自動仕分けをAIで実現する方法で詳しく解説しています。
よくある質問(FAQ)
Q. 問い合わせフォームを作るのに、どのくらい時間がかかりますか? A. フォーム作成サービスやWordPressプラグインを使う場合、フォーム自体は30分ほどで公開できます。時間がかかるのは項目設計・プライバシーポリシーの用意・通知先の決定・テスト送信で、これらを含めると半日から1日を見ておくと安心です。HTMLから自作する場合は、サーバー側の送信処理を作るぶん数日単位になります。
Q. 無料で問い合わせフォームを作れますか? A. 作れます。WordPressならContact Form 7などの無料プラグイン、それ以外ならフォーム作成サービスの無料プランが使えます。DefformもFREEプランで3フォームまで作成でき、AI判定は30通/月まで永年無料です。ただし無料プランは回答の保存期間や通数に上限があるため、問い合わせが増えてきた段階で見直してください。
Q. 必須項目はどこまで増やすべきですか? A. 「返信するために必ず必要な情報」だけを必須にしてください。実務上は、お問い合わせ内容・メールアドレス・お名前の3つが最小構成です。電話番号を必須にすると入力のハードルが上がるため、任意にしておくことをおすすめします。項目を増やしてもスパムは減りません。
Q. reCAPTCHAを入れておけばスパムと営業メールは防げますか? A. ボットによる自動送信は大きく減らせますが、人間が送る営業メールは通過します。reCAPTCHAが判定しているのは「人間かボットか」で、内容は判定対象外です。営業メールを仕分けるには、内容を読む別の層が必要になります。
Q. すでにフォームを公開済みですが、作り直す必要がありますか? A. 多くの場合、作り直しは不要です。通知先とテスト送信(手順4・手順7)を見直し、足りていない対策の層だけを足すのが現実的です。WordPressの既存フォームであれば、フォームをそのまま残してAI判定を後付けできます。
まとめ
- 問い合わせフォームの作り方はHTML自作・WordPressプラグイン・フォーム作成サービスの3通り。最初に手段を決めてから項目設計に進む
- 必須項目は「返信に必ず必要な情報」だけ。項目を増やしてもスパムは減らない
- プライバシーポリシーと同意の取り方、完了画面、自動返信は公開前に決めておく
- 通知先を個人アドレス1つにしない。届いていない通知は公開後に気づきにくい
- ボット対策(reCAPTCHA・ハニーポット)と、人間が送る営業メールの仕分けは別の工程
- reCAPTCHA v3のしきい値を厳しくするのは避ける。正規のお客様を弾く確率だけが上がる
- 公開前に自分でテスト送信し、スマートフォン表示と通知メールの到達を必ず確認する