Why are my Klaviyo flows not performing?

Underperforming Klaviyo flows almost always fail at one of five points: the emails are not arriving, they are not being opened, they are not being read, they are not relevant to the person receiving them, or they are firing at the wrong moment. Work down that list in order, because a fix at step four does nothing if step one is still broken.

This is the most common email marketing question in ecommerce, and it usually gets answered badly. Most DTC brands try to fix underperforming flows by rewriting emails. They rewrite the copy, redesign the template, change the discount, and the Klaviyo revenue number barely moves. That is because the email was usually not the problem, or at least not the first problem.

Everything below assumes a Shopify or similar ecommerce store running Klaviyo, since that is the standard ecommerce email marketing stack, but the diagnostic applies to any ESP. At each step there is a specific Klaviyo screen to check, because a diagnosis you cannot run on your own account is just an opinion.

These five failures are not independent. They feed each other, and that is the part that makes this hard to diagnose from the inside.

The loop that makes it worse

Send someone content they do not care about and they do not simply ignore that one email. They learn that you are not relevant and stop opening the next ones. Enough of that and inbox providers read your mail as unwanted and start deprioritising it, which drops delivery for every flow in the account, including the good ones. A relevance problem becomes a deliverability problem, and then it looks like everything broke at once.

So the order below is not arbitrary. It is the order in which things break, and the order in which you should check them.

What you see Where it usually breaks
Every flow dropped at onceDeliverability, step 1
Emails deliver but open rates are lowSubject lines, step 2
Good opens, almost no clicksReadability, step 3
Clicks but no purchases, rising unsubscribesRelevance and segmentation, step 4
One specific flow underperforms the restTrigger and timing, step 5
The five-step Klaviyo flow diagnostic A narrowing funnel of five checks in order: are the emails arriving, are they opened, are they read, are they relevant, and do they fire at the right moment. Each step names the Klaviyo metric to check. 1Are they arriving?delivery rate, spam rate2Are they opened?open rate per flow3Are they read?click rate vs open rate4Are they relevant?unsubscribes, click-to-open5Do they fire at the right moment?revenue per recipient
Check them in this order. A fix at step 4 does nothing if step 1 is still broken.

First, is it actually underperforming?

Worth ruling out before you rebuild anything. A fair number of brands who think their Klaviyo flows are broken are actually sitting near the ecommerce average and comparing themselves to a case study.

Klaviyo publishes benchmarks across hundreds of thousands of flows. Here is what average looks like, and what the gap between average and good actually is.

Klaviyo flow benchmarks vs campaign benchmarks, ecommerce averages.
MetricAutomated flowsCampaignsGap
Click rate5.58%1.69%about 3x
Placed order rate2.11%0.16%about 13x
Revenue per recipient$1.94$0.11about 18x
Open rate40 to 55% typical31%flows run far higher

That is the case for flows in general. Within flows, performance varies enormously by type, which is why an account-level average hides more than it shows:

Klaviyo benchmarks by flow type. Top 10% figures show the size of the gap between average and well built.
FlowOpen rateRevenue per recipientNotes
Abandoned cart40 to 55%$3.65 averageHighest RPR of any flow. Top 10% reach $28.89. Conversion around 3.33%.
Abandoned checkout41%highClick rate around 9.17%, the highest of any flow.
Welcome45 to 65% on email one$2.65 averageDrops to 30 to 40% by email five. Top 10% hit a 10.53% placed order rate.
All flows combinedvaries$1.94 averageAverage conversion 2.11%. Top brands reach about 4.3%.

The number that actually matters

In a mature ecommerce email marketing program, automated flows produce 50 to 60 percent of total email revenue while making up a small fraction of sends. If your Klaviyo account is well below that split, the problem is the flows rather than the campaigns, and the five steps below are where to look. If you are near it, you may be chasing a problem you do not have.

Two warnings about benchmarks generally. They vary a lot by industry, with categories like home improvement, electronics and automotive posting far higher revenue per recipient than apparel or low-ticket consumables. And the top 10 percent figures are the useful ones, because the average includes every store that installed Klaviyo, switched on the default flows and never touched them again. Average is not the target. Average is the thing you are trying to beat.

1. Are the emails even arriving?

If this is broken, nothing else on this page matters. You can have the best copy in your category and it will not save you, because nobody is seeing it.

