Chykalophia Docs
WooCommerce

How WooCommerce shipping works

An overview of how shipping works in WooCommerce, including shipping zones, methods, and rates.

Difficulty
Beginner

Shipping is one of the most important parts of running an online store. WooCommerce gives you tools to charge the right amount for shipping — or offer it for free — based on where your customers are and what they order.

Quick summary

WooCommerce shipping is organized into zones (geographic areas), methods (how you charge — flat rate, free, or local pickup), and rates (the specific prices). You set these up under WooCommerce → Settings → Shipping. Every customer sees the shipping options that match their address.

The three layers of WooCommerce shipping

Understanding these three concepts makes the whole system click:

How they work together

When a customer enters their address at checkout, WooCommerce matches it to a shipping zone. Each customer matches only one zone — the first one in your list that fits — and sees the shipping methods and rates set up for it.

If a customer's address doesn't match any zone you've created, WooCommerce falls back to a default zone called "Rest of the world."

Built-in shipping methods

WooCommerce comes with three shipping methods out of the box:

MethodDescription
Flat rateA set price for the whole cart. The cost field also accepts a formula, so you can add a per-item charge or a percentage of the order, and you can add extra costs per shipping class.
Free shippingNo shipping charge. Can be available to everyone in the zone, or require a minimum order amount, a free-shipping coupon, or both.
Local pickupCustomer collects in person. Usually free, but there is an optional cost field if you want to charge for it.

Adding carrier-calculated rates

If you want to charge exactly what USPS, UPS, FedEx, or another carrier charges, you need a shipping extension. WooCommerce sells extensions for USPS, UPS and FedEx that connect your store to that carrier's API and show live rates at checkout, calculated from the cart and the delivery address.

These are paid extensions, and each one connects to your own carrier account, so you need an active account and API credentials with that carrier. They also depend on your products having accurate weights and dimensions. Ask us if you'd like this set up.

Printing labels is a separate job. WooCommerce Shipping is a free extension for buying and printing discounted labels for supported carriers from your dashboard — but it does not show live rates at checkout, so many stores use both.

Shipping classes

Shipping classes let you group products so you can charge them differently — heavy items or fragile items, for example — even within the same zone.

You create shipping classes under WooCommerce → Settings → Shipping → Classes, then assign each product a class on its Shipping tab. A product can have only one class. Classes don't set rates on their own: you add a cost per class inside a method such as Flat rate, and choose whether multiple classes in one cart are charged per class or per order.

How customers see shipping at checkout

At checkout, customers:

  1. Enter their address.
  2. See a list of available shipping methods for their zone.
  3. Choose the method they prefer (if multiple are offered).
  4. The shipping cost is added to their order total.

The option selected by default is the first enabled method in the zone the customer matched.

Test your shipping setup

Always test checkout from a customer perspective after making changes. Add a product to a cart, go through checkout with different addresses, and confirm the right shipping options and prices appear.

Common questions

What happens if I don't set up any shipping zones?

If a customer's address falls in a zone with no shipping methods — including the default "Rest of the world" zone — they are told that no shipping is available. Always set up at least one zone with a method, even if it's just a single flat rate that covers everywhere.

Can I offer free shipping over a certain amount?

Yes. Set up a free shipping method and set its requirement to a minimum order amount. See the guide on setting up free shipping.

Can I charge differently by product weight?

Not directly with the built-in methods. The usual approaches are to group heavier products into a shipping class and give that class its own flat rate cost, or to use a carrier-calculated extension, which uses the real weights and dimensions on your products. If this sounds complicated, reach out — we can configure it for you.

Can I hide shipping costs until checkout?

Yes. Go to WooCommerce → Settings → Shipping → Shipping settings, where the Calculations options include Hide shipping costs until an address is entered. This avoids showing inaccurate estimated rates before the customer provides their location.

Need a hand?

If you're stuck, email support@chykalophia.com and we'll help. Include your website address and a screenshot if you can.

Learn more

Last updated

On this page