---
title: "How to Limit Purchase Quantity Per Customer on Shopify (Not Per Checkout)"
description: "Limit purchase quantity per customer on Shopify — not per checkout — so resellers can't run multiple back-to-back orders. Set daily, weekly, monthly, yearly, rolling 30-day or lifetime caps enforced at checkout with Shopify Functions."
contentType: "blog"
locale: "en"
localized: true
source: "https://orderrules.com/blog/per-customer-order-limits-shopify-guide"
slug: "per-customer-order-limits-shopify-guide"
date: "2026-05-12"
tags:
  - "shopify"
  - "per customer limit"
  - "limit one per customer"
  - "per checkout"
  - "bulk buying"
  - "resellers"
  - "fair distribution"
---
Set [per-customer order limits](/features/customer-limits) on Shopify using an app like OrderRules that tracks purchases by logged-in customer ID, then enforces daily, weekly, monthly, yearly, rolling 30-day or lifetime caps at checkout — stopping resellers from bulk buying and spreading stock fairly across customers. Shopify has no native per-customer limit across orders, making an app essential for limited drops, handmade goods, bakeries, and any business where controlling per-customer purchase volume directly impacts profitability and brand reputation.

> **Want the conceptual explainer first?** If you're unsure why a "2 per order" rule still lets one reseller buy 10, read [Per-Checkout vs Per-Customer Limits on Shopify](/blog/per-checkout-vs-per-customer-limits-shopify) — it covers the difference between the two rule types and which Shopify apps offer per-customer limits. This page is the setup walkthrough.
>
> **Looking for anti-scalping or anti-bot guidance specifically?** If your problem is adversarial — sneaker bots, resellers creating fake accounts, or coordinated buyouts of limited drops — read the [anti-scalping guide](/blog/anti-scalping-shopify-per-customer-purchase-limits) for that specific threat model.
>
> **Enforcing a legal or policy cap?** If a regulation limits how much one person may buy — alcohol volumes, pseudoephedrine, supplements, controlled goods — read [Selling Regulated Products on Shopify: Enforcing Legal Purchase Limits](/blog/shopify-regulated-product-purchase-limits).

## Why Per-Customer Limits Matter

The reseller problem is real — it's part of a broader [capacity problem that plagues Shopify merchants](/blog/shopify-capacity-problem-why-merchants-oversell). For small merchants selling handmade or limited-quantity goods, a single reseller can wipe out an entire week's inventory in minutes.

![Per-customer order limits on Shopify](/images/blog/per-customer-order-limits-shopify-guide.png)
Here is what happens without per-customer limits:

- **Sneaker drops and collectibles:** Bots and resellers buy 50+ units, leaving real fans empty-handed
- **Handmade goods:** One wholesale buyer places a 200-unit order when you can only make 30 per week
- **Bakeries and food businesses:** A corporate customer orders 40 cakes, blocking all other customers
- **Discount and sale events:** A single shopper hoards discounted inventory for arbitrage

The cost adds up. Large bulk orders are more likely to be partly canceled, returned, or disputed. And every bulk buyer you need to contact and negotiate with takes staff time.

## How Per-Customer Limits Work

Per-customer limits in OrderRules work by tracking each customer's purchase history against a configurable allowance. Here is the technical flow:

### Customer Identification

OrderRules identifies customers by their **Shopify Customer ID**, read from Shopify's checkout session. It's the most reliable identifier because clearing cookies, using incognito mode, or typing a different email doesn't change it.

Because the count needs an account to attach to, **guest checkout is blocked while customer limits are on** — shoppers log in or create an account before checking out. That's what closes the "new email, new order" loophole.

### Limit Periods

OrderRules supports six limit periods — daily, weekly, monthly, yearly, rolling 30 days, and lifetime. The four calendar ones:

| Period | Resets | Best For |
|--------|--------|----------|
| **Daily** | Midnight in your store's timezone | Bakeries, restaurants, daily-drop brands |
| **Weekly** | Monday, midnight (weeks run Monday–Sunday) | Handmade goods, subscription boxes |
| **Monthly** | 1st of each month | Wholesale accounts, high-value items |
| **Lifetime** | Never resets | Limited editions, one-per-customer items |

You can also combine periods by adding two rules. For example: a customer can buy **2 per day** and **5 per month**. Both rules are checked at checkout.

### Enforcement via Shopify Functions

Per-customer limits are enforced through **Shopify Functions checkout validation**. This is a critical technical detail. Unlike apps that use JavaScript on the product page (which can be bypassed by disabling JavaScript), Shopify Functions run server-side within Shopify's own checkout infrastructure. The limit isn't skipped by:

