リッチメニューを作って保存したのに、トーク画面に出てこない。出てはいるけれど前のメニューのまま。スタッフのスマホでは出るのに、お客さんから「メニューが無い」と言われる。この記事は、こうしたときに原因を絞り込んで直すための手順です。読み終わると、症状から原因の候補を引き、自分のスマホ、別の端末、Messaging API の順に確かめて、どこを直せばいいか判断できるようになります。例は、スタッフ6名の予約制の料理教室「サンプル料理教室」の LINE公式アカウントです。リッチメニューそのものの作り方は「リッチメニューの作り方:サイズ・テンプレート・タブ切り替え」に書いたので、ここでは作ったあとに表示されないときの話に絞ります。仕様は2026年10月時点の公式ドキュメントで確かめています。
この記事の内容
先に決めること:どこで作ったメニューか、誰の画面で見えないのか
原因を探し始める前に、2つだけはっきりさせます。ここを曖昧にしたまま設定をいじると、直したつもりで別のメニューを触っていた、ということが起きます。
1つ目は、表示させたいメニューをどこで作ったかです。リッチメニューを設定する方法は、管理画面の LINE Official Account Manager と、Messaging API の2つしかありません。予約システムや拡張ツールと連携していて、そのツールがメニューを出しているなら、使える経路は Messaging API だけです。そして公式の説明では、1つのリッチメニューの取得や編集に2つのツールは使えません。管理画面で作ったメニューは管理画面でしか取得・編集できず、Messaging API で作ったメニューは管理画面では扱えません。
2つ目は、見えないのが誰かです。全員なのか、特定の人だけなのか、特定の端末だけなのか。全員に出ないなら設定そのもの(表示期間・保存・優先順位)を疑います。特定の人だけなら、その人にユーザー単位のメニューが付いているか、ブロックしたことがあるかを疑います。特定の端末だけなら、PC版LINE・iPad・アプリの状態を疑います。
この2つを先にメモしておくと、下の表のどの行を見ればいいかがすぐ決まります。

リッチメニューが表示される仕組み:優先順位と反映のタイミング
表示されない原因の半分は、この仕組みを知らないことから来ます。LINE Developers の「リッチメニューの概要」に書かれている内容を、そのまま表にします。
まず表示の優先順位です。1が最優先で、上にあるものが1つでも設定されていると、下のものは表示されません。
| 優先順位 | 種類 | 設定できる場所 | 対象 |
|---|---|---|---|
| 1 | ユーザー単位のリッチメニュー | Messaging API のみ | リンクした特定のユーザー |
| 2 | デフォルトのリッチメニュー(API) | Messaging API | ユーザー単位が付いていない全員 |
| 3 | デフォルトのリッチメニュー(管理画面) | LINE Official Account Manager | 上の2つが無い全員 |
管理画面で作ったメニューは一番下です。Messaging API でデフォルトのメニューを1つでも設定していると、管理画面でいくら新しいメニューを保存しても、利用者の画面にはAPIのメニューが出続けます。公式のFAQでも、表示は設定した日時の新しさではなく優先度で決まると書かれています。
次に、設定を変えてから利用者の画面に反映されるタイミングです。
| 種類 | 反映されるタイミング(公式の記載) |
|---|---|
| ユーザー単位のリッチメニュー | 即時。ただしリンクを解除せずにメニューを削除した場合は、トーク画面に再入室したときに削除が反映される |
| デフォルトのリッチメニュー(API) | トーク画面に再入室したとき。反映まで1分程度かかる場合がある |
| デフォルトのリッチメニュー(管理画面) | トーク画面に再入室したとき |
管理画面のマニュアルには、これに加えて「サーバー処理の問題上、ユーザー側に表示されるまでには時間がかかります。かかる時間は混雑状況やアカウントの友だちの人数によって異なります」とあります。何分以内と保証する記載はありません。ヘルプセンターにも、利用者の通信環境によって反映に時間がかかることがある、と書かれています。
実際に運用していると、管理画面で保存した直後は、トーク画面を開きっぱなしの端末ではまず切り替わりません。いったんトーク一覧に戻ってから開き直すと、多くの場合その場で新しいメニューになります。友だちが数百人ほどの教室のアカウントなら、保存してから数分待って開き直せば足ります。開き直しても数十分変わらないときは、待つより下の「確かめる順番」に進んだほうが早いです。
もう1つ、表示される環境の制約があります。リッチメニューはデスクトップ版(macOS、Windows)のLINEでは表示されません。管理画面のマニュアルでも「パソコン版LINE/Chrome版LINEでは表示されません」と明記されています。

