How to inform a customer about a delivery delay, with examples

To inform a customer about a delivery delay, message them before they ask, in three parts and in this order: we know your order is late, here is your new date, here is what we are doing about it. Apologize once and briefly, then give dates and actions, because a specific date does more than a long sorry. Below are 7 copy-paste examples: three emails (a delay before shipping, a carrier delay in transit, a peak-season or incident backlog), then a site banner, a checkout notice, an all-customer email and an SMS.
A delay message sits inside the broader job of customer order tracking: telling the shopper where their order is, especially when the answer is bad. The part that still surprises me is that it is not the delay that kills the relationship with a shopper, it is the silence. The words are the easy half. Every order is a promise. Keeyu keeps it, and a delay message is a promise being renegotiated in public. The hard half is seeing the delay and acting on it before the shopper ever has to ask, and that is an operations job, the one proactive e-commerce operations exists to do.
Template 1: pre-shipment delay
For the order that has not left the building: stock shortfall, warehouse backlog, allocation failure.
Subject: Your order is delayed. New ship date inside.
Hi {first name}, your order {number} was due to ship {original date} and it has not left us yet. The new ship date is {new date}, arriving by {new delivery date}. The delay is on our side: {one honest sentence, e.g. "the {item} sold faster than our stock could follow"}. We have moved your order to express shipping at no cost to make up the time. If the new date does not work, reply to this email and we will sort a refund or a swap, no questions. {Name}, {Brand}
Worth knowing what share of your inbox this template is really covering. About half of all tickets are some version of where is my order, a figure I gave on The Breakout CEO. And those are only the shoppers who ask. When an order misses its promise there are two paths: the shopper who writes in and becomes a help desk ticket, and the shopper who says nothing, is still upset, and just leaves. A delay message sent first reaches both of them.
The cost of waiting for the question is real. In the 786 pain points mined from 270 customer call transcripts between May 2025 and May 2026, where is my order and delivery delays were the biggest customer-driven ticket category, and at one brand a single agent spent 15 to 19 hours a month on manual outreach for orders marked fulfilled that never arrived. Losing someone because they had to chase their order is like setting fire to $80 every time a parcel is late.
Rather catch the delay before the customer does? Keeyu watches every order against the date it was sold with, flags the one that has stalled, and fixes what can be fixed before the message goes out. Book a custom demo and we will map it against your own operations.
Template 2: in-transit carrier delay
For the parcel that shipped and stalled.
Subject: Your delivery is running late. Here is the new date.
Hi {first name}, your order {number} shipped on time but has slowed in the carrier network. Tracking now shows arrival by {new date}. We are monitoring it hourly, and if it has not moved by {threshold date}, we will ship a replacement on express automatically. You do not need to do anything. Track it here: {link}. {Name}, {Brand}
If we can fix a stalled parcel without the shopper knowing, they never know. When we cannot, we engage with them first and positively, with the fix already in motion, so it never becomes a reactive ticket and the team is never on the back foot.
Template 3: bulk delay, peak season or operational incident
For the day something breaks across many orders at once, the scenario the cost of waiting for complaints page prices out. This one exists because of P.E. Nation in 2020: COVID pushed our warehouse sale online, demand crashed the website, the site stopped syncing with the warehouse, and a thousand customers bought products that did not exist. Our customer service team did not know until shoppers called asking where their orders were. Tracy, who ran customer service and is now my co-founder, had to double her team and spend two weeks calling customers to say sorry, pass on credits and give money back. One proactive message to every affected shopper, sent the same day, is the difference between an incident and two weeks on the phone.
Subject: An update on your {Brand} order
Hi {first name}, we oversold during {event} and your order {number} is affected: {specific impact for this customer}. Here is what we are doing: {remedy: refund processed today / replacement shipping {date} / your choice of the two, one click below}. You will not need to chase us. We will update you again by {date} regardless. We are sorry, and we would rather tell you now than have you find out at your door. {Name}, {Brand}
One legal note worth knowing before you write any of these: under the FTC's Mail, Internet, or Telephone Order Merchandise Rule, a US seller who cannot ship within the promised time owes the buyer a revised date and the option to cancel. The template below is the good-practice version of an obligation you already have.

