mcpField
F
form-cro

form-cro

github.com/borgheiマーケティング・グロース1.0k81 回インストール1 週間前に更新
リポジトリ

form-cro について

form-croは、リード獲得、問い合わせ、デモ申請、応募、アンケート、購入フォームを扱うチーム向けの最適化スキルです。項目コスト分析、構成や入力検証、モバイル対応、A/Bテスト計画を支援します。

主な機能

  1. 01入力項目のコスト分析
  2. 02単一ステップか複数ステップかの判断
  3. 03項目設計と入力検証のパターン
  4. 04CTAと送信ボタンの指針
  5. 05モバイルフォームの最適化
  6. 06体系的なA/Bテスト計画

活用シーン

  1. 01リード獲得フォームの不要項目を削減
  2. 02単一または複数ステップの構成を選択
  3. 03入力検証とエラーメッセージを改善
  4. 04モバイルや購入フォームのテストを計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/borghei/claude-skills --skill form-cro

インストール後、Claude Code で/form-croを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
ab_test_calculator.py
field_cost_analyzer.py
form_scorer.py

詳細

フォーム CRO

フィールドコスト分析、レイアウト設計、マルチステップフォームのアーキテクチャ、バリデーションの UX パターン、モバイルに特化した最適化、体系的な A/B テスト設計を網羅する、本番環境向けのフォーム最適化フレームワークです。リード獲得、お問い合わせ、デモのリクエスト、申し込み、アンケート、チェックアウトのフォームに適用できます。サインアップ/登録のフローには、signup-flow-cro を使用してください。


目次


最初に確認すること

フォームを最適化する前に、以下の情報を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。

  • フォームの種類 — リード獲得、お問い合わせ、デモ、申し込み、チェックアウト(最適なフィールド数とプレイブックが決まります)
  • 現在のフィールドと、フォローアップで使用するフィールド — 削除または充実させるべきフィールドがわかります(フィールドコスト分析の核となる情報です)
  • 現在の完了率と、ユーザーが離脱する箇所 — 改善の基準値と、対処すべき具体的な摩擦点を把握できます
  • コンプライアンス要件 — 削除できない GDPR/HIPAA 関連のフィールド(フィールド削減の制約になります)

質問するのは、成果に最も影響する 2~3 項目に限ってください。ユーザーが「とにかく草案を作って」と言った場合は、作業を進め、監査の冒頭に前提条件を記載してください。

初期評価

必要なコンテキスト
質問重要な理由
フォームの種類は何ですか?(リード獲得、お問い合わせ、デモ、申し込み、チェックアウト)種類によって最適なフィールド数が異なります
現在のフィールド数はいくつですか?現在の摩擦レベルの基準になります
現在の完了率はどのくらいですか?改善効果の比較基準になります
ユーザーはどこで離脱しますか?(フィールド単位の分析データがある場合)具体的な摩擦点を特定できます
モバイルとデスクトップの利用割合はどのくらいですか?モバイルフォームには個別の最適化が必要です
送信されたデータはどのように扱われますか?本当に必要なフィールドを判断できます
フォローアップで実際に使用するフィールドはどれですか?30~50%のフィールドが使われていないとわかることもよくあります
コンプライアンス要件はありますか?(GDPR、HIPAA)削除可能な項目が制限されます

フィールドコスト分析フレームワーク

すべてのフィールドには、離脱という形で測定できるコストがあります。考えるべきなのは「どんなデータがあると便利か」ではなく、「どのデータならコンバージョン率の低下に見合う価値があるか」です。

フィールドコスト一覧
フィールドの種類推定離脱コスト正当化の基準
メールアドレス基準値(ゲート付きコンテンツではほぼゼロ)リードフォームでは常に正当化できます
名離脱率 +2~3%パーソナライズによってフォローアップの効果が高まる場合に正当化できます
姓離脱率 +2~3%最初の接点で必要になることはほとんどありません
電話番号離脱率 +5~10%24 時間以内に営業担当者が電話する場合に限ります
会社名離脱率 +3~5%B2B の適格性評価に必要な場合に正当化できます
会社規模離脱率 +3~5%振り分けの判断に必要な場合に限り正当化できます
役職離脱率 +3~5%送信後に情報を補完できることが多い項目です
業種離脱率 +2~3%送信後に情報を補完できることが多い項目です
メッセージ/テキストエリア離脱率 +5~8%お問い合わせフォームでは正当化できますが、リード獲得フォームでは不要です
予算離脱率 +8~12%購入意欲の高いユーザー向けのデモ/営業フォームでのみ正当化できます
カスタム質問質問ごとに離脱率 +3~5%リードの振り分けまたは適格性評価に直接影響する必要があります
情報補完テスト