Check the boring thing first. In Klaviyo, open Settings and then Domains, and confirm your sending domain is properly authenticated and that you are sending from a subdomain of your own root domain rather than a shared one. If that was set up wrong when the store first installed Klaviyo, it will quietly cap every flow in the account and no amount of copywriting will lift it.

Assuming that is fine, the usual cause is engagement. Inbox providers are optimising for their own users staying on their platform. Their algorithms are built to keep people reading things they want to read. If your mail consistently goes unopened, you are read as a sender whose email people do not want, and you get deprioritised into promotions or worse. It is not a punishment, it is just their incentive.

The fix

Shrink your sending temporarily to only the people who have actually been opening. In Klaviyo this means building an engaged segment, usually people who have opened or clicked in the last 30, 60 or 90 days, and restricting your flows and campaigns to it. Your open rate goes up because you removed the people dragging it down, and that higher rate is the signal inbox providers use. You are rebuilding sender reputation rather than chasing volume.

While you do that, go into the Klaviyo Flows tab, sort by open rate, and turn off the worst performers. Leave the welcome flow running. Welcome emails almost always have the highest open rate in a Klaviyo account, because the person just handed over their email and is expecting to hear from you, so they pull your average up rather than down. The same usually goes for abandoned cart and post-purchase, since both fire on recent, deliberate behaviour.

What you are aiming for is 40 to 50 percent open rates consistently. Once you are holding that, widen your sending back out gradually. The mistake is widening as soon as one good week happens.

Check yours

In Klaviyo, open Analytics and then Deliverability, and look at delivery rate, bounce rate and spam complaint rate across the whole account rather than per flow. If every flow fell together, this is your problem, and steps 2 through 5 are a waste of time until it is fixed.

2. Are they being opened?

Assuming the mail arrives, the subject line is the only thing doing work. And this is where most ecommerce brands do the same thing as every other ecommerce brand.

Open your own promotions tab and look at it as a grid rather than a list. You will see the same handful of ecommerce email patterns repeated down the whole screen. "Welcome to [Brand Name]". A row of emojis. "10% off, grab your discount". Some variation of "don’t miss out". None of them are wrong exactly. They are just identical to every other DTC brand in the inbox, and identical is invisible.

The trap is that copying them feels safe. Those subject lines are everywhere, so they look like the proven approach. What they actually are is the approach that has been so widely copied that it no longer distinguishes anyone.

The fix

There is no single fix here and anyone who tells you otherwise is selling something. Subject lines are entirely dependent on your demographic and what those specific people care about. What works for a $30 skincare brand and what works for a $400 furniture brand have nothing in common.

The only real method is volume of testing. Run a lot of A/B tests, find the two or three angles that consistently beat your baseline for your audience, and then use those heavily until they stop working. Not a clever one-off, a systematic search for what your particular list responds to.

Check yours

In the Klaviyo Flows tab, pull open rate per flow rather than the account average, then per message inside each flow. A single Klaviyo flow sitting well below the others has a subject line problem. All of them sitting low together is deliverability, which is step 1.

3. Are they actually being read?

Someone opened it. You have a few seconds. Most brand emails lose it here by being work to read.

The email is too long, or it opens with a paragraph of brand story before it gets to anything the reader wanted, or the point is buried under the design instead of carried by it. People do not read marketing emails, they scan them, and if scanning does not surface a reason to care, they close it.

The fix

Structure everything around what the customer actually cares about, which is covered in step 4, and then make it fast to consume. Scannable, short, one clear thing to do. The email should reward opening it within about two seconds, before the reader has decided whether to keep going.

This is not an argument for stripping emails back to plain text. Design does a lot of work. It is an argument that the design should be making the point land faster, not decorating a point the reader has to dig for.

Check yours

In Klaviyo, compare click rate against open rate for each message in the flow. Strong opens with weak clicks means people are arriving and leaving, which is a content problem rather than a subject line problem. Klaviyo also shows click rate per link, which tells you whether the CTA or its placement is the issue.

4. Is it relevant to the person receiving it?

This is the one most brands are missing and it is what separates the accounts that print money from the ones that do not. It is also the least visible failure, because a badly segmented account looks completely normal from the inside.

Take an ecommerce supplements brand selling both a weight loss product and a mass gainer. Send one general email to the whole Klaviyo list and it targets nobody. The person trying to bulk gets a weight loss email, and here is the part that matters: he does not just skip that email. He has now learned that this sender is not relevant to him, and he stops opening the next ones too.

