Vitryne VITRYNE
Shipping

Why Shopify Shows 'Not Available for Delivery' When Mixing Shipping Profiles

Mixing products from two Shopify shipping profiles breaks checkout. Here's exactly why it happens and how to fix it without losing your setup.

Shopify store owner confused by a checkout delivery error with two shipping boxes on screen
Mathis Grimberg Mathis Grimberg · · 5 min read

You set up a second shipping profile — maybe for a new product category, a special shipping method like Media Mail, or an outlet page of imperfect items. You test the new profile in isolation: works perfectly. You test your regular products: also fine. Then a customer tries to buy both in the same cart and hits a wall:

This product is not available for delivery to your location.

Take one item out of the cart and the error disappears. Put it back in and you’re stuck again. It makes no sense at first glance — both profiles ship to the same regions, from the same origin. So what’s going on?


Why This Happens: How Shopify Combines Shipping Rates

The root of this problem is not a bug — it’s how Shopify’s shipping engine is designed to work behind the scenes.

When a customer’s cart contains products from two different shipping profiles, Shopify doesn’t simply pick one rate. Instead, it calculates a rate for each profile separately and then tries to combine them into a single rate to show at checkout. According to Shopify’s documentation, when an order contains products from different shipping profiles or locations, the separate shipping rates for each product are combined and a single shipping rate is displayed to the customer.

The problem arises at the combination step. Shopify needs to find a valid, matchable rate from each profile for the destination address. If even one profile fails to return a valid rate for the combined cart conditions, the entire checkout breaks — not just that profile’s products.

As the Parcelify documentation explains it plainly: if Shopify asks a second profile “how much to ship these?” and receives no valid answer, it interprets that as “not all products can ship to your customer’s address” and throws the delivery error — even if the first profile is perfectly configured.


The Three Most Common Causes in a Two-Profile Setup

1. Rate Names Don’t Match

This is the single most overlooked cause. Shopify’s rules are specific: rates with the same name across profiles are added together and displayed. If all rates have different names, Shopify falls back to combining only the cheapest options from each profile and labelling the result “Shipping.”

If neither profile has a rate that survives this fallback merge successfully for the given cart, the checkout throws an error.

The fix: Make sure at least one rate in your new profile has the exact same name as a rate in your general profile. For example, if your general profile has a rate called Standard Shipping, add a rate called Standard Shipping to your Imperfect Items / Media Mail profile too.

2. Weight-Based Rate Gaps

If either profile uses weight-based rates, Shopify calculates the combined cart weight and checks whether a rate exists for that weight in each profile. A gap in your weight tiers — say, you have rates for 0–1 lb and 3–10 lb, but nothing for 1–3 lb — will cause the checkout to fail for any mixed-profile cart that hits that uncover range.

The fix: Go to Settings → Shipping and delivery, open each profile, and verify there are no gaps in your weight tiers. Every possible cart weight should be covered from 0 lb to the maximum you ship.

Pro tip: If your imperfect items or media mail products have a fixed, predictable weight, set their rate as a flat rate rather than weight-based. This removes the gap risk entirely.

3. Missing Zones in the Secondary Profile

Your new profile might cover the same regions as your general profile on paper, but if any country or region is missing from the secondary profile’s shipping zones, a customer from that location will get the error the moment they add a product from both profiles to their cart.

The fix: Open your secondary profile in Settings → Shipping and delivery and compare its zones side-by-side with your general profile. Every zone that exists in the general profile should also exist in the secondary one — even if the rate is $0.00 or free.


Step-by-Step: Auditing Your Profiles

Follow this checklist whenever you add a new custom shipping profile:

  1. Go to Settings → Shipping and delivery
  2. Open your general (default) shipping profile and note down:
    • Every zone name
    • Every rate name within each zone
    • The rate type (flat, weight-based, price-based)
  3. Open your custom shipping profile (e.g., Imperfect Items / Media Mail)
  4. Confirm it has all the same zones as the general profile
  5. Confirm at least one rate in each zone has the exact same name as a rate in the general profile
  6. If using weight-based rates, confirm no gaps exist in the weight tiers
  7. Save and run a test checkout with one item from each profile in the same cart

The Easiest Fix for Most Stores: Add a Matching Flat Rate

If your secondary profile is for a specific niche method (like Media Mail, which is only available for books, media, and educational materials), the simplest solution is to add a standard flat rate with the same name as your general profile’s rate to your secondary profile.

For example:

ProfileZoneRate NameRate Amount
GeneralDomesticStandard Shipping$5.99
Imperfect ItemsDomesticMedia Mail$3.99
Imperfect ItemsDomesticStandard Shipping$5.99

By adding Standard Shipping to your Imperfect Items profile as well, you give Shopify a matching rate to combine. The customer sees Standard Shipping at checkout with the two rates added together — or just the single merged rate if the names match precisely.

This does not mean customers pay twice. Shopify adds the rates together as part of the merge logic, but you control the amounts. For a secondary profile with cheap/lightweight products, setting the matching rate to $0.00 is entirely valid.

Warning: Do not leave your secondary profile with only one rate that has a completely unique name (like Media Mail) if your general profile uses a different name. Without a name match, Shopify will attempt the cheapest-option fallback — and that fallback often produces a combined rate that fails validation entirely for certain cart combinations.


A Note on the “Split Shipping” Toggle

If you have split shipping enabled in your checkout settings, Shopify will try to present each profile’s rates as a separate shipping selection. This can work well — but it also introduces more failure points, because each shipment leg must independently return a valid rate.

If you’re not intentionally using split shipping as a feature (i.e., you don’t need customers to choose different shipping methods per shipment), consider turning it off at Settings → Shipping and delivery → Checkout and handling the rate combination manually with matching rate names instead. A simpler setup is easier to audit and less likely to break.


Double-Check Your Products Are Only in One Profile

One final thing worth verifying: each product can only exist in one shipping profile at a time. According to Shopify’s documentation, if you add a product or variant to a second shipping profile, it is automatically removed from the first.

This means if you accidentally assigned an Imperfect Item product to both the general profile and the custom profile at some point during setup, it may have been silently moved — leaving your general profile without a rate for that product, or your custom profile missing a product entirely. Double-check by opening each profile and confirming the product list reflects your intention.

Shipping profile conflicts are one of the most frustrating Shopify problems to debug because everything looks correct in isolation. The key is always to test with a mixed cart — one item from each profile — and trace back which rate combination is failing at checkout.

Tags: #shipping profiles #checkout errors #shipping rates #shopify settings