Stop pre-order and in-stock items being bought together

A customer buys a pre-order item and something you have on the shelf, and now the whole order waits — or ships twice at your expense. Shopify cannot natively stop the combination, and the setting that looks like it should is not what it appears to be.

Before anything else, work out which of these three you actually want, because they need different solutions and most articles blur them together:

  • Block it. The customer cannot put both things in one order. They check out twice.
  • Split it. Let them buy both, then handle it as two separate deliveries.
  • Hold it. Let them buy both, and deliberately keep everything together until the whole order is ready.

The third is the exact opposite of the second, and both are asked for by real merchants with the same words. Get this wrong and you will buy the wrong tool.

Shopify staff have confirmed there is no native way to block a combination: "it's not possible to natively prevent two products from being ordered together" (26 March 2024). Splitting into two separate orders is not possible at checkout either. Holding everything together is possible, free, and almost nobody writes about it.

First: the setting that does not do what it says

Shopify has a split shipping toggle. Turning it off does not stop your orders splitting.

One merchant found this the hard way:

I have 2 warehouse Locations. NY and NV. My ERP system can't handle a single transactions shipping from 2 warehouse. I have "Split shipping" turned off. But some customers when the items are not available at a single location still are able to checkout with an order that's split. I contacted Shopify Support and they said to prevent it I would need a 3rd part App.

— Kastnerd, 14 October 2025

Two separate people confirmed the reason in that thread. The toggle only changes how delivery options are presented at checkout; it does not touch how Shopify allocates inventory across locations. As one put it: "Split shipping being turned off doesn't turn off the underlying logic for splitting orders based on fulfillment location."

If you have turned that toggle off and assumed the problem is handled, it is worth checking a real order before you rely on it.

What this costs

The clearest description of the pre-order case came from a merchant in 2022, and the part worth noting is that they had already tried the obvious answer:

Even though you tell your customers to place separate orders and warn them that orders with both in-stock and pre-order items won't ship until all items are available, they don't listen. Then the flock of emails come in demanding their in-stock items now.

— Thegachamart, 8 December 2022

Warning customers does not work. That is the finding, from someone who tried it.

It also happens between pre-order items, not just against in-stock ones:

if a customer purchases 5 pre order items and they all have ship dates separated by weeks or months then the customer gets mad that the pre orders that come in stock early don't get shipped until ALL pre order items ready to ship.

— Ryan871, 31 July 2024

And a merchant asking Shopify to let them stop the splitting reported that close to half of the customers charged for a split shipment then emailed asking for a single delivery and a refund. Their case was straightforward: "Small businesses cannot absorb the cost of multiple shipments per order."

There is a warehouse-side motive too, and it is the reason a lot of merchants want a block rather than a split:

This is so that we can move in stock items out of the warehouse rather than hold onto them until pre order stock arrives.

— David_Cain, 11 August 2021

Route 1 — Block the combination

There is exactly one mechanism that genuinely blocks, and the difference between it and everything else decides whether your rule holds.

Checkout validation functions. These run on Shopify's servers rather than in your theme. Shopify's documentation states they "can block checkout progress when business rules aren't met", and — this is the part that matters — they apply on the cart page, in checkout, and in express checkouts: Shop Pay, PayPal, Google Pay and Apple Pay. They can read your cart lines, variants and product metafields, so "these two tags cannot be in one order" is directly expressible.

Two limits worth knowing before you plan around it: a store can have 25 active validations, and functions do not apply to the point of sale, to orders created through the API, or to subscription orders.

⚠️ And here is the rule no competing page publishes. Any Shopify plan can use a public App Store app containing functions. Only Shopify Plus stores can use a custom app containing functions. So the same mechanism is available to everyone through the App Store, and restricted to Plus if a developer builds it for you privately. If you are getting a quote for custom work on a standard plan, that distinction is the first question to ask.

What does not hold: theme scripts. Most cheap advice — and one of the better-known pre-order apps — blocks at the moment the item is added to the cart. That vendor is admirably honest about it in their own documentation: "The restriction only checks at the time of adding items" — which means it does not stop a checkout that is already in progress, and it does not survive the express payment buttons at all. A customer who taps Shop Pay walks straight through.

Blocking apps in this space run roughly $4–9/month.

Not sure whether blocking or splitting is your problem? Describe the rule and see what it looks like built →

Route 2 — Split the order

Here is the answer nobody on the first page of Google gives correctly.

You cannot split a purchase into two orders at checkout. Shopify's native split shipping produces one order with several shipments. Its documentation is explicit that "a customer can't choose how the products in their cart are split", and pre-order items are one of the things that trigger the split automatically.

Two caveats that matter operationally: split shipping does not work through accelerated checkout buttons, and it does not apply to B2B checkout.