That is the loop from the top of this page. One irrelevant send costs you the next ten, and enough of it drags the whole account into a deliverability problem. Segmentation is not a refinement you get to later. It is what stops you training your own list to ignore you.

Finding the variables that matter

Proper segmentation means identifying the variables that put your customers in genuinely different mindsets. Not demographics for the sake of demographics. The splits that change what someone wants to hear from you. For the supplements brand that is the goal, cutting or bulking. For an apparel brand it might be category or price sensitivity. For a consumable it might be where they are in the replenishment cycle.

The cleanest way to capture that is to ask on the way in. Build the question into your Klaviyo sign-up form, so the pop-up asks it before someone hands over their email. Klaviyo writes the answer to a profile property, you build segments off that property, and from the very first send you already know which version of your brand is relevant to them. Most DTC brands run a pop-up that collects an email address and nothing else, which throws away the single best moment to learn something useful.

Finding the language that matters

The other half is knowing how your customers actually talk, which is not how you talk about your own product. Three places to get it, none of which require a research budget:

That language goes into the emails. Most brands write from the inside out, describing the product the way the team discusses it internally, and then wonder why it does not land.

Check yours

In Klaviyo, look at unsubscribe rate and click-to-open rate together per flow. Rising unsubscribes means people are getting something they did not want, which is a relevance problem rather than a frequency problem. Then open your Klaviyo segments list: if the only segments in the account are engaged-time-window ones, you have no real segmentation.

5. Are they firing at the right moment?

A flow is only worth more than a campaign because of timing. Fire it at the wrong moment and you have just built an expensive campaign.

Two separate failures live here. The first is timing inside a flow. A welcome email should go out about five seconds after someone hands over their email, while they are still on the site and still interested. A re-engagement flow aimed at people who have gone quiet belongs somewhere in the 14 to 30 day range. Getting those backwards wastes both.

The second is coverage, and it is the one that quietly does the most damage. If you have not mapped every step of the customer’s actual process, the gaps get filled by something generic. And generic content is exactly the problem from step 4, arriving by a different route.

Cover the whole process, then speak to the specific moment

Take cart abandonment, the highest-intent flow in most ecommerce email marketing setups. If you know why someone abandoned, the email should address that reason directly and dismantle it. Cost, shipping time, sizing doubt, needing to check with someone else. A generic "you left something behind" email addresses none of them and converts accordingly.

Coverage in Klaviyo terms means having a flow mapped to each real behaviour the store produces: Viewed Product for browse abandonment, Added to Cart and Started Checkout as two separate flows rather than one, the post-purchase sequence, replenishment where the product justifies it, and a winback for lapsed customers. Most DTC accounts have three of those and call it done.

The same logic runs across every flow. Each one exists to move someone from one specific state to the next specific state, and it should talk about that transition rather than about your brand in general.

Check yours

In the Klaviyo Flows tab, list every flow with its revenue per recipient next to it, and check the time delay on each message. Also confirm your conversion attribution window in Klaviyo account settings, because a surprising number of "underperforming flows" are actually an attribution setting making real revenue invisible.

What broken looks like, flow by flow

The five steps above apply across the account. This is the per-flow version: what each Klaviyo flow is actually for, and the specific failure that shows up when it is not working.

Common failure modes by Klaviyo flow type.
FlowWhat it exists to doWhat broken looks like
Pop-up and welcomeTurn a first-time visitor into a subscriber, then a first orderOne generic welcome email for everyone, a pop-up collecting nothing but an email address, and no segmentation question asked at the point of highest attention.
Browse abandonmentFollow up on product interest that never reached the cartMissing entirely in most DTC accounts, or firing on Viewed Product with no product context in the email itself.
Abandoned cartRecover the highest-intent traffic the store hasA single "you left something behind" send that names no reason and dismantles no objection. Should be the top revenue-per-recipient flow in the account.
Checkout abandonmentRecover people further along than cartMerged into the cart flow. These are different customer states and merging them means neither gets addressed properly.
Post-purchaseSet up the second order, where the margin isA receipt and nothing else. No cross-sell, no education, no review request timed to when the product has actually arrived.
WinbackReactivate customers who bought once and went quietFires on a fixed timer unrelated to the product replenishment cycle, so it reaches people either long before or long after they were ready.

A useful exercise: open the Klaviyo Flows tab, sort by revenue per recipient, and check whether abandoned cart is at the top. In a healthy ecommerce email setup it almost always is. If it is not, either that flow is underbuilt or something upstream in the five steps is suppressing it.

