Amazon has trained shoppers to expect free two-day delivery on everything, and as a small PrestaShop store you cannot match that without bleeding margin on every order. The honest news: you don't have to. Customers who buy from specialty stores carry different expectations than Amazon shoppers, they tolerate a few extra days when the product is right and the delivery promise is clear. What sinks small stores isn't being slower than Amazon; it's having no deliberate shipping strategy at all, a flat rate picked out of thin air, a free-shipping threshold copied from a competitor, carriers chosen by habit. This guide is about the strategy layer specifically: how a small store decides what to charge, how many speed options to offer, and where to draw the cost-versus-speed line, and how to wire those decisions into PrestaShop so the checkout enforces them automatically.

Last updated: June 2026.

This is the decision-framework post in our shipping cluster. It deliberately stays at the strategy altitude and hands the mechanics to the posts built for them: the exact back-office screens live in the complete shipping configuration guide, the per-carrier wiring in setting up carrier modules. Read this one to decide what your shipping should do; read those to do it.

Start with your real shipping cost, not the carrier rate

Every shipping decision downstream depends on one number most small stores get wrong: what it actually costs you to put a package on a doorstep. The carrier's rate is only part of it. The fully loaded cost also includes packaging materials, the minutes you or an employee spend picking and packing, label and printer consumables, pickup fees or trips to the drop-off point, insurance on higher-value parcels, and the statistical cost of the orders that arrive damaged or never arrive at all and have to be reshipped or refunded.

Add those up and the loaded cost commonly lands meaningfully above the bare carrier rate, often a third higher or more, though the multiplier depends heavily on your parcel size, value, and how much of the packing is your own unpaid time. The point isn't the exact figure; it's that if you price shipping off the carrier's quote alone, you are quietly subsidising every order. Work out your real average cost per parcel first. Everything below assumes you know it.

PrestaShop gives you a clean place to encode the carrier-rate portion of this. Under Shipping → Carriers, each carrier carries its own price ranges, by weight (Shipping → Carriers → [carrier] → Shipping locations and costs, billing set to According to total weight) or by order total (According to total price). The back-office mechanics of those ranges, zones and handling fees are walked through step by step in the configuration guide; here we only care that the rate you enter reflects your loaded cost, not the courier's headline price.

The cost-versus-speed decision, made concrete

"Balance cost and speed" is easy to say and useless until you turn it into rules your checkout enforces. For a small store the balance comes down to four questions, answered in order:

  • What is the slowest delivery my customers will accept without abandoning? For most specialty and considered purchases that is several working days, not next-morning. This is your default tier, the cheapest, highest-margin option, and the one most orders should ship on.
  • Who genuinely needs it faster, and will they pay? A minority will, for gifts, replacements, or time-sensitive needs. They become your express tier, priced to fully cover the faster carrier rate plus a margin, never subsidised.
  • At what order value can I afford to absorb shipping entirely? That is your free-shipping threshold, a margin decision, not a marketing one.
  • Which carriers actually serve my customers cheaply and reliably? The answer is usually one workhorse domestic carrier plus a relay/pickup option, not a wall of choices.

Answer those and you have a strategy. The mistake is treating speed as something you maximise. For a small store, speed is something you offer as a paid option on top of a sustainable default, you compete on the right product and a delivery promise you actually keep, not on out-running couriers you don't control.

The three-tier model, and how to build it in PrestaShop

A three-tier line-up covers the major customer segments without turning your checkout into a menu nobody reads:

TierTypical speedWhat the customer paysStrategic role
Standard3–5 working daysFlat or weight-based rateYour default. Highest margin, most orders. Set the rate at your loaded cost so it never loses money.
Express1–2 working daysPremium rate, fully covering the faster carrierSelf-selected by the minority who need speed and will pay for it. Pure upside.
Free (conditional)Standard speedNothing, above a thresholdConversion lever and AOV nudge. A margin decision, see below.

