Funnel Doctor(ファネルドクター)
コンバージョンファネルを診断します — 最も漏れの多いステップを見つけ、損失を定量化し、ユーザーが離脱する理由を説明するセッションを提示します。
使用するタイミング
- 「チェックアウトフローのどこでユーザーが離脱していますか?」
- 「サインアップから初回購入までのコンバージョン率は?」
- 「古いオンボーディングフローと新しいものを比較してください — 完了率は改善されましたか?」
- 「支払いステップで離脱したセッションを見せてください」
- 「アプリで最大のドロップオフはどこですか? 失われた収益を定量化してください。」
メンタルモデル
ファネルとは、ユーザーが完了しなければならない一連のステップのことです。目的は、最も多くのユーザーが離脱するステップを見つけることです — 単に絶対数だけでなく、前のステップからの割合の低下も考慮します。
例:10,000人が /checkout に到達 → 8,000人が配送情報入力 → 6,000人が支払い画面に到達 → 2,000人が購入完了。最大の 絶対 ドロップは支払い(6,000 → 2,000 = 4,000損失)。最大の パーセンテージ ドロップも支払い(67%減少)。どちらも重要です — 両方を提示してください。
ワークフロー
ステップ1: ファネルステップを定義する
ユーザーが関心を持つステップを明確にします。典型的なファネル:
- Eコマース:商品ページ → カートに追加 → チェックアウト → 配送 → 支払い → 確認
- SaaS サインアップ:ランディング → サインアップフォーム → メール確認 → オンボーディング → 初回アクション
- アプリフロー:ホーム → 検索 → 結果 → 詳細 → 予約
ユーザーがステップを指定しない場合は、開始点と終了点を尋ねてください。中間のステップはページナビゲーションデータから推測できます。
ステップ2: ファネルメトリクスを構築する
fullstory:build_metric を以下のパラメータで呼び出します:
query:ファネルステップを順に記述(例:「/checkout を表示し、次に配送に到達し、次に支払いに到達し、購入を完了したユーザー」)output_type="funnel"— これにより、単純なカウントではなく、順次ファネルが作成されます
このフロー用のファネルメトリクスがすでに存在する場合は、まず検索します:fullstory:get_metric(regex="checkout funnel")。build_funnel で構築されたファネルの場合は、fullstory:get_funnel(id) を使用します — 名前、説明、レンダリングされた定義、そして正しい num_steps(get_funnel_sessions ワークフローに必要)が返されます。
ステップ3: 計算して分析する
fullstory:compute_metric(metric_id) を呼び出します — またはファネル固有のオプションのために fullstory:compute_funnel(funnel_id) を使用します。
期間比較 — compare_to を追加して前期間との差分を表示します:
fullstory:compute_funnel(funnel_id, compare_to="previous_period")
各ステップには previous オブジェクトが含まれ、前期間のカウントとコンバージョン率が格納されます。「新しいデザインは役立ったか?」という質問に対して、2つの別々のファネルを構築する代わりにこれを使用します。
ディメンション分割 — dimension を追加してプロパティで分割します:
fullstory:compute_funnel(funnel_id, dimension="device_type")
各ステップには、そのディメンション(ブラウザ、国、デバイス、カスタム変数など)で分割された groups 配列が含まれます。セグメントごとに手動でグループを作成する作業を置き換えます。
結果をステップごとに分解して表示します:
チェックアウトファネル(過去30日間)
1. /checkout 10,000ユーザー (100%)
2. 配送フォーム 8,000ユーザー (80% — 2,000損失)
3. 支払いページ 6,000ユーザー (残りの75% — 2,000損失)
4. 確認ページ 2,000ユーザー (残りの33% — 4,000損失) ← 最大のドロップ
全体のコンバージョン率:20%
compare_to を使用すると、差分を追加:
4. 確認ページ 2,000ユーザー (残りの33% — 4,000損失)
前期間: 1,400ユーザー (残りの28%)
差分: +600ユーザー (+5pp コンバージョン率) ↑
dimension を使用すると、各ステップでのグループごとのコンバージョン率を表示します。
最大の絶対ドロップと最大のパーセンテージドロップの両方があるステップを指摘してください — これらはしばしば同じですが、常に同じとは限りません。
ステップ4: セグメントで範囲を絞る
ユーザーが特定のコホート(モバイルユーザー、エンタープライズ、新規 vs リピーター)について尋ねた場合は、セグメントを構築してアタッチします:
fullstory:build_segment("モバイルユーザー") → segment_id
fullstory:update_metric(metric_id, segment_id)
fullstory:compute_metric(metric_id)
ファネルのA/B比較(古いフロー vs 新しいフロー、モバイル vs デスクトップ)には、comparisons スキルを使用して適切なメカニズム(ディメンション分割 vs セグメント)を選択します。
ステップ5: 最悪のステップを調査する
最も漏れの多いステップを特定したら、その 理由 を調べます:
fullstory:get_sessions(metric_id=metric_id)を呼び出し、問題のステップに到達したが完了しなかったセッションにフィルタリングしますsession-contextエージェントを通じて3〜5のセッションをロードし、フォーカスしたタスクを実行します:- 「ユーザーは支払いページで離脱する前に何をしていましたか? エラーに遭遇しましたか?」
- 「フォームのバリデーションがブロックしていましたか? どのフィールドがハイライトされていましたか?」
- 「離脱する前に怒りのクリックやデッドクリックをしていましたか?」
ステップ6: レポート
すべてを統合します:
- ファネルの数値(表形式)
- 最大の問題ステップ(絶対損失とパーセンテージ損失の両方)
- セッションの証拠が示す、そのステップでユーザーが離脱する 理由
- 該当する場合、推定収益影響(ユーザー数 × 平均注文額)
ガイドライン
- 各ステップで、常に絶対ドロップ(ユーザー数)とパーセンテージドロップの両方を表示してください。
metric_urlを表示して、ユーザーがFullStory UIで確認できるようにしてください。- ファネルのあるステップで非常に高いドロップオフがある場合は、そのステップの調査を優先してください — すべてのステップに均等に時間をかけないでください。
- 収益影響については、ユーザーに平均注文額を尋ねてください。推測しないでください。
- ユーザーが「新しいデザインは役立ったか?」と尋ねた場合は、2つのファネルメトリクス(展開日の前/後)を構築し、並べて表示してください。