We value your privacy

We use cookies to enhance your browsing experience, serve personalized ads or content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies.

Skip to content

Delivery Estimates Before Dispatch: Checklist for Shopify Merchants

A customer reads a date at checkout and measures you against it. Here is how to measure the span before dispatch, and how to show a date you can keep.

Janson Wang 10 min read Estimated Delivery Date
Delivery Estimates Before Dispatch checklist.

Most delivery complaints are not shipping problems. They are estimate problems.

A customer reads a date at checkout, writes it down in their head, and measures you against it. If the parcel is late by carrier standards, that is one conversation. If the parcel is late because the estimate never included the days your warehouse needed before the carrier ever touched it, that is a different conversation, and a harder one, because the customer is right.

This article is about the part of the promise that happens before dispatch: everything between "order received" and "carrier has the parcel." It is the part merchants control least and describe worst. What follows is a practical checklist you can work through in an afternoon, plus the small number of Shopify settings and store-front messages that actually move the needle.

First, separate the stages. They are not one blob.

When a merchant says "it takes us about five days to ship," they are usually compressing five or six different activities into one guess. Pull them apart on paper, because each one fails differently and each one belongs to a different person.

1. Order receipt

The order lands in your admin. Payment clears, or does not, immediately. Fraud review, address validation, or a manual hold can sit here quietly. This stage is yours, and it is the only one you can timestamp without asking anyone.

2. Supplier or warehouse preparation

If the unit is already on a shelf, this is picking. If it is not, meaning you source or produce after the order arrives, this is procurement and production, and it can dwarf everything else in the list. These are genuinely different situations, and merging them into one published number is where most bad estimates come from.

3. Quality control

Inspection before a parcel goes out. Sometimes per-order, sometimes per-batch. A batch inspection can happen weeks before the order exists, but if an order sat waiting for that batch to be released, the waiting is still inside the span your customer experiences.

4. Packing

Cartoning, inserts, custom packaging, label printing. Usually short. Occasionally not, if branded materials are out of stock.

5. Carrier handoff

The moment the shipment physically passes to the carrier. This is the endpoint that matters most, and it is the one merchants most often cannot prove.

6. Transit

The carrier's span, ending at the customer's door. Not yours, and, importantly, not part of your fulfillment time.

Stages 1 through 5 are what your estimate has to cover. Stage 6 is what the carrier's estimate covers. Add them together and you have the date the customer actually cares about. If the difference between those two spans is still fuzzy, our notes on shipping date vs delivery date and what an estimated shipping date actually means pull them apart.

What Shopify's field actually means

Worth reading the official wording rather than assuming, because the wording is specific.

Shopify's Help Center defines fulfillment time as the time between a customer placing an order and you fulfilling it, and it pins the end of that span precisely: orders that require shipping "are considered fulfilled when the business gives the shipment to a shipping carrier service." Older Shopify documentation calls the same span processing time. If the two names confuse your team, they are describing the same thing.

The same page lists what belongs inside it: "Reviewing an order, printing shipping labels, packaging products, and handing over shipments to a shipping carrier all contribute to an order's fulfillment time."

And Shopify is direct about outsourced fulfillment: "If you dropship, then your only control is over which suppliers you work with and how quickly you place your orders with them."

Read that as what it is. The number you type into that box is a claim about a building you do not stand in.

On the other side, Shopify's page on transit time settles the boundary in one sentence: "Transit time doesn't account for order processing time." Carrier speed cannot fill your pre-dispatch gap. Only your own preparation number can.

The checklist

Work down this list in order. Most stores find their answer somewhere around item 4.

1. Write down your two required timestamps

Order placed, and carrier handoff. With timezones. Everything else is diagnosis; these two are the measurement. If you only have the first one, you do not yet have a fulfillment time, you have half of one.

2. Confirm which event means "the carrier took it"

A carrier's first scan is not automatically a handoff. It can be raised at a drop-off point, at an agent's counter, or on the first read inside a sorting facility. Ask your carrier, in writing, which event type in their data means the parcel was in their possession, then use that event consistently. A signed handover document works too.

3. Pull one real month of orders, queued by order date

Not by ship date. Taking the orders that shipped during a window quietly deletes the slow ones, because the slow ones have not shipped yet. Take the orders that were placed in the window, and keep the ones that are still open visible and separate. An unfinished order is a lower bound, not a data point to average away.

4. Read the slow tail, not the average

Sort by the gap between your two timestamps and look at the worst rows. Your published number has to survive those, because those are the customers who write in. An average that hides a two-week outlier is not a number you can defend.

5. Decide whether your stages are per-order or per-batch

