Amazon spent billions teaching your customers that "tomorrow" is a normal delivery promise, and now they bring that expectation to your store too. So the question every small merchant eventually asks is blunt: can I actually offer same-day or next-day delivery, or am I about to lose money trying to look like Amazon? The honest answer is that next-day is realistic for most PrestaShop stores and same-day is realistic for almost none of them nationwide, but same-day is very achievable for one zone. This post is about drawing that line correctly, then wiring the result into PrestaShop's carrier system so the fast options only appear where you can actually deliver on them. For the broader cost-versus-speed trade-off across your whole catalogue, start with shipping strategy for small stores; this guide drills into the speed question specifically.

Last updated: June 2026.

Speed expectation depends entirely on what you sell

Before you spend a cent chasing speed, match the promise to the category. A "next-day or bust" mindset is wasted money on products where nobody is waiting by the door. Surveys consistently rank delivery speed near the top of purchase factors, just behind price, treat the exact percentages you see quoted online as directional, because they swing wildly by market and category. What holds up is the relative pattern:

CategoryWhat customers actually expectIs chasing same-day worth it?
Groceries, pharmacy, essentialsSame-dayYes. Speed is the product
Fashion, electronics, giftsNext-dayNext-day yes; same-day rarely
Home & garden, bulky goods2–3 daysNo, invest in reliability instead
Custom / made-to-order1–2 weeksNo, nobody expects it

So what? If you sell custom furniture, the next-day carrier you're agonising over adds cost and zero conversion. If you sell phone cases or last-minute gifts, the absence of a fast option is quietly costing you the urgent-buyer segment. Decide per category, not store-wide, and in PrestaShop you can decide per category, because carriers attach to products and zones rather than to the whole shop.

What fast delivery actually costs a small store

The reason same-day is hard isn't the carrier label. It's three costs that compound, and only one of them is the courier fee.

  • The carrier surcharge. Same-day courier rates typically run well above standard parcel rates; next-day express sits in between, and the gap narrows once you have volume. On a low-ticket order, a same-day surcharge can swallow the entire margin. This is a margin question, and it's the same maths as any premium shipping tier. We work through where the customer pays versus where you absorb it in free vs flat rate vs calculated shipping.
  • The cutoff-time labour cost. Same-day means an order placed before, say, 11:00 has to be picked, packed and handed to a courier within hours, not at end of day. That demands a person standing by during the window, which is a staffing commitment, not a checkbox.
  • The inventory-proximity cost. Same-day only works where stock physically sits near the customer. One warehouse can promise same-day to its own city and nothing more. Genuine multi-region same-day means stock in multiple locations, a different problem entirely, covered in multi-warehouse management in PrestaShop.

Next-day is the practical sweet spot precisely because it relaxes all three: cutoffs can run to mid-afternoon, national carriers already offer next-day nationwide, and you don't need stock near every customer, just a parcel on the right truck before it leaves.

The three strategies that actually work for small stores

1. Next-day as a paid express tier. Keep your standard carrier (2–3 days, the one that qualifies for any free-shipping threshold) and add an express next-day carrier at a fixed surcharge. Let the customer self-select: most take standard, the urgent minority happily pay for speed, and you've monetised urgency instead of eating it. This is the highest-return move for the widest range of stores.

2. Same-day for your local zone only. If you have a physical premises, a local courier can deliver same-day within your city. You get a genuine "same-day in [city]" badge, a real competitive edge locally, without taking on national logistics you can't sustain. The trick is making sure PrestaShop only shows that option to in-zone customers, which is the back-office section below.

3. Fix your own dispatch speed first, it's usually the real bottleneck. Before paying any carrier more, look at your handling time. If orders sit a full day before they ship, you're turning a carrier's 2-day transit into a 3-day customer experience for free. Cutting dispatch from "next day" to "within hours" upgrades every order at zero carrier cost and is often the single biggest speed win available. Speed the customer feels is dispatch time plus transit time. Most small stores have all their slack in the first number.

