BLOGブログ

見積もりフォームは質問を分けると相談しやすくなる|Contact Form 7で作るステップ形式のフォーム

竹節 大輝 /

Web制作・ホームページ制作

「お見積もりフォームを用意しているのに、届く内容が『見積もりをお願いします』の一言だけ」。そんな経験はありませんか?

入力する項目が一度にずらっと並んだフォームは、見ただけで面倒に感じられ、途中でやめてしまう人や、最低限だけ書いて送る人が増えがちです。そこで役立つのが、質問を少しずつ見せる ステップ形式のフォーム です。

Cruwでは、自社サイトのお見積もりフォームを、質問を4つのステップに分けて作っています。この記事では、質問の分け方の考え方と、WordPressのフォームプラグイン「Contact Form 7」での作り方、つまずきやすい点を、実際のフォームとコードを例に紹介します。

結論:質問を「選ぶだけ」の小さなまとまりに分ける

見積もりフォームを答えやすくするコツは、次の3つです。

  1. 質問を3〜4つのステップに分ける:一度に見える質問を少なくする
  2. 選択式を中心にする:文章を書かなくても、選ぶだけで状況が伝わるようにする
  3. 連絡先は最後に聞く:先に相談の中身を答えてもらい、最後に名前やメールアドレスを聞く

こうすると、相談する人は迷わず答えられ、受け取る側も、最初の返信から具体的な提案を考えやすくなります。

Cruwの見積もりフォームの例(システム開発)

Cruwのシステム開発のお見積もりフォームは、次の4ステップです。

ステップ聞くこと答え方
質問1ご相談の内容(新規開発・改修・引き継ぎ・AIの導入など)1つ選ぶ
質問2開発したいもの、主に使う人、今の管理方法選ぶ(複数可)
質問3希望の時期、予算の目安、手元にある資料選ぶ
連絡先名前、会社名、メールアドレス、電話番号、実現したいこと入力
質問1の画面。相談の内容を5つの選択肢から選ぶ。「今あるシステムを改修・機能追加したい」を選ぶと、現在のシステムについての入力欄が出る
質問1。「改修」や「引き継ぎ」を選んだときだけ、現在のシステムについての欄が出ます
質問2の画面。開発したいものをチェックボックスで選ぶ
質問2。開発したいものを、当てはまるだけ選びます
質問3の画面。希望の時期と予算の目安を選ぶ
質問3。時期と予算は「未定」も選べるようにしています
最後の画面。名前、会社名、メールアドレス、電話番号、実現したいことを入力する
最後に連絡先を入力します

ホームページ制作用のお見積もりフォームも同じ形ですが、質問の中身は「必要なページ」「欲しい機能」「想定のページ数」など、まったく別のものです。サービスごとに、見積もりに必要な質問は変わります。1つのフォームで何でも受けようとせず、サービスに合わせて分けるのがおすすめです。

質問を決めるときの考え方

見積もりに本当に必要なことだけを聞く

質問を増やすほど、答える負担は大きくなります。「この答えがないと見積もりが出せない」「最初の提案の方向が変わる」ものに絞りましょう。細かいことは、返信や打ち合わせで聞けば十分です。

「わからない」「未定」を選べるようにする

時期や予算は、決まっていない方も多くいます。「未定」「相談しながら決めたい」という選択肢を用意しておくと、そこで手が止まりません。

答えによって、必要な質問だけを出す

Cruwのフォームでは、質問1で「今あるシステムを改修したい」「他社が開発したシステムを引き継いでほしい」を選んだときだけ、「現在のシステムについて」の入力欄を出しています。関係のない人には見せないことで、質問を少なく感じてもらえます。

Contact Form 7での作り方

ここからは、制作者の方向けに、実際の作り方を紹介します。特別なプラグインは使わず、Contact Form 7 のフォームをステップごとに囲み、CSS と JavaScript で表示を切り替えています。

1. フォームをステップごとに囲む

Contact Form 7 のフォームの編集画面で、ステップごとに div で囲み、「次へ」「戻る」のリンクを置きます。

<div class="form-group" id="step1">
  <h2>質問1</h2>
  <label>ご相談の内容を教えてください。</label>
  [radio consult-type use_label_element default:1 "新しいシステム・サービスを開発したい" "今あるシステムを改修・機能追加したい"]
  <a href="#step2" class="next-btn" id="next1">次へ</a>
</div>

<div class="form-group" id="step2">
  <h2>質問2</h2>
  <label>開発したいものを教えてください。</label>
  [checkbox* develop-type use_label_element "業務管理システム" "予約・受付システム" "その他"]
  <a href="#step1" class="prev-btn" id="prev1">戻る</a>
  <a href="#step3" class="next-btn" id="next2">次へ</a>