The version of this that lands best is the one where the fix ships with the message. When we spot an order that has stopped moving long enough to be lost, the shopper gets the replacement, the express upgrade and the new tracking number in the same email as the apology, which is the sequence I walked through on Add To Cart. A delay message with no action attached asks the shopper to keep worrying, politely.
Shipping delay announcement: banner, checkout, email and SMS templates
A shipping delay announcement is a store-wide notice that orders will ship or arrive later than your usual promise. You post it on the site and send it to shoppers with open orders when a peak crunch, storm, carrier backlog or warehouse problem hits many orders at once. Because it sits on the site, it also reaches shoppers who have not bought yet.
What most retailers do is put a banner up saying shipments are delayed because it's busy. I think that's a cop out. Yet I also tell retailers that in peak they should put a banner on the site that says, in effect, we need five days longer. Both are true, and the difference is specificity. "Busy" hands the problem to the shopper and leaves them guessing. "Five days longer" is a number they can plan around before they pay, which turns it into a revised promise instead of an excuse. Write the announcement as the promise, not the apology. Every order is a promise. Keeyu keeps it.
Every version below carries the same six elements:
- the revised, realistic date
- one honest sentence of reason
- a tracking link for orders already shipped
- what you are doing about it
- how to reach a person
- a cancel option where one is owed
Flodesk's shipping delay template guide calls the new, realistic ETA the most important piece of information the customer wants, and I agree: an announcement with no date is not finished. If the delay is seasonal and predictable, put the banner and the checkout dates into your BFCM operations plan before the first order lands, not after the backlog does.
Site banner
When to use it: the moment dispatch slips past your normal window, on every page, until it recovers.
{Event} is slowing dispatch. Orders placed today ship by {date}, {N} days later than usual. Track an order: {link}
Checkout and product page notice
When to use it: next to the delivery estimate, so the shopper sees the real date before paying, not after.
Because of {reason}, this order will ship by {ship date} and arrive by {delivery date}. Need it sooner? Choose {express option} or talk to us at {support link}.
Email to all customers with open orders
When to use it: within a day of the incident, to every open order, merged so each shopper sees their own dates.
Subject: Your {Brand} order will arrive later than we said
Hi {first name}, {one honest sentence of reason, e.g. "a storm closed our carrier's {region} hub on {date}"}. Your order {number} now ships by {ship date} and should arrive by {delivery date}. Here is what we are doing: {action, e.g. "running extra warehouse shifts every day until the backlog clears"}. Track it here: {link}. If the new date does not work, reply to this email and a person on our team will cancel it for a full refund or find you another option. We will update you again by {date} either way. {Name}, {Brand}
SMS
When to use it: the same day as the email, for shoppers who opted in to texts. Keep it under 160 characters once the placeholders are filled, and point the link at an order page that offers both tracking and a cancel button.
{Brand}: your order {number} is delayed by {reason}. New arrival: {date}. Track or cancel: {short link}
Tone rules, learned the expensive way
- Advance notice changes the relationship. No one likes missing out on getting what they paid for on time as promised, but customers genuinely appreciate being advised in advance, and it changes the whole relationship.
- Specific beats sorry. One brief apology, then dates and actions. Certainty is the product of this email.
- Never make the carrier the whole answer. The customer bought from you, not the carrier. "It shipped on time" is context, not absolution.
- Give a remedy proportional to the delay. Express upgrade, a credit, or the choice of a refund. An empty apology on a material delay reads as indifference.
- Commit to the next update. "We will update you by Thursday regardless" kills the follow-up ticket before it exists.
The same three-part structure works on the reverse leg for a slow refund, covered on the instant refunds page.
How to make up for a delivery delay
Making up for a delivery delay means giving the shopper something in proportion to what the delay cost them. That can be money back on the service that failed, the lost days recovered, a reason to come back, or the freedom to walk away. The right offer depends on who caused the delay and how much it hurt.
Delay | Offer | Why |
|---|---|---|
Paid express, arrived late | Refund the shipping fee | They paid for speed and did not get it |
Your stock or warehouse problem | Free express upgrade | It wins back the days you cost them |
Stalled or lost in transit | Express replacement, new tracking | They want the product, and the carrier claim is yours |
Loyal repeat shopper, short slip | Next-order credit sized to their history | It recognizes the relationship without overpaying |
Delay shown at checkout and met | Delivery on the new date | They accepted the revised promise |
Whatever the row, an order that misses its promised ship date also gets a revised date and a one-click cancel with a full refund. US sellers owe that under the FTC rule above.
The last row is the one teams get wrong in both directions. Compensating a delay the shopper agreed to before buying trains everyone to expect a code, and skipping the offer on a delay you caused and never announced tells the shopper the delay was their problem.
Timing matters as much as the offer. Compensation that arrives after a complaint is a refund for silence. Compensation that arrives in the first message is part of the fix.
I also think the offer should fit the person, not the incident. Picture a shopper who has bought every week for five years and whose order will be one day late. A $10 coupon loaded to their next purchase tells them you noticed. You can only make that call with their order history in front of you, so pick the remedy from order data, not one flat code. Catching the delay early enough to choose a remedy at all is the operations half, and it is the part Keeyu is built for.
The template is the last step, not the first
Every template above assumes you knew about the delay in time to send it. A lot of brands are happy being reactive: they wait for the shopper to say they have a problem, then measure the team on how fast it closes that ticket. That is measuring a problem nobody wanted. The detection has to come first: watching every order against the delivery promise it was sold with, catching the drift while there is still time to act. That is what Keeyu does, and the sending is the easy end of it: detect the stalled order, fix what can be fixed, then fire the message, personalized, at scale, automatically. The EHP Labs team describes the before picture in our customer story: always on the back foot, not recognizing a problem until a customer pointed it out, and at times without clear communication because they were waiting to see what had happened. That wait is the delay message that never gets sent. Detect. Decide. Act. Then tell. Keeyu gets shoppers what they want, on time, as promised, and when it truly cannot, the customer hears it from you first. The full milestone playbook is on the shipping notifications page, the metrics on the on-time delivery page, the discipline on the post-purchase operations hub. Every order is a promise. Keeyu keeps it, and these templates are for the days it needs help.
Before you write anything, ask what would have to be true for the message never to be needed. A parcel that has not left the warehouse can be pushed out, a failed payment can be retried, an out-of-stock line can go to back order with the shopper told what happens next, and I described that set on Add To Cart. Those three cover most of the delay emails a team writes in a week.
Frequently Asked Questions
What should I say to a customer about a delivery delay?
Three things, in order: we know about the delay, here is your new date, here is what we are doing about it. Send it before the customer asks, offer a real remedy when the delay is material, and never blame the carrier as the whole answer.
Should I apologize for a shipping delay?
Once, briefly, and then be useful. Over-apologizing without a new date or an action reads as helplessness. The customer wants certainty and a remedy more than they want remorse.
When should a delay email be sent?
The moment the promise is at risk, not when the customer notices. A delay announced by the brand reads as competence. A delay discovered by the customer reads as a broken promise, and by then the ticket already exists.
What should a shipping delay announcement include?
A revised, realistic date, one honest sentence on the reason, a tracking link for orders already shipped, what you are doing to fix it, how to reach a person, and a cancel option where one is owed. A banner that says orders ship five days later than usual is useful. A banner that only says you are busy leaves shoppers guessing and writing in.
Should I offer a discount for a late delivery?
Not always. Refund the shipping fee if they paid for speed, upgrade to express if the delay is yours, and ship a replacement if the parcel is lost. Save a next-order credit for a short slip on a loyal shopper's order. If the new date was shown before purchase and you meet it, delivery is the remedy. More on acting first in proactive customer service.
References
- Keeyu customer results (EHP Labs): keeyu.com/customer-stories
- The Breakout CEO #86, The Pivot This Founder Made After an Investor Called It Impossible - one in five US shoppers not getting orders on time, and the ticket ratios behind it.
- Add To Cart #599, How to Prevent "Where is my Order?" Complaints Before Customers Ask - preventing "where is my order" before the customer asks.
- Marketing for SMEs, Jevon Le Roux on the E-Commerce Mistake Costing Millions - the orchestration layer, and the 55% ticket cut at EHP Labs.
- Federal Trade Commission, 16 CFR 435.2, Mail, Internet, or Telephone Order Merchandise Rule - a seller who cannot ship within the promised time must offer the buyer a revised shipping date and the option to cancel for a prompt refund.
- Flodesk, 5 great Shipping Delay Email Templates to copy & paste: a new, realistic ETA is the most important information a shipping delay message gives the customer.
Keep the promise.
See how Keeyu catches and fixes post-purchase issues before customers notice.
In one call, we’ll map your operations and show how Keeyu detects issues, decides what needs to happen, and takes action across your existing systems.
We’ll confirm your integration requirements and rollout plan during the demo.
