Skip to main content

Recipe: Limited Drop, One Per Customer

5 min read Β· Facts checked October 8, 2026

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

WhereScreen β†’ fieldValue
ShopifyProduct β†’ Inventory β†’ Track quantityOn
ShopifyProduct β†’ Inventory β†’ Quantity200
ShopifyProduct β†’ Inventory β†’ Continue selling when out of stockOff
ShopifySettings β†’ Customer accountsSign-in available to shoppers
OrderRulesSettings β†’ Timezone β†’ Store TimezoneYour store's timezone
OrderRulesCustomer Limits β†’ Settings β†’ Enable per-customer limitsOn
OrderRulesCustomer Limits β†’ Settings β†’ Login required messageYour sign-in prompt
OrderRulesCustomer Limits β†’ + Add Rule β†’ Limit TypeTotal Quantity (units)
OrderRulesCustomer Limits β†’ + Add Rule β†’ PeriodLifetime
OrderRulesCustomer Limits β†’ + Add Rule β†’ Max Count1
OrderRulesCustomer Limits β†’ + Add Rule β†’ ScopeSpecific Product β†’ the drop product
OrderRulesCalendar β†’ Add Special Date (drop day) β†’ StatusOpen with special hours, 10:00 to your close time
OrderRulesSettings β†’ Store Closed MessageWhat shoppers see before 10:00
ShopifyProduct β†’ Online Store availabilityPublish 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.

#InputExpected result
1Guest adds 1 unit and goes to checkoutBlocked. The Login required message shows.
2Guest uses Shop Pay from the product pageBlocked at checkout with the same message.
3Signed-in customer checks out 1 unit before 10:00 on drop dayBlocked. The store closed message shows.
4Signed-in customer checks out 1 unit after 10:00Order goes through. Usage for that customer is 1.
5Signed-in customer checks out 2 unitsBlocked: over the per-customer limit.
6Same customer places a second order for 1 unitBlocked: lifetime limit reached.
7Same customer pays with Shop Pay for a second unitBlocked: express checkout is validated the same way.
8You fully cancel the customer's order, then they order againOrder goes through. A full cancel releases usage.
9You refund an order without cancelling, then they order againBlocked. Refunds don't release usage.
10Inventory reaches 0Shopify 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.