Incoming inspection on a lot is not a per-order stage. Record it as a lot ID and a release date, separately, then check whether any order waited on it. The wait counts even though the inspection does not appear in that order's timeline.

6. Ask whether the unit exists before the order does

If you source or produce after the sale, procurement sits in front of every stage above. Ask your supplier which record marks the order going to the factory. Without it, the front half of your span is invisible to you and still visible to your customer.

7. Convert to business days last

Measure raw elapsed hours first, then apply the working-week rules. Dividing hours by 24 does not give you a business-day figure. Shopify's documentation states that "Business days are considered Monday to Friday," and that weekends and statutory holidays are included in the estimated delivery date calculation.

8. Find your cut-off times, all of them

Shopify's own rule is that the business day cut-off is 12 pm in the local timezone of the shipping origin. That is a display cut-off: it decides what the customer is told. Your carrier's pickup booking deadline is a different animal, and missing that one genuinely moves the collection to tomorrow. Write both down, with timezones, and note which closes earliest on your lane.

9. Check whether Shopify will even calculate a date for your setup

Calculated delivery dates are gated by fulfillment origin country and shipping-rate type, and Shopify's manual delivery dates page notes that delivery dates don't work with shipping rates provided by third-party apps, a common configuration for cross-border stores. Open the eligibility pages against your own setup before you count on either path. If neither fits, your levers become the fulfillment time value in your settings plus whatever you communicate on your own pages.

10. Check every surface the estimate reaches

The value does not live only at checkout. Shopify lists it appearing at checkout, in accelerated checkout, on the Thank You and Order Details pages, in Shop app surfaces, and in the order confirmation email. That last one sits in an inbox forever. Change the number and one of these stays stale, and you now have two promises.

Where merchants actually see this, and how to show it

Doing the measurement is half the job. The other half is making the answer visible before someone buys, rather than after they email.

The most direct fit is a product-page delivery estimate. An app like Essential Estimated Delivery exists for exactly this: showing an estimated delivery date or range on the product page, so the expectation is set at the moment of interest rather than three clicks later. If you have not set one up before, there is a walkthrough on adding an estimated delivery time on Shopify and one on writing the delivery promise itself. Whatever tool you use, the rule is the same: the date it shows should be the number you measured, not a number you liked the look of.

Two supporting messages are worth having ready.

An announcement bar for temporary, store-wide conditions: a holiday block, a supplier shutdown, a lane disruption. This is the right place for "orders placed after X will ship from Y," because it is honest, dated, and removable. Essential Announcement Bar covers this category of message.

A countdown timer for a genuine same-day cut-off, if you have one. Essential Countdown Timer can show a clock against a real dispatch deadline. Use it only when the deadline is real: a fake urgency clock that your warehouse ignores is the fastest way to turn an estimate problem into a trust problem.

One more, only if it applies to you. If a product is not in your warehouse and will not be for a while, Essential Preorder Back in Stock handles that honestly as a preorder rather than a normal order with an optimistic date attached. Selling an item as in-stock when it has not been produced yet is not an estimate problem you can solve with a better number.

Words to avoid, and why

Be careful with absolutes. "Guaranteed delivery in X days," "always ships same day" and "never delayed" are claims you cannot keep across every SKU, every lane, and every week of the year. A range you can evidence is stronger than a tight figure you cannot.

Prefer "typically," prefer ranges, and state exceptions out loud. A wide date you can keep beats a narrow one you cannot. Note the trap, though: a wide number that your own policy pages contradict is still a mismatch. Consistency across checkout, product page, policy page and confirmation email matters more than the specific figure.

If you pad, pad on purpose. Write down the range you measured, then the slack you added, then why. That note is what lets the next person on your team understand the number instead of guessing at it.

When to re-measure

Re-run the checklist whenever something feeding the span moves: a jump in order volume, a new SKU group, a new supplier, a new shipping lane, or an upcoming holiday block. Public holiday calendars in particular are worth pulling fresh each year rather than assuming last year's dates, and the national calendar tells you what the country does, not what any individual warehouse does. Ask your own partner for their shift plan, in writing, with dates.

Finally, the two-minute version of all of the above: open your own store on your phone, add something to the cart, and read the date at checkout. Whatever it says is the promise you are making today. If nobody in your business can explain where that number came from, that is your starting point. For a sense of the spans other stores work with, we looked at how long Shopify orders typically take to ship.

Written by

Janson Wang

Janson Wang is the Founder & CEO of ASG Dropshipping, a China-based supply chain and fulfillment partner helping growing Shopify and ecommerce sellers with China sourcing, QC inspection, custom packaging, and global order fulfillment.

Guest contribution