---
title: "Recipe: Limited Drop, One Per Customer"
description: "A testable setup for a limited release: one unit per customer for life, inventory as the hard cap, checkout opening at a set time, and guests blocked. Needs the Pro plan."
contentType: "docs"
locale: "en"
localized: true
source: "https://orderrules.com/docs/recipes/limited-drop"
slug: "recipes/limited-drop"
---
## Limited Drop: One Per Customer

**This recipe sells a limited release fairly: one unit per customer for life, a fixed total, checkout opening at a set time, and no guest checkouts.** Shopify inventory caps the total. An OrderRules per-customer rule caps each buyer. A Calendar special date opens checkout at drop time. Per-customer limits need the **Pro** plan ($9.99/month). Store hours and the Calendar work on every plan.

## Requirement spec

The example below uses placeholder numbers. Swap in your own.

- Each customer can buy **1 unit** of the drop product. Ever.
- The release is **200 units** in total.
- Checkout for the drop opens **Saturday at 10:00** in your store's timezone.
- Shoppers must be **signed in** to buy. No guest checkout.
- The limit holds on Shop Pay and other express checkouts.

## Configuration

| Where | Screen → field | Value |
|---|---|---|
| Shopify | Product → Inventory → Track quantity | On |
| Shopify | Product → Inventory → Quantity | 200 |
| Shopify | Product → Inventory → Continue selling when out of stock | Off |
| Shopify | Settings → Customer accounts | Sign-in available to shoppers |
| OrderRules | Settings → Timezone → Store Timezone | Your store's timezone |
| OrderRules | Customer Limits → Settings → Enable per-customer limits | On |
| OrderRules | Customer Limits → Settings → Login required message | Your sign-in prompt |
| OrderRules | Customer Limits → + Add Rule → Limit Type | Total Quantity (units) |
| OrderRules | Customer Limits → + Add Rule → Period | Lifetime |
| OrderRules | Customer Limits → + Add Rule → Max Count | 1 |
| OrderRules | Customer Limits → + Add Rule → Scope | Specific Product → the drop product |
| OrderRules | Calendar → Add Special Date (drop day) → Status | Open with special hours, 10:00 to your close time |
| OrderRules | Settings → Store Closed Message | What shoppers see before 10:00 |
| Shopify | Product → Online Store availability | Publish on drop day, after midnight and before 10:00 |

**Store hours close the whole store, not one product.** The Calendar special date stops every checkout on drop day until 10:00. Publish the product inside that closed window, so shoppers can see it but can't check out early. If it's live the day before, your normal hours apply and it can sell then. If you sell other products and can't close for that window, leave the drop product unpublished until 10:00 instead. In that case the opening time is Shopify's publishing, not OrderRules.

## Test cases

Run these on a duplicate test product with the same settings, before drop day.

| # | Input | Expected result |
|---|---|---|
| 1 | Guest adds 1 unit and goes to checkout | Blocked. The Login required message shows. |
| 2 | Guest uses Shop Pay from the product page | Blocked at checkout with the same message. |
| 3 | Signed-in customer checks out 1 unit before 10:00 on drop day | Blocked. The store closed message shows. |
| 4 | Signed-in customer checks out 1 unit after 10:00 | Order goes through. Usage for that customer is 1. |
| 5 | Signed-in customer checks out 2 units | Blocked: over the per-customer limit. |
| 6 | Same customer places a second order for 1 unit | Blocked: lifetime limit reached. |
| 7 | Same customer pays with Shop Pay for a second unit | Blocked: express checkout is validated the same way. |
| 8 | You fully cancel the customer's order, then they order again | Order goes through. A full cancel releases usage. |
| 9 | You refund an order without cancelling, then they order again | Blocked. Refunds don't release usage. |
| 10 | Inventory reaches 0 | Shopify stops the sale as sold out. |

## Edge cases and limits

- **Near-simultaneous checkouts.** OrderRules validates from a snapshot and can't reserve or lock a unit. Two checkouts for the same customer in the same second could both pass. Shopify inventory is your cap on total units; keep it set to the release size.
- **One account, one allowance.** The limit counts per Shopify customer account. A person with several email addresses can sign up several times. OrderRules can't link those accounts.
- **POS isn't blocked.** Point of Sale orders skip checkout validation. They still count toward the customer's usage when they're linked to the customer.
- **Refunds don't release usage.** Neither do partial cancels. Only a full cancel gives the allowance back.
- **Counting starts when you set up the rule.** Earlier orders don't count. Lifetime never resets, so delete or edit the rule once the drop is over.
- **Guests are blocked storewide.** While customer limits are on, every guest checkout is blocked, not only the drop product. Tell shoppers to create an account before drop day.
- **Not covered by validation:** order edits, subscription renewals, pre-order and try-before-you-buy orders, and orders created through the Create Order API.

## Related

- [Sneaker drops: how to beat scalpers](/blog/shopify-sneaker-drops-beat-scalpers)
- [Customer limits feature](/features/customer-limits)
- [Per-customer quantity limits](/docs/customer-rules/per-customer-quantity-limits) · [Limit periods](/docs/customer-rules/limit-periods)
- [Guest checkout blocking](/docs/guides/guest-checkout-blocking)
- [Holiday calendar](/docs/store-hours/holiday-calendar) · [Daily schedules](/docs/store-hours/daily-schedules)
- [Compatibility and limitations](/docs/guides/compatibility-and-limitations)