One thing speed can't buy, and a tempting trap: certainty beats raw speed for most shoppers. A reliable "arrives Thursday" reassures more than a vague "2–5 business days," even when Thursday is the same day the vague estimate would have landed. That's a whole discipline of its own, see setting realistic delivery expectations and why a delivery-date feature reduces anxiety rather than competing on speed you can't reliably hit.

Wiring same-day and next-day into PrestaShop

Purchase orders and fulfilment list across multiple warehouses in PrestaShop with picklist and receiving statuses
Fast delivery leans on tight fulfilment: picklists, warehouse assignment and receiving status visible in one back-office view.

PrestaShop's carrier system is built for exactly this: multiple carriers, each with its own price, transit time and, critically, its own zone and geographic restrictions. That last part is what stops you promising same-day to someone 500 km from your shelf. Here's the structure to build.

Create the carriers

Go to Shipping → Carriers → Add new carrier (in PrestaShop 1.6 and 1.7 this opens a multi-step carrier wizard; from PrestaShop 8 onward the same fields live on a single carrier form, so the step names below are tabs rather than wizard pages). Build three:

  • Standard, 2–3 day transit, the carrier you tie any free-shipping threshold to.
  • Express next-day, fixed surcharge, national zones enabled.
  • Same-day (local), your local courier, restricted to one zone only.

On each carrier, the Transit time / Delivery time field (the shipping-delay text on the carrier's General settings tab) is what the customer reads at checkout. Write it as a promise you can keep ("Delivered tomorrow if ordered before 11:00"), because this string is doing your expectation-setting at the decision moment.

Restrict the fast carriers by zone. This is the safety valve

The same-day carrier must never appear for an out-of-range customer. PrestaShop gives you the controls in two places:

  • On the carrier's Shipping locations and costs step, enable only the zone(s) you can service same-day and disable the unserved zones for that carrier; then set the carrier's out-of-range behaviour to Disable carrier so an address that falls outside your configured ranges or zones hides the carrier rather than billing the highest range.
  • For finer control than zones (which are country/state level), use the carrier's own weight and price ranges on its Shipping locations and costs step, and where you need true postcode-level precision, "same-day only within these postal codes". That's beyond stock PrestaShop's country/state zones and is where a zone-by-postcode shipping module earns its place.

The mechanism behind this is PrestaShop's Carrier object resolving available carriers against the cart's delivery address at the delivery step; a carrier with no price defined for the address's zone is filtered out before the customer ever sees it. That's why correct zone setup, not a clever front-end hack, is the reliable way to hide same-day from distant buyers.

Express the cutoff so it creates urgency, not confusion

The cutoff is the heart of any fast-delivery offer, and PrestaShop doesn't enforce a clock natively, so you express it in the carrier's delivery-time text and on the product/cart page. A line like "Order within 3 hours for delivery tomorrow" does double duty: it sets the honest condition and it manufactures urgency that justifies the express fee. Showing a live, accurate delivery estimate at this point is its own small project. The mechanics live in the delivery-date feature guide, and the same precision underpins honest tracking and delivery notifications once the parcel is moving.

If any of the carrier-setup steps above are unfamiliar, the full walkthrough, zones, ranges, weight/price bands, handling fees, is in the complete PrestaShop shipping configuration guide and the step-by-step carrier module setup guide. For connecting a specific fast carrier's account and live rates, see the DHL/DPD/UPS integration guide.

Don't let the fast option blow up your free-shipping maths

A common own-goal: a store offers free shipping over a threshold, the customer hits it, and then sees the same-day option for free because the threshold rule wasn't carrier-scoped. Free shipping should apply to your standard carrier only. Express and same-day are paid tiers, always. The catch is that PrestaShop's global free-shipping threshold under Shipping → Preferences is not carrier-scoped: once an order crosses it, free shipping is offered across every carrier, including your express ones. To restrict free shipping to the standard carrier, don't rely on that global threshold, instead create a cart rule (or use a shipping module's logic) that grants free shipping and limits it to the standard carrier under the cart rule's Actions tab, or you'll be couriering same-day parcels at your own expense. The full case for where free shipping helps and where it quietly eats margin is in free shipping: when it makes sense.