- Refreshing the page
- Disabling JavaScript
- Express checkouts like Shop Pay, Apple Pay and Google Pay
- Carts built through the Storefront API or headless checkouts
- Using checkout bots on the storefront

When a customer exceeds their limit, the checkout displays a validation error with your custom message, and the order can't proceed. Two limits to know: POS sales, subscription renewals and order edits aren't validated (they still count), and two checkouts from the same account at the same instant can both pass, because the check reads a snapshot of past orders.

## How to Limit Purchases Per Customer Per Month on Shopify

To limit purchases per customer per month, create a per-customer rule and set the period to **Monthly**. OrderRules counts every order a customer places during the calendar month — across separate checkouts on their account — and blocks the next one once they hit the cap. The counter resets on the 1st, in your store's timezone.

**Why the monthly period specifically?** A daily cap resets every midnight, so it can't stop someone claiming the same allotment day after day. A monthly cap governs *frequency*: "3 orders per customer per month," "one box per customer per month," or a **monthly spending cap** such as "$500 per customer per month" for corporate and employee stores. Because OrderRules counts across every order in the period, a customer can't split a large buy into back-to-back checkouts to slip past it — the exact gap a per-checkout rule leaves open.

Set it in three fields: **limit type** (order count, total quantity, or total spend), **period** (Monthly), and **value** (e.g. 3 orders, 12 units, or $500). Common monthly configurations:

- **Replenishables (coffee, supplements, pet food):** 2–4 orders per customer per month keeps stock fair without blocking genuine reorders.
- **Corporate / employee stores:** a monthly **spending cap** per customer enforces each person's budget — see [spending caps for employee & B2B stores](/blog/shopify-customer-spending-caps-employee-b2b).
- **Made-to-order / labor-intensive goods:** 1 per customer per month matches real production limits.
- **Regulated or institution-limited goods:** where a rule caps how much one person may receive per month — for example [prison care packages](/blog/shopify-prison-care-package-store) (often 3 per inmate per month) — a monthly per-customer cap enforces it at checkout.
- **Fair-share on scarce items:** combine a monthly cap with a daily one (e.g. 1 per day **and** 5 per month) so both burst-buying and slow hoarding are covered.

The monthly reset is calendar-based (the 1st of each month), so every customer gets a clean, predictable allowance each month and sees your custom message when they reach it.

### Calendar month or rolling 30 days?

A calendar month lets a customer use a full allowance on the 31st and another on the 1st. If that gap matters, for fair-share or regulated allocations, use the **rolling 30 days** period instead: each order counts on the day it's placed and the 30 days after, so there's no reset date to exploit. The [limit periods doc](/docs/customer-rules/limit-periods) compares the two with examples.

## Use Cases for Per-Customer Limits

### Limited Drops and Exclusive Products

If you sell limited-edition items — collectibles, artist collaborations, seasonal releases — per-customer limits ensure fair distribution. For a deeper dive, see our guide on [running a limited drop on Shopify without chaos](/blog/create-limited-drop-shopify-without-chaos). The standard configuration is:

- **1-2 units per customer, lifetime limit** for true one-of-a-kind items
- **1 per customer per drop** for recurring limited releases
- **3-5 per customer** for scarce but not exclusive items

With a cap in place, the same stock reaches more unique buyers. That builds a larger, more engaged customer base instead of concentrating sales among a handful of resellers.

### Handmade and Artisan Goods

Handmade products have inherent production constraints — a ceramicist might produce 20 mugs per week, a jewelry maker 15 necklaces. Without per-customer limits, a single wholesale inquiry or bulk order can consume the entire production run.

Recommended settings for handmade merchants:

- **3-5 units per customer per week** for standard items
- **1 per customer per month** for labor-intensive pieces
- **Lifetime limit of 10-20** to identify and manage wholesale relationships separately

### Bakeries and Food Businesses

For bakeries and restaurants, per-customer limits prevent a single corporate order from eating all capacity. A catering company ordering 30 sandwich platters for a conference should not block 30 individual lunch customers.

Typical bakery configuration:

- **2-3 custom cakes per customer per week**
- **5 dozen cupcakes per customer per day**
- **Combined with daily store-wide limits** (e.g., 50 total orders per day)

For more bakery-specific configurations, see our guide on [how bakeries manage custom cake orders on Shopify](/blog/shopify-made-to-order-lead-times-production-caps).

### Sale Events and Promotions

During sales, per-customer limits stop arbitrage buyers from hoarding discounted inventory. Without them, a small group of buyers can take a large share of the stock. Limits spread that demand across more customers.

