A post-purchase email flow on Shopify turns one-time buyers into repeat customers, using timed sequences for confirmation, delivery, reviews, and cross-sells.


Guilhem Teyssier
Founder & CEO
Most Shopify stores stop marketing the second the order confirmation email goes out. That's the whole mistake. Flows generate 37% of total email revenue while using just 2% of send volume, and post-purchase sequences are sitting right in that 2%, mostly untouched.
Why the post-purchase window gets ignored
A customer just paid you. They're checking their inbox for confirmation, tracking updates, delivery news. Open rates during this window run about 17% higher than average automated email, because the buyer is actively looking for your message. Most brands waste it on a single "thanks for your order" and nothing else.
This is a mistake. The biggest customer drop-off in ecommerce happens between the first and second purchase, and a huge share of that churn is self-inflicted. Stores blast too many emails too fast, burn out the subscriber before any real value lands, and then wonder why repeat purchase rate stays flat. Silence is just as costly. Either way, the flow never gets built with intention.
The sequence that actually works
Nine email types cover the full post-purchase arc, but you don't need all nine on day one. Here's the order that matters, mapped to real timing.
Send timing | Job to do | |
|---|---|---|
Order confirmation | Immediately | Confirm the purchase, set expectations |
Shipping notification | When it leaves the warehouse | Reduce "where is my order" support tickets |
Delivery confirmation | On arrival | Build trust, reduce anxiety |
How-to / usage tips | 1-3 days after delivery | Drive first use, cut returns |
Review request | 7-14 days after delivery | Collect social proof |
Cross-sell / upsell offer | Within a 30-day window | Drive the second purchase |
Order confirmation, shipping, and delivery are operational. They're not optional. The how-to, review request, and cross-sell are where the actual revenue lives, and they're the three most Shopify stores skip entirely.
Timing is the whole game
Send the review request too early and you get a rushed, useless review, or none at all. Send the cross-sell too early and it reads as tone-deaf, like you're hawking a second sale before the first box has even opened. Send it too late and the customer has already forgotten why they bought from you.
The window that works for most physical products: wait until the item has actually been used, then layer in the offer. That's usually somewhere between day 10 and day 30 after delivery, depending on the product category. A $40 skincare product earns a faster follow-up than a $400 espresso machine. Test it against your own delivery-to-repurchase data instead of copying a generic rule.
A flow built around when the customer actually needs you again will always beat a flow built around your own sending calendar.
Segment or don't bother
One flow for every buyer is a lazy flow. Split by customer status first: is this their first order or their fifth? A repeat buyer doesn't need the same "how to use this" email a first-timer needs. Split by order value next. Someone who spent $250 gets a different cross-sell tier than someone who spent $25.
Product category matters too. A customer who bought a consumable should see a replenishment reminder timed to when they'll actually run out. A customer who bought a durable good should see complementary accessories instead. None of this is complicated. It just requires setting it up once, correctly, instead of shipping one generic sequence and calling it done.
Geography can matter as well, especially for stores shipping internationally. A customer waiting three weeks for a package from overseas needs a completely different shipping-update cadence than someone getting next-day delivery across town. Send the same generic "your order is on its way" email to both, and one of them will assume something went wrong. That single mismatch generates more support tickets than almost any other flow mistake, and it's fixed with one extra segmentation rule.
Where the revenue really sits
Automated flows average $1.94 in revenue per recipient, against $0.11 for one-off campaigns. That's not a small gap. That's an 18x difference. Post-purchase sequences specifically land around $0.85 RPR on average, behind abandoned cart and welcome flows but still well ahead of anything you'd get from a single broadcast email.
If you've already built a welcome email series and an abandoned cart sequence, the post-purchase flow is the natural next build. It's the piece most stores forget, and it compounds every month new orders come in. For a deeper look at where this fits into overall email marketing ROI, the numbers only get better the longer the flow runs.
Common mistakes that kill the flow before it starts
Wrong. That's the first word that comes to mind for most post-purchase setups. Not because the intent is bad, but because the execution skips the parts that actually drive revenue.
Mistake one: sending the review request and the cross-sell offer in the same email. Cramming both asks into one message dilutes each one. A customer asked to leave a review and buy something else in the same breath usually does neither. Split them.
Mistake two: copying a template flow from a course or a Facebook group without adjusting timing for your own delivery speed. A brand shipping from a 3PL with 2-day delivery needs a completely different cadence than one drop-shipping from overseas with 3-week transit times. If your review request fires before the package has even arrived, you've already lost that email.
Mistake three: treating every SKU the same. A $15 phone case and a $300 blender do not deserve identical follow-up timing or offer structure. Segmenting by price point alone fixes a huge share of underperforming flows, and it takes maybe 20 minutes to set up inside most Shopify email tools.
Mistake four, and this is the quiet killer: no exit condition. If a customer replies to ask a support question, or requests a refund, the flow should stop or branch immediately. Nothing damages trust faster than a "loved your new order?" email landing in the inbox of someone who just filed a return.
How to know if it's actually working
Three numbers tell you almost everything. Repeat purchase rate within 60 and 90 days. Revenue per recipient on the flow itself. And review submission rate as a percentage of delivered orders.
Track these monthly, not weekly. Post-purchase flows are slow-moving by nature, since they depend on delivery windows and usage periods that stretch well past a typical campaign's lifecycle. A flow that looks flat after two weeks might just need six weeks of data before the pattern shows up.
If repeat purchase rate isn't moving after 90 days of a live flow, don't scrap the whole sequence. Isolate the cross-sell email first. Test the offer, test the timing, test the subject line. That single email usually carries most of the flow's revenue weight, so it's the first place to dig when results disappoint.
What to prioritize if you're starting from zero
Set up transactional emails first. Order confirmation, shipping, delivery. These aren't marketing, but they're the trust foundation everything else sits on.
Add a review request 7-14 days after delivery. This is the single highest-leverage email most stores skip, and it feeds every trust page on your Shopify store going forward.
Layer in a cross-sell email inside the 30-day window. Keep it product-specific, not generic.
Segment by first-time vs. repeat buyer before you touch anything else.
Only then build the how-to or educational content email. It matters, but it's not what moves revenue first.
Pick one. Build it this week. Measure repeat purchase rate 30 days later.
Frequently Asked Questions
What emails should be in a post-purchase flow?
How long should a post-purchase email flow be?
How much revenue can a post-purchase flow actually generate?