症状から引く:原因と直し方の一覧
見えている症状から、原因の候補と直し方を引けるようにまとめました。上から順に、よく起きるものを並べています。
| 症状 | 原因 | 直し方 |
|---|---|---|
| ある日を境に、全員の画面からメニューが消えた | 表示期間が終わり、メニューが下書きや期限切れのメニューが並ぶ一覧に移った | 表示期間を延ばして保存し直す。次のメニューを、終わる日時から始まるように予約しておく |
| 保存したのに、まだ誰の画面にも出ない | 表示期間の開始日時が未来になっていて「予約」扱いになっている | 「予約・公開」タブで開始日時を確かめる。今すぐ出すなら開始日時を今にして保存 |
| 作ったはずのメニューが一覧の上のほうに無い | 「下書き保存」を押して終わっている | メニューを開いて「保存」を押す |
| スマホのアプリで作ったのに出ない | 最後に「待機中リストに保存」を押した。待機中は下書きと同じ扱い | 待機中から開き、表示期間を設定して「保存」をタップする |
| 保存したのに、自分の画面は前のメニューのまま | トーク画面を開いたままにしている。デフォルトのメニューは再入室で反映される | トーク一覧に戻ってから、もう一度トーク画面を開く |
| スタッフのパソコンで見るとメニューが無い | パソコン版LINE・Chrome版LINEには表示されない | スマホのLINEで確かめる |
| iPadだけメニューが出ない | LINEアカウントを作ったiPad、または引き継いだ先のiPad以外では表示されない | スマホで確かめる。iPadのLINEの設定に「アカウント削除」が出ていれば表示される端末、「ログアウト」が出ていれば表示されない端末 |
| メニューバーだけ出て、メニューが開いていない | トーク画面を開いたときの自動表示が「表示しない」になっている、または利用者がメニューを閉じた | 自動で開きたいなら自動表示の設定を「表示する」にする。利用者はメニューバーをタップすれば開く |
| 管理画面で新しく作ったのに、全員に古いメニューが出る | Messaging API で設定したデフォルトのメニューが残っていて、管理画面のメニューより優先されている | APIでデフォルトを確かめ、不要なら解除する(下の手順) |
| 拡張ツールを解約したのに、ツールで作ったメニューが出続ける | ツールが Messaging API で設定したデフォルトやユーザー単位のメニューが残っている | ツールの画面で解除する。ツールに入れなくなっていたら、同じチャネルのアクセストークンでAPIから解除する |
| 一部の人だけ、全員向けと違うメニューが出る | その人にユーザー単位のメニューがリンクされている | APIでその人のメニューを確かめ、要らなければリンクを解除する |
| 会員向けのメニューにしていた人が、一般向けに戻っている | その人が一度ブロックして解除した。ブロック解除でユーザー単位のリンクは外れる | 友だち追加のイベントを受けたら、もう一度リンクする仕組みを入れる |
| ブロック中の人にリンクしたのに、解除後も付いていない | ブロック中・友だちでない人へのリンクは、ステータス200が返っても実際にはリンクされない | 友だちに戻ったあとにリンクし直す |
| APIでデフォルトに設定しようとしたら400が返る | 画像がアップロードされていない(must upload richmenu image before applying it to user) | 画像をアップロードしてから、デフォルトの設定をやり直す |
| APIで画像をアップロードすると400が返る | 画像が要件外(JPEGかPNG、幅800〜2500px、高さ250px以上、幅÷高さが1.45以上、1MBまで) | 書き出し直して容量を落とす。サイズはテンプレートに合わせる |
| APIで画像だけ差し替えようとしたら400が返る | 一度画像を付けたメニューの画像は置き換えられない | 新しいメニューを作って新しい画像を付け、デフォルトやリンクを付け替える |
| 管理画面で画像をアップロードできない | 画像の形式・容量・サイズが合っていない | JPG・JPEG・PNGで、テンプレートの大(2500×1686)か小(2500×843)などのサイズに合わせる。アプリ版では1MB以下 |
| コピーしたメニューが保存できない | 表示期間が「予約・公開」タブの別のメニューと重なっている | 期間をずらして保存するか、いったん下書き保存する |
| 管理画面の「現在ユーザーに表示されているメニュー」の欄と、利用者に見えているものが違う | 外部(Messaging API や連携ツール)から設定したメニューは、管理画面のその欄に出ない | APIで今のデフォルトとユーザー単位を確かめる |
| 削除したのに、利用者の画面にまだ出ている | 開きっぱなしのトーク画面では表示が残る。リンク解除せずに削除したユーザー単位のメニューも再入室まで残る | 利用者が開き直せば消える。消す順番は「リンク解除→削除」にする |
| タブを押しても隣のメニューに切り替わらない | 切り替え先のリッチメニューエイリアスが作られていない | エイリアスを作り、切替アクションの指定と名前を合わせる |
| APIのデフォルトを解除したのに、タブ切り替えのメニューが残る | タブで切り替えた時点で、そのメニューはユーザー単位になっている | その人のリンクを解除する |
| 画像を変えたのに、端末によって古い絵のまま | 端末側で前の画像が残っている | トークを開き直す。だめならLINEアプリを終了して起動し直す |
| 特定のスマホだけ表示が崩れる・出ない | LINEアプリを長く更新していない | アプリを最新にしてから確かめる |
最後の2行は公式に書かれた仕様ではなく、本番のアカウントで何度か起きた症状です。ほかの行は公式のマニュアル・リファレンス・FAQで確かめた内容です。
確かめる順番
表で当たりがつかないときは、次の順で確かめます。順番を守るのは、手前の段階で原因が見つかることが多く、APIまで行かずに済むからです。
1. 自分のスマホで、友だちとして見る
まず担当者自身のスマホで、利用者と同じ立場から見ます。
- スマホのLINEで、自分の公式アカウントを友だち追加しているか確かめる。管理画面のスタッフ権限を持っていても、LINEアプリで友だちになっていなければ利用者と同じ画面にはならない
- トーク一覧に戻る
- 公式アカウントのトーク画面を開き直す
- 画面の下にメニューバーがあるか見る
- メニューバーが出ているのにメニューが開いていなければ、メニューバーをタップする
- 開いたメニューの絵が、管理画面で保存したものと同じか見る
ここでメニューバーすら無いなら、表示期間・保存・下書きを疑います。古い絵が出るなら、優先順位の上にあるAPIのメニューを疑います。

