When a Shopify cart contains both pickup-only items and items that need to ship, checkout throws an error about missing delivery options. This is not a configuration mistake — it is a hard constraint in how Shopify processes orders. There are exactly three fixes, and only one saves the order without a manual cleanup queue.
This post explains the exact error customers see, why it happens at the architecture level, and what each of the three fixes actually costs you in lost revenue, operational effort, and customer trust.
Why does the Shopify checkout error happen?
Shopify checkout works by asking one question: does the selected delivery method apply to every line item in this cart? If the answer is no for even a single item, checkout stops.
A pickup-only item has no shipping rate attached to it. A shippable item has no in-store pickup option. When both are in the same cart, no single delivery method satisfies every line item. By design, a Shopify order carries one delivery method and isn’t split automatically — so the cart can’t complete checkout and returns a generic error.
The exact wording depends on the theme and where the shopper is in the flow, but the current Shopify checkout typically shows one of these: “This product is not available for delivery to your location,” “Shipping not available,” “Remove items to continue,” or “Your order cannot be shipped to the selected address. Review your address to ensure it’s correct and try again, or select a different address.” Older or themed flows phrase it as “There are no delivery options available for the items in your cart” or “Some items in your cart cannot be delivered to this address.” None of these tell the customer why, and none offer a path forward — from their perspective, the store is broken.
The maddening part for merchants: this error looks identical to a shipping-zone miss, where the customer is in a region you simply don’t ship to. So the first instinct is to go debug shipping zones, which wastes time and solves nothing.
For a plain-language explanation of the architectural reason, see our companion post on why this is a fulfillment method conflict, not a bug.
Why does Shopify say “Remove items to continue”?
This phrasing is the newest variant and the one merchants find most confusing, because it sounds like a customer mistake instead of a platform constraint. The customer didn’t add the wrong item. The cart simply contains lines that no single delivery method can fulfill — pickup-only plus shippable — and Shopify is asking them to delete one group so the remaining group resolves to a valid delivery method.
The trap: from the customer’s seat it reads as “the store rejects this combination.” They rarely understand it’s a fulfillment split. They abandon, blame the store, and don’t come back. Recovering this order is not about better error copy — it’s about giving the customer a path to keep every item in the cart through two coordinated checkouts.
Where the error actually surfaces
Merchants often assume the error only appears at the main checkout page. It surfaces in several places, some more visible than others.
Main checkout. The most common place. The customer fills out their address, clicks Continue to Shipping, and gets the “no delivery options” message. Conversion is already lost at this point.
Express checkout buttons. Shop Pay, Apple Pay, and Google Pay all bypass the cart page. A customer who taps Shop Pay on a mixed cart skips any cart-page warning you have in place and hits the error at the checkout layer. This is why cart-page solutions underperform: a large share of checkout attempts never touch the cart page at all. See our deeper breakdown of how pickup and Shop Pay interact.
Mobile checkout. Shopify’s mobile checkout flow often surfaces a slightly different error message — “We can’t ship to this address” — which misdirects customers into thinking it is an address problem. Mobile abandonment from mixed-cart errors is disproportionately high because the error framing is worse on small screens.
Post-payment, on rare edge cases. If validation is loose and the cart slips through, the order appears in Shopify Admin in an unfulfillable state. The real error shows up when your fulfillment team tries to route it and discovers no delivery method exists for one of the line items.
The 3 real fixes and their actual trade-offs
There is no perfect solution. Every fix makes a trade-off between implementation cost, customer experience, and how much revenue you recover. Here is the honest breakdown.
| Fix | What happens | Abandonment rate | Ops cost |
|---|---|---|---|
| Block at the cart page | Customer sees a warning and must split manually | 15–25% of mixed carts abandon | Low |
| Split into two coordinated checkouts | Customer completes two native Shopify checkouts guided by the app | Under 5% incremental drop | Medium (app required) |
| Force one fulfillment mode | All items route through a single method | Medium abandonment + mis-fulfillment risk | High (manual cleanup) |
Fix 1: Block the mixed cart at the cart page
The lowest-cost option. Detect when the cart contains both fulfillment types and disable the checkout button, showing a message that asks the customer to remove one group and check out separately.
This prevents the error from reaching the customer. It does not save the order.
Customers who hit this message have to manually decide which items to keep, check out, then come back and start a fresh cart for the rest. Research consistently shows 15–25% do not bother. For a store doing 200 mixed carts a month at a $75 average order value, that is $2,250 to $3,750 in abandoned orders every month — just from the friction of asking customers to do your logistics work.
The second problem: express checkout buttons. Shop Pay, Apple Pay, and Google Pay bypass the cart page entirely. Any customer who taps one of those on a mixed cart skips your warning and hits the raw Shopify error anyway.
Blocking is the right starting point when your mixed-cart volume is small enough that manual fallback is acceptable — under 20 mixed carts a month is a reasonable threshold. Above that, you are burning real revenue.
Fix 2: Split into two coordinated native Shopify checkouts
This is the correct answer for most merchants with meaningful pickup volume.
The customer sees their cart already grouped: items for pickup in one section, items to ship in another. They tap one Continue to Checkout button. The app walks them through two native Shopify checkouts back-to-back. Payment carries over between the two — Shop Pay tokens, Apple Pay tokens, saved credit cards all transfer, so a first-time customer enters payment details once. Both checkouts produce real Shopify orders with real order numbers, real tax calculations, and real fulfillment routing.
From the customer’s perspective: one slightly longer checkout. From the merchant’s perspective: two clean orders, each with the correct fulfillment method, correct discounts, and correct payment capture.
BopiSafe does this out of the box. Each cart split is what we call a Smart Split — a single event that produces two real native checkouts and recovers revenue that would otherwise be lost to the conflict. Building this from scratch is technically possible, but coordinating two live checkouts, handling partial failures where one completes and the other doesn’t, and keeping the experience seamless requires genuine infrastructure. This requires custom development work — most merchants use an app instead.
Fix 3: Force one fulfillment mode
Override the cart so every item uses the same fulfillment method — usually whichever mode the majority of items require.
This eliminates the checkout error. It creates a different problem: items that cannot actually be fulfilled by the forced mode get routed incorrectly. A pickup-only sofa gets a shipping label a carrier will refuse. A shippable item gets staged at a store the customer may not be near. Refunds, customer service tickets, and operational chaos follow.
The only scenario where forcing makes sense: you have one or two edge-case pickup-only SKUs and your operations team has a manual process for handling the occasional exception. At any meaningful scale, the operational cost exceeds whatever you save by avoiding a proper split.
A concrete merchant scenario: which choice actually fits
Picture a 4-location bike shop doing 1,200 orders a month. About a third of carts mix a pickup-only frame, e-bike, or full build (too heavy and too high-value to ship economically) with shippable accessories — helmets, bottles, tubes, a chain lube. That is roughly 400 mixed carts a month at an $85 average cart value, or $34,000 of exposed revenue.
If they pick block-at-cart, they save the engineering cost but lose roughly $5,000–$8,500 every month to manual-split abandonment, and the loss is concentrated on their highest-margin builds because that is where mixed carts cluster. If they force-shipping on those carts, the warehouse gets ship orders for $4,000 bike frames that no carrier will accept — every single one becomes a refund, a phone call, and a customer who will not come back. Split-cart is the only option that holds the order, holds the customer, and does not stack a manual-cleanup queue on the ops team’s plate.
The general rule: the higher the average value of the pickup-only item, the more aggressively block-and-force fall apart. Forcing a $40 candle into shipping is a small operational annoyance. Forcing a $3,000 sectional or a $4,000 e-bike into shipping is a revenue disaster, because every one of those orders becomes a refund. Mixed-cart volume matters, but mixed-cart value matters more.
What the error costs you in real revenue
Consider a mid-size specialty retailer with three locations doing 3,000 orders per month. If 20% of their carts mix fulfillment types, that is 600 mixed carts per month — a common ratio for categories like furniture, sporting goods, or garden supplies where large items are pickup-only and small accessories ship.
At a $70 average cart value, that is $42,000 of mixed-cart revenue every month.
- No fix (raw error at checkout): 50–70% abandon the whole cart. Lost: $21,000–$29,400/month.
- Blocking at the cart page: 15–25% abandon. Lost: $6,300–$10,500/month.
- Coordinated split checkout: Under 5% incremental drop vs a normal single checkout. Lost: under $2,100/month.
The gap between blocking and splitting is $4,000–$8,000 per month at this scale — and that is before factoring in lifetime value of customers who abandon and don’t return.
This is what makes mixed-cart errors worth solving seriously. The problem is invisible in normal analytics dashboards because it shows up as checkout drop-off, not as a distinct abandonment category. Merchants who have not measured their mixed-cart volume routinely underestimate how much it costs.
For a case-study framing of this math, see Mixed Cart Revenue Recovery.
Is your store generating mixed carts without realizing it?
Most merchants who experience this error do not know how frequently it happens. The signals to watch for:
High checkout drop-off on specific products. If you see an unusual abandonment spike on your bestselling pickup-only item, mixed-cart conflict is a primary suspect. Pull the list of carts that contained that item and see how many also had shippable items.
Support tickets about “broken checkout” or “can’t check out.” Customers almost never understand the fulfillment mismatch error. They just know the store is broken. If you are getting these tickets, search your inbox for “delivery,” “can’t ship,” and “checkout error” together.
Low Pickup Order Share on products you expect to sell as pickup. If your pickup items are being bought primarily without pickup items in the same cart, customers may have learned to avoid adding shippable items when they want to pick up — which means they are not cross-selling themselves, and your average order value is lower than it should be.
The Shopify Help Center on delivery methods explains the fulfillment service model in more detail. The Shopify Community forums have dozens of merchant threads on this exact error — searching “no delivery options available cart” returns real merchant accounts of the problem and the workarounds they tried.
How BopiSafe eliminates this error category
BopiSafe detects mixed fulfillment types when items are added to the cart — before the customer reaches checkout. The cart UI groups items into two sections and presents one Continue to Checkout flow. Each group gets its own native Shopify checkout with the correct delivery options for that group. The pickup group includes a store picker sorted by availability and proximity.
Because each checkout uses native Shopify checkout, every Shopify payment method works — Shop Pay, Apple Pay, credit cards. Gift cards and discount codes apply to each leg independently — evaluated per leg, not against the combined cart. Orders land in Shopify Admin like any other order. Fulfillment teams don’t need a special process.
The result: the mixed-cart checkout error stops appearing, Rescued Revenue (dollars from carts that would have failed natively) flows through, and your support queue stops receiving “the store is broken” tickets about delivery.
For the background on why Shopify’s checkout works this way architecturally, read Shopify Fulfillment Method Conflict Explained. For the split-cart experience patterns that convert well, see Shopify Mixed Cart Split Pickup Shipping.
Written by the BopiSafe team — we build BOPIS infrastructure for Shopify merchants.
Next steps
- Understand why this error is by design, not a bug: Shopify Fulfillment Method Conflict Explained
- See what a proper split checkout looks like end-to-end: Shopify Mixed Cart Split Pickup Shipping
- Learn how BOPIS works for merchants who have never set it up: Why Shopify’s Default BOPIS Fails
- Install BopiSafe to eliminate mixed-cart errors and recover that abandoned revenue automatically