Retention notes

Ecommerce Customer Retention: The Build Order Nobody Gives You

Every guide on ecommerce customer retention hands you the same list of 5 to 9 tactics and no build order. Here is the order: 12 flows, 37 emails, and which ones to build first.

Sep 2, 2026

Ecommerce customer retention is the share of buyers who come back and order again. Most guides answer this with a list of 5 to 9 tactics. None of them tell you which to build first. That order is the whole job.

What ecommerce customer retention measures

Retention is the share of your customers who buy again in a set window. Its opposite is churn, the share who stop. Its cousin is lifetime value, the total money one customer brings you before they go.

The formula every guide publishes looks like this:

Retention rate = [(E - N) / S] x 100

S = customers at the start of the period
E = customers at the end
N = new customers you added during it

Shopify runs the example this way. Start a quarter with 10,000 customers. Add 2,000. End with 10,200. That gives you about 78%.

Hold that number in your head. We come back to it.

Why every guide hands you a menu

Search "ecommerce customer retention" and read the top 5 results. You get the same list every time:

  • Start a loyalty program
  • Use email marketing
  • Try SMS
  • Launch a referral program
  • Personalize the experience

Shopify's version ends with "iterate on your marketing strategy." That is not a tactic. That is a shrug.

Every item on that list is fine. The problem is that a list is not a plan. A founder reads it, picks the one that sounds most fun, and builds a loyalty program on top of a broken post-purchase email. Then the loyalty program does not work, because there was never a second order for it to reward.

Tool vendors write these guides. A loyalty app writes about loyalty. A reviews app writes about reviews. An SMS app writes about SMS. Nobody selling one piece has a reason to tell you it is the seventh thing you should build.

The benchmark numbers do not agree

Here is what happens when you go looking for a target.

Source Cited by Average retention rate Metrilo Shopify 28% Omniconvert Gorgias 31% Yotpo Yotpo 30 to 40%

Three numbers, three sources, one topic. None of the pages reconcile them. None say what window they measured or which kinds of stores were in the sample.

They disagree because they are measuring different things. A subscription box and a mattress brand both sell online. One expects an order every month. The other hopes for one every 8 years. Averaging them produces a number that describes neither.

Use your own history instead. Pull the same 90-day window from last year and compare it to this year. That comparison is worth more than any published average, because both sides of it come from your store.

Retention is a system, and systems have a build order

Here is the shift. Stop thinking about retention as a set of things you could do. Start thinking about it as a set of automated flows, each with one trigger, one job, and one exit.

A flow is an email sequence that fires when a customer does something, or fails to do something. It runs without you. That is the point. Retention work you have to remember to do is work that stops the first busy week.

There are 12 of them. Together they run 37 emails.

The 12 flows

# Flow Fires when One job 1 Welcome Someone joins the list Get the first order 2 Abandoned cart Cart made, no checkout started Recover the cart 3 Checkout abandonment Checkout started, no order Recover the order 4 Browse abandonment Product viewed, no cart Bring them back to the page 5 Post-purchase Order placed Set up the second order 6 Back in stock Sold-out item returns Convert the waitlist 7 Review request Order delivered Get the review 8 Cross-sell A set time after delivery Sell the next product 9 Replenishment Product should be running out Get the reorder 10 VIP Customer crosses a spend or order threshold Keep your top 5% 11 Winback Regular buyer goes quiet Restart the habit 12 Sunset No opens or clicks in months Stop emailing the dead

Read that table again and notice what it is not. It is not a list of ideas. Each row has a trigger you can define in Klaviyo today and an exit condition that removes people who convert.

The build order

Not all 12 are worth the same. Build them in this order.

First: the flows that catch money already in motion.

Abandoned cart and checkout abandonment. These people already told you they want the thing. They put it in a cart. Something stopped them. This is the cheapest revenue in your store, and most brands run one generic version of both when the two moments need different messages. Cart abandonment means they are still deciding. Checkout abandonment means they decided and hit a wall: shipping cost, a form, a card problem.

Second: the flow that creates the second order.