管理画面の側では、次を見ます。PCとスマホで画面が違うので分けて書きます。
PC(LINE Official Account Manager)の場合。
- LINE Official Account Manager にログインする
- 対象のアカウントを選ぶ
- 「トークルーム管理」を開く
- 「リッチメニュー」を開く
- 「予約・公開」タブに、出したいメニューがあるか見る
- そのメニューの表示期間が、今日の日時を含んでいるか見る
- 下書きや期限切れの側に入っていたら、開いて表示期間を直し、「保存」を押す
スマホ(LINE公式アカウントアプリ)の場合。
- LINE公式アカウントアプリを開く
- 対象のアカウントを選ぶ
- メニューから「リッチメニュー」をタップする
- 「予約」タブに、出したいメニューがあるか見る
- 「待機中」に入っていたら、タップして表示期間を設定し、「保存」をタップする

2. 別の端末・別の人の画面で見る
自分のスマホで正しく出るのに「出ない」と言われたら、端末か人の問題です。
- スタッフの別のスマホ(できればiPhoneとAndroidの両方)で、友だち追加してトーク画面を開く
- そこで出るなら、設定は正しい。出ないと言っている人の端末を聞く
- パソコン版LINE・Chrome版LINE・iPadなら、表に書いた仕様で表示されない
- スマホなのに出ない人が特定の数人なら、その人にユーザー単位のメニューが付いているか、ブロック解除をしたかを疑い、次のAPIの確認に進む
教室の窓口では、問い合わせてきた人に「スマホのLINEで見ていますか」と最初に聞くだけで、半分以上は片付きます。
3. Messaging API で、今の設定を取る
管理画面のリッチメニュー一覧にある、現在ユーザーに表示されているメニューの欄には、外部から設定したメニューは出ません。管理画面だけ見ていても、APIで付けたメニューの存在には気づけません。Messaging API を使っている、または過去に連携ツールを入れたことがあるなら、APIで今の状態を取ります。
準備するものは2つです。
- 同じ公式アカウントに紐づく Messaging API チャネルのチャネルアクセストークン(作り方は「Messaging APIの始め方:チャネル・アクセストークン・Webhook」)
- 確かめたい人のユーザーID。LINEアプリに表示されるLINE IDとは別物で、
Uから始まる33文字。自分のユーザーIDは、自分のスマホから公式アカウントにメッセージを1通送り、Webhookに届いたイベントのsource.userIdで控える。管理画面から有効にしたチャネルでは、「チャネル基本設定」タブに自分のユーザーIDの欄は出ていない(2026年10月時点)
まず、APIで設定したデフォルトのメニューがあるかを取ります。
curl -s -w '\nHTTP %{http_code}\n' \
-X GET https://api.line.me/v2/bot/user/all/richmenu \
-H 'Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN'
返ってくるものと意味は次のとおりです。
| 返ってきたもの | 意味 | 次にやること |
|---|---|---|
HTTP 200 と {"richMenuId":"richmenu-…"} | APIのデフォルトのメニューがある。管理画面のメニューより優先されている | そのIDの中身を取って、意図したものか見る |
HTTP 404 と no default richmenu | APIのデフォルトは無い | 管理画面のメニューが出るはず。出ないなら表示期間や保存を見直す |
HTTP 403 と the richmenu is owned by another channel | リファレンスの説明では、LINE Official Account Manager など別のチャネルがデフォルトを設定している | 管理画面側か、別のチャネル(連携ツール)を確かめる |
HTTP 401 | アクセストークンが違う・期限切れ | トークンを発行し直す |
200でIDが返ってきたら、そのメニューの中身を取ります。名前(name)とメニューバーの文字(chatBarText)を見れば、どのメニューか判断できます。
curl -s -X GET https://api.line.me/v2/bot/richmenu/YOUR_RICH_MENU_ID \
-H 'Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN'
特定の人だけ違うメニューが出るときは、その人のユーザー単位のメニューを取ります。
curl -s -w '\nHTTP %{http_code}\n' \
-X GET https://api.line.me/v2/bot/user/YOUR_USER_ID/richmenu \
-H 'Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN'
200でIDが返ればユーザー単位のメニューが付いています。404で the user has no richmenu なら付いていません。404は、存在しないユーザーIDを指定したときや、その人が友だち追加していないときにも返ります。
APIで作ったメニューの一覧も取れます。ただし管理画面で作ったメニューはこの一覧に出ません。
curl -s -X GET https://api.line.me/v2/bot/richmenu/list \
-H 'Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN'
確かめた結果、APIのメニューが邪魔をしているとわかったら、次のどちらかで外します。APIのデフォルトを解除すると、利用者が次にトーク画面を開いたときから管理画面のメニューが出るようになります。
APIで設定したデフォルトを解除するときはこちらです。
curl -s -X DELETE https://api.line.me/v2/bot/user/all/richmenu \
-H 'Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN'
特定の人のユーザー単位のメニューを外すときはこちらです。
curl -s -X DELETE https://api.line.me/v2/bot/user/YOUR_USER_ID/richmenu \
-H 'Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN'
解除は利用者全員の画面に効きます。連携ツールや予約システムがそのメニューを前提に動いている場合は、外す前にツール側の設定を確かめます。ツールが動いたままだと、外してもまた付け直されることがあります。

