Skip to content
GPLWP Guides

How to add live shipping rates in WooCommerce

WooCommerce Time About 30–60 minutes 6 steps Updated 3 Sep 2026

WOOCOMMERCE
The short answer

WooCommerce does not calculate carrier live rates in its core shipping methods. Add a carrier extension, connect its API or account, assign it to the correct shipping zones, and test checkout with complete product weights, dimensions, and origin details.

The route
  1. 01Choose your live-rate carrier
  2. 02Complete your product shipping data
  3. 03Set up matching shipping zones
  4. 04Install and connect the carrier extension
  5. 05Select services and test checkout
  6. 06Use the fast FedEx route

What you need

  • A WooCommerce store with products ready to ship
  • Administrator access to WordPress
  • A carrier account and API credentials
  • Accurate product weights and dimensions
  • Your warehouse or store origin address

Choose your live-rate carrier

Decide which carrier should calculate the prices shown at checkout, such as FedEx, UPS, USPS, or another service supported by a WooCommerce extension. Check that the carrier serves your shipping destinations and that its account can be used for API rate requests.

Live rates are different from flat rate, free shipping, and table rate methods. The carrier calculates a quote from the destination, package information, origin, service, and account settings.

Complete your product shipping data

Edit each physical product and enter its weight and dimensions in the Shipping section. Use the units configured under WooCommerce settings and measure the packed product where your carrier integration expects package dimensions.

Missing or unrealistic values are a common reason for no rates or unexpectedly high quotes. If products are packed into boxes, check how the extension handles multiple items and whether it offers a box-packing option.

Set up matching shipping zones

Go to WooCommerce > Settings > Shipping > Shipping zones. Create zones for the destinations you serve, then add the relevant carrier method to each zone. WooCommerce uses the first zone that matches a customer, so put narrower regions before broad ones and make sure you have a suitable fallback zone.

Open the carrier method after adding it and set the method title, origin postcode or address, tax treatment, enabled services, and any handling charge. A live-rate extension cannot display rates when the customer’s address does not match a zone containing that method.

Install and connect the carrier extension

WooCommerce core does not provide live carrier rates at checkout, so this is the part you cannot do with only the built-in Flat rate, Free shipping, and Local pickup methods. Install the official extension or another reputable carrier integration, activate it, and open its settings under the WooCommerce shipping area.

Enter the requested account number, API key, secret, production credentials, and origin details. For FedEx, the current setup uses a FedEx Developer Portal project and production credentials; older SOAP credentials are a legacy route, and test keys may not work with the current integration.

Select services and test checkout

Enable only the delivery services you actually want customers to choose. Save the settings, then test from the cart and checkout using addresses in every zone you created. Check that the returned service names, delivery estimates, taxes, and handling charges are correct.

Test several product combinations, including multiple quantities and your largest parcel. If no rates appear, check the zone match, origin postcode, product weight and dimensions, account credentials, currency, and carrier restrictions first. Turn on the extension’s debug or logging option when available; it often exposes an authentication or invalid-package error.

Use the fast FedEx route

If you ship primarily with FedEx, use WooCommerce FedEx Shipping Method instead of assembling the connection yourself. It is designed to request FedEx API rates, expose selected FedEx services, and fit into WooCommerce shipping zones. You still need a FedEx account, valid credentials, a correct origin, and complete product shipping data.

After installation, add FedEx to each matching zone, configure the API connection and services, and run the same address and product-combination checks before enabling it for customers.

The fast route

Let WooCommerce FedEx Shipping Method do it

FedEx API rates, service choices, labels, and tracking; choose it when you ship primarily with FedEx.

Get WooCommerce FedEx Shipping Method

Sources

  1. woocommerce.com /document/troubleshooting-core-shipping/?utm_source=openai
  2. woocommerce.com /document/fedex/?utm_source=openai
  3. woocommerce.com /document/woocommerce-shipping/?utm_source=openai
  4. woocommerce.com /document/setting-up-shipping-zones/?utm_source=openai

Questions

Does WooCommerce calculate live shipping rates by itself?
No, WooCommerce core does not calculate carrier live rates at checkout. Its built-in shipping methods cover options such as flat rate, free shipping, and local pickup, while live prices require a carrier extension that sends shipment details to a carrier API or connected account. WooCommerce Shipping can help with labels, but it does not itself provide live checkout rates.
Why are no live shipping rates showing at checkout?
No live rates usually means the address is not matching the intended shipping zone, the zone has no active carrier method, or the request lacks valid origin, weight, or dimension data. Also check API credentials, currency, carrier account status, and service restrictions. Enable the carrier extension’s debug mode or logs, then test with a complete address and a physical product.
Do products need weights and dimensions for live rates?
Yes, most carrier integrations need product weights and dimensions to calculate a usable quote. Enter them for every shippable product and confirm whether the extension expects product dimensions or packed-box dimensions. FedEx’s WooCommerce documentation specifically states that its API and built-in box packer require weights and dimensions.
Can I show live rates only for certain countries or regions?
Yes, assign the carrier method only to the WooCommerce shipping zones where you want it available. WooCommerce selects the first zone matching the customer’s address, so order specific regions before wider zones and add a fallback only if you intend to serve other destinations. Customers outside a matching zone will not see that carrier method.
Can I add a handling fee to live shipping rates?
Usually, yes. Most carrier-rate extensions provide a setting for a fixed handling amount or percentage, although the exact controls differ by extension. Configure it carefully, because the amount is added to the carrier quote shown at checkout. Place the fee in the carrier method settings, save it, and verify the final total with more than one parcel size.