What is a segment in Klaviyo?
A Klaviyo segment is a dynamic group of profiles defined by conditions, such as what people have done, what properties they have, or whether they can receive marketing. Profiles enter and leave a segment automatically as their data changes. You don’t add anyone to a segment by hand.
That’s the main difference from a list. A list is static: people join through a form, an import, checkout consent or the API, and stay until something removes them. Lists are for collecting subscribers and triggering flows like the welcome series. Segments are for describing who someone is right now.
A simple test helps. If a group’s membership should change when a customer does something, such as placing an order or going quiet for three months, it belongs in a segment. If it should only change when someone signs up or is removed, it can be a list.
The condition types in the segment builder
Klaviyo’s segment builder offers these condition types:
- What someone has done (or not done). Conditions on metrics such as Placed Order, Viewed Product or Opened Email, with a frequency (at least once, zero times, is at least, and so on) and a time frame (over all time, in the last, between dates and others). Each event condition can take filters on the event’s properties.
- Properties about someone. Built-in profile properties like country or city, plus any custom properties your integrations or forms write.
- If someone is or is not in a list, with optional filters on when they were added.
- If someone can or cannot receive marketing, by channel.
- Someone’s proximity to a location, as a radius around a postal code in supported countries.
- If someone is or is not within the EU (GDPR).
- Predictive analytics about someone, covered below.
Conditions can be combined with AND and OR. A segment can hold up to 100 conditions, and each event condition up to 10 filters, which is far more than a well-designed segment needs. If you’re near those limits, the segment is probably doing three jobs at once.
Build from order data, not email engagement
The most useful segments in an ecommerce account come from order metrics, because orders are the clearest evidence of customer state. Two metrics do most of the work:
- Placed Order is recorded once per order. Use it for counts, recency and order value.
- Ordered Product is recorded once per item in an order. Use it when the product matters, such as anyone who bought from a particular collection or category.
So “has Placed Order at least 2 times over all time” defines a repeat customer. “Has Ordered Product at least once in the last 180 days where Categories contains Skincare” defines a recent skincare buyer. Both stay accurate without anyone maintaining them.
Engagement metrics like Opened Email and Clicked Email still matter, mainly for deciding who receives campaigns. But a profile that opens everything and has never bought is a different person from one who ignores email and orders every six weeks. Keep the two kinds of segment separate.
Core segments most stores need
The right set depends on your catalog and buying cycle, but most stores benefit from something like the following. Treat the time frames as starting points.
Engaged subscribers
This is the segment regular campaigns go to. A typical definition combines recent activity with eligibility: can receive email marketing, and opened or clicked email, or was active on site, or placed an order within a window that suits your sending frequency.
Opens need care. Apple Mail Privacy Protection loads emails automatically, which records opens that a person may never have seen. Klaviyo flags these with the Apple Privacy Open property on the Opened Email event. Adding the filter “Apple Privacy Open is false” to your open condition stops machine opens from keeping inactive profiles in your engaged segment.
Never purchased
Subscribers with Placed Order zero times over all time. This is the audience for first-order offers, and the group you exclude from loyalty or second-purchase messaging.
First-time and repeat customers
First-time: Placed Order equals 1 over all time. Repeat: Placed Order is at least 2. The gap between these two groups is where much of a store’s retention work sits, and it’s worth reporting on how many first-time customers move across each month.
VIP
Define VIP from your own data rather than borrowing a number. Look at your order history and choose a threshold on order count or total spend that picks out a small group you’d genuinely treat differently. Then decide what “treat differently” means: early access, no discounts, a personal note. A VIP segment that only receives the same campaigns as everyone else isn’t doing anything.
Lapsing and lapsed
These depend on your buying cycle. If most repeat customers reorder within 40 to 60 days, “has Placed Order at least once over all time and zero times in the last 90 days” is a reasonable lapsing definition. A brand selling furniture would need a much longer window. The point is to set the window from your own repeat purchase timing, not from a template.
Unengaged and sunset
Profiles that can receive email but haven’t opened (excluding Apple privacy opens), clicked, visited or bought for a long period. This segment feeds a sunset flow or a suppression decision, and it’s the group most likely to drag down inbox placement if campaigns keep reaching them.
How should consent be handled in segments?
Add a consent condition to any segment used for marketing sends. The condition If someone can or cannot receive marketing checks whether a profile is eligible on a channel. For email, Klaviyo notes that adding the “because person > Subscribed” filter limits it to profiles who explicitly subscribed, rather than everyone who simply hasn’t unsubscribed or been suppressed.
This matters most for customers who bought without opting in. They usually show as Never subscribed. Whether you can market to them depends on where they are and what they agreed to at checkout, so the safest default is to build marketing segments on explicit subscription.
Location rules have their own catch. The GDPR condition covers the EU but not the UK, so if you need to treat UK profiles the same way, add a separate condition on country.
Where predictive analytics fits
Klaviyo’s predictive analytics adds fields to each profile such as Historic CLV, Predicted CLV, Total CLV, Predicted number of orders and Average time between purchases, and these can be used directly as segment conditions. They’re useful for spotting a high-value customer who has gone quiet, or for setting a lapsing window per customer rather than one window for everyone.
They aren’t available to every account. Klaviyo needs a meaningful amount of order history before it generates predictions, including at least 500 customers who have placed orders, at least 180 days of order history with orders in the last 30 days, and some customers with three or more orders. Check the current requirements in Klaviyo’s help center, as they have changed over time.
Below that threshold, rule-based segments are perfectly adequate. Above it, compare predicted and rule-based groups before switching. If the predicted VIP segment and your spend-based VIP segment contain almost the same people, the simpler one is easier to explain to your team.
Segments in flows
Segments show up in flows in three ways:
- As a trigger. A segment-triggered flow starts when someone joins the segment. It’s a good fit for states that build up over time, like becoming a repeat customer or entering a lapsing window. Check the flow’s re-entry setting so people who drop out and rejoin are handled the way you intend.
- As a profile filter. “Is not in segment: VIP” on a discount-heavy flow, for example. Profile filters are checked at entry and before each action, so membership changes during the flow take effect.
- Inside a multi-branch split. Route VIPs, repeat customers and everyone else down different paths of the same flow, rather than building three flows.
One timing caveat. A segment-triggered flow only fires once Klaviyo has evaluated the profile into the segment, which isn’t the same moment as the underlying event. If a message must go out within minutes of an action, trigger the flow on the metric itself.
Builder details that produce wrong counts
A few rules in Klaviyo’s segment builder cause problems that are hard to spot from the segment count alone:
- Time frames are calculated in UTC. “In the last 1 day” may not line up with your store’s calendar day.
- Text values are case-sensitive, except for email addresses. “united kingdom” and “United Kingdom” are different values to the builder, which matters when properties come from free-text form fields.
- “Doesn’t equal” excludes profiles with no value. A segment for “Preferred store doesn’t equal London” won’t include people who never set a preferred store at all. Add an “is not set” condition with OR if you want them.
- Nested event properties can’t be used. Properties inside arrays like “Extra” or “Details” aren’t available as filters. If you need one, it has to be sent as a top-level property.
- Date operators aren’t available on event properties. If you need to segment on a date carried by an event, store it as a profile property instead.
Here’s how the “doesn’t equal” rule bites. A store builds “Not a wholesale customer” as Customer type doesn’t equal Wholesale, intending it as the audience for retail discounts. Most retail customers never had a customer type set, so they’re excluded. The segment ends up holding a few hundred people instead of tens of thousands, and the campaign underperforms for reasons that aren’t visible in the email itself.
Naming and housekeeping
Segments multiply. Agree a naming convention, for example a prefix for purpose (“Campaign:”, “Flow:”, “Report:”) followed by the definition in plain words, and add the conditions to a shared document so the team knows what “engaged” means without opening the builder. Review segments a couple of times a year and archive the ones nothing uses. If you’re doing a wider review, the Klaviyo audit checklist includes a segment step.
For how segments connect to flows across the whole lifecycle, see our Klaviyo page and the guide to customer lifecycle mapping.
What’s the difference between a list and a segment in Klaviyo?
A list is static and changes only when people are added or removed. A segment is dynamic and updates automatically based on its conditions. Use lists to collect subscribers and segments to describe behavior and customer state.
How do I define an engaged segment in Klaviyo?
Combine marketing eligibility with recent activity, such as opened or clicked email, active on site or placed an order within a window that suits how often you send. Filter Opened Email to exclude Apple Privacy Opens so machine opens don’t inflate it.
Can I use a segment to trigger a flow?
Yes. A segment-triggered flow starts when a profile joins the segment. It suits gradual states like becoming a repeat customer. For time-sensitive messages, trigger on the metric instead.
Why is my Klaviyo segment smaller than expected?
Common causes are a “doesn’t equal” condition excluding profiles with no value, case differences in text values, UTC time frames, or an AND that should have been an OR. Check each condition against a few profiles you expect to be included.