サンプル料理教室で起きやすい例
ここからは、料理教室のアカウントを例に、実際に起きやすいつまずきを書きます。どれも上の表のどこかに当たりますが、事前に手を打てるものばかりです。
季節のメニューの期間切れで、11月1日の朝にメニューが消える
秋の体験レッスンのキャンペーン用に、9月1日から10月31日までの表示期間で「秋の体験レッスン」メニューを作ったとします。キャンペーン中は通年のメニューを止めていたので、11月1日の0時になると、表示期間内のメニューが1つも無くなります。朝、スタッフが体験の予約を確かめようとしてメニューが無いことに気づく、という流れです。
これを防ぐには、季節のメニューを作るときに、終わった直後から始まる通年のメニューも同時に予約しておきます。表示期間が重なると保存できないので、季節のメニューの終了日時と、通年のメニューの開始日時をぴったりつなげます。あわせて、終了日の1週間前に担当者のカレンダーへ「リッチメニューの期間切れ確認」を入れておくと、延長するかどうかを落ち着いて決められます。
予約システムと連携したら、管理画面のメニュー変更が効かなくなった
体験レッスンの予約を外部の予約システムで受け、そのシステムと公式アカウントを Messaging API で連携したとします。連携の設定で、予約済みの人に「予約の確認・変更」ボタンがあるメニューを出す機能を有効にすると、そのシステムがユーザー単位やAPIのデフォルトのメニューを設定します。
すると、管理画面でレッスン日程の画像を差し替えても、利用者の画面は変わりません。優先順位の上にAPIのメニューがあるからです。連携を入れたら、メニューの管理をどちらか一方に寄せます。予約システム側でメニューを管理するなら、管理画面のメニューは使わない前提にします。管理画面で管理したいなら、予約システム側のメニュー機能は使いません。混ぜると、誰の画面に何が出ているのか、担当者にも説明できなくなります。
入会した人向けのメニューが、いつの間にか体験向けに戻る
入会した人にだけ「振替の申し込み」「持ち物の確認」のメニューを出すために、ユーザー単位のメニューをリンクしているとします。通知が多い時期に一度ブロックして、あとで解除した人は、リンクが外れて全員向けのメニューに戻ります。本人は気づかず、「振替のボタンが無くなった」と問い合わせてきます。
これは、友だち追加(ブロック解除を含む)のときに Webhook に届く follow イベントを受けて、会員かどうかを顧客管理のスプレッドシートやkintoneで引き、会員ならもう一度リンクする処理を入れれば防げます。n8n や Google Apps Script で組める範囲です。リンクはブロック中や友だちでない人に対しては、200が返っても実際には付かないので、必ず友だちに戻ったあとのタイミングで付けます。
スタッフのパソコンで見て「メニューが消えた」と言われる
教室の受付ではパソコン版LINEで問い合わせを見ていることが多く、そこにはリッチメニューが出ません。新しく入ったスタッフが「メニューが無くなっています」と報告してくる、というのが定番です。スタッフ向けの運用メモに「リッチメニューの確認はスマホのLINEで」と1行書いておくだけで、この報告は来なくなります。管理画面の権限の分け方は「LINE公式アカウントの管理画面:ログイン・権限・複数人での運用」にまとめています。