In PrestaShop, your standard and express tiers are each a separate carrier under Shipping → Carriers, with its own transit-time text, price ranges and (under the carrier's Shipping locations and costs tab) zone pricing. The free tier isn't its own carrier. It's free shipping applied to a carrier, set via the global threshold under Shipping → Preferences or, when it must apply only to selected carriers, a carrier-restricted cart rule (or a module). The customer sees the standard and express carriers stacked as choices on the delivery step of checkout, each with its name, your delivery-time string, and its price, with shipping shown as free once an order qualifies. You don't need a module to run these tiers. Core carriers plus the free-shipping threshold do it. What core won't do is show a live, postcode-aware quote or a precise arrival date; for that, see the delivery-dates and same-day posts linked below.

One practical tip that saves a lot of support email: write the transit time on each carrier as a concrete expectation, not a vague band. PrestaShop lets you set the Delivery time string per carrier, use it. Better still, surface real dated estimates as covered in setting realistic delivery-date expectations and how dated estimates reduce customer anxiety, "Arrives by Thursday" converts and reassures far better than "3–5 business days," and it cuts the where-is-my-order tickets that eat your time.

The free-shipping threshold: a margin lever, not a giveaway

Free shipping lifts conversion. That part is well established. Unconditional free shipping on every order rarely survives contact with a small store's margins; a low-value item can cost more to ship than it earns. The disciplined version is a conditional threshold ("Free delivery over €50"), which does two jobs at once: it removes the shipping objection on larger baskets and it nudges customers to add an item to qualify, lifting average order value.

Set the threshold a little above your current average order value, so qualifying requires a small reach rather than a leap. In PrestaShop you set this under Shipping → Preferences with Free shipping starts at (price), but note this threshold is global: it applies across every eligible carrier, not just your standard tier. If you want the free threshold to apply only to selected carriers (standard but not express, say), reach for a cart rule under Catalog → Discounts with its Free shipping option enabled and a carrier restriction set, or a dedicated module. The same cart-rule route is what you'd arm for time-limited campaigns. This is the single biggest cost-versus-speed trade you'll make, so it deserves its own analysis rather than a copied number: we work the economics. Break-even, AOV uplift, when a threshold quietly eats margin instead of building it. In when free shipping makes sense and when it eats your margin, and compare it head-to-head against flat and calculated rates in free vs flat rate vs calculated. Decide the threshold there; just enforce it here.

How fast can a small store realistically go?

PrestaShop estimated delivery configuration showing processing days and order cutoff hour
Your real speed is set by processing days and the daily cutoff hour, configure them honestly rather than promising next-day on every order.

The express tier raises an obvious question. Can a one- or two-person operation honestly promise next-day, or even same-day, delivery? Sometimes, in a limited radius, with the right carrier and a same-day cut-off you can actually meet. Often the promise costs more than it returns and the missed-deadline refunds outweigh the premium. Because that's a genuine strategic call rather than a checkbox, it has its own post: is same-day and next-day delivery realistic for small stores. The strategy rule from here: only advertise a speed you can keep on a bad day, because the abandonment cost of a broken delivery promise is far higher than the lost sale from not offering it.

Choosing carriers without over-engineering

Strategy includes who carries the parcels, and small stores routinely over-complicate this. You usually want one reliable domestic workhorse plus, if it fits your market, a relay/pickup option that's cheaper for both you and the customer. Resist offering five couriers "to be safe". Every extra carrier on the delivery step is a decision the customer has to make, and decisions are friction.

Which carrier earns the workhorse slot is regional, and we have setup-and-strategy posts per network: DHL, DPD and UPS integration for broad EU coverage, GLS for multi-country shipping, Colissimo for France, and the relay/pickup model, often the cheapest option for a small store, in Mondial Relay relay points and InPost Paczkomaty for Poland. Pick from those; the strategic instruction here is restraint: fewer, well-chosen carriers beat a long, paralysing list.

International: where a thin strategy gets expensive

If you ship abroad, the cost-versus-speed maths changes shape. Customs declarations, import VAT and duties, and uneven carrier performance across borders all add cost and friction. For an EU store selling inside the EU the Single Market keeps it simple, no customs, OSS-standardised VAT, generally dependable postal networks. Shipping to the UK post-Brexit, to Switzerland, or beyond Europe needs deliberate per-zone pricing and, above all, transparency: a customer hit with an unexpected duty bill at the door rarely orders again.

PrestaShop's tool for this is zones. Under International → Locations → Zones you group countries, and each carrier prices each zone independently under its Shipping locations and costs tab, so "EU standard," "UK," and "rest of world" can carry honest, different rates and transit times rather than one blurred average that loses money on the hard destinations. State clearly at checkout when duties may apply, never in fine print. If you're routing orders from more than one location, the warehouse-aware side of this lives in multi-warehouse shipping.

Close the loop: tracking and the orders you still lose

A shipping strategy doesn't end when the parcel leaves. The cheapest way to protect the margin you've carefully defended is to keep the customer informed after dispatch. A tracking number and a delivery notification turn anxious "where is it?" emails into a self-service answer, and they're covered in tracking numbers and delivery notifications. The strategic payoff: support time saved is margin kept, and a confident post-purchase experience is what turns a first specialty-store order into a repeat one.

Wire the strategy into the back office once, then watch the numbers

The beauty of doing this in PrestaShop is that once your tiers, threshold and zones are set under Shipping → Carriers, Shipping → Preferences and International → Locations → Zones, the checkout enforces every decision automatically, no per-order judgement calls, no margin leaking through ad-hoc discounts. That's the stability dividend: your strategy runs itself.

Then measure, and give it time. Before you change anything, note your baseline: cart-to-order conversion, average order value, and your real shipping cost as a percentage of order value. After adjusting tiers or the threshold, compare the same figures over enough orders to see a trend rather than weekly noise, a month and a few hundred orders, not three days, so you don't revert a change that was actually working. If shipping is eating more than roughly 10–15% of a typical order's value, the strategy needs work: raise prices, lift average order value with the threshold, or switch to a cheaper carrier, not absorb the gap silently.

Shipping isn't just moving a box from A to B; for a small store it's a core part of the experience that decides whether a first order becomes a habit. You won't beat Amazon on speed, and you don't need to. Set a sustainable standard tier, sell speed as a paid option, draw the free-shipping line where your margin allows, choose few carriers well, and keep the delivery promise you make. Encode all of it in PrestaShop once, and the hardest part of shipping, being disciplined under pressure, is handled for you.

FAQ

How many carriers should a small store offer?

Usually two: one reliable domestic workhorse plus, if it fits your market, a cheaper relay/pickup option. Every extra carrier on the delivery step is another decision the customer has to make, and decisions are friction. Offering five couriers "to be safe" slows checkout without adding real choice, restraint converts better than a long list.

What should I actually charge for standard shipping?

Set the rate at your fully loaded cost per parcel, not the bare carrier rate. The loaded cost includes packaging, pick-and-pack time, label consumables, pickup or drop-off trips, insurance, and the statistical cost of damaged or lost parcels you reship. That total commonly lands a third or more above the courier's headline rate; price off the headline rate and you subsidise every order.

Should small stores offer next-day or same-day delivery?

Only if you can keep the promise on a bad day. Sometimes a limited radius with the right carrier and an achievable cut-off makes it work; often the missed-deadline refunds outweigh the premium. Treat express as a paid option self-selected by the minority who need it, priced to fully cover the faster carrier, never a subsidised default. The full call is in is same-day and next-day delivery realistic for small stores.

How do I apply the free threshold to standard delivery but not express?

The global Free shipping starts at setting under Shipping → Preferences is store-wide, it applies to every eligible carrier, including express. To free only the standard tier, use a cart rule under Catalog → Discounts with Free shipping enabled and a carrier restriction set to the standard carrier, or zero a range on that carrier only.

What's a healthy shipping cost as a share of order value?

As a rough discipline line, if shipping is eating more than roughly 10–15% of a typical order's value, the strategy needs work, raise prices, lift AOV with a free-shipping threshold, or move to a cheaper carrier rather than absorbing the gap silently. Measure it against your own real shipping cost over a month and a few hundred orders, not a noisy week.

David Miller

David Miller

Founder, mypresta.rocks
About the author

David Miller is a PrestaShop specialist with over a decade of hands-on experience and the founder of mypresta.rocks, a software studio in Tychy, Poland. He builds and maintains a catalogue of 152 PrestaShop modules, including 21 "Revolution" suites spanning SEO, checkout, security, performance, marketing, search, support, and warehouse operations, that improve real stores every day, all tested against PrestaShop 1.7.8, 8.x, and 9.x. He also acts as caretaker for production stores turning over millions in annual sales, so his work is judged on live revenue, not demos. His experience runs the full breadth of ecommerce, performance, security, SEO, and marketing, and reaches beyond PrestaShop to WooCommerce, Shopify, and custom-built systems. On the blog he writes about the code-aware side of PrestaShop: what the platform really does under the hood, what breaks in production, and which fixes hold up.

Share this post:

Comments

No comments yet. Be the first!

Enjoyed this article?

Get our latest tips, guides and module updates delivered to your inbox.

You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.

Loading...
Back to top