# Create Product Blocking Limit

**Requires:** Free plan (advanced gating options require Paid plan)

***

### Step 1: Open Limits management and create a new limit <a href="#step-1-open-limits-management-and-create-a-new-limit" id="step-1-open-limits-management-and-create-a-new-limit"></a>

From the left-hand menu of the app, click **Limits management** to open the list of your rules. Click **Create new order limit** (or **Create new limit**, in the top-right, if you already have rules) to open the limit type chooser.

![Create a new limit](/files/GIREBNZyxsv4IjCcumdz)

***

### Step 2: Choose the limit type <a href="#step-2-choose-the-limit-type" id="step-2-choose-the-limit-type"></a>

On the limit type chooser, find the **Product blocking** card and click **Select**.

Unlike a Product or Customer Limit, a Product Blocking rule keys off the **products already in the shopper's cart**. When the trigger product is detected (or absent), the rule fires against the targets you choose in Step 5.

![Select Product blocking](/files/u4OKYTEL16DtSzSPjjkA)

***

### Step 3: Name your limit <a href="#step-3-name-your-limit" id="step-3-name-your-limit"></a>

Enter a name in the **Limit name** field. This name is for internal use only — customers will never see it. Pick something that describes the trigger and target, for example "Sale bundle — locks regular items" or "Wholesale SKU — forces $500 cart".

![Name the limit](/files/eWxGfaaji1tKJpKBQ2Ah)

***

### Step 4: Select trigger products and the trigger condition <a href="#step-4-select-trigger-products-and-the-trigger-condition" id="step-4-select-trigger-products-and-the-trigger-condition"></a>

The trigger card has two parts:

#### Pick the trigger products <a href="#pick-the-trigger-products" id="pick-the-trigger-products"></a>

Click **Browse** to open the product picker, tick the products (and optional variants) that should fire the rule, then click **Select**. You can edit the list any time by clicking **Edit** under the selected count.

#### Pick when the rule applies <a href="#pick-when-the-rule-applies" id="pick-when-the-rule-applies"></a>

Under **Apply limit below when:**, pick one:

* **Cart contains one of trigger products** — fire the rule the moment any trigger product is in the cart.
* **Cart does not contain any trigger products** — fire the rule whenever the trigger products are *absent*. Useful for "you must add this item to check out".

![Select trigger products and trigger condition](/files/Oe2qn7AelxRaRblf1JiE)

***

### Step 5: Pick the limit target (Type of limit) <a href="#step-5-pick-the-limit-target-type-of-limit" id="step-5-pick-the-limit-target-type-of-limit"></a>

Under **Apply limit to**, use the **Type of limit** dropdown to choose what the cap evaluates against once the trigger fires:

| Type of limit           | What gets capped                                                                       |
| ----------------------- | -------------------------------------------------------------------------------------- |
| **Apply to order**      | The full cart contents (excluding the trigger products themselves).                    |
| **Apply to collection** | Items from a chosen collection. You'll be prompted to pick the collection right after. |
| **Apply to product**    | Items from a hand-picked product list.                                                 |

> **Important:** Trigger products are automatically **excluded** from whichever target you pick — they are the switch, not the thing being capped.

![Type of limit](/files/29pG43Hpj8RIzFW9y1zj)

***

### Step 6: Set the limit conditions <a href="#step-6-set-the-limit-conditions" id="step-6-set-the-limit-conditions"></a>

Open the **Limit conditions** card and pick the **Condition type** for the cap. The available types match the Type of limit you picked in Step 5:

| Type of limit  | Available condition types                                         |
| -------------- | ----------------------------------------------------------------- |
| **Order**      | Total product quantity, Total product value, Total product weight |
| **Collection** | Total product quantity, Total product value                       |
| **Product**    | Total product quantity                                            |

Then fill in **Minimum** and **Maximum** values for the chosen condition.

> **Important:** Leave the **maximum** field blank to set **no upper limit**. Set **maximum = 0** to block the affected products from being purchased while the trigger is in the cart.

![Limit conditions](/files/EyswF0Ose8M3nutVqvqU)

***

### Step 7: Configure Advanced Setting <a href="#step-7-configure-advanced-setting" id="step-7-configure-advanced-setting"></a>