</div>

<!-- 質問3、連絡先(step4)も同じ形で続ける。最後のステップに送信ボタンを置く -->

2. CSSで、2つ目以降のステップを隠す

#step2, #step3, #step4 {
  display: none;
}

3. JavaScriptで、表示するステップを切り替える

「次へ」を押したら今のステップを隠し、次のステップを表示します。サイトで jQuery を読み込んでいる場合の例です。

jQuery(function ($) {
  function goStep(from, to) {
    $(from).hide();
    $(to).show();
  }

  $('#next1').on('click', function () {
    goStep('#step1', '#step2');
  });

  // 必須の質問は、選んでいるときだけ次へ進める
  $('#next2').on('click', function () {
    if ($('input:checkbox[name="develop-type[]"]:checked').length > 0) {
      goStep('#step2', '#step3');
    } else {
      alert('未選択の項目があります。');
      return false;
    }
  });

  $('#prev1').on('click', function () {
    goStep('#step2', '#step1');
  });
});

つまずきやすい点

必須のチェックは「次へ」を押したときにも行う

Contact Form 7 の必須チェックは、送信ボタンを押したとき に行われます。そのため、質問2の必須項目を選ばずに最後まで進めて送信すると、エラーは質問2に出ているのに、画面には最後のステップしか見えず、「送信できない理由がわからない」状態になります。

これを防ぐには、上のコードのように、必須の質問があるステップでは「次へ」を押したときに選択されているかを確かめ、選ばれていなければ進めないようにします。

答えによって出す欄は、隠すときに中身を空にする

「改修」を選んで入力したあとに「新規開発」に選び直すと、隠れた欄に入力が残ったまま送信されてしまいます。欄を隠すときは、入力した内容も空にしておきましょう。

function toggleCurrent() {
  var index = $('input:radio[name="consult-type"]').index($('input:radio[name="consult-type"]:checked'));
  var show = index === 1; // 2番目の選択肢(改修)を選んだとき。選択肢を増やしたら、ここの条件も合わせる
  $('#formCurrent').toggle(show);
  if (!show) {
    $('textarea[name="current-system"]').val('');
  }
}

フォームを増やしたら、必ずテスト送信する

フォームを新しく作ったときは、受信メールと自動返信メールが届くか、送信後のページに移るかを、必ず実際に送って確かめます。Cruwでも、新しいフォームのページで迷惑メール対策の読み込みが止まり、送信できない不具合が見つかりました。くわしくはContact Form 7で「メッセージの送信に失敗しました」と出る原因と対処法で紹介しています。

よくある質問

ステップに分けると、送信する人が減りませんか?

画面を進める回数は増えますが、1つの画面で考えることが少なくなるので、答える負担は軽くなります。大切なのは、質問を増やしすぎないことと、選ぶだけで答えられる質問を中心にすることです。

どんなフォームでも、ステップ形式にしたほうがいいですか?

いいえ。名前とメールアドレス、お問い合わせ内容だけのような短いフォームは、1画面のままのほうが早く送れます。見積もりのように、聞きたいことが多いフォームに向いた方法です。

専用のプラグインを使わなくても作れますか?

作れます。この記事の方法は、Contact Form 7 と、少しの CSS・JavaScript だけで動きます。条件によって質問を大きく分けたい場合などは、専用のプラグインを検討するとよいでしょう。

まとめ

  • 見積もりフォームは、質問を3〜4つのステップに分け、選択式を中心にすると答えやすくなる
  • 連絡先は最後に聞き、「未定」などの選択肢も用意する
  • Contact Form 7 では、ステップごとに囲んで表示を切り替えれば作れる。必須のチェックは「次へ」を押したときにも行う

「フォームからの相談を増やしたい」「今のフォームを使いやすくしたい」といったご相談も承っています。長野県上田市のCruwまで、お問い合わせからお気軽にご相談ください。サービスのページの見直しについては、問い合わせにつながるサービスページの作り方でも紹介しています。

/

GoogleのAI検索で「Cruwのブログ」を優先表示しませんか?

Googleの最新機能では、お気に入りのサイトを「優先するソース」として登録できるようになりました。登録していただくと、GoogleのAIモードやAI Overviewsが回答をつくる際、当サイトの情報を優先的に参照・表示してくれるようになります。

これからも地域ビジネスに役立つ最新のWebマーケティング情報を発信していきますので、ぜひ優先ソースへのご登録をお願いいたします!