項目を追加する前に、**送信後にこの項目を補完できるか?**と考えてください。

項目補完可能?方法フォームに残す?
会社名はい(メールドメインから)Clearbit、Apollo、手動で検索削除
会社規模はい(会社名から)情報補完 API削除
業種はい(会社名から)情報補完 API削除
役職部分的に可能(LinkedIn から)手動で情報補完ルーティングに不可欠な場合を除き、削除
電話番号いいえ入力してもらう必要があります営業電話をすぐにかける場合に限り、残す
予算いいえ明記してもらう必要があります購買意欲の高いユーザー向けのフォームに限り、残す
フォームの種類別に推奨される項目セット
フォームの種類最小項目数最適な項目数最大項目数
ニュースレター登録メールアドレスメールアドレスメールアドレス + 名
コンテンツのダウンロードメールアドレスメールアドレス + 名メールアドレス + 氏名 + 会社名
お問い合わせフォームメールアドレス + メッセージメールアドレス + 氏名 + メッセージメールアドレス + 氏名 + 件名 + メッセージ
デモのリクエストメールアドレス + 会社名メールアドレス + 氏名 + 会社名 + 役職+ 電話番号 + ユースケース + チーム規模
応募フォーム要件によって異なります--必須項目すべて(個別に正当な理由があるもの)

複数ステップと単一ステップの選択

選択基準
要素単一ステップ複数ステップ
項目の合計数5 項目未満5 項目超
項目の複雑さシンプルなテキスト入力ドロップダウン、チェックボックス、条件付き項目の組み合わせ
ユーザーの動機負担が少ない(ニュースレター、コンテンツ)負担が大きい(デモ、応募)
適格性の確認振り分け不要回答に基づいて異なる経路へ振り分ける
モバイル利用の割合モバイルが 30% 未満モバイルが 50% 超
複数ステップのベストプラクティス

ステップ構成:

  • ステップ 1:最も簡単な項目(メールアドレス、氏名) -- まず入力してもらうための負担を最小限にします
  • ステップ 2:適格性確認の情報(会社名、役職、ユースケース)
  • ステップ 3:具体的な詳細(予算、スケジュール、メッセージ)

進捗状況の表示:

  • ステップ数を含む進捗バーを表示します(「ステップ 2/3」)
  • 完了率を表示します
  • 各ステップで扱う内容をラベルに示します(「お客様の詳細」、「会社情報」、「プロジェクトの詳細」)

心理的なコミットメント:

  • ユーザーはステップ 1 を完了すると、フォームを最後まで入力する可能性が 40~60% 高くなります(サンクコスト効果)
  • 後でフォームの入力を中断してもフォローアップできるよう、ステップ 1 でメールアドレスを取得します

戻る操作:

  • 以前のステップに戻れるようにします
  • ステップ間を移動しても、入力済みのデータを保持します
  • 戻る操作でフォームをリセットしないでください

項目のデザインパターン

項目ラベル
パターン使用する場面例
入力欄の上に配置するラベルほとんどのフォームでの標準ラベルを入力欄の上に配置します
インラインラベル(フローティング)スペースが限られたレイアウトフォーカス時にラベルが入力欄の中から上に移動します
左揃えのラベル幅の広いデスクトップフォームラベルを入力欄の左側に配置します
プレースホルダーのみのラベル使用しないでください入力すると表示が消え、アクセシビリティ上の問題になります
項目の種類
必要なデータ最適な入力タイプ避けるもの
メールアドレスtype="email" と検証プレーンテキスト入力
電話番号type="tel" と入力形式のマスクプレーンテキスト入力
国検索可能なドロップダウン長い固定ドロップダウン
会社規模ボタングループ(1-10、11-50、51-200、200+)自由入力
関心事項/トピックチェックボックスのグループ(選択肢は最大 6 個)複数選択ドロップダウン
メッセージテキストエリア(3~4 行を表示)1 行のテキスト入力
日付ネイティブの日付選択ツール3 つの個別のドロップダウン
条件付きフィールド

