Why Isn't Any WooCommerce Shipping Rate Showing?
How WooCommerce Picks a Rate to Display
WooCommerce only shows shipping options once it can match the customer's address to a configured zone and find at least one enabled method within it — any break in that chain (no matching zone, a disabled method, a shipping class with no rate defined for it) results in an empty shipping section rather than a helpful error message explaining why.
Common Causes of No Rates Showing
- No shipping zone matching the customer's address, including a missing catch-all zone for addresses outside the explicitly configured regions.
- Every method in the matching zone disabled rather than actually configured and enabled.
- A product assigned a shipping class that doesn't have a corresponding rate set for it within the matching zone's shipping method.
- A cart containing a Virtual product mixed with physical products, occasionally causing unexpected shipping calculation behavior depending on the specific method configuration.
- A shipping plugin or live-rate integration failing silently, returning no rates due to an API error or misconfiguration rather than a fallback rate.
How to Get Rates Showing Again
- Confirm a shipping zone exists that matches the test address, including a catch-all zone as a fallback.
- Check that at least one shipping method is enabled within the matching zone.
- Verify shipping class rates are configured for any products using a custom shipping class.
- Check for errors from any live-rate shipping plugin, testing its connection independently if used.
A test that finds the break
- Use a known address. Pick an address you are certain should have a rate and test it with a single simple product in the cart.
- Check zone order. WooCommerce uses the first zone that matches the address, so a broad zone listed above a specific one can capture the customer and offer them no methods. Reorder the zones by dragging.
- Check the matching zone's methods. At least one must be enabled. Add a catch-all zone, such as "Locations not covered by your other zones", as a fallback.
- Add products back one at a time. When a particular product makes the rates disappear, check its shipping class, weight and dimensions.
- If you use a live-rate plugin, look at its logs. An authentication or API error produces exactly this empty result.
Postcode and region rules
A zone defined by postcode or state ranges can miss an address because of how the range is written. Test addresses at the edges of the range, and check that wildcards are entered correctly.
Need a missing shipping rate issue diagnosed and fixed? See WooCommerce Fixes.