This example prevents a customer who has purchased an eligible item from purchasing the same product again. Use it for limited-quantity commemorative items or first-come, first-served special products. It combines a customer rule, a quantity rule, and Shopify Flow.
If you are on the Full plan, you can build the same restriction with a cumulative quantity rule alone — no customer tags and no Shopify Flow. See "(Use Case) One Per Customer with a Cumulative Quantity Rule" for the steps.
Prerequisite: The initial setup for customer limits must be complete. If you haven't done this yet, see "Initial Setup (Customer Limits)".
Prerequisite: Install Shopify Flow. It is used to add a customer tag to customers after they make a purchase.
You can check the behavior after setup in [Demo] One Item Per Customer Limit.
When the customer rule and the quantity rule are enabled, and the Shopify Flow workflow is turned on, whether a customer can purchase the eligible item is as follows.
Logged in, without the
purchasedtag: purchase is allowed (up to 1).Logged in, with the
purchasedtag: purchase is not allowed.Guests (not logged in): purchase is not allowed (because an account is required).
Create a customer rule that blocks purchases from customers who have already purchased the eligible item (with the purchased tag).
(1) Create a customer rule
Open the app admin → "Customer rules" → "Create rule".
(2) Enter the settings, save, and enable it
Configure the following. After saving, select "Enable".
Field | Value |
|---|---|
Title | Any internal title |
Customer accounts | Check "Require account" |
Customer tags | Select "Customers with the tags below are not allowed to make purchases" and add "purchased" |
Eligible items | The products or collection to limit to one per customer |
Product message | Enter if needed |
Display timing | Cart updated and checkout |
Alert message | Enter if needed |
Create a quantity rule that limits purchases of the same product to 1 per order. Setting applicability to "Product" evaluates the total quantity of the same product across variants.
(1) Add a quantity rule
Open the app admin → "Quantity limits" → "Quantity rules" → "Add quantity rule".
(2) Enter the settings, save, and enable it
Configure the following. After saving, select "Enable".
Field | Value |
|---|---|
Title | Any internal title |
Minimum quantity | 1 |
Maximum quantity | 1 |
Increment | Not set |
Applicability | Product |
Eligible items | The same products or collection as in Step 1 |
Product message | Enter if needed |
Display timing | Cart updated and checkout |
Message for maximum order quantity | Enter if needed |
Create and turn on a workflow that automatically adds the purchased tag to customers who purchase the eligible item when an order is completed.
Field | Setting |
|---|---|
Trigger | Order created |
Condition | The order includes the eligible item (filter by product ID, product name, product tag, SKU, etc.) |
Action | Using Add customer tags, add "purchased" |
Because this relies on tagging by Shopify Flow, if another order is placed during the short window between order completion and the tag being applied, it may bypass the restriction.
If you want to apply the one-per-customer limit independently to multiple products, use a separate customer tag, customer rule, and Shopify Flow workflow for each product. If you share one customer tag across multiple products, purchasing any one of them will make the other eligible items unavailable as well.
The limit is evaluated per customer account. If the same person creates a new account with a different email address, that account won't have the "purchased" tag, so they can purchase again.
Canceling an order does not automatically remove the customer tag added by Shopify Flow. To lift the restriction, manually remove the customer tag from the customer's page in the Shopify admin.
If you uncheck "Require account," guests can also purchase, but guests don't have customer tags, so whether they have already purchased cannot be determined. Also, the display timing is fixed to "Checkout only".
(Use Case) One Per Customer with a Cumulative Quantity Rule