---
title: "Set order rules: per-order limits, terms, and mixed carts"
description: "Set per-order minimums and maximums, require terms acceptance, and block mixed carts on a preorder offer."
url: https://help.stoqapp.com/preorders/preorder-order-limits/
product: "Preorders"
section: "Build your offer / Inventory and limits"
last_updated: 2026-10-23
---

# Set order rules: per-order limits, terms, and mixed carts

> Set per-order minimums and maximums, require terms acceptance, and block mixed carts on a preorder offer.

Use this guide to set per-order minimums and maximums, require customers to accept terms, and block mixed carts on a preorder offer. By the end, customers see the terms checkbox, per-order limit, or mixed-cart rule you configure on the product page.

> **Note**
>
> To cap the total units a variant can preorder (the quantity limit that stops preorders when reached), see [Set preorder quantity limits](https://help.stoqapp.com/preorders/set-preorder-quantity-limits/) instead. This article covers the other rules in the same **Limits & terms** section.

## Before you begin

| Requirement | Detail |
|---|---|
| Active preorder offer | You need at least one offer. See [Set up preorders](https://help.stoqapp.com/preorders/set-up-preorders/). |
| Paid plan (some features) | Per-order limits, the mixed-cart block, and the "Accept terms" checkbox each require a paid STOQ plan. |

## What customers will see

Once limits are set, the storefront widget on the product page reflects them automatically, so there's nothing extra to publish. Exact placement depends on your theme, since the widget inserts itself relative to the add-to-cart button (or a custom selector you configure in [Design preorder widget](https://help.stoqapp.com/preorders/design-preorder-widget/)).

| Element | When it appears | What the customer sees |
|---|---|---|
| Acknowledgement checkbox | **Require customer to accept terms** is enabled | A checkbox with your terms text, placed above the preorder button. If **Disable button until terms are accepted** is on, the preorder button stays disabled until the box is checked. |
| Mixed-cart error | **Don't allow mixed cart orders** is enabled | If the customer tries to combine this preorder item with in-stock or regular items, they see your customized error message rather than completing the add-to-cart action. Preorders from other offers can share the cart. |
| Per-order min/max | **Per-order limits** are set | Enforced by the widget on the product page only; Shopify's native quantity selector and checkout don't display or enforce these limits. |

> **Note**
>
> The acceptance checkbox and per-order limits apply only on the product page, never in Shopify checkout. Checkout only reflects what made it into the cart, such as the line item property recording terms acceptance if you enabled **Record when customer accepted terms**.

## Set it up

On a phone, this menu is collapsed. In the **Shopify mobile app**, tap the **STOQ** logo at the top of the screen to open it, then choose the section named below. There is no hamburger icon. See [Finding the STOQ menu](https://help.stoqapp.com/general/getting-started-with-stoq/#finding-the-stoq-menu).

### Open Limits & terms

1. **Go to your preorder offer**

   1. In the left menu bar of the STOQ app, click **Preorders**.
   2. Click the **Offers** tab.
   3. Click the offer you'd like to configure. Its **Overview** tab opens, showing the **Customize** button, a live preview, and the offer's **Products** section.

   [Image: Preorders Offers tab in the STOQ app](https://help.stoqapp.com/images/general/r1.png)

   [Image: The offer Overview tab with the Customize button](https://help.stoqapp.com/images/general/r2.png)

2. **Open the Limits & terms section**

   1. Click the **Customize** button to open the editor.
   2. In the sidebar, click **Limits & terms**.

   [Image: The Limits & terms section in the offer editor](https://help.stoqapp.com/images/general/g1.png)

### Require customers to accept terms

1. **Enable the acknowledgement checkbox**

   Under **Accept terms**, enable **Require customer to accept terms**. When enabled, a checkbox appears on the storefront that customers must tick before adding the item to their cart.

   [Image: The Require customer to accept terms setting](https://help.stoqapp.com/images/general/v1.png)

2. **Customize the terms text and options**

   Click **Customize** to:

   - Edit the **Terms text** shown inside the checkbox label. Supports HTML.
   - Enable **Disable button until terms are accepted**: keeps the preorder button greyed out until the customer checks the box.
   - Enable **Record when customer accepted terms**: stamps the date and time the customer accepted onto the order as a line item property. Click **Customize** on this sub-option to change the label (default: `Terms accepted at`).

   [Image: The Terms text field and accept-terms options](https://help.stoqapp.com/images/general/v2.png)

   [Image: The Disable button and Record when customer accepted terms options](https://help.stoqapp.com/images/general/v3.png)

### Block mixed-cart orders

A "mixed cart" is a cart that contains both a preorder item from this offer and in-stock or regular (non-preorder) products. The restriction applies to this offer only; a variant linked to a different offer without the restriction can still be mixed. Preorders from different offers can always be ordered together, even when both offers block mixed carts.

1. **Enable the mixed-cart restriction**

   Under **Mixed cart orders**, enable **Don't allow mixed cart orders**.

   When enabled, customers who try to add this preorder item to a cart that already has in-stock or regular products, or add an in-stock or regular product to a cart that already has this preorder item, see an error message. Adding preorder items from other offers isn't blocked.

   [Image: The Don't allow mixed cart orders setting](https://help.stoqapp.com/images/general/v4.png)

2. **Customize the error message**

   Click **Customize** to edit the **Mixed cart error message** shown to the customer. Supports HTML.

   [Image: The Mixed cart error message field](https://help.stoqapp.com/images/general/v5.png)

### Set per-order limits

Per-order limits control the minimum and maximum number of units a single customer can purchase in a single order. This is separate from the total variant cap in [Set preorder quantity limits](https://help.stoqapp.com/preorders/set-preorder-quantity-limits/).

1. **Set minimum and maximum units**

   Under **Per-order limits**, enter unit values in the **Minimum** and **Maximum** fields. Both accept positive integers only.

   - Leave a field blank for no minimum or no maximum.
   - If you set both, the minimum cannot exceed the maximum (validated on save).

   [Image: The Minimum and Maximum per-order limit fields](https://help.stoqapp.com/images/general/v6.png)

### Add order tags

Under the **Orders** section at the bottom of Limits & terms, enter comma-separated tags in **Order tags**. Every preorder order placed through this offer will receive these tags in Shopify admin.

Each tag can be up to 40 characters, which is Shopify's limit for order tags. If a tag is longer, the field shows an error and the offer won't save until you shorten it. Tags that use variables, like `{{ sku }}`, can't be checked until the order is tagged, so STOQ cuts a finished tag that runs past 40 characters.

Click **Variables** above the field to add details from each preorder item to a tag:

| Variable | What it adds | Example |
|---|---|---|
| `{{ sku }}` | The SKU of the preordered variant | TEE-BLK-M |
| `{{ product_title }}` | The product name | Linen overshirt |
| `{{ variant_title }}` | The variant name | Medium / Black |
| `{{ offer_name }}` | The offer name | Spring drop |
| `{{ ship_text }}` | The item's shipping date | 15 Apr 2027 |

Each preorder item in the order adds its own tag, so `preorder-{{ sku }}` on an order with two preorder items adds two tags. If an item has no value for a variable, like a product with only one variant for `{{ variant_title }}`, that tag is skipped for it. Commas are removed from the values, because Shopify reads a comma as the start of a new tag. Offers with batches can also use the [batch variables](https://help.stoqapp.com/preorders/preorder-batches/).

[Image: The Order tags field in the Orders section](https://help.stoqapp.com/images/general/v7.png)

## Check your setup

- Visit a product page linked to this offer. If **Require customer to accept terms** is on, confirm the checkbox appears above the Preorder button.
- Set a per-order minimum or maximum, then try to add fewer or more than allowed and confirm the widget holds you to the limit.
- If you enabled the mixed-cart block, add a non-preorder product, then try to add this preorder item, and confirm your error message shows.

## Troubleshooting

### Saving Per-order limits fails

The minimum can't exceed the maximum. Lower the minimum or raise the maximum.

### A customer says per-order limits didn't apply at checkout

Per-order limits are enforced by the STOQ widget on the product page only. A customer who reaches checkout via a direct cart link bypasses them, since Shopify's native quantity selector and checkout don't enforce STOQ-specific limits.

### The mixed-cart error isn't showing

Confirm **Don't allow mixed cart orders** is enabled on this specific offer. The restriction is per offer, not global; a variant linked to another offer without the restriction can still be mixed.

## FAQ

### Does changing these rules affect orders already placed?

No. Terms, the mixed-cart block, and per-order limits only control what happens going forward. Orders placed before you changed a setting keep whatever terms and cart contents they had at checkout.

### Can customers order preorders from different offers together?

Yes. **Don't allow mixed cart orders** only keeps this offer's preorder items apart from in-stock and regular products. Preorder items from other offers can be in the same cart, whether or not those offers block mixed carts.

### Does the per-order minimum/maximum affect Shopify's own quantity selector?

No. STOQ's per-order limits are enforced by the STOQ widget on the product page. Shopify's native quantity selector and checkout don't enforce STOQ-specific limits, so a customer who bypasses the widget, for example via a direct cart URL, isn't held to the per-order limits at checkout.

### Where do I cap the total units a variant can preorder?

That's a separate setting, the per-variant quantity limit, which also controls when STOQ stops preorders. See [Set preorder quantity limits](https://help.stoqapp.com/preorders/set-preorder-quantity-limits/).

### Can the terms text be translated?

Yes. Use the **Translate** icon (globe icon) at the top of the Limits & terms section for structured multi-language support across all 24 locales. See [Multi-language preorders](https://help.stoqapp.com/preorders/preorder-multi-language/).

## Related guides

- [Add products to an offer](https://help.stoqapp.com/preorders/add-products-to-an-offer/): Link product variants to a preorder offer and manage per-variant settings.
- [Preorder inventory settings](https://help.stoqapp.com/preorders/preorder-inventory-settings/): Control how STOQ decides when to show the preorder button based on inventory levels.
- [Design preorder widget](https://help.stoqapp.com/preorders/design-preorder-widget/): Customize the preorder button, disclaimer text, colors, and more.
- [Preorder advanced settings](https://help.stoqapp.com/preorders/preorder-advanced-settings/): Configure order tags, acknowledgement, and other advanced offer-level options.
- [Multi-language preorders](https://help.stoqapp.com/preorders/preorder-multi-language/): Translate preorder button, disclaimer, and progress bar text across locales.