Expand the **Advanced Setting** card to control *when* the rule is active, *how* notifications behave, and the **"Contact us"** affordance.

#### Active dates <a href="#active-dates" id="active-dates"></a>

* **Start date** — the date (GMT +00:00) the rule becomes active. Required.
* **Set end date** — tick this to add an end date. The rule stops applying after that date. Leave it unchecked for an indefinite rule.

#### Notify about limit when <a href="#notify-about-limit-when" id="notify-about-limit-when"></a>

> **Pro plan:** **Notify about limit when** is available on Pro and above. On Free, the dropdown is locked to the default option.

Pick when the on-storefront notification should appear:

* **The limit has been reached** — only show the message after the limit has been hit.
* **"add-to-cart" button is clicked and in cart page** — show whenever the customer adds to cart or changes a cart line in a way that would break the limit.
* **No notification** — silent mode. The Checkout button is disabled when the limit is hit, but no message is shown.

> **Note:** **Limit customer re-purchase** does not apply to Product Blocking rules and is intentionally hidden for this limit type.

#### "Contact us" in notification <a href="#contact-us-in-notification" id="contact-us-in-notification"></a>

Tick **"Contact us" in notification** to add a Contact us button to the limit message. When enabled, paste the destination link (live chat URL, contact form, social channel) in the **"Contact us" URL** field. The button text and the surrounding message copy are configured in the **Message** tab — see Step 8.

![Addvanced configuration](/files/Re3PUa0j0zdYZ5nVI9mj)

***

### Step 8: Customize the message and save <a href="#step-8-customize-the-message-and-save" id="step-8-customize-the-message-and-save"></a>

Switch to the **Message** tab to tailor the limit notification text and add translations. The default language card sits at the top; below it you can add more languages via **Add supported language**.

Use the available variables shown under **Note: Here are a few variables you can use** to inject the live limit values into your copy. For a Product Blocking limit, the available variables are:

* `{{minimum_product_quantity}}` / `{{maximum_product_quantity}}` — minimum / maximum product quantity
* `{{minimum_total_product_value}}` / `{{maximum_total_product_value}}` — minimum / maximum total value
* `{{minimum_product_weight}}` / `{{maximum_product_weight}}` — minimum / maximum product weight
* `{{multiple}}` — current multiple value
* `{{product_title}}` — title of the product that triggered the limit
* `{{weight_unit}}` — the shop's weight unit (lb, kg, g, oz)
* `{Button text}` — for the Contact us button copy

The app shows only the variables that match your chosen condition type. Click the copy icon next to any variable to put it on your clipboard.

For the full translation walkthrough (adding languages, toggling them on, setting a default), see [Customize and translate limit message](https://file+.vscode-resource.vscode-cdn.net/order-limit-help-center/customize-translate-limit-message).

When everything looks right, click **Save** in the top bar. The rule goes live immediately on the start date.

> **Tip:** Open the storefront in an incognito tab and add only the trigger product first — confirm the warning fires on the target items as expected. Then remove the trigger and re-verify the cart can clear checkout.

***

### Tips <a href="#tips" id="tips"></a>

* **Trigger is the switch, not the target.** The trigger product is never the thing being capped — the targets you pick in Step 5 are. Don't put the same SKU in both lists.
* **Pair with date windows for flash promotions.** A start/end date scoped Product Blocking rule is a clean way to run "buy this special edition, max 1 of these others" promotions.
* **Mind the trigger condition.** **Cart does not contain** flips the logic — every order is checked, and the cap kicks in *unless* the trigger product is added. Use sparingly, since it's the inverse of intuition.
* **Test both states.** Place a test order both with and without the trigger product in the cart to confirm the rule behaves as expected.

***

And there you have it! You've created a Product Blocking rule that responds to what's actually in the cart — keeping cross-sell mistakes, flash promo rules, and "must include" enforcement on autopilot.

If you have any questions or run into any issues, don't hesitate to reach out. We're here to help!

**Previous:** [Create an Order Limit](https://file+.vscode-resource.vscode-cdn.net/order-limit-help-center/create-order-limit) | **Next:** [Customize and translate limit message](https://file+.vscode-resource.vscode-cdn.net/order-limit-help-center/customize-translate-limit-message)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.avada.io/order-limit-help-center/create-product-blocking-limit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