前の回答に応じて追加のフィールドを表示します。表示上の複雑さを抑えながら、必要なデータを収集できます。

例:「主な目的は何ですか?」というドロップダウンで「購入する準備ができている」または「ソリューションを検討中」を選択した場合にのみ、「予算範囲」を表示します。

ルール:

  • 条件付きフィールドは滑らかなアニメーションで表示します(瞬時に切り替えないでください)
  • 1つのトリガーにつき、条件付きフィールドは1~2個だけにします
  • 条件付きフィールドは必須にしません(トリガーとなる回答が変更される可能性があるため)

バリデーション UX

リアルタイムバリデーションと送信時バリデーション
バリデーションの種類使用する場面
リアルタイム(フォーカスが外れたとき)メールアドレスの形式、電話番号の形式、必須フィールド
送信時複雑なバリデーション、サーバー側のチェック
インライン候補会社名の自動補完、住所検索
エラーメッセージのデザイン
パターン良い例悪い例
位置フィールドの下、入力内容に関連付けて表示フォームの上部、入力欄と切り離して表示
トーン「有効なメールアドレスを入力してください」「エラー:入力が無効です」
具体性「電話番号には市外局番が必要です」「電話番号が無効です」
色赤いテキスト+フィールドの赤い枠線ページ上部の赤いバナー
アイコンメッセージの横にエラーアイコンを表示視覚的なインジケーターなし
成功インジケーター
  • 有効なフィールド(特にメールアドレスと電話番号)に緑のチェックマークを表示します
  • 肯定的なマイクロコピーを使います。有効なメールアドレスには「問題ありません!」と表示します
  • キー入力のたびに緑や赤を点滅させないでください。フォーカスが外れたとき(ユーザーがフィールドから移動したとき)にバリデーションを行います

CTA と送信ボタンの最適化

ボタン文言のフレームワーク
フォームの種類弱い文言強い文言最も強い文言
コンテンツのダウンロード送信ガイドをダウンロード無料ガイドを入手
デモのリクエスト送信デモをリクエストデモを予約
お問い合わせフォーム送るメッセージを送信お問い合わせ
ニュースレター登録ニュースレターに登録毎週のヒントを受け取る
無料トライアル登録無料トライアルを開始無料で作成を始める

ルール:

  • 一人称を使います(「あなたの」ではなく「私の」を使います)
  • 相手が何をするかではなく、何を受け取るかを明記します
  • 該当する場合は「無料」を含めます
  • 5語未満にします
ボタンのデザイン
要素ベストプラクティス
色フォームの背景に対して十分なコントラストを確保し、ブランドの CTA カラーと統一します
サイズモバイルでは全幅にし、タッチターゲットとして高さを最低44pxにします
位置最後のフィールドのすぐ下に配置し、間隔を空けません
読み込み状態二重送信を防ぐため、スピナーと「送信中…」を表示します
無効状態必須フィールドが有効になるまで無効にし、視覚的に明確な違いを示します

モバイルフォームの最適化

モバイル固有のルール
ルール実装
タッチターゲットすべての操作可能な要素で最低44x44px
キーボードの種類メールアドレスにはtype="email"、電話番号にはtype="tel"、数値にはtype="number"
自動フォーカスページの読み込み時に最初のフィールドにフォーカスします(キーボードを開いた状態にします)
送信ボタンの固定表示長いフォームでは送信ボタンをビューポートの下部に固定します
入力欄の間隔タップミスを防ぐため、フィールド間に最低8pxの間隔を設けます
ドロップダウンの代替手段モバイルではドロップダウンの代わりにボタングループまたはラジオボタンを使います
自動入力標準フィールド(名前、メールアドレス、電話番号、住所)のブラウザー自動入力に対応します
モバイルとデスクトップのフォームの違い
項目デスクトップモバイル
レイアウト1列または2列常に1列
フィールド数最大8個1ステップあたり最大5個
ドロップダウン標準のドロップダウンボトムシートまたは全画面の選択画面
ヘルプテキストホバー時のツールチップ常に表示されるインラインテキスト
バリデーションフォーカスが外れたときフォーカスが外れたとき+送信時の概要

