How to Build a Klaviyo Welcome Flow
The trigger, the two filters, and five emails over nine days, with every Klaviyo setting named.
The trigger, the two filters, and five emails over nine days, with every Klaviyo setting named.
Your Klaviyo welcome flow tends to earn more per send than any campaign you run this quarter. The people in it asked to hear from you minutes ago, and they still remember the product they were looking at. Most stores answer with one email, a discount code, and then silence.
This covers the whole build, from the trigger through the filters and the delays to the five emails themselves. Every setting below uses the name Klaviyo gives it, so it matches what you see inside the flow builder rather than leaving you to guess which toggle we mean. If you're still deciding which sequences to build at all, the parent guide to Klaviyo flows covers the build order across the whole account.
Budget about an hour for the setup and a week for the copy.
Open Flows, create a flow, and pick Added to list as the trigger. Point it at whichever list your signup forms write to.
List-triggered flows have one property that's worth knowing up front. A profile goes through the flow one time. Someone who unsubscribes, resubscribes, and lands back on the list won't run through it a second time. That keeps the sequence clean, and it saves an old subscriber from a welcome email two years late.
Now, Klaviyo separates two kinds of filter, and mixing them up is the most common build error we see.
A trigger filter decides who enters the flow, and it runs once, at entry.
A flow filter keeps running in the background and pulls people out mid-sequence the moment they stop qualifying.
You'll want both, because they're doing different jobs. The next two sections cover one each.
Klaviyo's own guidance for a welcome series is one email immediately, then a second four days later. That collects the signup and not much else. Five emails over nine days gives you room to answer the objections holding back a first order, without ever landing twice in one day.
Email 1, immediately. Deliver the incentive, because someone gave you an address in exchange for a code and the code is the whole job here. Put it in the subject line and above the fold, and add one line on what you sell and how often you'll email.
Email 2, one day later. This one's the brand story: who makes it, why it exists, and what you won't do. On its own it's filler, and it earns its place sitting between an offer and the proof.
Email 3, three days after signup. Now for social proof, which usually means reviews, customer photos, and orders shipped. It's worth starting with whichever product has the strongest reviews rather than the fattest margin.
Email 4, six days after signup. This is where you handle the objections: shipping cost, delivery window, returns, sizing, ingredients. It's the dullest one to write, and it sits closest to the sale.
Email 5, nine days after signup. This one is the reminder, and the code expires as the sequence ends, so it's worth saying both plainly.
Set each gap with a time delay between messages. Nine days is a starting point rather than a rule, and a considered purchase above $200 will usually support a longer one.
Someone who already buys from you doesn't need a welcome discount, and handing them one teaches a repeat customer to wait for the next code.
Add a trigger filter on Has Placed Order at least once over all time, set to zero times. New subscribers with no order history come in, and existing customers who rejoin the list don't.
That one filter protects your margin. Picture a store shipping 200 orders a month with a 15 percent welcome code, handing that discount to every repeat buyer who fills in a signup form again.
Now picture a subscriber who buys after email two. Emails three, four, and five arrive anyway, and email five tells a paying customer their discount is about to expire.
Klaviyo handles this with a flow filter rather than a trigger filter. Add Has Placed Order at least once since starting this flow, set to zero times. Because a flow filter re-evaluates before every send, the profile drops out of the sequence the moment an order lands.
You set it once, at the flow level, and it'll cover every email underneath.
Most welcome flows skip this, and it tends to make a real difference to what the sequence earns.
Three different people land on that list. A popup subscriber wants the code, a checkout subscriber has already bought, and a footer subscriber wants to hear from you. Run one sequence for all three and it does a decent job for one of them.
Popup. This is the default audience, so incentive first and objections by email four. The five-email shape above assumes this reader.
Checkout or account signup. These people bought minutes ago, so skip the discount entirely and swap emails one and three for order care and product usage. A welcome code here mostly refunds a sale you'd already made.
Footer or blog. There's no purchase intent here yet, so lead with the brand story and your strongest content, and hold the offer back until email four.
There are two ways to separate them. Send each form to its own list and build a flow per list, which keeps reporting clean and lets each sequence run a different length. Or have the form write a profile property, which is a field stored on the subscriber, then branch inside one flow with a conditional split that reads it.
Lists take more setup and read better in reporting. Splits are quicker and leave you one flow to maintain. We'd reach for lists when the three sequences differ by more than a couple of emails.
Start with the popup sequence, since popups usually produce most of the volume, and build the second variant once the first one is earning.
A subscriber inside the welcome sequence is still sitting in your campaign audience. Tuesday's newsletter goes out, and someone on day two gets two emails an hour apart.
Klaviyo ships a control for exactly this, called Smart Sending. You'll find it on each flow message under Skip recently emailed profiles. The default window runs 16 hours for email and 24 hours for SMS and push, and your account default lives under Sending preferences as the Smart Sending Period.
Leave it on for emails two through five, and switch it off for email one. That first email has to arrive whatever else went out that day, because the subscriber is sitting there waiting for the code.
Open rate stopped meaning much once mail clients started prefetching images, so three numbers are worth reading instead.
Revenue per recipient, per email. Divide what a message earned by the number of people who received it. That shows you which of the five is carrying the sequence, and which one to rewrite first.
Flow revenue as a share of email revenue. In a healthy account, flows tend to out-earn campaigns.
Email revenue as a share of store revenue. It's the number a founder asks about, and it ties the sequence back to the business.
Read all three at 30 days rather than at 7. A nine-day sequence needs a full cycle before the last email has any data behind it at all.
Test the delay before you test the copy. Add a conditional split at the top of the flow, set it to a random sample at 50 percent, and run tighter spacing on one branch. It's the same five emails with different gaps between them.
Give it 30 days or 500 recipients per branch, whichever arrives second, because below those numbers you're reading noise rather than a result.
Subject lines feel like the obvious thing to test and they tend to move less. Timing is what decides whether email three lands while someone still remembers your brand.
Build the trigger, the two filters, and emails one, four, and five, because those three carry most of the revenue. The brand story and the social proof wait until next week.
A welcome flow built this way will run for years with a quarterly copy refresh, so the setup is a one-time cost in a way the revenue isn't.
And if you'd like a second read on your own account before you rebuild anything, we run a free teardown and send it back in two business days. Our email marketing service builds these flows for brands who'd rather not do it in-house.
Five over nine days covers the work comfortably. Email one delivers the code, email two the brand story, email three social proof, email four the objections, and email five a reminder before the code expires. Klaviyo's own guidance stops at two, one immediately and one four days later, which collects the signup and doesn't answer much of what's holding back a first order. If you're selling something considered above $200, it's worth stretching the nine days out.
You'll want a flow filter rather than a trigger filter. Set Has Placed Order at least once since starting this flow to zero times. A flow filter re-evaluates before every send, so the profile drops out of the sequence the moment an order lands. A trigger filter runs once, at entry. It misses anyone who buys mid-sequence, which is how a paying customer ends up reading that their discount is about to expire.