A common sale configuration:

- **5 units per customer per day across the entire sale collection**
- **The daily reset** lets loyal customers come back each day
- **Reward VIPs outside the limit** — early access or a members-only drop, since the cap itself applies to every logged-in customer

## Step-by-Step Setup Walkthrough

### Step 1: Install OrderRules

Go to [OrderRules](https://apps.shopify.com/orderrules-limit-sales?utm_source=blog&utm_medium=inline_cta&utm_campaign=per-customer-order-limits-shopify-guide) and install the app on your Shopify store. The installation takes one click and requires no API keys or developer setup. For detailed instructions, visit our [installation guide](/docs/getting-started/installing-orderrules).

### Step 2: Create a Per-Customer Rule

In OrderRules, open **Customer Limits**:

1. Turn on **Enable per-customer limits** and save
2. Click **+ Add Rule**
3. Pick the **Limit Type** (e.g., Total Quantity) and set the **Max Count** (e.g., 2 units per customer)
4. Choose the **Period** (per day, week, month or year, rolling 30 days, or lifetime)

### Step 3: Scope the Rule

Decide what the rule applies to:

- **Entire store** — every product counts toward one shared limit
- **Specific collection** — only products in that collection count
- **Individual product** — each product has its own independent limit

Most merchants start with a collection-scoped rule. For example, apply a 2-per-customer limit to your "Limited Edition" collection while leaving your standard products unrestricted.

### Step 4: Write Your Limit Message

When a customer hits their limit, they see your custom message at checkout. You set one message per situation in **Settings → Customer Limit Messages**, and it applies to all your rules, so keep it general or use placeholders like `{value}` and `{period}`. Examples:

> "This item is limited to 2 per customer to ensure fair access. You've already purchased your maximum."

> "You've reached your weekly limit of `{value}` `{type_plural}`. Your limit resets next Monday."

> "Limited to 1 per customer. If you need a larger quantity for an event, contact us at orders@yourbakery.com."

The third example is a best practice: **offer a manual workaround for legitimate bulk buyers** while enforcing limits against anonymous resellers.

### Step 5: Test the Rule

Place two test orders through your storefront with the same customer account (try one with Shop Pay) to confirm the limit triggers on the second order. Check that:

- The limit message displays correctly at checkout
- The order is blocked (not just warned)
- The counter resets at the correct time

### Step 6: Activate and Monitor

Save the rule and keep an eye on it for the first few weeks:

- Customer emails about being blocked tell you if a limit is too strict
- Repeat buyers in your Shopify orders who sit at the limit every period tell you if it's too loose
- OrderRules **Analytics** shows top products and daily order trends

## Combining Per-Customer Limits with Other Rules

Per-customer limits are most powerful when combined with other OrderRules features:

- **Per-customer limit + daily store limit:** Cap each customer at 3 orders AND cap the store at 50 total orders per day. This provides both individual fairness and overall capacity control.
- **Per-customer limit + store hours:** Only accept orders during business hours AND limit each customer to 2 per day. This is ideal for restaurants and bakeries.
- **Per-customer limit + holiday calendar:** Close on holidays with the calendar, and raise a per-customer limit by hand for the December gift season (e.g., 5 units instead of 2), then set it back in January. Limits don't change on a schedule by themselves.

Visit our [features page](/features) for the full list of rule types and combination options.

## The Reseller Detection Advantage

Beyond simple limits, per-customer limits surface buying patterns. Customers who keep hitting the limit, or who contact you about it, can indicate:

- **Resellers** trying to circumvent limits with multiple orders
- **Wholesale buyers** who should be directed to a B2B channel
- **Loyal superfans** who deserve VIP treatment

This data helps you make informed decisions about your customer relationships rather than reacting to problems after they happen.

## Stop Resellers. Protect Your Customers.

Per-customer order limits are one of the most effective tools for fair product distribution on Shopify. Whether you are running limited drops, selling handmade goods, or managing a bakery's daily capacity, restricting how much any one customer can buy protects both your business and your real customers. Combined with other strategies to [prevent overselling on Shopify](/blog/prevent-overselling-shopify), per-customer limits give you much tighter control over who buys what and how much.

**[Start your 14-day free trial](https://apps.shopify.com/orderrules-limit-sales?utm_source=blog&utm_medium=inline_cta&utm_campaign=per-customer-order-limits-shopify-guide)** — per-customer limits are on the Pro plan ($9.99/month). Create your first one in under 5 minutes and start enforcing fair access at checkout today.