信頼性とコンテキストの要素

フォーム付近の信頼性を示す要素
要素配置場所効果
プライバシーの保証送信ボタンの下「メールアドレスを第三者と共有することはありません」
セキュリティバッジフォームの枠の横SSL、SOC2、GDPRへの準拠
お客様の声フォームの隣ソーシャルプルーフによってためらいを軽減します
返信時間送信ボタンの下「2時間以内に返信します」
登録者数/ユーザー数フォームの上またはフォーム内「10,000人以上の登録者に加わりましょう」
コンテキストの補強
要素目的例
フォームの見出し得られるものを思い出してもらう「無料のSEO監査レポートを受け取りましょう」
フォーム上部の箇条書き価値を再確認してもらう「受け取れる内容:サイト全体の分析、優先度順の修正リスト、30分のレビュー通話」
次のステップの説明期待値を設定する「送信後、24時間以内にレポートをメールでお送りします」

フォームの種類別ガイド

リード獲得(コンテンツゲート)

目標: 有望なリードを獲得しながら、フォームの完了数を最大化します。

  • フィールド:メールアドレスのみ(またはメールアドレス+名まで)
  • CTA:価値を具体的に示す(「レポートを受け取る」「チェックリストをダウンロード」)
  • 信頼性: 「スパムメールは送りません。いつでも登録解除できます」
  • 送信後:すぐにダウンロードを提供+サンクスページ+フォローアップメール
デモのリクエスト

目標: 営業との会話を希望する有望な見込み客を獲得します。

  • フィールド:メールアドレス+氏名+会社名(+電話番号とチームの人数は任意)
  • CTA:「デモを予約する」
  • 信頼性:「30分の通話で、契約の義務はありません」
  • 送信後:カレンダー予約ページ、または日程調整リンク付きの確認画面
  • 検討事項:フォームの代わりにカレンダーを埋め込む(Calendly/Cal.com)
お問い合わせフォーム

目標: 適切なチームに振り分けながら、連絡できるようにします。

  • フィールド:メールアドレス+氏名+件名のドロップダウン+メッセージ
  • CTA:「メッセージを送信」
  • 信頼性:「[X]時間以内に返信します」
  • 送信後:返信予定時間を記載した確認画面
  • 検討事項:部署/トピックを振り分けるドロップダウンの追加
見積もりのリクエスト

目標: 正確な見積もりに必要な詳細を収集します。

  • フィールド:プロジェクトの詳細を含む複数ステップのフォーム
  • CTA:「見積もりを依頼する」
  • 信頼性:「無料見積もり。依頼しても義務はありません」
  • 送信後:見積もりの提示時期+担当者からのフォローアップ

A/Bテストのフレームワーク

効果の大きいテスト(優先して実施)
テスト仮説成功指標
電話番号フィールドを削除電話番号を削除すると完了率が5~10%上がる完了率
1ステップから複数ステップへ変更6つ以上のフィールドがあるフォームでは、複数ステップにすると完了率が上がる完了率+送信内容の質
CTAの文言を変更価値を具体的に示す文言にするとクリック数が10~20%増えるクリック率
ソーシャルプルーフを追加フォーム付近にお客様の声を掲載すると信頼性が高まる完了率
効果が中程度のテスト
テスト仮説成功指標
フィールドの順序を変更入力しやすいフィールドを先にすると、ステップ1の完了率が上がるステップごとの完了率
インラインバリデーションリアルタイムのフィードバックによりフォームのエラーが減るエラー率+完了率
進捗バーを追加複数ステップのフォームに視覚的な進捗を表示すると完了率が上がる完了率
カレンダー埋め込みとフォームを比較デモのリクエストでは、カレンダーを使うと手間が減る予約率
測定ルール
  • 各テストは最低2週間、または各バリエーションで200件のコンバージョンが得られるまで実施します(期間が長い方を適用)。
  • 数量(完了率)と質(リードスコア、SQL率)の両方を追跡します。
  • 完了数が増えてもリードの質が下がるテストは、成功とはいえません。

