Build checkout abandonment and the welcome series first, then cart abandonment, browse abandonment, post-purchase, replenishment, win-back, review requests and sunset. That order ranks the essential Klaviyo flows by how many people each one catches and how close they are to buying. Each section covers triggers, filters and timing, then a one-hour audit shows what you’re missing.
How to prioritize flows
A flow’s revenue comes down to how many people enter it, how close they are to buying, and the margin behind the order. Checkout abandonment has fewer entrants than browse abandonment, but every one of them got as far as checkout.
In the accounts I audit, this order holds for most DTC brands. Treat it as a build order, not a law: a supplement brand’s replenishment flow can outrank its browse abandonment.
| Rank | Flow | Trigger | Why it earns |
|---|---|---|---|
| 1 | Checkout abandonment | Started Checkout | Highest intent: the shopper reached checkout |
| 2 | Welcome series | Added to list | Catches every new subscriber before a first order |
| 3 | Cart abandonment | Added to Cart | High intent, bigger pool than checkout |
| 4 | Browse abandonment | Viewed Product | Large pool, lower intent |
| 5 | Post-purchase and cross-sell | Placed Order or Fulfilled Order | Drives the second order |
| 6 | Replenishment | Placed Order plus product timing | Strong for consumables, irrelevant otherwise |
| 7 | Win-back | Placed Order plus long delay | Recovers lapsing customers |
| 8 | Review request | Fulfilled Order plus delay | Indirect: social proof that lifts conversion |
| 9 | Sunset | Unengaged segment | Protects deliverability |
When you compare live flows, use revenue per recipient and placed order rate, not total attributed revenue, and check your attribution window first. For the wider retention strategy beyond flows, see how to increase repeat purchase rate.
Welcome series
Trigger it on “added to list” for your newsletter list, so entry is immediate.
- Split customers from prospects. Add a conditional split on “Placed Order at least once over all time.” Customers who subscribe get a short brand welcome, not a first-order discount.
- Exit on purchase. Flow filter: Placed Order zero times since starting this flow. Buyers move into post-purchase instead of getting “your code expires tomorrow.”
- Timing. Email 1 immediately with whatever the form promised. Email 2 after a day (best sellers). Email 3 two or three days later (reviews and proof). Email 4 around day 6-8 (offer reminder with a real deadline).
- Unique codes. Use unique coupon codes through the Shopify integration so one code doesn’t end up on coupon sites.
Browse, cart and checkout abandonment
These three overlap, so build them as a set with a clear hand-off: checkout beats cart, cart beats browse. Nobody should be in two of them at once.
Checkout abandonment
- Trigger: Started Checkout.
- Flow filters: Placed Order zero times since starting this flow; has not been in this flow in the last 7-14 days.
- Timing: email 1 at 1-4 hours, email 2 at about 24 hours, optional email 3 at 48-72 hours. If you collect SMS consent, test an SMS step early in the sequence.
- Content: a dynamic block with the checkout items, a link back to checkout, and shipping and returns answers. Hold any incentive for the last message.
- Smart Sending: I usually turn it off for email 1 only, so a campaign sent earlier that day can’t block your highest-intent message.
Cart abandonment
- Trigger: Added to Cart. Confirm the metric is firing first; on Shopify it depends on your onsite tracking setup.
- Flow filters: Started Checkout and Placed Order zero times since starting this flow.
- Timing: two emails, at 2-4 hours and about 24 hours.
Browse abandonment
- Trigger: Viewed Product. It only fires for visitors Klaviyo can identify.
- Flow filters: Added to Cart, Started Checkout and Placed Order zero times since starting this flow; has not been in this flow in the last 14-30 days.
- Timing: one or two emails, the first at 2-6 hours. Show the viewed product with reviews or close alternatives, and skip discounts.
Browse abandonment annoys people fastest when filters are loose. Without a re-entry window, someone who browses daily gets an email daily.
Post-purchase and cross-sell
Trigger on Placed Order, or on Fulfilled Order when timing should follow shipping.
- Split first-time and repeat buyers. First-time buyers need reassurance and product education; repeat buyers need less.
- Sequence: a thank-you with what happens next (day 0), how to use the product (around delivery), then a cross-sell one to three weeks after delivery, depending on how fast the product gets used.
- Cross-sell by what they bought. Add a trigger split on the ordered items (collection or product name), one branch per major category plus a default branch. A specific pairing beats a generic best-sellers block.
- Filters: Cancelled Order and Refunded Order zero times since starting this flow.
- No discount in the first email. They just paid full price.
Replenishment and review requests
Replenishment
Build this only if you sell things people use up: skincare, supplements, coffee, pet food, filters.
- Trigger: Placed Order, with a trigger split by product.
- Delay: the product’s usage window minus shipping time. As an example, a 30-day supply that takes about five days to arrive gets its reminder around day 22-25.
- Filters: Placed Order zero times since starting this flow. Exclude active subscription customers; they don’t need a reorder reminder.
- Content: a direct link to the product, plus a larger size or subscribe option.
Estimate the window from your orders: median days between two purchases of the same product.
Review requests
- Trigger: Fulfilled Order, or a delivery event from your shipping or reviews app, plus enough delay for the customer to use the product.
- Sequence: one request and one reminder. Stop the reminder once a review arrives, if your reviews platform sends that event to Klaviyo.
Keep review requests out of the cross-sell email; one message, one ask.
Win-back and sunset flows
Win-back targets lapsed customers. Sunset targets unengaged subscribers, buyers or not, and its job is list health.
Win-back
- Trigger: Placed Order with a long delay set from your data. For example, if most repeat buyers reorder within 60 days, start the win-back somewhere around day 90-120.
- Flow filter: Placed Order zero times since starting this flow. Each new order starts a fresh entry and the filter drops the old one, so the timer always runs from the latest purchase.
- Sequence: two or three emails over two to three weeks: what’s new, a reason to return, then an offer if margin allows.
Sunset
- Trigger: added to a segment of profiles who keep receiving email but haven’t clicked, visited the site or ordered in 90-180 days, depending on send frequency and buying cycle. Profiles already in the segment when the flow goes live won’t enter, so handle that backlog with a one-off campaign.
- Engagement signal: use clicks, site activity and orders rather than opens, which Apple Mail Privacy Protection inflates.
- Sequence: one or two emails asking whether they still want to hear from you, with an obvious way to stay.
- Action: flag non-responders with an “Update profile property” step and exclude them from campaigns, or suppress them.
Mailing people who never engage drags down inbox placement for every flow. The email deliverability checklist covers authentication and list hygiene in depth.
Segmentation and suppression rules
Most flow problems I find are live flows fighting each other, not missing flows. Set these rules once.
| Rule | How to enforce it |
|---|---|
| One abandonment flow at a time | Checkout over cart over browse, using “zero times since starting this flow” filters on the higher-intent metric |
| Buyers exit prospect flows | Placed Order filter on welcome and all abandonment flows |
| No first-order offers to customers | Conditional split on Placed Order at least once over all time |
| Limit repeat entries | “Has not been in this flow” filter on abandonment flows |
| Respect Smart Sending | On for every flow except the first checkout email |
| Canceled and refunded orders exit | Filters on post-purchase, review and replenishment flows |
| Unengaged profiles leave campaigns | Exclude the sunset segment from campaign sends |
| Staff and test orders don’t count | Filter out your own email domain |
Know the difference between trigger filters and flow filters. A trigger filter checks the event only at entry. A flow filter is checked at entry and again before every step, which is what “hasn’t bought yet” rules need.
One-hour flow audit checklist
Pull the last 90 days of flow data and work through this in order.
Minutes 0-10: inventory
- List every live flow and compare it with the nine in the ranking table
- Find flows sitting in draft or manual status that should be live
- Confirm Started Checkout, Added to Cart, Viewed Product, Placed Order and Fulfilled Order are all firing
Minutes 10-25: performance
- Rank flows by revenue per recipient and placed order rate
- Flag flows with high sends and almost no orders
- Check which step in each flow earns; late steps with no orders are candidates to cut
Minutes 25-45: triggers and filters
- Every prospect flow exits on Placed Order
- Browse and cart flows hand off to the higher-intent flow
- The welcome series splits customers from prospects
- Post-purchase excludes canceled and refunded orders
- Abandonment flows have re-entry limits
Minutes 45-60: content and fix list
- Dynamic product blocks show the right items and images
- Discount codes are unique and still valid
- Links work and UTM tracking is on
- Write the fix list: broken filters first, missing flows second, content third
Broken filters go first because they cost money and goodwill today; a missing flow is revenue not yet collected. This audit is how most of my lifecycle marketing engagements start: fix the flows you have, then build the ones you don’t.
Get it built
If you want your Klaviyo account audited and the flows rebuilt in the right order, start with the Growth Audit: $1,500 fixed, credited if you continue. See pricing or get in touch.