Available for projects & agency overflow · Quick reply, from the person who does the work

Shipping costs aren’t applying on WooCommerce

The most common symptom isn’t a wrong shipping cost, it’s no shipping cost at all: the customer reaches the shipping step and sees no method offered. WooCommerce organises shipping into zones, each tied to countries or postcodes with its own methods; if the customer’s address doesn’t match any zone, WooCommerce shows nothing rather than a default rate.

Describe my issue Send a message

How I go about it

  1. Checking the shipping zones

    I reproduce the journey with the customer’s exact address under WooCommerce > Settings > Shipping > Shipping zones. If no zone covers that country or postcode, that’s the most common cause of no shipping cost at all.

  2. Checking free shipping conditions

    I check the trigger conditions on the "Free shipping" method: minimum order amount, required coupon, or a combination with another method. These are often set differently from other methods in the same zone, creating inconsistent cases.

  3. Checking shipping classes

    A shipping-class rate only applies if every product in the cart actually has a class assigned. An unassigned product silently falls back to the zone’s base cost, throwing off the total with no visible error.

  4. Testing the live recalculation

    The shipping total recalculates over AJAX every time the cart or address changes. I check the browser console for a JavaScript conflict, often from the theme or another plugin, blocking that recalculation.

  5. Telling configuration from integration

    If the need goes beyond a fixed rate table, real-time carrier pricing for example, I work out whether it needs a dedicated API integration rather than another zone setting.

What I handle regularly

  • No shipping method shows up at the cart or checkout step
  • Free shipping applies when it shouldn’t, or the reverse
  • The shipping rate stays stuck at an amount that doesn’t match anything after an address change
  • Some products add no shipping cost when they should
  • The shipping total doesn’t update when the customer changes their cart

How WooCommerce decides on a shipping rate

WooCommerce has no default shipping rate: each zone (WooCommerce > Settings > Shipping > Shipping zones) defines the countries, regions or postcodes it covers, and offers its own methods (flat rate, free shipping, local pickup…). If the customer’s address doesn’t match any configured zone, WooCommerce simply shows nothing at checkout, which explains most cases where a customer sees no shipping method.

The "Free shipping" method has its own trigger conditions: minimum amount, coupon, or a combination of several. They’re set independently from other methods in the same zone, which easily creates inconsistencies if one changes without the others following.

Shipping-class rates, meanwhile, depend on an assignment made product by product. An item left without a class doesn’t trigger any class-related surcharge and silently falls back to the zone’s base rate.

Worth reading too

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

besoin
etat
constructeur (facultatif)
extensions (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

Why does no shipping cost show up for some customers only?
Because their address doesn’t match any configured shipping zone. WooCommerce shows nothing rather than a default rate: a zone needs adding or expanding to cover that address.
Free shipping never triggers, even above the minimum amount, why?
Check whether the method is also set to "requires a coupon" on top of the minimum amount: these two conditions can be combined without it being obvious at first glance.
Can I manage shipping zones and classes myself?
Yes, these are settings available under WooCommerce > Settings > Shipping, no development skill needed, as long as the need stays a fixed rate table.
Can I show a real carrier rate calculated in real time?
Yes, but that needs a connection to the relevant carrier’s API, which sits outside WooCommerce’s native zones and is an integration development job.