A customer places their first order. The store records it, but the order event reaches the email platform under a slightly different profile because the customer signed up with a personal address and checked out with a work one. The welcome series keeps running. The post-purchase flow never starts. Three days later the customer receives “10% off your first order.”
It’s a small thing, and it happens constantly. When we trace ecommerce lifecycle problems back, the flows themselves are usually fine. The trouble is in the data they depend on: who the customer is, what they did, and what state that puts them in.
What we look at in an ecommerce lifecycle
The lifecycle above has seven states. A useful setup can tell, for any profile, which one they’re in right now and what moved them there. If you can’t answer that from your segments, every flow built on top is guessing.
Identity: is this the same person?
Before anything else we check how profiles are created and merged. Email signups, SMS opt-ins, checkout, account creation, reviews and loyalty apps can each create or update profiles. When identity is split, purchase history is split too, and customer state becomes unreliable. We trace where each source writes, how profiles are matched, and where duplicates or orphaned records come from.
Events: does the system know what happened?
Lifecycle automation runs on events. In Klaviyo these are metrics such as Viewed Product, Added to Cart, Started Checkout and Placed Order. If one is missing, delayed or firing twice, a whole branch of the lifecycle breaks. Custom events matter as well: subscription renewals, refunds, loyalty tier changes, back-in-stock requests. We check what’s arriving, what properties it carries, and whether flows are filtering on data that actually exists.
Segmentation: who is in which state?
Segments should describe customer state, not just campaign audiences. “Purchased once, more than 60 days ago, no order since” is a state. “Engaged last 90 days” is a sending rule. Both are useful, but mixing them up leads to segments nobody can explain. We define the states first, then build segments that match them and that other people on your team can read.
Not sure your flows are seeing the right data?
We'll check your events, segments and flow triggers against how customers actually buy from you, and show where the gaps are.
Flows across the whole lifecycle
Most stores have a welcome flow and an abandoned cart flow. Fewer have anything after the first purchase. That’s backward, because the jump from one order to two is often where retention is won or lost.
Before the first purchase
The welcome flow should do more than deliver a discount code. It should exit the moment someone buys and hand them to post-purchase. Browse abandonment catches interest early, but needs frequency limits so someone browsing every day isn’t emailed every day. Cart and checkout abandonment are separate moments: someone who reached checkout and entered an address is closer to buying, and usually deserves a different message and timing from someone who added an item and left.
- Started Checkout
- Placed Order since?
- No: wait and check again
- Send checkout reminder
- Exit if order placed
After the first purchase
Post-purchase sets expectations: shipping, product use, care instructions, what to do if something’s wrong. Selling can wait a few days. Cross-sell works best when it’s based on what was bought, not on what’s on promotion this week. Replenishment applies to consumables, and timing should come from real reorder intervals where you have enough history, rather than a guess.
Loyalty and VIP
Repeat and loyal customers need recognition more than discounts. A VIP state defined by order count or spend can earn early access, different content, or simply fewer promotional emails. If you use a loyalty platform, we make sure points and tier changes come through as events the email platform can act on.
At risk, win-back and sunset
Every customer eventually goes quiet. An “at risk” state lets you act before they’re fully lapsed, and a win-back flow gives them a reason to come back. If they don’t respond, a sunset process should stop marketing to them. That isn’t giving up. Continuing to send to people who never open hurts engagement metrics and, over time, inbox placement for everyone else on the list.
Suppression is part of the lifecycle
Suppression rules decide who should not get a message, and they’re often where the real problems hide. Recent purchasers getting abandoned-cart reminders. Customers with an open refund getting a review request. Unengaged profiles receiving every campaign. We document exclusions for each flow and campaign type so they’re applied consistently, not remembered case by case.
This connects directly to deliverability. If your open rates are slipping or more mail is landing in spam, see our deliverability improvement work, which treats list quality and sending behavior as part of the same system.
Services that fit ecommerce
Lifecycle automation is the core of most ecommerce work: designing and building the flows and states above. Email marketing automation covers campaign structure, segmentation and content logic. When we don’t yet know what’s wrong, a CRM Audit is the starting point.
Platforms we work with for ecommerce
Klaviyo is our flagship ecommerce platform, and much of this page reflects how it handles metrics, segments and flows. We also work with Omnisend, Attentive for SMS, and Mailchimp for stores at an earlier stage. If you’re weighing Klaviyo welcome flows specifically, our Klaviyo welcome flow guide walks through the decisions involved.
Which ecommerce flows should we build first?
Start with whatever connects the biggest gap in your lifecycle, which is often post-purchase rather than another pre-purchase flow. If welcome and abandonment flows exist but nothing runs after the first order, that’s usually where to focus.
Why is our abandoned cart flow emailing people who already bought?
Usually because the flow’s exit condition or filter doesn’t recognize the order. Common causes are the order event arriving under a different profile, a delay in the order event syncing, or a filter checking the wrong metric. It’s worth fixing quickly, as it annoys exactly the customers you most want to keep.
How do we define an “at risk” customer?
Base it on your own purchase intervals rather than a generic number. If most repeat customers reorder within 45 days, someone at 75 days without an order is at risk. A store selling furniture would use a very different threshold.
Should we stop emailing unengaged subscribers?
Eventually, yes. A sunset flow gives them a final chance to re-engage, then suppresses them from regular sends. You keep the profile and history; you just stop sending marketing that’s unlikely to be opened and may hurt deliverability.
What do you need from our store to get started?
Admin or collaborator access to the email platform, read access to the store if possible, and a rough sense of your typical reorder interval. If you have a loyalty, subscription or reviews app, tell us which, because each one sends its own events and often creates or updates profiles too.