Post-purchase. This is the one brands skip, and skipping it is why their retention rate is bad. The window between "order placed" and "order arrives" is the only time a customer thinks about you every day. They are tracking the package. They are excited. Most brands fill that window with a shipping confirmation and silence.

If you build one flow this month, build this one.

Third: the flows that repeat the order.

Replenishment and cross-sell. Replenishment is timing, not persuasion. If your product lasts 6 weeks, the email lands at week 5. Get the timing wrong and the best copy in the world will not save it.

Fourth: the flows that clean up.

Winback, sunset, VIP. These handle the edges of your list: people leaving, people already gone, people worth keeping close.

Last: everything the guides told you to do first.

Loyalty programs, referral programs, SMS. All three work. All three work better on top of the 12 flows than instead of them. A loyalty program rewards a second order. Build the thing that creates the second order first.

The three numbers worth watching

You do not need a dashboard. You need 3 numbers, checked monthly.

Repeat purchase rate. Of the customers who bought in a given month, what share bought again within 90 days. This is your headline number. It moves when the flows work.

Average order value. What a typical order is worth. Cross-sell and replenishment should push this up. If they do not, the products you are recommending are wrong.

Lifetime value. Order value times how often someone buys times how long they stay. It tells you what you can afford to pay for a customer. That is why it belongs on the retention side of the ledger, not the ads side.

Everything else is a distraction until these 3 are stable and moving in the right direction.

Four mistakes that cost the most

Running one abandonment flow. Cart and checkout are different moments with different reasons for stopping. One flow for both means the message is wrong half the time.

Discounting in the first email. If the winback flow opens with 20% off, you have taught your best customers to wait for the discount. Lead with the product or the reason. Save the offer for the last email, if at all.

Never suppressing anyone. A list full of people who have not opened anything in a year drags your deliverability down and hides your real numbers. The sunset flow exists for this. Most brands never turn it on because deleting subscribers feels like going backwards.

Changing the measurement window. Someone looks at 30 days one quarter and 12 months the next, sees a bigger number, and calls it progress. Pick 90 days and never move it.

Where the standard formula breaks

Back to that 78%.

Look at what the formula needs: customers at the start of the period, customers at the end. That question makes sense for a gym or a phone company. Someone is a member on 1 January and either is or is not a member on 31 March.

Your store does not work that way. A customer who bought in February and has not bought since is still a customer. They are also, in every way that matters, gone. There is no cancel button for them to press, so nothing tells you they left.

Feed that into (E - N) / S and you get a number that only goes up, because nobody ever leaves the denominator.

Measure repeat purchase rate on a cohort instead:

Take everyone who placed a first order in one month.
Count how many placed a second order within 90 days.
Divide.

That number can fall. That is what makes it useful. It tells you whether the customers you bought in June behave better than the ones you bought in March, which is the only retention question that leads to a decision.

Pick one window and hold it. 90 days works for most brands. What matters is that you never change it, because changing the window changes the number more than any flow you build.

What this costs

Twelve flows and 37 emails sounds like a quarter of work. It is less than that, because most of the emails are short and most of the thinking is in the triggers, not the copy.

A realistic order of operations for a founder doing this alone:

  1. Week 1: cart and checkout abandonment, split properly
  2. Week 2: post-purchase
  3. Week 3: review request and back in stock
  4. Week 4: replenishment, timed to your actual product life
  5. Month 2: cross-sell, winback, VIP, sunset, welcome, browse abandonment
  6. Month 3: measure the June cohort against the March cohort

At WDNN we have spent 10 years building these systems for US ecommerce brands, including Starface, KNC Beauty, JapanCrate and Echelon. The order above is the order we use.

The one thing to take away

Your retention problem is almost never a missing tactic. It is a missing sequence.

The tactic list on every other page is not wrong. It is unordered, and unordered is the same as useless when you have one person and 4 hours a week. Build the flows that catch money in motion, then the flow that creates the second order, then the ones that repeat it. Leave the loyalty program until there is something to be loyal to.

Then measure one cohort against another and let the number tell you if it worked.

Get the whole system

This article is the map. The guide is the build.

12 flows, 37 emails, one job: repeat purchases. Every trigger, every send delay, every exit condition, written out so you can build them this month.