The verdict in three sentences
Under-charging delivery turns every sale into a loss; over-charging empties your basket at checkout. The right method starts from real cost per zone, then picks a model (flat, by zone, free above a threshold) aligned with your average basket. In 2026, conditional free shipping remains the best lever: it lifts basket size by 15-25% without destroying margin.
The factors that drive your cost
Four variables build the real cost before you even talk about the displayed price.
| Factor | Cost impact | 2026 order of magnitude |
|---|---|---|
| Distance / zone | High | 1,500 - 4,000 NGN |
| Weight / volume | Medium | +700 NGN above 5 kg |
| Urgency (express) | High | +3,000 - 4,000 NGN |
| Undelivered zone | Blocking | Return + 100% of cost |
The classic trap: charging a single flat 2,000 NGN while the outskirts cost you 4,000 NGN. You lose on every distant order.
Real cost vs charged price: four models
| Model | Customer price | Avg real cost | Delivery margin | Conversion effect |
|---|---|---|---|---|
| Single flat rate | 2,000 NGN | 2,500 NGN | -500 NGN | Neutral |
| By zone | 1,500 - 4,000 NGN | 1,500 - 4,000 NGN | ~ 0 | Good |
| Free above 30,000 NGN | 0 above | 2,000 NGN absorbed | Product margin | Excellent |
| Real cost + markup | Cost + 20% | Cost | +20% | Weak |
The by-zone model is the fairest; conditional free shipping sells best when your product margin exceeds 35%.
Calculating your free-shipping threshold
The formula is simple: threshold = delivery cost ÷ margin rate. If delivery costs 2,000 NGN and your product margin is 35%, the minimum margin to generate is 2,000 ÷ 0.35 ≈ 5,700 NGN, i.e. a basket of roughly 16,000 NGN to absorb delivery. In practice, set the threshold slightly above your average basket (e.g. average basket 22,000 NGN → threshold 30,000 NGN) to pull orders upward.
Mini case study
Emeka, who runs an online grocery in Lagos, has a 20,000 NGN average basket and a 30% product margin. He charged a flat 1,500 NGN while his real average cost is 2,500 NGN: he lost 1,000 NGN per order, i.e. 400,000 NGN across 400 orders/month. He switches to a by-zone grid (1,500/2,500/4,000 NGN) and sets free shipping above 30,000 NGN. Estimated result: delivery cost covered, average basket lifted to 26,000 NGN (+30%), and about 600,000 NGN of margin recovered per month.
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
FAQ
Should I offer free delivery?
Yes, but conditional on a basket threshold calculated from your margin. Unconditional free shipping is rarely sustainable; conditional, it lifts average basket by 15-25%.
How do I set the free-shipping threshold?
Divide delivery cost by your margin rate, then place the threshold slightly above your current average basket. A 22,000 NGN average basket justifies a threshold around 30,000 NGN.
Is a single flat rate a bad idea?
Not always, but it makes you lose on distant zones. If your costs vary strongly by district, a by-zone grid protects your margin better.
What share should delivery be of the basket?
Ideally under 15%. Above 20%, cart abandonment climbs sharply at checkout, especially on mobile.
Should fee calculation be built into the back office?
Yes: automatic calculation by zone and weight avoids manual errors and shows the right price at the cart, reducing disputes and abandonment.
Let's talk about your project. We set up your multi-zone delivery grid directly in your store. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.