---
title: "Limit Purchases by Weight on Shopify: Fair-Share and Shipping-Cap Ordering"
description: "Some limits aren't about how many. A flat-rate box tops out at 40 lb; a harvest has to go round. Here's how to cap purchases by weight per customer on Shopify — across orders, not just per cart."
contentType: "blog"
locale: "en"
localized: true
source: "https://orderrules.com/blog/shopify-purchase-limits-by-weight"
slug: "shopify-purchase-limits-by-weight"
date: "2026-08-21"
tags:
  - "shopify"
  - "purchase limits"
  - "weight limits"
  - "per customer limit"
  - "fair share"
  - "shipping"
  - "coffee roaster"
---
Most purchase limits count things. Three per customer, one per order, ten a day. But some constraints aren't countable — they're physical.

A flat-rate shipping box tops out at 40 lb, and it doesn't care whether that's one heavy item or twelve light ones. A single-origin lot is 200 kg and needs to reach two hundred customers, not twenty. A regulated product is measured in grams, so a per-unit cap is the wrong unit of measure entirely.

For those, you need to limit by weight — and, critically, **across orders**, not just per cart.

## Quick answer: how to cap purchases by weight on Shopify

**Shopify can't do this natively.** Its built-in limit is a per-item cap on a single cart — it cannot measure weight, and it cannot follow a shopper across separate orders. With OrderRules, add a per-customer limit with the **Total weight** type, set the maximum in lb, kg, oz, or g, choose a scope (storewide, per product, or per collection), and choose a period — including **Rolling 30 days**. The weight comes from each product's existing Shopify weight, and the cap is enforced at native Shopify checkout.

## Why per-cart limits don't hold

The failure mode is worth stating plainly, because it's the reason people go looking for an app in the first place.

```
Per-cart limit:  Max 40 lb per order

Customer places order 1: 40 lb  -- allowed
Customer places order 2: 40 lb  -- allowed
Customer places order 3: 40 lb  -- allowed
```

A cart limit is a suggestion to anyone willing to click twice. A **per-customer** limit counts across every order in the period:

```
Per-customer limit:  Max 40 lb per customer, rolling 30 days

Order 1 (Mar 3):  25 lb -- OK (25/40 used)
Order 2 (Mar 9):  20 lb -- Blocked (would reach 45 lb)
Order 2 (revised): 15 lb -- OK (40/40 used)
Apr 3: the Mar 3 order ages out -- 25 lb becomes available again
```

For this to work, orders have to be attributable to a person. Turn on [strict login enforcement](/docs/guides/guest-checkout-blocking) so every order attaches to a customer account rather than an anonymous guest checkout.

## Three situations where weight is the right rule

**The flat-rate shipping budget.** Your packaging or carrier contract has a ceiling. A storewide weight cap keeps a customer's total order inside the box you actually ship, regardless of the mix of items.

**Fair-share allocation.** A roaster gets 200 kg of one lot a year. Ten enthusiasts could clear a third of it in a week. A 5 kg per-customer cap on the Single Origin collection turns a first-hour sellout into a season of sales — and does it without you moderating orders by hand.

**Regulated categories measured by weight.** Where the legal or policy limit is expressed in grams or pounds rather than units, a quantity cap is simply the wrong measurement. Limit in the unit the rule is written in.

## Scope: what the cap should actually cover

| Scope | Counts | Use it when |
|---|---|---|
| Storewide | Everything the customer buys | The constraint is shipping, packaging, or handling |
| Per product | One product across their orders | A single heavy or allocated item |
| Per collection | Every product in a collection | The constraint is a category — allocation lots, regulated groups |

Collection scope is the one people underuse. A per-product cap of 5 kg on a range of twelve coffees lets one buyer take 60 kg. A 5 kg cap on the *collection* holds at 5 kg, whichever bags they choose.

## Rolling 30 days vs. a calendar month

This distinction matters more than it sounds.

A **monthly** limit resets everyone at once on the 1st. A customer who takes their full 40 lb on the 31st can take another 40 lb on the 1st — two allowances inside two days, which is precisely the behaviour a fair-share rule exists to prevent.

**Rolling 30 days** counts backwards from the moment of checkout. Each order ages out 30 days after it was placed, so allowance returns gradually and there's no month-boundary gap to exploit.

Rule of thumb: calendar periods for quotas and reporting, rolling periods for fairness.

## Setting it up

1. **Audit your product weights in Shopify.** This is the step people skip. A variant with no weight counts as zero and passes straight through the cap.
2. Go to **Customer Limits → Add Customer Limit**
3. Choose **Total weight** as the limit type
4. Enter the maximum and pick the unit — **lb**, **kg**, **oz**, or **g**
5. Choose the scope — storewide, a product, or a collection
6. Choose the period — **Rolling 30 days**, daily, weekly, monthly, or lifetime
7. **Save**

Units convert automatically, so a 40 lb rule compares correctly against a 450 g product. Set the rule in whatever unit your team already thinks in.

Full details in [Weight-Based Customer Limits](/docs/customer-rules/weight-based-limits).

## What the customer sees

A blocked checkout with no explanation reads as a broken store. Logged-in shoppers see their remaining allowance on the product page:

> "You can add 15 lb more this month"

And at checkout, if they exceed it:

> "This order would exceed your 40 lb monthly limit (already ordered: 25 lb)."

Every one of those messages is customizable, and shoppers see them in [their own language](/docs/languages) automatically — which matters if you're allocating a limited product across several markets.

## Weight and quantity together

The two rules stack, and the first one reached blocks the checkout. That's useful when the real constraint has two dimensions:

```
Weight limit:    40 lb per customer per month  (the box)
Quantity limit:  6 units per customer per month (fair access)

6 light items, 12 lb total -- quantity cap blocks the 7th
2 heavy items, 40 lb total -- weight cap blocks the 3rd
```

## Where to go next

- [Weight-Based Customer Limits](/docs/customer-rules/weight-based-limits) — full setup, scopes, and units
- [Limit Periods](/docs/customer-rules/limit-periods) — rolling vs. calendar periods
- [Per-Customer Quantity Limits](/docs/customer-rules/per-customer-quantity-limits) — the count-based counterpart

Weight limits are on the **Pro** plan at $9.99/month and enforce at native Shopify checkout on any Shopify plan. There's a 14-day free trial if you want to test the rule against your own catalog first — starting, as always, with an audit of which variants are missing a weight.
