Shipping delays happen. Carriers miss cutoffs, weather grounds planes, customs holds packages. The problem isn't the delay itself, it's finding out your customer opened a PayPal dispute before you had a chance to explain what went wrong.
Shipping exceptions deserve a repeatable process, even in a small store. A stalled scan should lead to a check of the actual shipment and the promised delivery window, not an automatic discount or a made-up explanation.
This guide covers how to communicate shipping problems in a way that keeps the customer, cuts refund requests, and doesn't eat your weekend.
Why Shipping Delay Communication Matters More Than You Think
The gap between "my order should have arrived" and "the store told me what's happening" is where chargebacks live. Customers don't expect perfection. They expect to know what's going on before they have to ask.
When you let the carrier tracking page be the only source of truth, you're handing the narrative to a system that says "Exception" with no context and doesn't care if the customer cancels.
Proactive communication does three things:
- Resets expectations before frustration sets in. If the customer hears from you first, the delay becomes a shared problem you're solving together, not a broken promise.
- Cuts inbound "Where is my order?" volume. A useful explanation can reduce repeat questions; measure that effect in your own inbox.
- Shows customers that you remain available. Being the store that actually tells people what's happening builds trust that carries past this one order.
The Shopify Help Center notes that emailing customers about potential delays "helps to reassure them that you're monitoring the situation and care about their order being delivered." It's basic, but most stores still don't do it until the customer is already angry.
When to Notify Customers About a Delay
Not every tracking hiccup needs an email. If you message too early, you create worry where none existed. Too late, and you look reactive.
Use this decision framework alongside the carrier's service guidance and the delivery expectations you gave the customer. There is no universal wait period that fits every service or destination.
| Scenario | What to check and communicate |
|---|---|
| A scan is missing | Check whether delivery is still within the promised window; a missing scan alone does not prove the parcel is lost. |
| Delivery estimate has changed | Share the carrier's revised estimate and distinguish it from a guarantee. |
| Weather disruption | State the cause only if the carrier confirms that it affects the shipment. |
| Customs hold | Explain the visible status and request the actual missing information or next step. |
| Vague exception | Ask the carrier for clarification, while telling the customer the facts already available. |
A good rule: if the customer would see something confusing on the tracking page, you should explain it before they email you.
What to Say (and What to Skip)
Start with what you know, not what you're investigating
Bad: "We're looking into your order and will update you soon."
Hypothetical example, where tracking confirms these events: "Hi Alex, your order left our warehouse on Tuesday and was scanned in Portland on Wednesday. The carrier has reported a weather delay. It hasn't provided a revised delivery date yet; I'll share that here when we have a confirmed update."
The second version explains the known events and what remains uncertain. Even if you don't have all the answers, share what you do know.
Own the experience, even when it's the carrier's fault
Customers bought from you, not from FedEx. Blaming the carrier might be factually accurate, but it doesn't help the customer and it makes you sound powerless.
Bad: "FedEx lost your package. There's nothing we can do until they find it."
Hypothetical example, after a carrier inquiry has actually been opened: "Your package was last scanned in Memphis and the delivery estimate has passed. I've asked the carrier to locate it. I'll update you tomorrow even if its investigation is still open, and explain the options available under our delivery policy."
You're still explaining the carrier is the bottleneck, but you're framing yourself as the one solving it.
Offer a next step, not just an apology
Apologies are fine, but they don't answer the customer's real question: what happens now?
Include one of these in every delay message:
- A new arrival estimate, if the carrier has supplied one
- What you're doing to track it down (tracer filed, replacement being prepared)
- What the customer should do if X doesn't happen by Y date
- A resolution permitted by your policy and confirmed by the authorized person or tool
The goal is to close the loop so they don't have to email back asking "Okay, but what now?"
Skip the novel
When someone's annoyed their order is late, a six-paragraph explanation of your fulfillment process doesn't help. Two to four sentences covering what happened, what's next, and how to reach you is enough.
Automate the Repetitive Stuff (Without Sounding Robotic)
If you're manually writing a custom delay email for every exception, you'll burn out or let some slip. But a canned response that opens with "Dear valued customer" will make things worse.
Trigger notifications based on tracking events
Shopify's native order status emails include tracking updates, but they don't catch every nuance. You can:
- Use a suitable tracking integration or a supported Shopify Flow workflow to act on the events that integration actually exposes; verify those triggers before relying on them
- Set up a daily export of orders with stale tracking and batch-message them
- Connect a tool that monitors carrier APIs and triggers contextual messages (e.g., weather delays, address issues, attempted delivery)
The key is tying the message to the type of exception, not sending a generic "your order is delayed" to everyone.
Let an AI agent draft (or send) the message
Kolton can use connected order and tracking information when answering shipping questions. Whether a proactive notification can be sent depends on the configured workflow, channel and permissions. Verify that setup before expecting every carrier exception to trigger an outbound message.
An agent should distinguish order processing, fulfillment and carrier scans. A fulfilled order is not proof of delivery. A returned parcel with no stated reason is not proof that the customer entered a bad address. Ask the carrier for the explanation and tell the customer what the record actually confirms.
If you're running in review-and-approve mode, the agent drafts it and you send with one click. If you trust it, it sends autonomously and you see the conversation in the shared inbox. Either way, you're not writing the same "sorry for the delay" email 40 times a week.
You can also set guardrails for what the agent handles automatically and what it escalates. Some stores let the agent send delay notifications but require human approval before offering a refund or replacement.
Personalize with merge tags, not just a first name
If you're using email templates, go beyond {{first_name}}. Include:
- Order number
- Ship date
- Carrier and tracking number (as a link)
- Original estimated delivery date
- Product name (especially if it's a gift or time-sensitive item)
Example: "Hi Sarah, your order #1234 (the black leather tote) shipped on March 1 and was expected by March 5. USPS tracking shows it's currently delayed in transit. Here's what we're doing..."
The more specific the message, the less it feels like a batch-and-blast.
Handling the Tough Ones: Lost Packages, Returned to Sender, and Customs Holds
Lost or damaged in transit
If tracking reports a lost shipment or the customer reports damage, verify the order and relevant evidence, then apply your approved resolution policy. Explain the available refund or replacement options without promising an action that has not been authorized. Follow any applicable consumer obligations and carrier claim requirements.
A carrier claim and a customer resolution are separate pieces of work. Record who owns each one. Do not tell the customer a replacement has shipped until fulfillment confirms it.
Returned to sender with an unclear reason
Check the full tracking history and compare the order address with the label. If the return reason is absent, contact the carrier or inspect the returned package when it arrives. Do not guess that the customer failed to collect it, omitted a phone number, or supplied the wrong address.
Explain whether tracking shows the parcel returning or already received by the sender. Then outline the next verified step. Any reshipping charge, replacement or refund must follow the store's applicable policy and obligations; there is no standard fee that applies to every returned parcel.
Customs holds (international)
International delays are harder to predict. Customs can hold a package for days or weeks with zero visibility. Shopify's help docs note that some countries have regulations that, if unmet, can cause shipments to be "delayed, returned, or destroyed."
When an international order stalls in customs:
- Use the carrier's guidance and the promised delivery window to decide when an update is needed
- Explain that clearance times vary and are outside your control
- Provide the tracking number and any customs reference number if available
- Let them know you're monitoring it and will update them if it's returned
If you're shipping internationally often, communicate potential delays before checkout. Explain the estimates and customs limitations that actually apply to the destination and shipping service. Do not invent a country-specific delivery range.
Build a Library of Delay Message Templates
You don't need 50 templates, but you should have these five ready to go:
- Weather/natural disaster delay (carrier-wide impact)
- Tracking stalled beyond the expected update window (no clear cause yet)
- Delivery date pushed back by carrier (new ETA available)
- Exception scan (vague, needs clarification)
- Lost or damaged package (resolution offered)
Store them in Shopify's saved replies, a shared Google Doc, or your helpdesk. When an exception happens, pick the closest template, customize the order details, and send.
If you're using an AI agent, it can pull from your knowledge base and adapt the template automatically based on the order context.
Don't Let Carrier Problems Become Customer Problems
Shipping delays will happen. The stores that keep customers through the exceptions are the ones that communicate early, clearly, and with a plan.
If you're spending hours each week writing delay emails or watching tracking pages, that's time you're not spending on the rest of your store. An AI agent that monitors orders, drafts contextual updates, and handles WISMO automation can take the repetitive part off your plate while keeping the communication personal.
You can see how Kolton handles shipping exceptions, live order questions, and the full support and sales workflow at kolton.ai/platform.
Key takeaways
- Explain the tracking facts and distinguish estimates from guarantees.
- Use carrier guidance and your promised delivery window, not an arbitrary universal waiting period.
- Investigate unexplained returns instead of assuming the customer caused them.
- Offer an authorized next step and confirm action results before describing them as complete.
- Test proactive notification triggers and keep clear ownership of carrier inquiries and customer follow-ups.
Frequently asked questions
- When should I tell a customer their shipment is delayed?
- Use the delivery window you promised, the carrier's current information, and the impact on the customer. Explain a confirmed change promptly. A missing scan by itself does not establish a lost package or its cause.
- What if tracking does not explain why a parcel was returned?
- Share the confirmed return status and ask the carrier for the reason. Inspect the returned label when available. Do not assume an incorrect address, missing phone number or missed collection without evidence.
- Should I automatically refund every delayed order?
- No single workflow fits every case. Apply the relevant policy and obligations, verify the facts, and execute only authorized resolutions. Explain the actual options instead of promising an unconfirmed refund or replacement.
- Can an AI agent send proactive delay updates?
- That depends on the connected tracking events, notification workflow, channel and permissions. Test the actual trigger and message delivery before relying on it. An agent should not claim it opened a carrier inquiry or shipped a replacement unless that action is confirmed.
Sources

About the author
Mario
Mario Horvat builds Kolton, the AI agent that helps Shopify stores turn conversations across chat, DMs and social comments into orders. He focuses on how the agent answers shoppers from a store's live catalog, stock and order data.
View profile →