注文ルールが1つだけなら簡単です。Shopify自体が、1つのカートに商品を何個入れられるかを制限してくれます。実際にマーチャントの利益を圧迫する課題には、複数のルールの連携が必要です。最低数量とパックの倍数と上限が必要な卸売ストア。顧客ごとの上限と締め切りと在庫上限が必要なドロップ販売。営業時間と当日締め切りとキャパシティ制限が必要なキッチン。過剰販売や発注ミスも小さな問題ではありません。IHL Groupのアナリストは、欠品と過剰在庫の世界的なコストを年間1兆ドル超と見積もっています(IHL Group、方向性を示すものですが、桁のスケールこそが要点です)。
これは、そうしたルールをShopifyで組み合わせるためのレシピ集です。各レシピは現実のマーチャントのシナリオ、それを解決する正確なルールの組み合わせ、油断すると崩れる落とし穴、そしてShopify標準機能が行き詰まる場所で構成されています。ざっと読めるようにできています。自分に最も近いシナリオを見つけて、その組み合わせをコピーしてください。
簡潔な答え:Shopifyで注文ルールはどう組み合わさるのか?
注文ルールはANDで結合されます。適用されるすべてのルールを通過しなければならないため、最も厳しいものが優先されます。 ルールはスコープ(ストア、コレクション、商品、バリエーション)ごとに重ねます。数量ルール、顧客ごとの上限、タイミングルール(営業時間、締め切り、キャパシティ)を設定し、Shopify Functionを介してチェックアウトでスタックを強制します。Shopifyの唯一の標準制御はチェックアウトごとのカート追加上限なので、スタックにはOrderRulesのようなアプリが必要です。
ルールの材料
以下のレシピはすべて、これらの構成要素から組み立てられています。材料を一度覚えてしまえば、あとのレシピはただの組み合わせです。
| ルール | 何をするか | スコープ | Shopify標準機能か? |
|---|---|---|---|
| 最低注文数量(MOQ) | 下限を設定する。「N個以上」 | ストア/コレクション/商品/バリエーション | いいえ |
| 1注文あたりの上限 | 単一の注文を制限する。「N個以下」 | ストア/商品/バリエーション | チェックアウトごとのカート追加のみ |
| ステップ/倍数 | 倍数での購入を強制する。「6、12、18…」 | 商品/バリエーション | いいえ |
| 最低注文金額(MOV) | 数量ではなく金額での下限 | ストア/コレクション | いいえ |
| 顧客ごとの制限 | 複数の注文にまたがって購入者ごとの数量を制限する | ストア/商品 | いいえ |
| 営業時間 | 営業時間外のチェックアウトをブロックする | ストア | いいえ |
| 注文締め切り | 指定した時刻/日付で注文を締め切る | ストア/商品/お届け日 | いいえ |
| キャパシティ上限 | 日ごと・枠ごとの注文数を制限する | ストア/日付/枠 | いいえ |
一貫したポイント。Shopifyが標準で提供するのはこのうち正確に1つだけ(商品単位・チェックアウト単位のカート追加上限)です。それ以外のすべて、そしてあらゆる組み合わせは、Functionでルールをチェックアウトで強制することから生まれます。仕組みについては、Shopifyのチェックアウト検証が注文をブロックする仕組みをご覧ください。
唯一の原則:ルールはANDで結合される
レシピに入る前に、そのすべてを支配するルールを。複数のルールが同じカートに適用されるとき、それらはANDで結合されます。すべてをクリアしなければならず、最も厳しいものが顧客の体験になります。 最低6、ステップ2、上限20に対して8個のカートは、3つすべてを通過します。7個のカートはステップで失敗します。数量ルールに問題がなくても、顧客ごとの上限8に対する9個目はその上限で失敗します。
覚えておくべき結果が2つあります。
- 矛盾は商品をロックします。 最低数量を上限より高く設定すると、どの数量も両方を満たせず、その商品は購入不可能になります。組み合わせは常に範囲を狭めるように設計してください。
- 重なり合うスコープは両方適用されます。 ある商品がそれぞれ上限のある2つのコレクションに属している場合、両方の上限が有効で、より厳しい方が優先されます。意図的な組み合わせは強力ですが、偶発的な組み合わせはサポートチケットのもとです。
これを念頭に置けば、以下のレシピはきれいに組み合わさります。
レシピ:B2B/卸売のケースパック
シナリオ: 固定のケースパックで業者バイヤーに販売しており、本物の最低数量、パックの倍数、上限を設けたい。
組み合わせ:
- ステップ6(またはご自身のパックサイズ)。バイヤーは6、12、18…でしか注文できません。
- 最低注文数量6。ステップの倍数なので、下限とパックが一致します。
- 1注文あたりの上限(例:240)。誤った大量入力を検出する妥当な上限。
- 任意で最低注文金額を、数量の下限に加えて金額の下限として。
落とし穴: ステップのない最低数量ではパックを強制できません。バイヤーが6個、次に7個、次に13個と注文すると、ケースパックの物流が崩れます。最低数量はステップの倍数でなければなりません。詳細は倍数/ケースパックでの販売とMOQガイドで。
標準機能の壁: Shopify標準のB2B数量ルールが対応するのは、B2B/卸売のコンテキストでバリエーションごとの増分だけで、プーリングはできません。カート追加上限ではストアの最低数量をそもそも設定できません。
レシピ:公平な数量限定ドロップ
シナリオ: 話題性が高く在庫の限られたリリースを、1人のバイヤーやボットに買い占められることなく、実在する顧客に広く行き渡らせたい。最もホットなドロップでは、アンチボットベンダーの報告によると、非オーガニックなトラフィックが約99%まで急増します(Kasada、Queue-it——ベンダー報告、方向性を示すもの)。
組み合わせ:
- 顧客ごとの制限1、カートごとではなく注文にまたがって追跡。
- ゲストチェックアウトのブロック/ログイン必須。上限がIDに紐づくように。
- 販売数に等しい日ごと/在庫上限。過剰販売できないように。
- ドロップ締め切り。設定した時刻にチェックアウトが開き、閉じます。
落とし穴: チェックアウトごとの制限は顧客ごとの制限ではありません。別々の10件の注文は、それぞれがカートごとの上限を通過してしまいます。そしてゲストチェックアウトは、顧客ごとの制限がカバーできない穴です。顧客ごと対チェックアウトごとの制限と転売対策ガイドをご覧ください。
標準機能の壁: Shopifyには標準のボット対策CAPTCHAはありますが、通常のストアフロント向けの顧客ごとの購入上限はありません。最大級のドロップでは、この組み合わせを抽選や待ち行列のアプリと併用してください。混乱なく数量限定ドロップを実施するをご覧ください。
レシピ:当日の生鮮品
シナリオ: 実際に作って手渡さなければならない当日注文を受けるベーカリーや生鮮食品店。
組み合わせ:
- 注文締め切り(例:14時)。それ以降は当日注文を締め切り、翌日に繰り越します。
- 日ごとのキャパシティ上限。その日にキッチンが生産できる最大の注文数。
- 営業時間。閉店中はチェックアウトをブロックし、対応できない深夜2時の注文を防ぎます。
落とし穴: 締め切りはタイムゾーンに影響されます。締め切りはストアのタイムゾーンで設定してください。そうしないと、3つ離れたタイムゾーンの顧客がすり抜けてしまいます。またキャパシティ上限は、注記として表示するだけでなくチェックアウトで強制されて初めて機能します。締め切り時刻の設定と配送キャパシティ制限をご覧ください。
標準機能の壁: Shopifyには標準の締め切りも、日ごとの注文上限も、営業時間によるチェックアウトのブロックもありません。3つともルールのレイヤーから生まれます。まずは営業時間の設定方法から始めてください。
レシピ:受注生産のスタジオ
シナリオ: 在庫ではなくキャパシティを売る、受注で作る家具、陶器、カスタム品。需要は本物です——Deloitteの調査では、おおよそ3人に1人の消費者がカスタマイズされた商品に関心を持ち、約20%のプレミアムを支払う意向があることがわかりました(方向性を示すもの)。
組み合わせ:
- リードタイムのお届け日。顧客には「発送まで3〜4週間」と表示され、実現不可能な日付を選べません。
- 商品ごとの週次生産上限。手間のかかる遅い品目には、速い品目より厳しい上限を。
- 配送締め切り。リードタイムを考慮して、選択した日付にまだ間に合う最後の注文。
落とし穴: inventory ≠ capacity。Shopifyは在庫を数えますが、受注生産の店には在庫がありません。そのため標準の在庫制限では「今週何個作れるか」をモデル化できません。ペースを制限してください。詳しい手順は受注生産のリードタイムと生産上限で。
標準機能の壁: 標準のリードタイムエンジンも、週次の注文上限も、生産締め切りもありません。OrderRulesがキャパシティ/リードタイムのレイヤーで、オプション自体には商品カスタマイザーを併用してください。
レシピ:過剰販売なしの予約バッチ
シナリオ: 一度だけ製造するバッチの予約を受けており、そのバッチが収まる以上に売ってはいけない。
組み合わせ:
- バッチサイズに等しい予約総数の上限。バッチが埋まったら止まる商品ごとの注文制限。
- 顧客ごとの制限。1人のバイヤーが販売分すべてを占有できないように。
- 予約締め切り日。予約を締め切り、生産を確定させる時点。
落とし穴: 予約は受注生産ではありません。予約は、ある日付に発送される固定バッチを売るので、決め手となる制限は総数であって、週次の生産ペースではありません。Shopifyの「在庫切れ時に販売を続ける」をオンにするとブレーキが完全に外れ、予約がバッチを超えて進んでしまいます。代わりに総数を制限してください。(購入後に作る品目には、受注生産のレシピを使ってください。)
標準機能の壁: Shopifyには「予約を総数Nで制限する」という標準機能はありません。在庫はゼロでブロックするか、制限なく過剰販売するかのどちらかです。
レシピ:地域の食品配送
シナリオ: 自分のエリア内で配送する食品店で、本物の注文最低額、営業時間の強制、枠ごとのキャパシティを設けたい。
組み合わせ:
- 営業時間。閉店中はチェックアウトさせない。
- 最低注文金額。小口注文で赤字にならないための配送下限。
- 枠ごとのキャパシティ上限。配送枠ごとの注文数を制限。
- 配送とあわせた店頭受け取りオプション。
落とし穴: Shopify標準のローカル配送はShop Payでのみ機能し、Apple Pay、Google Pay、Amazon Pay、PayPalでは機能しません。そのため、ウォレットの購入者は標準の配送設定をかわせてしまいます。サーバー側のルールなら、あらゆる決済方法で強制します。シナリオの詳しい流れは食品店のローカル配送で。
標準機能の壁: 上記のShop Payのみという制限に加えて、標準のMOVも枠ごとの上限もありません。
レシピ:サブスクリプションボックスの受付枠
シナリオ: サイクルごとに売り切れ、満員になったら新規受付を締め切る必要がある月額ボックス。
組み合わせ:
- サイクルごとの新規登録上限。サイクル前に受け入れる新規サブスクライバー数を制限。
- 登録締め切り。それ以降の新規登録を次サイクルに繰り越す日付。
- 複数のボックス階層が生産上限を共有する場合のコレクションごとのキャパシティ。
落とし穴 — 最大のもの: チェックアウト検証Functionは新規の登録/チェックアウトでは実行されますが、サブスクリプションの定期注文ではサポートされていません。そのため、この組み合わせが制御するのは、誰がいつ参加するかであって、その後に続く更新ではありません。これらのルールで更新を抑えようとしないでください。評価されません。詳細はサブスクリプションボックス向けのShopifyで。
標準機能の壁: サブスクリプションアプリ(Recharge、Appstle、Seal)はサイクルごとに課金しますが、サイクルごとのボックス数を制限したり、満員時に登録を締め切ったりはしません。それはそれらの隣に立つルールのレイヤーです。
レシピ:フラッシュセールの公平性
シナリオ: 一握りの人に買い占められるのではなく、多くの顧客に届けたい期間限定プロモ。
組み合わせ:
- プロモ商品への顧客ごとの制限。
- 2つ目の上限としての1注文あたりの上限。
- 意図したときにだけセールが走るための営業時間/時間帯。
落とし穴: フロントエンドの「1点限り」バナーは見た目だけです。エクスプレスウォレットの購入者はカートページのスクリプトを一切見ません。上限はサーバー側で強制してください。関連:顧客ごとの注文制限。
標準機能の壁: 標準の顧客ごとの上限はありません。カート追加上限は1つのカートを制限するだけなので、繰り返しの注文は通過します。
レシピを一望する
| シナリオ | ルールの組み合わせ | 主な落とし穴 |
|---|---|---|
| 卸売のケースパック | ステップ + MOQ(ステップの倍数)+ 上限 + MOV | ステップのない最低数量はパックを崩す |
| 数量限定ドロップ | 顧客1 + ゲストブロック + 在庫上限 + 締め切り | チェックアウトごと ≠ 顧客ごと。ゲストチェックアウトの穴 |
| 当日の生鮮品 | 締め切り + 日ごとキャパシティ + 営業時間 | 締め切りのタイムゾーン。チェックアウトで強制必須 |
| 受注生産 | リードタイム日付 + 週次上限 + 配送締め切り | inventory ≠ capacity。ペースを制限する |
| 予約バッチ | 予約総数上限 + 顧客ごと + 締め切り日 | ペースではなく総数を制限する |
| 地域の食品配送 | 営業時間 + MOV + 枠ごと上限 + 店頭受け取り | 標準のローカル配送はShop Payのみ |
| サブスクリプションボックス | 新規登録上限 + 登録締め切り + コレクション上限 | Functionは更新では実行されない |
| フラッシュセールの公平性 | 顧客ごと + 1注文あたりの上限 + 時間帯 | フロントエンドの制限は回避できる |
Shopify標準機能が壁にぶつかる場所
レシピは同じ壁に何度も突き当たるので、はっきり述べておく価値があります。標準では、Shopifyが提供するのは以下です。
- 数量制御が1つ。商品単位・チェックアウト単位のカート追加上限(設定 → チェックアウト)。
- B2B数量ルール。最低数量と増分。ただしB2B/卸売のコンテキストで、バリエーションごとに限られ、バリエーションをまたぐプーリングはできません。
- ログインや高リスクフォームでのボット対策CAPTCHA。
以上です。標準のストア全体の最低数量も、注文をまたぐ顧客ごとの上限も、営業時間によるチェックアウトのブロックも、締め切りも、日ごとのキャパシティも、そしてそれらのいずれかを組み合わせる方法もありません。かつて一部のマーチャントはShopify Scriptsでこのギャップを埋めていましたが、Scriptsは廃止されつつあり(チェックアウトScriptsは2026年に実行を停止)、代わりにShopify Functionsへ移行しています。これこそ、現代のルールアプリが使う仕組みそのものです。全体像はShopify注文ルールの完全ガイドにあります。
自分のルールの組み合わせを作る方法
組み合わせを作る手順は、どのレシピでも毎回同じ5つの動きです。
- スコープを決める。 ルールがストア全体、コレクション、商品、バリエーションのどれに当たるかを決めます。スコープこそが、異なる商品に異なるルールを持たせられる仕組みです。
- 数量ルールを設定する。 最低、上限、ステップ。最低数量はステップの倍数に保ちます。
- 顧客ごとの制限を追加する。 注文をまたいで、IDに紐づくようにログインを必須にします。
- タイミングルールを追加する。 営業時間、締め切り、キャパシティ。対応できるときにだけ注文が入るように。
- 強制してテストする。 Functionを介してチェックアウトで組み合わせ全体を実行し、各ルールを壊そうとしてテストします。
ルールを組み合わせるときの落とし穴
良い組み合わせをサポートの行列に変えてしまう、横断的なミスです。
- 最低が上限を上回ると商品がロックされます。どの数量も条件を満たしません。
- ステップのない最低数量はパックサイズを保てません。
- 重なり合うスコープは二重になります。より厳しいルールが優先され、ときに意外な結果になります。
- ゲストチェックアウトはあらゆる顧客ごとの制限を無効化します。ログインを必須にしてください。
- 更新は評価されません。 サブスクリプションのルールが制御するのは登録であって、定期注文ではありません。
- タイムゾーンのずれは、遠くの顧客に締め切りをすり抜けさせます。時刻はストアのタイムゾーンで設定してください。
- フロントエンドのみの制限は見た目だけです。エクスプレスウォレットはそれを回避します。サーバー側で強制してください。
公開前に組み合わせをテストする
壊そうとしたことのない組み合わせは、ただの当て推量です。公開前に、各ルールに違反するテスト注文を順番に行ってください。
- 最低を下回る注文を1件、上限を超える注文を1件。どちらもブロックされるはず。
- ステップから外れた数量(ステップ6に対して7)。ブロックされるはず。
- 同じアカウントでの顧客ごとの2回目の注文。ブロックされるはず。
- 締め切り後または営業時間外の注文。ブロックされるはず。
- エクスプレスウォレットでのチェックアウト(Shop Pay)。カートページだけでなく、組み合わせがまだ有効に保たれることを確認。
自分の組み合わせを壊そうとする5分間が、放っておけば実在の顧客に届いてしまう設定ミスを捕まえます。
結論
単一のルールは当たり前の前提。解くに値するマーチャントの課題は組み合わせの中にあります。最低数量と倍数と上限と締め切りが、すべて同時に成り立つこと。原則はシンプルで(ルールはANDで結合され、最も厳しいものが優先される)、レシピは実証済みの組み合わせにすぎず、そしてそのすべては、回避できないチェックアウトで強制されて初めて機能します。ご自身のストアに最も近いレシピを見つけ、その組み合わせをコピーし、壊そうとしてテストしてください。
OrderRulesを無料で始めて、最初の組み合わせを作り、望む注文だけを、そして望まない注文を静かに拒みながら、チェックアウトに正確に強制させましょう。