Concretely, the carrier-scoped free-shipping rule is built like this, and crucially, leave the global threshold under Shipping → Preferences at No free shipping so it can't apply across every carrier:

  • Go to Catalog → Discounts → Cart Rules → Add new cart rule.
  • On the Conditions tab, set the Minimum amount to your free-shipping threshold (for example 50, tax included) so the rule only triggers once the cart qualifies.
  • On the Actions tab, tick Free shipping, then under Carrier select only your Standard carrier. This is the line that does the work: the express and same-day carriers are deliberately left out, so they stay paid even on a qualifying cart.
  • Leave the discount code blank for an automatic rule, set a date range if it's a promotion, and save.

Now a customer who crosses the threshold gets free standard shipping and still pays for the fast tiers, instead of you couriering a same-day parcel at your own expense because the global threshold quietly waived it.

How to know it's working

Before launching a fast tier, write down three baselines from your analytics: your current cart-to-order conversion, the share of orders choosing any paid shipping, and your average dispatch time. After you launch, watch two things over a real sample, at least 30 days and a meaningful order count, not one good week. First, the take-up rate of the express tier: if almost nobody picks it, the surcharge or the messaging is wrong, not the demand. Second, your fulfilment hit-rate: of the same-day/next-day orders, what fraction actually met the promise? A fast option you miss half the time damages trust faster than having no fast option at all.

Frequently asked questions

Can a small store realistically offer same-day delivery? Not nationwide, with very few exceptions. The surcharge, the cutoff-time staffing, and the need for stock physically near the customer compound against it. But same-day is very achievable for one local zone if you have a physical premises: a local courier delivers same-day within your city, and PrestaShop's zone restrictions keep that option hidden from out-of-range buyers.

Is next-day delivery worth setting up? For most stores, yes, as a paid express tier alongside your standard carrier. It relaxes all three same-day pressures: cutoffs can run to mid-afternoon, national carriers already offer next-day nationwide, and you don't need stock near every customer. Let the urgent minority self-select and pay for speed instead of you eating it.

How do I stop a fast carrier appearing for customers I can't reach? Enable only the serviceable zone(s) on that carrier's Shipping locations and costs tab and set its out-of-range behaviour to Disable carrier. PrestaShop resolves carriers against the cart's delivery address and filters out any carrier with no price for that zone before the customer sees it. For true postcode-level precision, that's beyond stock zones and needs a zone-by-postcode shipping module.

What's the biggest speed win that costs nothing? Your own dispatch time. If orders sit a full day before shipping, you turn a carrier's 2-day transit into a 3-day customer experience for free. Speed the customer feels is dispatch time plus transit time. Most small stores have all their slack in the first number, so cutting it to within hours upgrades every order at zero carrier cost.

Why does certainty beat raw speed? A reliable "arrives Thursday" reassures more than a vague "2–5 business days," even when Thursday is the same day. A fast option you miss half the time damages trust faster than having no fast option, so set an accurate, visible delivery estimate and keep the promise rather than competing on speed you can't reliably hit.

The expectation-setting half of fast delivery is its own job, and our own PrestaShop modules cover it (disclosure). An Estimated Delivery Date module shows the live, accurate "arrives Thursday if you order before 11:00" that turns a cutoff into honest urgency rather than a vague guess. And once genuine multi-region same-day is on the table, stock near more than one customer base, that's a stock-location problem, handled by Warehouse Revolution for shipping from multiple locations rather than promising same-day your single warehouse can't reach.

The honest bottom line

Nationwide same-day delivery for a small store is, with very few exceptions, neither realistic nor economical, and that's fine, because you don't need to be Amazon to satisfy customers. What actually wins is a tighter, cheaper combination: dispatch within hours instead of days, a paid next-day tier for the urgent minority, same-day reserved for your local zone where the logistics genuinely work, and delivery promises you keep every time. A store that ships within four hours and reliably delivers in two days will out-satisfy a rival that advertises next-day and keeps missing the cutoff. Set the carriers up so the fast options only appear where you can honour them, and speed becomes a feature you sell, not a promise that sells you out.

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