The two layers
Prime MOQ's rules are not just a storefront message. They are enforced by a Shopify Function that runs as part of Shopify's own checkout validation, always on, for every eligible cart.
| Layer | What it does | Can it be bypassed by disabling it? |
|---|---|---|
| Storefront message (app embed or app block) | Warns the shopper before checkout, on the product page and cart | Yes, it is only UI. Turning off the app embed hides the warning, it does not disable enforcement. |
| Checkout Function | Actually blocks the order at checkout when conditions are not met | No. It runs server side inside Shopify's checkout, independently of the theme. |
This split matters. A merchant who accidentally leaves the app embed off still has working enforcement, just without the friendly warning. Customers would be blocked at checkout with no explanation shown earlier on the product page, which is why the app embed is worth enabling.
What actually gets checked
When a rule is saved and active, its conditions (quantity, value and weight thresholds, plus any repurchase period), its how-to-count mode, its products scope and its customer eligibility are all resolved into a checkout validation.
At checkout, the Function evaluates the current cart against every rule that matches at least one line item, and rejects the checkout with your configured message if any rule's condition fails.
Product page, cart and checkout
| Where | What shows |
|---|---|
| Product page | The limit message appears near the Add to cart button once a blocked quantity is set, before the item is even added |
| Cart | The same message can appear if the cart drawer embed is enabled and the cart violates a rule |
| Checkout | The order is actually rejected. This is the layer that cannot be skipped. |
Why "always on" matters
There is no setting to make enforcement optional, soft, or warning-only. An Active rule always blocks checkout when its conditions fail. To stop a rule enforcing temporarily, deactivate it or delete it, rather than looking for a bypass toggle that does not exist.