What is a Klaviyo post-purchase flow?
A Klaviyo post-purchase flow is a metric-triggered flow that starts when a customer buys, usually on the Placed Order event from your store integration. It covers what happens between the order and the next one: thanks, setup or usage help, a review request, relevant products, and for first-time buyers, a reason to come back.
It isn’t one flow in most well-run accounts. The order confirmation and shipping updates are transactional and usually come from your store platform. The marketing side is often two or three flows with different triggers and jobs. This guide explains how to decide which you need and how to build them so they don’t fight each other, or the welcome and abandonment flows running alongside.
Which trigger should a post-purchase flow use?
It depends on what the message is about. Klaviyo’s Shopify integration gives you three order-related metrics that matter here, and each one fires at a different moment:
- Placed Order fires once per order, when it’s placed. Use it for anything about the order as a whole: thank-you messages, first-order vs repeat logic, order-value splits.
- Ordered Product fires once per product in the order. A three-item order creates three events. Use it when the message is about a specific product, such as care instructions or a replenishment reminder, and be careful: a flow on Ordered Product can enter the same customer several times from one order.
- Fulfilled Order fires when the order ships. Use it when timing should follow delivery, like a review request or a “how’s it going?” check-in.
Other ecommerce integrations name and time these events differently, and some shipping-tracking apps can send a delivery event of their own into Klaviyo. Check what actually arrives on a test profile before choosing.
A scenario that comes up often: a store triggers its review request on Placed Order with a seven-day delay. It works fine until a stock delay pushes shipping out by a week. Customers start receiving “How are you enjoying your new jacket?” before the jacket arrives. Switching the trigger to Fulfilled Order, or adding the store’s typical shipping time to the delay, fixes it.
Keep transactional and marketing mail apart
Order confirmations and shipping notices are transactional. Everyone who orders should get them, including people who have unsubscribed from marketing. Klaviyo’s guidance is to keep those in their own flows, separate from post-purchase marketing, so they send promptly and aren’t caught by marketing filters or Smart Sending.
If you send confirmations from Klaviyo rather than your store platform, the individual email has to be approved as transactional:
- Set the email to Manual while you prepare it. Anything sent before approval counts as marketing.
- In the email’s sidebar, under Transactional, check Apply for transactional status and submit it for review.
- Wait for review, which can take up to 24 hours. You can’t edit the email or run an A/B test while it’s under review.
- Once it shows as accepted, set it to Live.
Transactional status is set per email, not per flow, and requires a paid Klaviyo account. Only metric-triggered flows qualify in the normal process. The content has to be genuinely transactional, so a confirmation with a “you might also like” product grid will be rejected, and editing an approved email removes its status until it’s reviewed again.
Everything else in this guide is marketing, and follows marketing consent.
Separate first-time buyers from repeat customers
This is the split that makes the biggest difference. A first-time buyer and someone placing their eighth order need different things.
Right after the trigger, add a conditional split on Placed Order equals 1 over all time. Because the triggering order is already counted, “equals 1” means this is their first.
First-time buyers don’t know you yet. They need reassurance that the order is on its way, help getting value from the product, the story behind the brand if the welcome series didn’t cover it, and a gentle nudge toward a second order once they’ve had time to use the first. The gap between first and second order is where most customers are lost, so this path deserves the most care.
Repeat customers need less explanation and more relevance. Thank them, recognize the relationship without overdoing it, and keep the messages short. Many brands send repeat buyers one or two post-purchase emails at most.
A trigger split on order value ($value) can sit alongside this. Klaviyo’s example is a threshold for “significant” purchases; the figure should come from your own order data. A customer whose first order was three times your average might go to a path with a personal note from the founder or a loyalty invitation rather than the standard sequence.
What should the post-purchase sequence contain?
There’s no fixed template, but these are the messages that usually earn their place, with the timing tied to the product rather than the calendar.
Thank you and what happens next. Soon after the order. Not a second order confirmation. Explain when to expect delivery, who to contact, and anything they should do before it arrives. Klaviyo doesn’t recommend a time delay before a thank-you message.
Getting started. Timed to arrive around delivery. How to use, wear, assemble, store or care for what they bought. Product-specific content can come from a trigger split on the order’s products or collections (the property names depend on your integration), or from separate flows on Ordered Product.
Review request. After they’ve had time to use it. For apparel that might be a few days after delivery; for skincare, a few weeks. You can ask for a review, but Klaviyo’s guidance is explicit that you can’t incentivize positive reviews. If you use a third-party review platform, its integration may handle this request already, so check you’re not sending two.
Cross-sell or next product. Recommend things that genuinely follow the purchase. Klaviyo warns not to assume a product feed automatically excludes items the customer just bought, so check the feed’s settings and preview with a real profile. Few things look as careless as recommending the exact item someone ordered last week.
Second-order nudge (first-time buyers). Somewhere around the point where your repeat customers typically come back. If you have enough data, look at the median days between first and second order in your store and send just before it.
Replenishment is its own flow
If you sell things that run out (coffee, supplements, pet food, skincare), build replenishment as a separate flow on Ordered Product, with delays matched to how long each product lasts. A 30-day supply and a 90-day supply can’t share one timer. Keeping it separate also stops the post-purchase flow from growing into a long, hard-to-audit chain of splits.
Filters that stop awkward sends
Post-purchase flows run for days or weeks, and a lot can change during that time. A few profile filters prevent most problems:
- Cancelled Order zero times since starting this flow, and the same for Refunded Order if your integration sends it. Nobody who canceled wants a “how are you enjoying it?” email.
- A check before the second-order nudge that they haven’t already placed another order since entering the flow. Use a conditional split on Placed Order at least once since starting this flow, so repeat buyers skip the nudge.
- Has not been in this flow in the last X days, for stores where customers often place several small orders in a week. Without it, someone who orders on Monday and Thursday gets two overlapping sequences.
Remember that profile filters are checked before every message. A filter added for one email affects every email in the flow, so use splits when a condition only applies at one point.
How post-purchase connects to the rest of the lifecycle
A purchase should change what every other flow does with that customer.
The welcome series should exit or switch path when someone buys, so they don’t get “ready to place your first order?” after placing it. The welcome flow guide shows the split for that. Abandonment flows should already be filtering on Placed Order. And campaigns can treat recent buyers differently, for instance holding them out of a sitewide sale email sent two days after they paid full price.
At the other end, the post-purchase flow hands customers to the win-back flow. If a customer’s post-purchase sequence finishes and no second order follows, they eventually become a lapsed customer. Our Klaviyo win-back flow guide picks up from there. Defining these states once, as segments built from order data, is what keeps the handoffs reliable. The Klaviyo segmentation guide covers how to build them.
Smart Sending matters here too. A customer in a post-purchase flow who is also receiving campaigns can easily get two emails in a day. Smart Sending skips a message if they were emailed recently (16 hours by default for email), and skipped flow messages don’t send later. That’s usually fine for a cross-sell, but not for a getting-started email they actually need. Decide per message.
How to measure a post-purchase flow
Attributed revenue on a post-purchase flow is especially misleading, because the people in it are your most active customers. Some of their next orders would happen anyway.
Look instead at:
- Repeat purchase rate for first-time buyers who went through the flow, compared with a period before it existed.
- Time to second order. If the median gap shrinks, the flow is probably helping.
- Review volume from the review request, if that’s one of its jobs.
- Support contacts about how to use a product, which a good getting-started email should reduce.
- Unsubscribes by message. A spike on one email usually means it arrives at the wrong moment.
A post-purchase flow is rarely finished at launch. Revisit the timings once you can see when customers actually reorder, and adjust the second-order nudge to match.
Should a post-purchase flow trigger on Placed Order or Fulfilled Order?
Use Placed Order for messages about the order itself, like a thank-you or first-order split. Use Fulfilled Order, or Placed Order with a delay that covers shipping, for anything that assumes the customer has the product, such as review requests.
Can a Klaviyo post-purchase email be transactional?
Only if it contains no marketing content and Klaviyo approves it. You apply for transactional status on the individual email, and approval can take up to 24 hours. Thank-you and cross-sell emails are marketing.
How do I send different emails to first-time and repeat customers?
Add a conditional split after the trigger on Placed Order equals 1 over all time. Because the triggering order is counted, that path contains first-time buyers.
Can I offer a discount for leaving a review?
Klaviyo’s guidance says you can’t incentivize positive reviews. Ask for an honest review, and check your review platform’s own rules before offering anything at all.