Shipping zones and rate tables
TitanCart’s shipping engine is built around two concepts: zones (the places you ship to) and methods (how you charge for each zone).
Step 1 — Create zones
Go to TitanCart → Shipping → Zones → Add new zone. Give the zone a name your customers won’t see (e.g. “United States”, “Europe — EU only”, “Rest of World”) and add locations to it.
Locations can be specified at three levels of precision:
- By country — the simplest. Select one or more countries from the dropdown.
- By state / province — once you select a country, you can narrow to specific states (useful for regional shipping surcharges).
- By ZIP / postal code — enter individual ZIPs or ranges (
90000-99999). The most specific match wins — a ZIP-level match takes precedence over state-level, which takes precedence over country-level.
Most stores need two or three zones — typically “Domestic”, “Neighbouring region / EU” and “Rest of World”.
Step 2 — Add methods to each zone
For each zone, click the name to open its detail page, then add one or more shipping methods. You can choose from four types:
Flat rate
A single fixed amount regardless of weight or cart total. Ideal for digital products with a small packaging fee, or when you want to offer a predictable shipping price.
Free shipping
Offered unconditionally, or conditional on:
- Minimum order amount — “Free over $50”.
- Specific products — tied to a SKU or category.
- Coupon code — the customer must apply a coupon to unlock it.
Table rate
A grid of prices based on weight, order subtotal, or item count. Add one row per range:
- 0 kg to 2 kg → $5.99
- 2 kg to 10 kg → $9.99
- 10 kg and above → $14.99
Table rates are the most flexible option and cover most real-world shipping pricing without touching a carrier API.
Real-time carrier rates
USPS, UPS and FedEx can return live quotes based on the package’s weight, dimensions and the destination address. To enable:
- In TitanCart → Shipping → Settings, enter your store’s Origin address (required for accurate quotes).
- In each zone, add a new method of type Real-time carrier and pick USPS, UPS or FedEx.
- Paste the carrier’s API credentials in the method’s settings panel.
- Select which service levels to surface (Ground, 2-Day, Overnight, etc.).
TitanCart caches the carrier response for 15 minutes per cart contents + destination combination, so checkout loads do not hammer the carrier’s API.
Per-product shipping overrides
On the product editor’s Shipping tab:
- Weight — populated on the product so table rates and carrier quotes can calculate accurately.
- Dimensions — length, width, height. Required for real-time carrier quotes.
- Free shipping — exempts the product entirely from shipping cost calculation.
- Requires shipping — uncheck for services, digital goods, or virtual products that never ship.
- Shipping freight — a flat per-item surcharge that stacks on top of the zone method’s price (useful for oversized items that need palletised delivery).
Debugging shipping at checkout
If a customer reports “no shipping methods available” at checkout, the usual culprits are:
- No zone matches the customer’s address. Add the missing country, state or ZIP to the appropriate zone.
- The cart weight exceeds the highest table-rate range with no fallback row. Add an “above X kg” row with a price or mark that weight as free.
- All methods in the matching zone have a minimum-order condition the cart doesn’t satisfy. Add at least one unconditional fallback method per zone.
Tip: create one zone called “Rest of World” at the bottom of the list with no location filters. It will match anything the other zones didn’t catch. Add a single flat-rate method to it — you’ll never see the “no methods available” error again, and you can tune prices per region later as you learn where your orders actually come from.