Make Your Browse Abandonment Flow Pay for Itself
If your cart abandonment flow is working and browse abandonment is the next build on your list, there's an awkward moment waiting. You get the browse abandonment email running, and then you hit the real question: whether it's doing anything at all.
We run browse abandonment flows for over 140 DTC brands through our status as a Klaviyo Master Platinum Partner. Across the accounts we audit we see the same things time and time again. The email looks healthy on the dashboard while it reaches a fraction of the people it should, and earns a fraction of what it could.
In this article we’re going to explain how our agency approaches browse abandonment flows and the key decisions our experts make to gain the most revenue.
What to send someone who only looked
They were curious, not committed, and the email has to respect that.
Trigger and delay window
Fire on the Viewed Product metric and keep the delay short, fire your emails within thirty minutes to four hours, while the product is still in the shopper's head. Use Viewed Product, not Active on Site, which fires on any landing and is too weak a signal to build on.
Wait until tomorrow and you're writing to a stranger about something they've forgotten. The window here is narrower than an abandoned cart gives you.
Three emails and the job each one does
Send two emails, three at most, and give each a different job rather than a different subject line.
Email one is the simplest, and the one most stores overthink. Show the product and get out of the way: the thing they were looking at, a clear route back to the product page, and nothing else asking for attention.
Addressings objections is the job of email two. Sizing and materials. Shipping and returns. Whatever your support inbox says people ask before they buy, email two should answer it without being asked.
Only send a third if you have something genuine to add. Social proof or a stock note will do it, and a use case they had not considered will do it better.
Why the copy leans on the product
We keep the copy on the product rather than the incentive, and we do it deliberately. In the higher-consideration categories we work in, browse abandonment runs slower and leans on education rather than discount pressure.
Education wins there for a reason. A shopper weighing a considered purchase across three sessions isn't holding out for a code. They're waiting to feel certain, and personalization that reflects what they looked at does more for that than money off.
We built a whole program on that principle for White River Hardwoods, where returning-customer revenue rose 17%. Their customers are architects and designers who reject promotional content on sight, so every email opens with a design truth and lands on a product, never the reverse.
There's a cost to getting this backwards. Lead with a discount code and you have taught a curious browser that patience pays. That lesson is expensive and it doesn't wear off.
How many of your shoppers you can reach
Now for the constraint that sets the ceiling on everything above.
Known browsers and the ceiling that puts on revenue
Browsing activity gets tracked for known browsers only. A visitor picks up a temporary cookie when they land. Nothing attaches to a profile until they identify themselves by handing over an email address, usually through a signup form or a Shopify checkout.
Until that happens, the browsing is invisible to your automation. Which means the flow doesn't reach the people who browsed. It reaches people who browsed and who you already knew.
Littledata put it plainly. Tracking only covers browsers who volunteered an email in the same session, and the number of stores that force a login before browsing is zero.
That's a ceiling, not a bug. If a quarter of your product views come from an identified profile, three quarters of your browse traffic sits outside the flow's reach entirely, and no amount of subject-line work touches it.
Growing the identified pool
Which makes list capture part of this flow's performance rather than a separate project. A popup that converts better doesn't just grow your list. It grows the segment your browse abandonment emails can address at all.
Capture is one lever on that population. Server-side tracking is the other. Moving off the default client-side setup can trigger between 20% and 200% more abandoned browse emails. That range is wide because it depends on how much of your traffic was going untracked to begin with.
A default pixel leans on the third-party cookie, which browsers keep getting better at blocking, while a server-side setup builds on first-party data you own outright.
Worth a look if your tracking still runs out of the box. Most do, and tracking is only half of what decides who gets reached.
What Multi-Email Profiles changes about who gets the send
The other half is which person your platform thinks it's looking at. Klaviyo shipped Multi-Email Profiles on 29 June 2026, unifying up to five email addresses under a single profile. The obvious reading is that it widens the pool you can reach. That reading is wrong.
For event-triggered flows, the send goes to the address associated with the triggering event rather than the profile's primary address. If that address happens to be unsubscribed, it doesn't fall back to the primary one.
Read that twice, because the implication is awkward. A loyal, subscribed customer can browse while signed in under an old work address they unsubscribed two years ago, and the flow stays silent about it rather than erroring or bouncing.
Consent lives per address rather than per person, so a merged profile isn't the same as a reachable one. Worth checking if your customers shop under more than one address, which in practice means most of them.
Which browsers are worth the send
Assume you have fixed the reach. Next question is who, among the people you can email, is worth emailing at all.
A repeat view isn't a category bounce
Most flows never ask that question. They treat every product view identically. Someone who glanced at a category page and someone who came back to the same premium jacket three times in two days get the same email.
Those are different people with different economics. One is browsing, the other is deciding.
Tiering by price and view depth
Browse abandonment matters more in fashion and apparel than in any other vertical we work in, because shoppers compare across multiple sessions before buying. We build those flows with longer attribution windows to match.
So tier the trigger. Split by product price or by view count, then let the branches behave differently.
That split is a few minutes of setup, not a rebuild.
High-value repeat views earn a proper sequence and a longer window. Single low-value views can take one email or none at all. A flow filter doing that work costs you nothing and changes what the whole thing returns, because average order value varies wildly across the people one untiered trigger treats as identical.
Who to suppress, and the overlap that costs you
The same filter decides who never enters the flow at all. Exclude recent purchasers, obviously, and exclude anyone already sitting in your cart abandonment flow. That second one is where the overlap starts.
Overlap is the one people miss. A shopper who browsed and then added to the cart qualifies for both, and receiving both makes you look like you aren't paying attention.
Frequency deserves the same scrutiny, because suppression does more than keep the list tidy. Every send is a small withdrawal from your sender reputation, and browse intent is the weakest signal you act on.
Send to everyone who looked at anything and you train inbox providers to treat you as noise. That damages deliverability across your whole program, and the flows that genuinely earn are the ones that pay for it when inbox placement slips.
What a discount really costs you here
Handing a code to someone who never added to cart is the most expensive habit in this flow. The cost is invisible on the dashboard.
Pricing a code on a browser
An email that converts with a code attached would often have converted without one. You'll never see that in your reporting.
A discounted sale looks like a win, and the margin you gave away never shows up as a line item anywhere in your reporting. Across a year of browse traffic, that adds up to real money.
An incentive ladder that protects margin
So build a ladder rather than a default. Email one carries no incentive, and email two carries none either, answering an objection instead.
If a code appears at all, it appears last and on a tiered trigger. Aim it at the browsers whose lifetime value justifies the margin.
That way the discount stays a tool you reach for on purpose.
How to tell whether it paid
Judge this flow on revenue per recipient, and be prepared for the number to be humbling at first.
Revenue per recipient rather than open rate
Revenue per recipient is calculated by the audience you reached rather than the traffic you hoped you did.
That number needs company, so weigh it against your other flows before deciding this one deserves more investment. Our view is that welcome, cart and post-purchase are the highest-impact starting points, with browse abandonment and winback layering on top once those are working.
Sort the welcome flow out first. If yours is one email and a discount code, that's where the compounding starts, not here.
What a Klaviyo audit shows about your browse flow
Our free Klaviyo audit reads your flow coverage line by line and reports what is live, what is missing, and what each gap is worth. Browse Abandon is one of those rows.
So is revenue per recipient. Email Kong benchmarks it against an industry average of $0.22 and an open rate of 20%. The first number tells you whether the flow you built is earning or coasting, and the second one only flatters.
If you have a browse abandonment flow live and no idea whether it pays for itself, that's exactly what the teardown answers. Get your free Klaviyo audit.

