Checkout Says “Shipping Not Available”—How to Find the Missing Rate
A customer has chosen a product, entered an address and reached the last meaningful step—then checkout says shipping is unavailable. The message looks like an address problem, but the missing rate can come from the product, market, shipping zone, fulfillment location, rate conditions, package, carrier or delivery app.
That is why changing the customer’s postcode at random is a poor troubleshooting method. The reliable approach is to recreate one failing cart, calculate which shipment or profile it belongs to, and find the first rule that produces no eligible delivery option.
Build one reproducible failing checkout
Start with the exact cart and address reported by the customer. Save the product variants, quantities, destination country, state or province, postcode, currency and checkout time. Then create a smaller control cart using one ordinary physical product and a known serviceable address.
If the control cart works, the failure is probably tied to a product, profile, weight, location or rate condition.
If every cart fails for one destination, inspect the market, region or zone.
If the same cart fails worldwide, inspect product shipment settings, fulfillment inventory and shipping configuration.
If rates appear intermittently, inspect carrier, app, credential, timeout and fallback behavior.
If only one customer fails, verify address formatting and whether the carrier recognizes the destination.
Test in a private browser session so a saved address, customer tag or stale cart does not hide the real behavior. Do not repeatedly submit payment while diagnosing shipping.
Understand the rate-matching chain
A checkout usually needs every link in this chain to succeed:
The product must require shipping.
The destination must be allowed by an active market or selling region.
The product must belong to a shipping or delivery profile.
A fulfillment location with suitable inventory must be able to ship it.
That profile and location must include a zone matching the address.
At least one active rate or delivery method must cover the cart conditions.
Any carrier or shipping app must return a valid quote before checkout times out.
A single missing link produces the same customer-facing result: no shipping option. Diagnose the chain in order instead of rebuilding the entire checkout.
Check whether every product is classified correctly
Open each product and variant in the failing cart. A physical product must be marked as requiring shipment. Its weight and unit must be realistic, inventory must be assigned to a fulfillment location, and any shipping profile assignment must be intentional.
A cart containing products from multiple profiles may be split into separate shipments. Each shipment needs at least one eligible rate. One misconfigured item can therefore remove shipping for the whole order even when every other product is correct.
Remove products one at a time from a duplicated test cart. When rates return, inspect the last removed variant: physical/digital status, profile, fulfillment location, inventory, weight, dimensions, vendor app and delivery restrictions.
If products are failing before checkout because the cart itself does not retain them, use Webcurry’s add-to-cart diagnostic first.
Verify the destination market, region and shipping zone
A valid postal address does not guarantee that the store sells or ships there. The country or region must be active where the platform requires a selling market, and it must be included in a shipping region or zone that has an enabled method.
Check country, state/province and postcode coverage.
Confirm the destination market is active where markets control selling eligibility.
Check that the matching shipping zone has at least one enabled method.
Look for excluded states, remote postcodes, military addresses, islands or territories.
Confirm a broader zone is not overriding a more specific zone.
Decide whether a Rest of World rule is intentional; do not enable worldwide shipping by accident.
WooCommerce matches the first zone that fits the customer address, so ordering matters: specific zones should precede broader ones. Shopify requires eligible markets and shipping-zone coverage. Wix requires an active shipping, delivery or pickup rule for the customer’s region.
Find gaps in price- and weight-based conditions
Rate tiers often contain invisible gaps. A merchant may configure 0–5 kg and 10–20 kg, leaving a 7 kg cart without a rate. The same problem occurs when a highest price tier has a maximum value and the cart exceeds it.
Write the cart’s computed weight and subtotal beside every rate condition. Include whether discounts, taxes or currency conversion affect the value used by the platform. Make sure ranges meet without gaps, upper and lower boundaries behave as expected, and the highest legitimate tier remains open-ended when appropriate.
Test just below, exactly at and just above each boundary. This catches off-by-one, rounding and unit-conversion errors that a single test order misses.
Confirm fulfillment locations and inventory
Checkout cannot quote a useful rate if no eligible location can fulfill the shipment. Confirm that the variant is stocked at an active physical location, the location is included in the relevant profile, and the shipping origin address is complete.
Check inventory at the location selected for online fulfillment.
Confirm the location is not app-only or excluded from shipping.
Verify split-shipment behavior when items are stocked at different locations.
Check whether out-of-stock selling creates a cart that no location can fulfill.
Validate the origin country, postcode and address with the carrier.
Review fulfillment-priority or routing rules after adding a new warehouse.
A recent warehouse migration can leave products assigned to the old location or create profile groups with no rates. Compare a working product’s location and profile with the failing one rather than editing settings blindly.
Validate package dimensions and carrier constraints
Live carrier rates depend on the origin, destination, product weights, package and enabled services. A wrong unit—pounds entered as kilograms, for example—can push a parcel beyond carrier limits. An oversized default box or carrier-specific package can also eliminate every service.
Check the default package and any product-level package assignment.
Verify length, width, height and weight units.
Confirm the parcel fits at least one enabled carrier service.
Check origin and destination address validity.
Confirm the carrier account can quote the service and destination.
Inspect negotiated-rate credentials, plan eligibility and account status.
When a carrier or app supplies the rates, capture its request ID and log entry. A successful connection test does not prove that a specific cart can be quoted.
Test carrier and shipping-app failures
Third-party apps can fail because of expired credentials, API outages, service coverage, missing product dimensions, rate-provider permissions or timeouts. Determine whether the platform has a backup rate and whether that fallback is intentionally configured.
Do not hide a persistent carrier failure behind a flat fallback without checking margin and serviceability. A fallback should have a clear scope, price, destination and monitoring plan. Log the rate source shown to the customer so support can trace later disputes.
Platform-specific workflow
Shopify
Check Markets, Shipping and delivery, shipping profiles, origin locations, product weights, inventory and package settings. Every product group created from a profile and location needs a compatible rate. Test the exact checkout using Shopify’s shipping-rate troubleshooting approach, including cart conditions and destination coverage.
If the store uses shipping options by market, inspect the market-specific configuration rather than assuming the older profile interface controls the checkout. Platform migrations can preserve settings but change where they are managed.
WooCommerce
Check WooCommerce → Settings → General for allowed shipping locations, then Shipping → Shipping zones. Confirm the customer matches the intended zone, the zone order runs from specific to broad, and that zone contains an enabled method.
Test with caching, checkout-customization and shipping-restriction plugins isolated in a staging environment. Review conditional-shipping rules, customer-role restrictions and custom code. If the error appeared after a plugin change, use Webcurry’s plugin isolation workflow.
Wix Stores
Check Shipping, delivery and fulfillment regions and confirm the destination has an active shipping, local-delivery or pickup rule. Review delivery profiles when heavy, fragile, perishable or oversized products use separate rules. A region without an active rule cannot complete a purchase.
Check address validation without blaming the customer
Re-enter the address using the carrier’s expected country, region and postcode format. Apartment numbers, rural routes, PO boxes, military addresses and territories may require a different service. If address autocomplete supplies a value, compare the submitted payload with what appears on screen.
Do not use “try another address” as the final fix when the store genuinely intends to serve that location. Confirm whether the address is outside policy or whether the configuration incorrectly excludes it.
Retest the complete order journey
After fixing the missing rate, test more than the single cart that exposed it.
One standard product and one product from each custom profile.
The lowest, boundary and highest supported cart weights and values.
Domestic, state/province, international and intentionally unsupported addresses.
Signed-out and signed-in customers.
Mobile and desktop checkout.
Discounted and full-price carts.
Carrier success, carrier failure and any approved fallback.
Complete one low-risk test order and verify the order, tax, shipping label or fulfillment handoff, confirmation email and analytics events. If payment succeeds but the order is missing, follow Webcurry’s payment-to-order tracing guide.
For international checkout, also verify that the displayed currency is consistent from storefront to payment. The international currency mismatch guide covers market, geolocation and checkout handoffs.
A concise incident record
Document the failing cart, destination, computed weight and subtotal, matched market, profile, location, zone, rate conditions and carrier response. Record the configuration change, test cases and final outcome. This turns a one-off fix into a repeatable acceptance test whenever products, warehouses or markets change.
Conclusion
“Shipping not available” means checkout could not produce an eligible delivery method for every shipment in the cart. It does not automatically mean the address is wrong. Trace the cart through product settings, market, profile, location, zone, rate conditions, package and carrier response. The first empty result is the real problem.
If the configuration spans several platforms, locations or shipping apps, contact Webcurry for a focused ecommerce checkout review. The objective is a shipping setup that covers intended customers, rejects unsupported orders clearly and remains testable as the store grows.



Comments