On Klaviyo's own figures, the average abandoned cart flow turns about 3.3% of the people it emails into an order, and earns about $3.65 per person emailed. That is normal. Good is what the top tenth of accounts do, and they earn close to eight times that revenue per recipient. But before you compare yourself to either, check which number your dashboard is calling a recovery rate, because there are three, they can differ several times over, and the one that looks healthiest is the easiest to break without noticing.
Three numbers with the same name
Placed order rate per recipient. This is what Klaviyo shows on the flow: orders attributed to the flow, divided by the people who received it. Klaviyo's 2024 report, built on more than 143,000 cart flows sending in 2023, puts the average at 3.33%. It is the only one of the three backed by a large published dataset, and it is two years old.
Recovered carts per abandoned cart. Orders the program brought back, divided by every cart that was abandoned in the period. The pages that quote "10 to 15% is solid" are quoting this one, usually without a source. It is a different denominator, so a store at 3% on the first number can honestly sit at 10% on the second.
Shopify's "Recovered" label. On the abandoned checkouts page, a checkout only turns "Recovered" when the customer completes it after Shopify's own reminder email. If your reminders go out from Klaviyo and Shopify's are switched off, which is the normal setup, that page can say almost nothing was recovered while the flow is doing its job.
So write down which one you are reading. Comparing a Klaviyo flow rate to a "10 to 15%" blog figure is comparing two different fractions.
What normal and good look like
On the per-recipient number, an average flow sits around 3%. Under 2% with three emails running means the emails are the problem: the offer, the timing, or a second and third send that repeats the first. What the second and third email should say is where most of that gap closes. Twice the average is a strong flow, if the checks below say the number is real.
Revenue per recipient is the better comparison, but only against stores with an order value like yours. Klaviyo publishes it by order value band: for stores averaging $44 to $83 an order, the middle half of cart flows earn between about $0.86 and $2.91 per recipient. Above a $291 average order, the same middle half runs from $7.77 to $43.51. A furniture store and a sock store should never share a benchmark, and the published average of $3.65 blends both.
When the number is a tracking bug
A recovery rate is a fraction, and both halves can be wrong without anything looking broken.
The bottom half shrinks. In most Shopify setups, the cart flow starts on Started Checkout, and that event is sent from the customer's browser. Ad blockers, privacy settings on iPhones and scripts that fail to load all stop it, and when it does not arrive, there is no error. The customer simply never enters the flow. Your per-recipient rate is then calculated on the people the flow heard about, which can look excellent while a large share of abandoned carts gets nothing at all. A flow that reaches half the carts at 5% recovers less money than one that reaches all of them at 3%.
The top half swells. Klaviyo's default attribution credits an order to an email if the customer opened or clicked it in the five days before buying. Since Apple started loading email images on its own servers, plenty of those "opens" were never a person. A customer who was always going to come back on Friday counts as recovered. A per-recipient rate above about 10% on a flow with no discount is worth checking for this before celebrating.
The two halves stop talking. If Placed Order stops syncing, the flow filter that removes buyers fails too, customers who already bought keep getting reminders, and the recovery rate drops toward zero. That one at least announces itself in the inbox.
The ten-minute reconciliation
Take the last 30 days. In Shopify, count abandoned checkouts. In Klaviyo, count the people who entered the cart flow over the same 30 days. Those two numbers will never match exactly, since definitions and devices differ, but a gap in the teens is ordinary and a gap of a third or more means your flow is under-triggering rather than under-performing. Fix that before you rewrite a single subject line; the full check, and the fixes are in our earlier post.
Then read the number we trust over all three rates: revenue the flow earned in the period, divided by Shopify's abandoned checkouts in the same period. It cannot be flattered by a shrinking audience, because the denominator comes from the server, and it is the one figure you can hold steady from month to month while you change the emails.
Is a 50% recovery rate realistic?
Not on any honest definition. A figure that high almost always comes from a tiny trigger audience, an open-inclusive attribution window, or both. Reconcile the flow entries against Shopify's abandoned checkouts and switch the window to clicks only, then look again.
Why does Shopify say none of my checkouts were recovered?
Because Shopify only marks a checkout recovered after its own reminder email. If Klaviyo or another tool sends your reminders, read the flow's numbers in that tool instead.
Should I count SMS in the recovery rate?
Report it separately. SMS reminders usually sit on a shorter attribution window than email, and blending the two makes it impossible to tell which channel is earning.