The answer underneath all five: almost nobody tests

Every fix above eventually comes back to the same thing, and it is the real reason most brands are asking this question at all.

Very few ecommerce brands A/B test their Klaviyo flows in any systematic way. They set them up once, usually from a Klaviyo template or an agency template, and then leave them running for years. Which means they have no fundamental understanding of what their own audience responds to. Not a wrong understanding. No understanding, because they never gathered the evidence.

The things that should be under constant test:

None of those have a correct answer you can look up. They have a correct answer for your list, and the only way to find it is to run the tests. A brand that has been testing for six months knows things about its customers that no template and no benchmark report can tell it, and that accumulated knowledge is most of the gap between an ecommerce email marketing program producing 5 percent of revenue and one producing 30.

If your Klaviyo flows are underperforming and you have never run a structured test on them, that is the answer. Everything above is where to start looking.

Related reading: why flows outperform campaigns in the first place, and who owns the flows an agency builds for you.

Benchmark figures in this article are drawn from Klaviyo’s published ecommerce email marketing benchmarks and its abandoned cart benchmark report, which aggregate data across hundreds of thousands of flows. Cart abandonment rate context from Baymard Institute. Figures vary by industry and by account, so treat them as a reference range rather than a target.

Common questions

What is a good open rate for Klaviyo flows?

Flows typically run 40 to 55 percent, well above the 31 percent campaign benchmark, because they fire on recent behaviour. Welcome email one is usually highest at 45 to 65 percent, tapering to 30 to 40 percent by email five. If your flows are sitting near campaign-level open rates, treat that as a deliverability signal rather than a copy problem.

What is a good revenue per recipient for Klaviyo flows?

The all-flow average is about $1.94 per recipient against $0.11 for campaigns. Abandoned cart is the strongest individual flow at roughly $3.65 average, with the top 10 percent of accounts reaching $28.89. Welcome averages about $2.65. The gap between the average and the top decile is the realistic size of the opportunity in most accounts.

What percentage of email revenue should come from flows?

In a mature ecommerce email marketing program, automated flows generate roughly 50 to 60 percent of total email revenue while accounting for a small share of total sends. If your split is well below that, the flows are the weak side of the account.

Why are my Klaviyo flows not performing?

Almost always one of five things, and they are worth checking in this order: the emails are not arriving, they are not being opened, they are not being read, they are not relevant to the person receiving them, or they are firing at the wrong moment. The order matters because a fix at step four does nothing if step one is broken. In Klaviyo you can check all five from the Flows tab and the Deliverability dashboard.

How do I fix bad email deliverability fast?

Build an engaged segment in Klaviyo of people who opened or clicked in the last 30 to 90 days, and temporarily send only to them. That raises your open rate, which tells inbox providers your email is wanted, which restores delivery. Turn off the flows with the lowest open rates while you do it and leave the welcome flow running, since it usually has the highest open rate in the account. Aim for 40 to 50 percent open rates consistently, then widen your sending again.

Why do my emails go to promotions or spam?

Usually because not enough people are opening them. Inbox providers optimise for keeping their users engaged, so mail that consistently goes unopened gets deprioritised. It can also be an authentication problem, so check that your sending domain is properly set up first, but low engagement is the more common cause once a store is already sending.

What is the biggest mistake in ecommerce email flows?

Sending the same email to everyone. If an ecommerce supplements brand running Klaviyo sends a weight loss email to someone trying to bulk, that person does not just skip it, they learn that this sender is not relevant to them and stop opening future emails. One irrelevant send costs you the next ten.

How do I know what my customers actually care about?

Read your reviews, then go ask for more and specifically ask what made them buy. Read your support chats and note the words customers use. That language is what should be going into your emails, rather than the language you would use to describe your own product.

How many emails should be in each flow?

There is no fixed answer and treating it as a fixed answer is part of the problem. It depends on your price point, your consideration cycle and your audience, and it is one of the things you should be A/B testing in Klaviyo rather than copying from a template or another DTC brand.

Why are my open rates low even with good subject lines?

Either the subject lines are not as differentiated as they feel, because most ecommerce subject lines look identical in an inbox, or your deliverability has already degraded so the email is not reaching the inbox to be opened. Check delivery before you rewrite subject lines.

Want the flow map for your brand?

Book a call and we'll map out the exact email flows your brand should be running, and the revenue they'd add. Completely free, no pitch, just the plan.

Book a Call