パーシステントメニュー
Persistent Menu
チャットボットにおけるパーシステントメニューについて学びます:その概要、使用する理由、実装方法、そしてユーザーナビゲーションと体験を向上させるためのベストプラクティスを解説します。
Persistent Menu(パーシステントメニュー)とは
Persistent Menu(パーシステントメニュー)は、チャットボットに組み込まれた常時表示の静的メニューインターフェースで、メッセージのコンテキストや会話フローに関係なく、重要なアクションへの継続的なアクセスを提供します。このメニューは通常、ハンバーガーメニューなどの認識しやすいアイコンを介して表示され、再起動、ヘルプ、配信停止、ナビゲーションショートカットなどの重要なアクションをリスト表示します。
使用後に消える一時的なボタンやクイック返信とは異なり、Persistent Menuはユーザーセッション全体を通じてアクセス可能な状態を維持します。これは恒常的なナビゲーションアンカーとして機能し、ユーザーがコマンドを記憶したり会話履歴を検索したりすることなく、常に主要機能にアクセスできることを保証します。このアーキテクチャパターンは、チャットボット設計のベストプラクティスとなっており、ユーザーエクスペリエンスを大幅に向上させ、会話型インターフェースにおける摩擦を軽減します。
Persistent Menuのコンセプトは、Facebook Messengerなどのメッセージングプラットフォームで生まれましたが、その後、Webチャットウィジェット、モバイルアプリケーション、その他の会話型インターフェースに採用されています。その永続的な性質により、ボットの機能を発見する初回ユーザーと、使い慣れた機能への迅速なアクセスを求めるリピーターユーザーの両方に最適です。
主なメリット
ナビゲーションの高速化
ユーザーは、コマンドを記憶したり会話スレッドを検索したりすることなく、頻繁に必要な機能や情報に即座にアクセスできます。この直接アクセスにより、認知的負荷が軽減され、タスク完了が加速されます。
摩擦の軽減
混乱するフローから直接脱出できる経路を提供することで、ユーザーが迷ったりフラストレーションを感じたりすることを防ぎます。ユーザーは常に主要機能やヘルプリソースへの明確な道筋を持っています。
機能の発見
新規ユーザーとリピーターユーザーの両方が、ボットの主要機能を一目で確認できます。メニューは機能カタログとして機能し、利用可能な機能の認知度を高めます。
ビジネスとの整合性
製品クイズ、サポート連絡、注文追跡など、ビジネス価値を促進するコアアクションを推進します。戦略的なメニュー設計により、ユーザーを高価値なインタラクションへと導きます。
アクセシビリティの向上
アクセシビリティニーズを持つユーザーは、明確に構造化された常時利用可能なアクションから恩恵を受けます。スクリーンリーダーや支援技術は、メニューオプションに確実にアクセスできます。
ユーザーエクスペリエンス
アクセスパターン
Persistent Menuは通常、チャットウィンドウ内のメニューアイコンをクリックまたはタップすることでアクセスされます。その内容は、オンボーディング中、会話の途中、アクション完了後など、会話のどの段階でも利用可能です。
典型的なアクション
ボットの再起動
会話を開始時またはウェルカムステップにリセットします。ユーザーが新たに始めたい場合や問題に遭遇した場合に便利です。
ヘルプ/FAQへのアクセス
サポートリソースやよくある質問への回答を表示し、セルフサービス支援を提供します。
メインメニューへのジャンプ
ユーザーをプライマリナビゲーションに戻し、専門的なフローから明確な道筋を提供します。
配信停止
今後のメッセージやインタラクションからユーザーをオプトアウトし、ユーザーの設定とプライバシーを尊重します。
外部URLを開く
追加リソース、ドキュメント、関連サービスのためのWebページを起動します。
クイズのトリガー
製品推奨やフィードバッククイズを開始し、ユーザーをインタラクティブな体験に引き込みます。
プラットフォームサポートと制限
| プラットフォーム | サポートレベル | 注意事項/制限 |
|---|---|---|
| Facebook Messenger | 完全対応 | 最大3つのトップレベル項目、ネストメニュー対応、ユーザー入力制御対応 |
| 対応(API経由) | Messengerと同様、最新情報はプラットフォームドキュメントを確認 | |
| Webチャットウィジェット | 完全対応(ほとんどのビルダー) | ボタンの外観、ユーザー入力制御、ネストはベンダーによって異なる |
| WhatsApp、Telegram | 限定的/異なる | 各ボットビルダーのドキュメントでサポートと制限を確認 |
主な制限事項
ボタン制限
Messengerはメニューレベルごとに最大3つのボタンをサポートします。これを超える場合は、ネストまたは優先順位付けが必要です。
外観
メニューアイコンと位置はチャネルごとに異なる場合があります。一貫したブランディングには、プラットフォーム固有のカスタマイズが必要な場合があります。
メニュースコープ
一部のプラットフォームでは、ボットインスタンスごとに1つのメニューのみが許可されるため、慎重なグローバル設計が必要です。
入力制御
ユーザー入力の無効化は、フローごとではなくグローバルに適用されることが多く、ユースケースの慎重な検討が必要です。
メニュー構造とアクション
ボタンアクションタイプ
メッセージ送信
特定のボットフローをトリガーするか、定義されたメッセージを送信し、プログラマティックな会話制御を可能にします。
URLを開く
指定されたWebページを開きます。多くの場合、アプリ内ブラウザで外部リソースやドキュメントを表示します。
ボットの再起動
会話を開始時またはウェルカムステップにリセットし、クリーンな状態を提供します。
配信停止
今後のメッセージやインタラクションからユーザーをオプトアウトし、ユーザー設定への準拠を保証します。
クイズを受ける
製品またはフィードバッククイズを起動し、ユーザーをインタラクティブな体験に引き込みます。
ヘルプ/FAQ
サポートまたはよくある質問への回答を表示し、セルフサービス解決を可能にします。
ネストメニュー
Messengerなどの一部のプラットフォームでは、メニューのネストが可能で、関連するアクションを1つのラベルの下にグループ化できます。たとえば、「アカウント」には「プロフィール」と「設定」のサブメニューが含まれる場合があります。ただし、すべてのプラットフォームやビルダーがネスト構造をサポートしているわけではないため、慎重なプラットフォーム評価が必要です。
メニュー設定例
Eコマースチャットボット
| ボタン | アクション |
|---|---|
| 🛒 ショップ | メインショッピングフローを開く |
| 🚚 注文追跡 | 注文ステータスを表示 |
| ❓ ヘルプ | FAQまたはサポートフロー |
製品推奨クイズ
| ボタン | アクション |
|---|---|
| 📝 クイズを受ける | 製品クイズフローを開始 |
| 🔁 ボット再起動 | 会話をリセット |
| ❌ 配信停止 | ボットメッセージからオプトアウト |
レストラン予約ボット
| ボタン | アクション |
|---|---|
| 📅 テーブル予約 | 予約フローを開始 |
| 📖 メニュー | メニューURLを開く |
| 🏠 メインメニュー | ホームフローに戻る |
実装ガイド
一般的な手順
- ボットプラットフォームダッシュボードにログイン
- ボット設定またはフロービルダーを開く - 「Persistent Menu」、「Menu」、または「Navigation」セクションを見つける
- Persistent Menuを作成/編集 - 通常、「Create」または「Edit」ボタンを使用
- メニュー項目を追加 - 各スロットについて:アクションタイプ、ラベル、ターゲット(フロー、URLなど)を選択
- 順序を配置 - ドラッグアンドドロップで並べ替え、最も重要なアクションを最初に配置
- 詳細オプション - メニューのローカライズ、ユーザー入力の有効化/無効化、サポートされている場合はサブメニューを追加
- 保存と公開 - 「Save」、「Publish」をクリック、またはメニューをライブに切り替え
プラットフォーム固有の手順
Facebook Messenger(Chatfuel経由)
- Chatfuelダッシュボードに移動
- Flowタブを開き、フローを作成/選択
- キャンバスをダブルクリックし、「Entry Points → Persistent Menu」を選択
- 最大3つのボタンを追加(例:「Restart Bot」、「Help」、「Unsubscribe」)
- ドラッグして並べ替え、トグルでメニューを有効化
- ローカライゼーションの場合、「Localization」をクリックして翻訳を追加
ChatbotBuilder.ai
- Settings → Channels → Facebook Messenger/Instagram → Persistent Menuに移動
- 「Edit」をクリックしてセットアップウィザードを開く
- 必要に応じてメニュー項目を追加
- ユーザー入力を無効にするには、「Allow Keyboard Input」のチェックを外す
- 保存して公開
Certainly
- Bot Settingsを開く
- Persistent Menuタブを選択
- 項目を追加(Open URL、Send message、Nested)
- 変更を保存
Webチャットウィジェット
- ボットプラットフォームダッシュボードにログイン
- Webチャットボットマネージャーに移動
- 「Persistent Menu」をクリック
- 「Create」をクリックし、ポップアップでメニューを設定
- 必要に応じてユーザー入力を完全に無効化可能
- 保存してWebチャットウィジェットをテスト
カスタマイズオプション
ローカライゼーション(多言語対応)
「Localization」または「Add Language」ボタンを使用して翻訳を追加します。ターゲット言語を選択し、翻訳されたボタンラベルを入力します。メニューボタンのテキストのみがローカライズされ、会話フロー全体はローカライズされないことに注意してください。
ベストプラクティス: 一貫性を保つため、ボットがユーザージャーニー全体でその言語をサポートしている場合にのみローカライズしてください。
ユーザー入力の無効化
自由テキスト入力を無効にして、ユーザーをメニューとクイック返信のみに制限します。これは、クイズやフォームなどの厳密なフローに便利ですが、通常はグローバルに入力を無効にすることに注意してください。メールアドレスや住所などのオープンレスポンスを収集するには、ユーザー入力を有効のままにしてください。
メニューの外観と順序
位置
メニューは通常Messengerでは右下にありますが、プラットフォームによって異なります。
順序
順序はユーザーの注意とアクセシビリティに影響するため、最も重要なアクションを上部に配置します。
ラベル
説明的で短いラベルを使用します(30文字制限が一般的)。明確でアクション指向の言語により、使いやすさが向上します。
絵文字
認識と視覚的魅力を助けることができますが、プロフェッショナルでアクセシブルな使用を心がけてください。
ボタン
URLを開いたり、ボットフローをトリガーしたりでき、柔軟な機能を提供します。
ベストプラクティス
シンプルに保つ
メニューの混雑と決定麻痺を避けるため、2〜3の主要アクションに制限します。
重要な機能を優先
ユーザー制御とコンプライアンスのため、「Restart」、「Help」、「Unsubscribe」は簡単にアクセスできるようにする必要があります。
明確なラベル
明確性のため、「Again」のような曖昧な用語ではなく「Restart Bot」のような用語を使用します。
アクションタイプを組み合わせる
包括的な機能を提供するため、必要に応じてリンク、フロー、サブメニューを組み合わせます。
徹底的にテスト
可視性と適切な機能を確保するため、すべてのチャネルとデバイスでチェックします。
アクセシビリティを維持
読みやすいフォントと明確なコントラストを使用します。スクリーンリーダーの互換性を確保します。
定期的に更新
関連性を維持するため、分析とユーザーフィードバックに基づいてメニューを調整します。
トラブルシューティング
メニューが表示されない
メニューが有効化され公開されていることを確認します。チャネルサポートと設定を確認します。
ユーザー入力が意図せず無効化されている
入力の無効化は、個々のフローではなくボット全体に適用されることが多いことを覚えておいてください。
ローカライゼーションの問題
言語設定が正しいことを確認します。ボタンテキストのみがローカライズされ、会話フローはローカライズされません。
ボタンが多すぎる
プラットフォームの制限を尊重します(例:Messenger = メニューレベルごとに3つ)。サポートされている場合はネストを使用するか、最も重要なアクションを優先します。
テスト
完全展開前に、すべてのターゲットチャネルとデバイスで可視性と機能をテストします。
参考資料
関連用語
FAQ(よくある質問)
デジタルコミュニケーション、カスタマーサポート、AIチャットボットの基盤となるFAQ(よくある質問)について解説します。その定義、目的、メリット、実装方法を学びましょう。...
Webview(ウェブビュー)
Webviewは、フォーム、商品カタログ、決済インターフェースなどのWebコンテンツをチャットボットやモバイルアプリ内に直接表示する埋め込みブラウザウィンドウです。シームレスなユーザー体験を実現します...