できないことと、その代わり
リッチメニューで、標準機能ではできないことと、その代わりの手です。
| できないこと | 代わりの手 |
|---|---|
| パソコン版LINE・Chrome版LINEでの表示 | あいさつメッセージや応答メッセージに、予約ページなどの入口を文字のリンクでも置いておく(「あいさつメッセージと応答メッセージ:自動返信の組み方」) |
| 管理画面で作ったメニューをAPIで取得・編集する、またはその逆 | どちらか1つの方法でメニューを管理すると決める |
| 管理画面だけで、人ごとに違うメニューを出す | 管理画面で設定できるのはデフォルトのメニューだけ。人ごとに出し分けるなら Messaging API のユーザー単位のメニューか、それを扱える拡張ツールを使う |
| デフォルトのメニューの変更を、開いている画面に即時反映する | 反映は再入室のとき。すぐ切り替えたい人がいるなら、ユーザー単位のメニューは即時に反映される |
| APIで作ったメニューの画像だけを差し替える | 新しいメニューを作って画像を付け、デフォルトやリンクを付け替える。古いメニューはあとで削除する |
| 背景を透過させる | できない。トーク画面の背景に溶け込ませたいなら、画像の地の色をそろえる |
| メニューを変えたことを利用者に知らせる | メニューの更新では通知されない。知らせたいときは、メッセージ配信で「メニューに◯◯を追加しました」と送る |
| Messaging API で、上限を超えてメニューを作る | APIで作れるのは1アカウントあたり1,000件まで(2026年10月時点)。季節ごとに作り足す運用なら、使い終わったメニューを削除する |
人ごと・タグごとの出し分けを月額費用をかけずにやりたい場合は、オープンソースの拡張ツール「L Harness」もユーザー別・タグ別のリッチメニューの自動切り替えを機能として持っています。公式の説明では、リッチメニューを設定する方法は LINE Official Account Manager か Messaging API のどちらかです。外部のツールが人ごとにメニューを出し分けるなら Messaging API のユーザー単位のメニューを使うことになるので、入れたら管理画面のメニューより優先されます。
よく詰まるところ
調べる過程で引っかかりやすいところです。表の原因そのものより、確かめ方で迷う場面を集めました。
- 管理画面で、現在ユーザーに表示されているメニューの欄に出ているから表示されているはずだと思い込む。外部から設定したメニューはその欄に出ないので、APIを使っているアカウントでは利用者の画面と一致しないことがある。利用者の画面とAPIの結果を正とする
- 再入室の意味を取り違える。トーク画面の中で上下にスクロールしても再入室にはならない。トーク一覧まで戻ってから開き直す
- ユーザーIDの代わりにLINE IDを入れて、400や404になる。APIで使うのは
Uから始まる33文字のユーザーIDで、LINEアプリに表示されるLINE IDではない - 別のチャネルのアクセストークンでAPIを叩いている。同じ会社に複数の公式アカウントやチャネルがあると起きやすい。LINE Developers コンソールで、対象の公式アカウントに紐づくチャネルか確かめる
- 自分のユーザーIDを LINE Developers コンソールで探して見つからない。管理画面から有効にしたチャネルの「チャネル基本設定」には欄が無いので、Webhookのイベントの
source.userIdで取る - テストのために自分でブロックと解除を繰り返し、自分に付けていたユーザー単位のメニューが外れたのを「設定が消えた」と勘違いする。ブロック解除でリンクが外れるのは仕様
- 表示期間の開始と終了を、日付だけ見て時刻を見落とす。0時ちょうどに切り替えたつもりで、終了が23時59分になっている、またはその逆。時刻まで確認する
- 新しいメニューを保存したあと、古いメニューをすぐ削除して、開いていた利用者の画面に古いメニューが残ったまま問い合わせが来る。開き直せば消えるので、急いで削除しない
- タブ切り替えのメニューを作り直したときに、古いエイリアスが古いメニューを指したままになっている。エイリアスの付け替えを忘れない
- 画像を1MB以内に収めるために圧縮しすぎて、スマホで文字がにじむ。PNGで重いときは、写真の部分だけJPEGにして書き出し直す
次にやること
表示されない原因がわかったら、メニューの中身と周りの仕組みを整えます。
- リッチメニューの作り方:サイズ・テンプレート・タブ切り替え
- Messaging APIの始め方:チャネル・アクセストークン・Webhook
- あいさつメッセージと応答メッセージ:自動返信の組み方
- LINE公式アカウントの管理画面:ログイン・権限・複数人での運用