What this problem looks like
WooCommerce matches the customer's address to shipping zones from most specific to least. If no zone matches, no methods appear. Flat rate plugins still need a zone row.
Live carrier quotes need accurate weight, dimensions, and origin postcode. Missing weight defaults can make APIs return no services without a clear storefront error.
Verify address fields on checkout
Shipping calculation waits for country and postcode in most setups. Hide or rename checkout fields with care. A required state field left blank can block zone matching for US or AU stores.
Shipping zone structure
- Go to WooCommerce → Settings → Shipping → Shipping zones.
- Confirm a zone covers the test postcode or use a catch-all Rest of World zone.
- Add at least one method per zone: flat rate, free shipping, or local pickup.
- Drag zone order so specific regions sit above broad ones.
Product-level shipping data
Edit a product → Shipping tab. Set weight and dimensions in shop units under WooCommerce → Settings → General. Virtual and downloadable products skip shipping entirely.
Shipping classes let you surcharge heavy items. Unassigned products still ship but may get wrong flat rates if classes are part of your rules.
Free shipping and minimum order rules
Free shipping methods can require a coupon or minimum order amount. Customers below the threshold see no methods if flat rate is disabled. Offer a paid fallback method in the same zone.
Third-party live rate plugins
Carrier plugins need API keys, origin addresses, and compatible box packing settings. Enable debug mode in the plugin, place a test order, and read logs for 'no services available' API responses.
When to stop DIY and hire help
Complex shipping stacks with multiple warehouses, dropship vendors, or bespoke rules need a WooCommerce developer. BugShield configures zones, carrier APIs, and checkout field requirements for UK and EU stores.