TL;DR
Proactive shipping notifications on Shopify cut WISMO ticket volume 20-30% when sent at five specific milestones (label created, in transit, out for delivery, delivered, delayed) through a Klaviyo flow triggered by shipping webhooks. The flow only works if delay logic fires before the customer notices the problem themselves.
- Send notifications at five milestones, not just shipped and delivered, to catch anxiety windows before they convert to tickets.
- Delay notifications matter more than positive updates: customers ticket 60% less when warned proactively.
- Use shipping carrier webhooks (not order timestamps) so the flow reflects reality, not what your store thinks happened.
- SMS for delivery-day events, email for everything else. SMS for shipped events causes opt-outs.
- Without a fallback AI handler for the 15% of edge cases, you push tickets to a different channel, not eliminate them.
Table of contents
- What is a proactive shipping notification flow?
- How do I build the Klaviyo flow step by step?
- What is the difference between Shopify's default shipping emails and Klaviyo flows?
- How do proactive notifications compare to AI support on cost per resolution?
- When is a proactive shipping notification flow the wrong move?
Proactive shipping notifications on Shopify cut WISMO ticket volume 20-30% when they cover five milestones, not the two that Shopify sends by default. The whole tactic lives or dies on whether your delay notification fires before the customer notices the problem themselves. Everything else is decoration.
This post walks through the exact Klaviyo flow, the webhook events that should trigger it, copy templates that actually work, and the cases where the flow is the wrong move. If you have not read the pillar guide on reducing WISMO tickets yet, start there for the full strategy context.
What is a proactive shipping notification flow?#
A proactive shipping notification flow is an automated sequence triggered by shipping carrier events (not order events) that sends customers a status update at each meaningful milestone in their order's journey. The goal is to answer "where is my order?" before the customer thinks to ask it.
The five milestones that matter:
- Label created (order packed, carrier has it scheduled)
- In transit (carrier has scanned the package)
- Out for delivery (package will arrive today)
- Delivered (with photo confirmation if available)
- Exception or delay (anything that breaks the expected timeline)
Shopify's default notification emails cover label created and delivered. That leaves the three biggest anxiety windows (in transit silence, delivery day, delays) completely uncovered. Those silent windows are where WISMO tickets get generated.
How do I build the Klaviyo flow step by step?#
Build the flow in this order. Skipping steps will cause the delay branch to misfire, which is the branch that drives most of your ticket reduction.
1. Connect your data sources
Klaviyo needs three connected sources to power the flow:
- Shopify (for order data and customer profile)
- A shipping tracking platform (ShipStation, Shippo, AfterShip, or EasyPost) for carrier event webhooks
- Twilio or Klaviyo SMS for the SMS branch
Without the shipping tracking platform, the flow only sees what Shopify knows, which is roughly "fulfilled" and "delivered." That is not enough granularity to send meaningful in-transit or delay notifications.
2. Set the flow trigger
Trigger: Fulfillment Created (from Shopify) or the equivalent webhook from your tracking platform.
Do not trigger on order placed. The customer already got the order confirmation. Triggering again at order placement just doubles email volume without adding information.
3. Build the branching logic
| Branch | Trigger condition | Channel | Delay |
|---|---|---|---|
| Label created | Fulfillment created event | Send immediately | |
| In transit | First carrier scan event | Send immediately | |
| Out for delivery | Carrier "out for delivery" status | SMS + Email | Send immediately |
| Delivered | Carrier "delivered" status | SMS | Send within 30 min |
| Delay alert | No carrier scan in 48 hours after expected | Send at trigger | |
| Exception alert | Carrier "exception" status | Send immediately |
The delay alert branch is the most important and the most commonly skipped. Build it first. Test it by manually pushing a stuck order through the flow before you trust it in production.
4. Write the copy
Templates that work share three properties: short subject line, the tracking number visible without clicking, and a single CTA that goes to your branded tracking page (or carrier page if you do not have one yet, see the branded tracking page comparison for the trade-off).
Sample delay notification copy:
Subject: Quick update on order #1234
>
Hi [First Name], your order is taking a bit longer than expected. The carrier last scanned it on [date] at [location], and we are watching it closely. Estimated new delivery: [revised date]. Tracking: [link]. If anything changes, we will let you know. No action needed from you.
Notice what is missing: no apology theatre, no discount code, no "we are so sorry." Customers want information, not contrition. The data point itself is the apology.
5. Add an exit condition
Set the flow to exit when the order delivers. Otherwise, the delay branch can fire after delivery for orders the carrier marks delivered late, which generates customer confusion.
What is the difference between Shopify's default shipping emails and Klaviyo flows?#
Shopify's defaults cover two events (shipped and delivered) with static templates and no branching. Klaviyo flows let you cover five milestones, brand the messages, A/B test, segment, and add SMS where it matters. The biggest gap is the delay branch, which Shopify does not handle at all.
| Feature | Shopify defaults | Klaviyo flow |
|---|---|---|
| Milestones covered | 2 (shipped, delivered) | 5+ |
| Delay logic | None | Yes (custom time-based trigger) |
| SMS | No | Yes |
| Branded templates | Basic | Full design control |
| A/B testing | No | Yes |
| Segmentation | No | Yes (SKU, shipping method, region) |
| Setup time | 0 (default) | 4-8 hours |
| Monthly cost | Free | Klaviyo plan + SMS credits |
If you are under 200 orders per month, the Shopify defaults plus a generic delay alert app may be enough. Above 500 orders per month, the Klaviyo flow pays for itself in ticket reduction within the first month.
How do proactive notifications compare to AI support on cost per resolution?#
Both reduce WISMO tickets. They do it in different ways and at different price points. A full breakdown lives in the WISMO cost per ticket comparison, but the short version:
Klaviyo flows prevent the ticket from being created. AI support handles the ticket cheaply when it gets created anyway. The two stack: the flow takes 70-80% of the volume off the table, and AI handles most of what remains. Combined, you can take a WISMO baseline of $5,000/month in support cost down to under $500/month.
When is a proactive shipping notification flow the wrong move?#
The flow is the wrong move in three cases:
- Order volume under 200/month. The four to eight hours of setup, plus ongoing maintenance, costs more than the tickets you would deflect. Use Shopify's defaults plus an AI customer support agent to handle WISMO on demand instead.
- High SKU complexity with bespoke timelines. If you ship furniture, custom builds, or perishables where the timeline varies per order, static templates misfire and generate worse customer experience than no notification at all. Use a human-in-the-loop notification process or AI that can read order notes and generate per-order messaging.
- You do not have a tracking platform yet. Klaviyo cannot send meaningful in-transit notifications without carrier webhook data. Install ShipStation, Shippo, AfterShip, or an equivalent first, then build the flow on top.
For everyone else, the flow is the single highest-leverage WISMO tactic available. Build the delay branch first, test it manually, and layer the rest of the milestones on top.
For a broader operational view of how proactive notifications fit alongside branded tracking, AI support, and self-service lookup, see the ecommerce AI workforce overview.
Frequently asked questions
How do I set up proactive shipping notifications in Klaviyo for Shopify?
What is the difference between Shopify's default shipping emails and a Klaviyo flow?
Do proactive shipping notifications actually reduce support tickets?
Should I send shipping updates by SMS or email?
What happens when a customer still asks WISMO after getting proactive notifications?
When is a Klaviyo shipping flow the wrong solution?
Written by
Yash Vibhandik
Co-founder, Bitontree
Yash Vibhandik is co-founder of Bitontree. He works directly with operations leaders and founders to design and deploy AI employees across e-commerce, healthcare, legal, accounting, real estate, recruitment, and SaaS workflows. He writes about what actually works (and what does not) when AI is deployed inside real teams.