指標と測定

主な指標
指標計算式ベンチマーク
フォーム完了率送信数/フォームの表示数リードフォームでは20~40%、長いフォームでは5~15%
フィールドごとの離脱率各フィールドでの離脱数離脱率が最も高いフィールドを特定します
入力完了までの時間最初の操作から送信までの平均秒数シンプルなフォームでは60秒未満、複雑なフォームでは3分未満
エラー率エラーが表示されたユーザー数/全ユーザー数10%未満
モバイルでの完了率モバイルからの送信数/モバイルでのフォーム表示数デスクトップでの完了率との差を20%以内に抑えます
計測要件

分析で以下のイベントを追跡します。

  • フォームの表示(インプレッション)
  • フォームの操作(最初のフィールドにフォーカス)
  • フィールドごとの入力完了(フィールドごとにフォーカスを外した時点)
  • フォーム送信の試行
  • フォーム送信の成功
  • フォームの検証エラー(フィールドごと)

成果物

成果物形式説明
フォーム監査レポート課題/影響/修正/優先度の表離脱による推定コストを含むフィールドごとの分析
推奨フィールドセット根拠を示したリスト必須フィールド、任意フィールド、情報を補完できるフィールドとその理由
フィールドレイアウト仕様注釈付きの概要順序、グループ化、ラベルのスタイル、検証ルール、モバイル対応
CTA 文言の選択肢3 案の表ボタンの文言案、理由、期待される効果
A/B テスト計画優先順位付きの表仮説、バリエーション、指標、優先度を含む上位 5 件のテスト
モバイル最適化チェックリストチェックボックス形式のリストモバイル固有の修正と実装メモ

関連スキル

  • signup-flow-cro — フォームがアカウント作成またはトライアル登録のフローである場合に使用します。Form-cro はリード獲得、問い合わせ、デモのフォーム向けです。
  • popup-cro — フォームがモーダルまたはポップアップ内にある場合に使用します。Form-cro はフォーム自体を扱い、popup-cro はトリガー、表示タイミング、コンテナーを扱います。
  • page-cro — フォームを含むページの最適化(見出し、価値提案、レイアウト)が必要な場合に使用します。
  • onboarding-cro — ボトルネックがフォーム自体ではなく、フォーム送信後のアクティベーションにある場合に使用します。

ツールリファレンス

1. form_scorer.py

目的: フィールド数、フィールドの種類、CTA の質、モバイル対応、信頼性を示す要素に関する CRO のベストプラクティスに照らして、フォームをスコアリングします。

python scripts/form_scorer.py form_config.json
python scripts/form_scorer.py form_config.json --json
フラグ必須説明
form_config.jsonはいフォームのフィールド、CTA、コンテキストメタデータを含む JSON ファイル
--jsonいいえ結果を JSON 形式で出力します
2. field_cost_analyzer.py

目的: 各フォームフィールドによる離脱コストを推定し、削除、維持、または情報を補完できるようにするフィールドを推奨します。

python scripts/field_cost_analyzer.py form_fields.json
python scripts/field_cost_analyzer.py form_fields.json --json
フラグ必須説明
form_fields.jsonはいフォームのフィールドとその種類を含む JSON ファイル
--jsonいいえ結果を JSON 形式で出力します
--monthly-visitorsいいえ金銭的な影響を推定するための月間フォーム訪問者数(デフォルト:1000)
--current-rateいいえ現在のフォーム完了率(パーセンテージ)(デフォルト:25)
--value-per-leadいいえROI 計算に用いるリード 1 件あたりの金額(デフォルト:50)
3. ab_test_calculator.py

目的: フォーム最適化の実験に必要な A/B テストのサンプルサイズ、期間、統計的有意性を計算します。

python scripts/ab_test_calculator.py --baseline 25 --lift 10 --traffic 500
python scripts/ab_test_calculator.py --baseline 25 --lift 10 --traffic 500 --json
フラグ必須説明
--baselineはい現在のコンバージョン率(パーセンテージ)(例:25 は 25%)
--liftはい検出対象とする最小リフト(パーセンテージ)(例:相対リフト 10% は 10)
--trafficはい1 日あたりのトラフィック数(フォームへの訪問者数)
--confidenceいいえ信頼水準(パーセンテージ)(デフォルト:95)
--jsonいいえ結果を JSON 形式で出力します

