How Do I Configure Shipping Zones and Rates?
Create a shipping zone per country plus a worldwide fallback, add named rates like Standard and Express, and offer free shipping over a threshold.
Shipping configuration is one of those areas where a little upfront structure saves a lot of confusion at checkout. VeloCMS uses a zone-first model: you create a zone for each country you ship to, then attach named rates to it. Customers at checkout only see the rates that apply to their delivery country, which keeps the experience clean and avoids the 'which of these 12 options should I pick?' paralysis.
Creating your first zone
Admin → Commerce → Shipping is where everything lives. Click 'Add Zone' and enter a region — the two-letter country code (GB, US, DE) for a country-specific zone, or worldwide for the catch-all. Each zone has a base rate and an optional per-kilogram surcharge. One zone per country: checkout looks for an exact match on the customer's country first, then falls back to the worldwide zone if there is one.
You need at least one zone before any physical product can be purchased. If no zone covers the customer's country and there's no worldwide zone, checkout tells them shipping isn't available to their address. Worth double-checking your zone coverage before launch.
Rate types
Pricing has two layers. The zone itself carries a base rate and an optional per-kilogram surcharge — set the surcharge and the system multiplies it by the cart's total weight at checkout (using each variant's weight in grams). On top of that, each zone can have multiple named shipping methods — 'Standard (3–5 days)' and 'Express (next day)' — each with its own flat price and an optional delivery-window label. Customers see every method for their zone and pick whichever suits them.
A method can also carry a free-shipping threshold: when the order subtotal reaches it, that method's price drops to zero at checkout. 'Free shipping on orders over $50' is a classic conversion booster and takes about thirty seconds to configure — add a method, set its threshold, done.
Free shipping thresholds
The free-shipping threshold is checked against the order subtotal, computed server-side — a customer can't manipulate it from the browser. Keep an eye on discount codes: a coupon that pulls the subtotal back below the threshold also pulls the order back out of free shipping, which is intentional. Free shipping is a margin decision, not a reward that should be immune to discount stacking.
Products that don't ship (courses, memberships) are automatically excluded from shipping zone checks — they have no physical weight and ship nowhere. Only products with 'Physical product' enabled in their settings trigger the zone logic.
Free shipping on a single product
There is no per-product free-shipping switch today — rates always come from the zone and its methods. If you want a promotional hero product to ship free, the practical route is a zero-priced method on the relevant zone (name it 'Free shipping'), or a free-shipping threshold the product's price already exceeds on its own.
Testing your setup
Place a test order against each zone you care about — domestic, a key export market, and a country that should hit the worldwide fallback. With Stripe in test mode you can walk the full checkout without a real charge and confirm the customer sees exactly the methods and prices you configured.