After the order exists, you can split fulfilment — Shopify added split and merge in July 2023 — but that divides shipments within one order. It does not create a second order.

Genuine order-splitting is app territory, and it has a specific failure that matters here: those apps operate after payment, and pre-orders often use deferred payment, so they break on exactly the case you bought them for. A merchant hit it directly: "I also can't split order because Shopify doesn't allow such tools on deferred payments."

One workaround has been tested and refuted. The commonly suggested trick — put pre-orders in a separate location with their own shipping profile — was tried by an app vendor who reported back: "It doesn't allow you to charge shipping for pre-orders and in-stock items separately." It lets you charge a blended rate. It does not separate anything.

The same vendor offered the honest conclusion, which is worth more than the workaround: if you are going to ship twice, stop discounting pre-orders and price the second shipment in.

Route 3 — Hold everything together

This is the least-written-about option and, for the merchants in camp three, the right one. It is also free.

Use Shopify Flow: when an order is created carrying a pre-order tag, hold all fulfilment orders. Everything then ships as one delivery when the last item lands. A merchant tested this and confirmed it working on a live store.

Two things to check before relying on it. It holds the whole order — the in-stock items wait too, which is exactly what camp one is trying to avoid, so be sure which camp you are in. And if a third party or external warehouse imports your orders, a held order may still be visible to them and get shipped anyway; one merchant named that as their specific worry.

Want in-stock items to leave while the rest waits? That combination needs a rule of your own →

The four options, side by side

Approach Mechanism Holds in express checkout? Cost
Warn the customer Text on the page No — nothing stops them Free, and it does not work
Block at add-to-cart Theme script or app No ~$4–9/month
Block at checkout Validation function Yes ~$4–9/month via an App Store app; custom builds need Plus
Split into two orders Not possible at checkout App splits after payment; breaks on deferred payment
Split the shipments Native split shipping No — bypassed by express buttons Free
Hold it all together Shopify Flow n/a Free
Price it in Shipping rates n/a Free, and honest

Note the pattern in the third column. The only thing that holds when a customer uses Shop Pay or Apple Pay is a validation function. Everything cheaper leaks, and nothing else in this space says so.

A gap worth knowing about

Pre-orders are not a native Shopify feature. They come from an app, and Shopify's own documentation warns that removing that app destroys your pre-order data within 48 hours.

That is worth sitting with, because it explains the whole mess: the pre-order behaviour comes from one vendor, the splitting comes from Shopify, the blocking comes from a second vendor, and none of them owns the interaction. One merchant asked their pre-order vendor about mixed orders and got the honest answer: "they say they have no control over this side of the transaction."

Which route is yours

Your situation Route
In-stock items must leave the warehouse now Block the combination — validation function
Customers use Shop Pay or Apple Pay Validation function, or it will leak
You would rather ship twice than hold stock Split shipments, and price it in
You cannot absorb a second shipment Hold everything with Flow, free
Your warehouse or accounting system cannot take a split order Block at checkout — the toggle will not do it
Pre-orders on deferred payment Splitting apps will not work; block or hold
Different goods must not travel together for a real-world reason Block, and test with an express checkout button

A fourth option, when the rule is yours

Everything above is one of four generic shapes. If your rule fits one, an App Store app will do it for a few pounds a month and you should buy it — this is a category where cheap apps genuinely work, provided you pick one that validates at checkout rather than at add-to-cart.

Where it stops fitting is when the rule depends on something only you know. Which suppliers can be combined on one delivery note. A cut-off time after which today's fresh items cannot join a scheduled order. Rules that differ per customer group, or per delivery route, or that change every week. Those are not settings in anyone's app.

With Shopify, that logic lives in a validation function — the same mechanism the good apps use, written for your rule instead of a settings screen. You describe it in plain language and get a real app that does it.

Tell Shopivibe what you want your store to do — "pre-order items and in-stock items can never be in the same order" — and it works out how, builds it, and checks it against your own store's data before anything goes live. You see in your Shopify admin, in plain language, what is switched on and what it has done. It stays looked after; there is nothing for you to run.

Early access is open now, and the $49 plan is free for the whole of it.

The plan limit, stated plainly. A custom app containing a Shopify function needs a Shopify Plus store. That is Shopify's rule, not ours, and it is why an off-the-shelf App Store app is often the right answer on a standard plan. We will tell you which side of that line your rule falls on while you are building it, not after you have paid.

And be honest about which camp you are in first. A surprising number of merchants in these threads bought a tool for splitting when what they wanted was holding, or blocked a combination when pricing the second shipment in would have kept the sale. The cheapest fix here is often working out what you actually want.

Checked against Shopify's documentation and the App Store on 29 July 2026.