トラブルシューティング

問題考えられる原因解決策
フォーム完了率が15%未満入力欄が多すぎる、または入力の負担が大きい項目があるfield_cost_analyzer.py を実行して負担の大きい項目を特定・削除します。初回接点となるリード獲得フォームでは、メールアドレスのみを目標にします
モバイルの完了率がデスクトップより50%以上低いフォームがタッチ操作向けに最適化されていない44px のタッチターゲット、単一カラムのレイアウト、ネイティブのキーボードタイプを使用します。モバイルではドロップダウンをボタングループに置き換えます
ユーザーがフォームの入力を始めても完了しない中盤の項目(電話番号、予算、メッセージ)の入力負担が大きい複数ステップのフォームでは、入力負担の大きい項目を後のステップに移動します。ステップ1でメールアドレスを取得します
メールアドレスまたは電話番号の項目でエラー率が高い検証が厳しすぎる、またはエラーメッセージが不明確キー入力時ではなく、フォーカスが外れたときに検証します。「無効な入力」のような一般的な文言ではなく、「メールアドレスに @ を含めてください」のような具体的なエラー文言を使用します
4週間後もA/Bテストの結果が明確でないサンプルサイズが不十分、または目標とする改善幅が小さすぎるab_test_calculator.py を使用して必要なサンプルサイズを確認します。より大きな変更(文言の調整ではなく項目の削除など)をテストすることを検討します
ページのトラフィックは十分なのにCTAのクリック数が少ないCTAの文言が一般的、またはボタンの視認性が不十分「送信」を「レポートを受け取る」のような価値が伝わる文言に置き換えます。モバイルではCTAを全幅にし、コントラストの高い色を使用します

成功基準

  • リード獲得フォームの完了率が25%を超えている(35%を超えると非常に優秀です)
  • モバイルの完了率がデスクトップの完了率との差20%以内である
  • フォーム操作のエラー率が10%未満である
  • 項目ごとの離脱率から、具体的な入力上の問題点と明確な改善策を特定できる
  • 各フォーム項目に、文書化された根拠(ビジネス上の必要性、または送信後に補完可能な情報)がある
  • 勝者を決定する前に、A/Bテストを各バリエーションで最低200件のコンバージョンが得られるまで実施する
  • デモフォームと問い合わせフォームでは、送信後24時間以内にフォローアップを行う

対象範囲と制限事項

  • 対象範囲: フォーム項目の最適化、CTAの文言、バリデーションUX、モバイル最適化、信頼性を示す要素の配置、A/Bテストの設計、項目コストの分析
  • 対象範囲外: ページ単位のCRO(page-cro を使用)、ポップアップの表示タイミングの最適化(popup-cro を使用)、サインアップ/登録フロー(signup-flow-cro を使用)、送信後のナーチャリングシーケンス
  • データ依存関係: 項目ごとの分析データ(項目ごとの離脱率)は最も実用的なデータをもたらしますが、分析用の計測設定が必要です
  • コンプライアンス上の制約: GDPR/HIPAAにより削除できない特定の項目が必要になる場合があります。最適化の前にコンプライアンス要件を文書化してください
  • 統計的妥当性: A/Bテストの推奨事項には十分なトラフィック量が必要です。トラフィックの少ないフォームでは、テスト期間を延長するか、別の評価方法が必要になる場合があります

連携ポイント

  • page-cro -- フォームのコンバージョン率は良好でも、周囲のページがフォームへの誘導につながっていない場合は、まずページ単位の要素を最適化します
  • popup-cro -- フォームがポップアップまたはモーダル内にある場合、表示タイミングとコンテナーのデザインは popup-cro で扱います
  • signup-flow-cro -- アカウント作成や登録フォーム(リード獲得ではない)の場合は、複数ステップの認証フローを扱う signup-flow-cro を使用します
  • onboarding-cro -- ボトルネックがフォームの完了率ではなく、フォーム送信後のアクティベーションである場合に使用します
  • free-tool-strategy -- 無料ツールにはリード獲得フォームが含まれることがよくあります。ツール内の獲得フォームを最適化するには form-cro を使用します

コメント