A customer fills their cart, proceeds to checkout, discovers a €7.90 delivery fee on a €34 order, and leaves. You've just lost a sale for an amount that, had you offered free shipping, would have cost you €5 in margin. The question is therefore never "should we offer free shipping," but "from what amount, and at what cost to you."
Shipping costs are one of the few Shopify settings that simultaneously impact conversion rate, average order value, and net margin. It's also one of the most poorly configured. Here's how we approach them at Stellar.
In brief:
- Surprise fees remain one of the primary reasons for cart abandonment, but permanent free shipping is the fastest way to erode your margin.
- Shopify offers three pricing logics: flat rate, conditional rate (by weight or order value), and carrier-calculated rate.
- The free shipping threshold should always be set above your average order value: this is what mechanically increases it.
- Crucial technical constraint: within the same profile, Shopify does not combine weight and order value conditions. If you want a free shipping tier, set your rates by order value.
- Our stance: never offer free shipping permanently. It's a promotional lever far too valuable to be wasted.
Summary
Shipping costs decide the sale and your margin
There are two ways to lose money with shipping costs, and they are opposite. The first is to charge too much, or too late: the customer discovers the amount at checkout, the difference from the advertised price seems unfair, and they abandon the cart. This is one of the most documented causes of cart abandonment, and the easiest to correct as it relates to a setting, not a product issue. If you're already working on recovery, our abandoned cart recovery methods complement this approach well.
The second way to lose money is more discreet: offering free shipping without doing the math. For a brand with a 50% gross margin and an average order value of €40, a €6 package consumes 30% of the order's margin. Multiply that by 400 orders per month and you've funded an entire advertising budget in shipping costs.
A good setting therefore balances both ends: it reassures early enough in the journey to avoid surprise, and it remains sustainable order after order.
The 3 ways to charge for shipping on Shopify
Shopify operates by shipping profiles, then by zones, then by rates. Within a zone, you have three possible logics.
Flat rate
A fixed amount, regardless of the cart's content. This is the most transparent solution for the customer and the easiest to maintain. It's perfectly suited for a brand whose products have similar weights and volumes: cosmetics, fine foods, accessories, light textiles. Its drawback is well-known: you lose on large, heavy orders and gain on small ones, hoping the average balances out.
Conditional rate, by weight or order value
You define tiers: €4.90 up to 1 kg, €7.90 beyond. Or €5.90 up to €59, then free. This is the most commonly used setting, and it's what allows for a free shipping threshold.
Be careful of a technical point that many merchants discover too late: within the same shipping profile, Shopify does not allow you to combine weight conditions and order value conditions. You choose one or the other.
Since it's quite unusual to see a brand announce "free shipping from 12 kg," if you plan to offer a free shipping tier, it's imperative to set your rates by order value rather than by weight. Volkier Bentinck, co-founder of Stellar Projects.
Carrier-calculated rate
Shopify queries the carrier (or a shipping management application) and displays the real rate at checkout. Accuracy is maximal, your margin on shipping is theoretically zero but never negative. In return, the displayed amount is unpredictable for the customer, and it becomes difficult to communicate a simple promise on your product pages.
| Billing method | Simplicity | Cost accuracy | Allows free shipping threshold | Small brand use case |
|---|---|---|---|---|
| Flat rate | Very simple | Low | No | Homogeneous catalog, similar weights and volumes |
| Rate by order value | Simple | Medium | Yes | Recommended by default when free shipping is considered |
| Rate by weight | Simple | Good | Difficult | Heavy or very heterogeneous products, no free shipping |
| Carrier-calculated rate | Complex | Maximum | No | Very heterogeneous catalog, international, large volumes |
For the vast majority of brands we work with, the answer is the rate by order value. It's transparent, it allows for free shipping, and it avoids having to explain to a customer why their package costs €2 more than last week's.
Free shipping: the false good idea, done right
Free shipping doesn't exist. It's either absorbed into your margin, integrated into the price of your products, or financed by additional volume. Three models coexist, with very different consequences.
- Free shipping above a threshold. The default model, and the only one that turns a cost into a lever. The threshold becomes a goal that the customer tries to reach, which increases the average order value.
- Product price includes shipping. You raise your catalog prices by €3 to €5 and announce free shipping everywhere. This is consistent for a premium brand with a high average order value and low price sensitivity. It's dangerous if you are compared product by product on Google Shopping or a marketplace.
- Occasional, promotional free shipping. Free shipping for 72 hours, or for a targeted operation. This is the most underutilized model, and it's the one we most often advocate for.
Our position is clear: you should not offer free shipping automatically and permanently. A brand that always offers free shipping has nothing left to offer when it needs to. Conversely, a brand that applies a zero-discount policy, and there are more and more of them, retains a commercial lever with free shipping that generates sales without ever touching the product price. You promote without devaluing. This is exactly what we look for when perceived value is an asset.
How to calculate your free shipping threshold
The rule is simple and allows no exceptions: the free shipping threshold is always placed above your current average order value. Placed below, it makes you offer free shipping on orders you would have received payment for anyway. Placed above, it gives the customer a reason to add a product.
Our starting point at Stellar:
Free shipping threshold = average order value x 1.3, rounded up to the nearest clear tier, then verified against the margin.
The 1.3 coefficient corresponds to the difference a customer spontaneously agrees to make up, generally the equivalent of an entry-level product or an accessory. Beyond 1.5, the threshold becomes out of reach and no longer produces any effect; it just adds frustration. Rounding matters: €59 is easier to remember than €58.50, and a round tier is easier to display in a cart progress bar.
The second step is verification by margin. On an order placed exactly at the threshold, your gross margin must remain significantly higher than the actual shipping cost, otherwise you have built a machine to sell at a loss.
| Current average order value | Theoretical threshold (x 1.3) | Selected threshold | Gross margin at threshold (55%) | Actual shipping cost | Margin after free shipping |
|---|---|---|---|---|---|
| €30 | €39 | €39 | €21.45 | €6.00 | €15.45 |
| €45 | €58.50 | €59 | €32.45 | €6.00 | €26.45 |
| €60 | €78 | €79 | €43.45 | €7.00 | €36.45 |
| €90 | €117 | €119 | €65.45 | €8.00 | €57.45 |
Read the last column as a safeguard. As long as it remains largely positive, free shipping is sustainable. If it falls below the cost of acquiring an order, your threshold is too low or your margin is too small for this model, and you need to revert to paid shipping with occasional promotional free shipping.
Last methodological point: recalculate this threshold twice a year. Average order value changes, and carrier rates do too. A free shipping threshold set three years ago is almost always too low today.
Absorbing the cost without breaking your margin
French carrier rates are constantly changing, and almost always increasing. Colissimo and Mondial Relay regularly update their grids, sometimes several times a year for certain weight ranges. The knee-jerk reaction is to pass the entire increase on to the customer. This is rarely what we recommend.
A €0.40 increase passed on as is makes shipping go from €5.90 to €6.30. The amount loses its clarity, the commercial promise degrades, and the effect on conversion often costs more than the €0.40 saved. Our advice: absorb part of the increase into the margin, and only pass it on in increments, when the cumulative difference justifies moving to the next round amount.
Other levers, in the order we activate them:
- Renegotiate or pool. A direct contract becomes interesting from a certain monthly volume. Below that, the pooled rates of a shipping platform are often better than what you'll get on your own.
- Work on volumetric weight. Carriers charge based on the maximum of actual weight and volumetric weight. Reducing padding, adjusting carton sizes, and avoiding oversized boxes can sometimes save an entire price bracket.
- Adjust catalog price rather than shipping. Two euros spread across an entire range are much less noticeable than two euros added at checkout.
- Segment by zone. Nothing obliges you to apply the same grid in mainland France, Corsica, Belgium, and Germany.
Pickup point, home delivery, international: what offer to propose
Only one delivery option is a conversion mistake. Two are sufficient in most cases: an economical mode and a convenience mode.
Pickup points remain the preferred mode for a large proportion of French buyers, for their price and flexibility. They are structurally cheaper than home delivery, making them the natural candidate to support your free shipping offer. The practical setup, from native pickup points to label generation, is detailed in our Mondial Relay integration tutorial.
Home delivery remains essential for bulky products and gifts. Express delivery is only justified if you can keep the promise: it's better to have no express delivery at all than express delivery that takes four days.
For international shipping, the classic mistake is to duplicate the French grid. Shopify Markets allows you to go much further: you define shipping rules by country or group of countries, with different free shipping thresholds, local currencies, and grids adapted to the actual cost of each destination. A €59 free shipping threshold that works in France is rarely sustainable for Germany or Spain. Our Shopify Markets guide details the mechanics zone by zone.
The 5 shipping cost mistakes that cost sales
- Displaying costs too late. If the customer discovers the amount at the last step, you pay in abandonments what you thought you gained in discretion. Pre-qualifying costs before checkout is a lever in itself, covered in our guide to Shopify conversion levers.
- Offering only one delivery method. You force a price-versus-convenience trade-off that the customer doesn't want to make for you.
- Setting an unreachable free shipping threshold. A threshold three times the average order value doesn't increase the order value; it simply reminds the customer that they will pay for shipping.
- Offering free shipping permanently without doing the math. The margin absorbs it, silently, until the income statement reveals it.
- Forgetting to reflect the policy in mandatory disclosures. Fees, delivery times, and serviced areas must appear in your general terms and conditions, a topic we detail in our guide to Shopify T&Cs and legal notices.
Shopify shipping costs: your questions
Should I offer free shipping on Shopify?
Not systematically. The correct answer in most cases is a free shipping threshold, complemented by occasional free shipping promotions. Offering free shipping permanently removes a commercial lever and negatively impacts margin without measurable compensation.
How do I configure shipping costs on Shopify?
From the shipping and delivery settings, you create a profile, define your zones, then your rates. For each rate, you choose a flat fee, a weight condition, or an order value condition. Remember that a single profile does not combine weight and order value conditions.
From what amount should I offer free shipping?
Above your average order value, never below. Our starting point is the average order value multiplied by 1.3, rounded up to the nearest round tier, then verified against the gross margin achieved at that order level.
Does free shipping really increase sales?
It mainly increases the average order value, provided it's conditional on a threshold. Without a threshold, it reduces friction but doesn't create any additional purchasing behavior, and it comes directly out of your margin.
How can I avoid losing money with free shipping?
Ensure that the gross margin of an order placed exactly at the threshold largely covers the actual shipping cost. Then work on volumetric weight, carrier rates, and, if necessary, the catalog price rather than the amount displayed at checkout.
What's the difference between "frais de port" and "frais de livraison"?
In French e-commerce usage, both terms mean the same thing: the amount charged to the customer for the delivery of their order. "Frais de port" is the historical term and remains the most searched, "frais de livraison" is more common in interfaces and contractual mentions.
Can I offer multiple delivery methods?
Yes, and it's recommended. An economical pickup point option and a convenient home delivery option cover the vast majority of needs. You can apply a different free shipping threshold depending on the method, which allows you to guide customers towards the most cost-effective option for you.
Your shipping costs are not a technical setting; they are a commercial decision that needs to be measured. If you'd like us to review your threshold, your rates, and your entire customer journey together, let's discuss your project.