Shopify で動く本物のドーナツショップが、毎日売り過ぎなく完売するためには 5 つの重ね合わせルールが必要です。「1 日最大 108 個」という単一の上限ではありません。フレーバー別の生産制限、翌日注文向けの固定された夕方カットオフ、配送日別の在庫(日付がクローズすると次に繰り越される)、リアルタイム更新される顧客向けの完売メッセージを扱う、5 層のルール群です。本稿はそのフルセットアップを案内します ―― Shopify Community のスレッドが詳細に記録したパターンを下敷きにしており、いまではバッチ生産型のフード ビジネス全般で見られる共通設定です。

ドーナツショップ、バッチ ベーカリー、あるいは固定の日次数で回るあらゆる食品系のマーチャントなら、これがあなたの実際の制約に対応するルール セットです。
このショップ:1 日 108 個とは実際どう見えるか
このショップは 1 日に 108 個のドーナツを生産します。数字は恣意的ではありません ―― 朝のピックアップ ウィンドウが開く前にキッチンが混合・発酵・揚げ・仕上げまで終えられる最大バッチです。コア フレーバー 6 種を販売し、毎週シーズナル 2 種をローテーションします。各フレーバーには個別の生産上限があります:メイプル バー 24、グレーズド 30、チョコレート 18、というふうに。
注文フロー:
- 顧客はオンラインで注文 ―― 翌日の固定ロケーションでピックアップ。
- 注文ウィンドウは前日 22 時にクローズ ―― 職人が確定した生産リストを得られます。
- 22 時以降の注文 は自動的に翌々日に繰り越されます。
- 各日の在庫は独立 ―― 火曜日の割り当ては水曜日に影響しません。
- 完売フレーバーは消える ―― 上限に達した瞬間に翌日ピッカーから消えます。
1 つの問題に見えるもの(「ドーナツ販売を 1 日 108 個に制限」)は、実は 5 つの問題のスタックです。Shopify のネイティブな数量制限はそのどれも処理しません。
機能を成立させる 5 つのルール
ルール 1:店舗全体の日次上限 108 個
最初で最重要のルールは、全フレーバー横断の生産天井 108 個です。フレーバー別上限の合計が 108 を超える場合(実際にそうです ―― フレーバー別の数字は個別の天井であり、合計が総容量に揃うわけではありません)を守ります。
これは Shopify がネイティブにサポートしていないルール タイプです。商品ごとの数量制限は、単一チェックアウトでの単一 SKU を制限するもので、すべての SKU を全チェックアウト横断でカウントするものではありません。フル セットアップは Shopify で 1 日の注文を制限する方法 を参照してください。
ルール 2:フレーバー別の日次上限
店舗全体上限の上に、各フレーバーが固有の日次天井を持ちます ―― 通常はそのバリアントをキッチンが実際に作れる量に基づきます。メイプル バーはグレーズ工程があるためグレーズドより時間がかかります。チョコレートはガナッシュのバッチサイズで制限されます。フレーバー別上限は恣意的な数字ではなく、実際の生産制約を反映します。
2 つのルールは合成されます。メイプル バーが 24、店舗全体が 108 なら、先に天井に当たった方がそのバリアントを閉じます。他のフレーバーが完売する前にメイプル バーへの注文が殺到すれば、メイプル バーは 24 で閉まり、他のフレーバーは開いたままです。緩慢な日でも合計が 108 に達すれば、複数フレーバーが個別上限の下にあっても店舗全体上限がすべてを閉じます。
これは店主が 「1 日 108 個作るけど、フレーバーごとに上限が違う」 と説明する設定です。単一ルール版では捉えられません。
ルール 3:翌日 22 時カットオフ
毎晩 22 時に、翌日の注文ウィンドウがクローズします。22 時 01 分にサイトを訪れた人には、明後日が次の利用可能なピックアップ日として表示されます。これはストア クロージャーではありません ―― ショップは依然オープン中(サイトは引き続き注文を受け付けます、ただしより後の日付向けに)。これは履行カットオフです:明日分の生産リストはここで確定・凍結されます。
カットオフが存在するのは、職人が午前 4 時に作業を始めるからです。彼らはプリンターから持ち出せるリストを必要としており、22 時から 3 時 30 分の間にあと 3 件追加されるかもしれないリストでは困ります。22 時は、カットオフから生産開始まで 6 時間の余裕を与えます。
カットオフ ルールの詳細は Shopify で当日・翌日注文のカットオフ時刻を設定する を参照してください。
ルール 4:繰り越される配送日別在庫
このルール セットと一般的な「日次注文上限」との決定的な違いは、上限が 配送日別 であり 注文日別 ではないことです。火曜日に金曜日ピックアップで注文した顧客は、火曜日ではなく金曜日の割り当てを消費します。
つまり OrderRules のカウンターは、注文タイムスタンプではなく要求された履行日にインデックスされる必要があります。火曜日のカウンターは火曜日ピックアップの注文を追跡します。水曜日のカウンターは独立しています。金曜日のカウンターは、その 108 個上限が満杯になるか、木曜日 22 時カットオフが発火するまで、週を通じて注文を受け付けられます。
バッチ生産型のビジネスにとって、これは「なんとなく動くアプリ」と「実際の運用に対応するアプリ」を分けるルール タイプです。配送日別カウントは交渉の余地がありません。
ルール 5:完売フレーバーの可視化
特定のフレーバーが特定の日付の上限に到達したら、そのフレーバーは日付ピッカーから視覚的に消える(または明確な「完売」インジケーター付きでグレーアウトする)必要があります。それでもそのフレーバーを選んだ顧客には、チェックアウト レベルのブロック メッセージが表示されます。
OrderRules のダイナミック テンプレート変数({REM_QTY}、{MAX_QTY}、{USED_QTY})がストアフロント テーマに組み込まれ、リアルタイムの在庫状況を表示します。顧客がメイプル バーの商品ページで「明日分残り 8」と見るかもしれません。次の顧客は「残り 5」を見る。数分後には「明日分完売 ―― 次回利用可能日は金曜日」。
これは飾りではありません ―― 代替フレーバーを選ぶ顧客と、混乱してカートを放棄する顧客との分かれ目です。
なぜ Shopify ネイティブでは不足するのか
各ルールに必要なものと Shopify が提供するものをまとめます:
| ルール | 必要なもの | Shopify ネイティブ | OrderRules |
|---|---|---|---|
| 店舗全体の日次上限 108 | 全 SKU 横断で単一の天井に対する注文カウント | 未サポート | 対応 |
| フレーバー別の日次上限 | 各 SKU の単位を SKU 別天井に対し全チェックアウト横断でカウント | チェックアウト単位のみ ―― 新規チェックアウト開始でリセット | 対応 ―― サーバーサイド台帳 |
| 翌日 22 時カットオフ | 翌日履行スロットを固定時刻でクローズ | 未サポート | 対応 ―― スケジューリング ルール |
| 配送日別在庫 | 注文タイムスタンプではなく要求履行日にインデックスされたカウンター | 未サポート | 対応 |
| 完売フレーバーの可視化 | フレーバー別カウンターに紐づくリアルタイム ストアフロント表示 | 未サポート | 対応 ―― {REM_QTY} テンプレート変数 |
5 つのルール。ネイティブ サポートはゼロ。これがバッチ生産型のフード ビジネスが Shopify のデフォルトを超えてしまい、専用のルール エンジンを必要とする理由です。
カットオフ時刻の決定
初めて設定する店舗からよく出る質問:なぜ 22 時で、深夜 0 時ではないのか? 答えは技術的ではなく運用上のものです:
- バッファ時間 ―― 職人はカットオフから生産開始まで最低 4〜6 時間が必要です。0 時カットオフ + 4 時キッチン スタートでは、生産シートを印刷・確認・調整する余裕がほとんどありません。
- 深夜のブラウジング パターン ―― 23 時にサイトへ来て翌日分を物色する顧客は、0 時までに決まらないことが多いです。彼らは 翌々日 を頼むことになります ―― そして運用上の結果(注文がカットオフ後バケットへ落ちる)は同じです。
- 意思決定の確定性 ―― 生産は固定リストを必要とします、「ほぼ確定」ではなく。0 時より前のカットオフは凍結を曖昧さなく決めます。
ほとんどのバッチ生産型のフード ビジネスは、前日 21 時〜23 時の間のカットオフに収束し、22 時が最もよく見られます。
このパターンの応用
5 ルール スタックはドーナツ専用ではありません。次のようなバッチ生産型のフード ビジネスに当てはまります:
- 固定の日次生産天井
- 個別のサブ上限を持つ複数 SKU
- 翌日または近い将来の履行ウィンドウ
- 生産開始前の運用上のデッドライン
該当する業態:
- カスタム ケーキ ベーカリー ―― ベーカリーがカスタム ケーキ注文を Shopify でどう管理するか を参照。
- ミールプレップ サービス ―― メニュー別サブ上限、週次注文ウィンドウのカットオフ。
- アルチザン アイスクリーム ―― フレーバー別サブ上限、バッチごとの日次天井。
- シャルキュトリー / ケータリング ボード ―― サイズ別サブ上限、リードタイム カットオフ。
- 専門クッキー&ペストリー ―― バリアント別サブ上限、夕方カットオフ。
なぜこれが広く起こるのかについては Shopify のキャパシティ問題:なぜマーチャントは売り過ぎるのか を参照してください。このパターンは、キャパシティ制約のあるマーチャントにとって普遍的です。
数字:売り過ぎないことの収益インパクト
売り過ぎには実コストがあります。1 日 108 個を平均 4 $ で販売するドーナツショップなら、満稼働で日次収益 432 $ です。売り過ぎた日は:
- 返金 ―― 典型的には 1〜3 件の注文が影響、直接返金 4 $〜60 $。
- カスタマーサービスのオーバーヘッド ―― 返金 1 件あたり 10〜30 分、時給 25 $ の労務で 4 $〜12 $。
- 顧客チャーン ―― 一度返金された顧客は戻ってくる可能性が大きく下がり、生涯価値の損失は返金額そのものを上回ることがあります。
- 評判ダメージ ―― 怒った顧客はネガティブなレビューを残します。小さなベーカリーの Google プロファイルへの 1 つ星 1 件は、来店トラフィックを数週間にわたって落とします。
このルール セットをきつく回す店舗は逆の結果に至ります:ほとんどの日に 20 時までに完売、顧客は「遅く頼むと逃す」ことを学び、早めに頼むようになります。希少性は誠実に運用されれば、マーケティング資産になります。雑に運用される(売り過ぎて謝る)と、負債になります。
フル スタックのセットアップ
設定順序:
- Shopify App Store から OrderRules をインストール。
- 店舗全体の日次上限を作成(108 個、日次リセット)。手順:Shopify で 1 日の注文を制限する方法。
- 各フレーバー商品に フレーバー別上限を追加。多くの SKU を一度に扱うには CSV 一括インポート を使用。
- OrderRules の Schedule セクションで 翌日 22 時カットオフを設定。手順:カットオフ時刻の設定。
- 配送日別カウントを設定 ―― 各未来日付が独自のカウンターを持つように。
- 各フレーバーの商品ページで ストアフロント メッセージ を
{REM_QTY}テンプレート変数で接続。 - 各ルールの境界で 下書き注文でテスト:店舗全体 107、メイプル バー上限、22:00 カットオフ境界、22:01 の翌日繰り越し。
まとめ
Shopify で 1 日 108 個を売るドーナツショップは、1 本のルールを動かしているのではなく ―― 5 本の重ね合わせルールを動かし、それらが単一の整合的な生産規律として構成されます。Shopify はいずれにもネイティブ サポートを提供しません。OrderRules は 5 本すべてを処理し、ルールは注文日ではなく配送日にインデックスされ、Shopify Functions でサーバーサイドに強制され、動的なストアフロント メッセージとして顧客に提示されます。
これはマーチャントが Shopify Community のスレッドで 「単なる商品単位の上限ではなく、本当に必要な注文制限」 と呼ぶルール セットです。バッチ生産型のフード ビジネスの運用現実に対応し ―― デモで動くアプリと本番で動くアプリを分けるものでもあります。
注文制限カテゴリーの完全なアプリ比較は Shopify 注文制限アプリのハブ を参照してください。より広いフード業態の設定は ベーカリーが Shopify をどう使うか と Shopify でレストランのテイクアウト注文を管理する を参照してください。