Blog

Shopify Checkout Error: Mixed Cart Fix

2026-05-25 · BopiSafe Team

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.

FixWhat happensAbandonment rateOps cost
Block at the cart pageCustomer sees a warning and must split manually15–25% of mixed carts abandonLow
Split into two coordinated checkoutsCustomer completes two native Shopify checkouts guided by the appUnder 5% incremental dropMedium (app required)
Force one fulfillment modeAll items route through a single methodMedium abandonment + mis-fulfillment riskHigh (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.

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

Frequently asked questions

Why does Shopify say "Remove items to continue" at checkout?

That message appears when one or more items in the cart have no valid delivery method for the rest of the cart — almost always because a pickup-only item is sharing a cart with shippable items. Shopify is asking the customer to remove the offending line so a single delivery method can apply to the whole order. The real fix is not removal; it is splitting the cart into one checkout per fulfillment type so the customer keeps every item.

What does "This product is not available for delivery to your location" mean on Shopify?

It usually appears when a pickup-only item shares a cart with shippable items. The pickup-only line has no shipping rate, so when Shopify validates the cart against the shipping address, that line has no valid delivery option — and the whole cart stalls. It is not an address typo. By design, one order resolves to one delivery method, and a mixed cart has none that fits every line.

Why does Shopify say "Shipping not available" or "Your order cannot be shipped to the selected address"?

Same root cause. Once a pickup-only line is in the cart, no shipping method can cover the entire order, so the shipping step returns "Shipping not available." The wording points at the address, which sends merchants off to debug shipping zones, but the real trigger is the fulfillment-method mix. Splitting the cart by fulfillment type — each group through its own native checkout — clears it.

What is the Shopify checkout error for a mixed cart?

When a cart contains a pickup-only item and a shippable item, there's no single delivery method that satisfies every line. The checkout throws a generic error — something like "There are no delivery options available for the items in your cart" — which gives the customer no useful direction. The underlying cause is that Shopify's checkout model assumes one delivery decision per order.

Why does Shopify show no delivery options for my cart?

If at least one item in the cart is configured as pickup-only and at least one other item requires shipping, there is no delivery method that covers both. By design, every line item is validated against the selected delivery mode, so the order can't proceed when even one line doesn't match. The error message is the same as a shipping-zone miss, which is why merchants often debug the wrong thing first.

Can I fix the mixed cart error with theme changes?

Not reliably. Theme-level cart warnings can tell customers to separate their items, but they don't stop express checkout buttons (like Shop Pay) from bypassing the cart page entirely. A robust fix needs to intercept the cart before checkout, not just warn on the cart page.

Does blocking the mixed cart at the cart page fix the error?

It prevents the error from reaching the customer, but it forces them to manually split their cart and check out twice. Studies consistently show 15–25% of those customers abandon the whole purchase rather than complete two separate checkouts. Blocking prevents the error but doesn't save the order.

What is the best fix for a Shopify mixed cart error?

Splitting the cart into two coordinated native Shopify checkouts — one for pickup items, one for shippable items — gives the lowest abandonment rate and creates real orders. Each group goes through its own checkout, payment carries over, and the customer gets two order confirmations. This is what BopiSafe does automatically.

Will forcing all items to ship fix the mixed cart error?

Yes, technically — but pickup-only items will be routed to a warehouse instead of a store, which typically ends in a mis-fulfillment, a refund, or a customer who never shows up to collect. Forcing fulfillment mode is only safe when you can operationally honor shipping for every item in the cart.

Does the mixed cart error affect express checkout buttons?

Yes, and this is the most common blind spot. Shop Pay, Apple Pay, and Google Pay bypass the cart page completely. A cart warning you put on the cart page has no effect on these flows. The customer hits an express checkout button, the checkout layer rejects the order, and they see a generic error with no explanation.

Is the Shopify mixed cart error a bug?

No. It is a deliberate part of Shopify's checkout design. Shopify checkout is built around a single delivery decision per order. Supporting two fulfillment methods in one checkout would mean fundamentally different order routing — a case the one-method-per-order model doesn't cover by design. The error is the platform doing exactly what it was designed to do; BopiSafe works with that model by giving each group its own native checkout.

Want pickup that doesn't break? See how BopiSafe works →

New to BopiSafe? Use code BOPISAFE30 at plan selection for a 30-day free trial instead of 14.