Email List Segmentation for Shopify Stores: 9 Segment Types

Short answer: Email list segmentation is the practice of dividing your subscribers into smaller groups that share a trait, such as what they bought, how recently they opened an email, where they live or how much they spend, and then sending each group a message that fits it. For an online store, the most useful segments come from order and browsing data rather than demographics. Done well, segmentation means fewer, more relevant emails, which protects deliverability and raises revenue per recipient.
Key facts (verified September 2026)
- In Klaviyo's 2026 email benchmarks, automated flows were 5.3% of sends but produced about 41% of email revenue, with a 5.58% click rate versus 1.69% for campaigns.
- Omnisend's 2026 ecommerce marketing report (150,000 brands, 27 billion emails sent in 2025) found automations were 2% of sends and 30% of email revenue: $2.87 per send versus $0.18 for scheduled campaigns.
- In Baymard's 2026 survey of 1,083 US shoppers, 48% said they unsubscribed because one retailer emailed too often, and 44% because they lost interest in the content.
- Gmail and Yahoo require bulk senders to authenticate with SPF, DKIM and DMARC, support one-click unsubscribe, and keep spam complaint rates below 0.3% (Gmail recommends staying under 0.1%).
- Shopify has built-in customer segments that Shopify describes as dynamic and rule-based, so a store can start segmenting before it pays for an email platform.
This guide is written for Shopify merchants. It defines segmentation, shows the nine segment types that matter for a store with the actual filters used in Shopify, Klaviyo and Omnisend, and gives you a starter set to build this week. Disclosure: Oxify makes Shopify cart and upsell apps, not an email tool, so we have no stake in which email platform you pick.
What is email list segmentation?
An email list is everyone who has agreed to hear from you. A segment is a slice of that list defined by a rule: "bought in the last 30 days", "has never ordered", "lives within 25 miles of our shop". Segmentation is the work of defining those rules and deciding what each group should receive, or not receive.
That last part is easy to miss. Segmentation is as much about exclusion as targeting. Leaving last week's buyers out of a discount blast, or pausing campaigns to people who have not opened in six months, is segmentation too, and it is often where the first gains come from.
Segmentation is also different from personalization. Segmentation decides who gets a message. Personalization changes what an individual sees inside it, such as their first name or the product they viewed. You need the segment first, because personalizing an email that should not have been sent to that person does not rescue it.
List vs segment vs tag
The three terms get used interchangeably, but platforms treat them differently.
| Term | What it is | How it changes | Typical use |
|---|---|---|---|
| List | A collection of contacts who opted in through a form, checkout or import | Static. Klaviyo's documentation says lists grow as people subscribe or are added manually | Recording consent and the signup source |
| Segment | A saved set of conditions | Dynamic. People enter when they meet the conditions and leave when they stop meeting them | Targeting and excluding for campaigns; filtering flows |
| Tag | A label attached to a customer record, for example wholesale or quiz-dry-skin | Stays until something removes it | Storing a fact that a rule cannot calculate, then using it as a segment condition |
A practical rule: keep the number of lists small (many stores need one main list), store facts as tags or profile properties, and do your targeting with segments.
Why segmentation matters for an online store
You will see claims that segmented campaigns earn "760% more revenue". That figure traces back to a Campaign Monitor statistic from the mid-2010s with no methodology that can be checked today, so we have removed it from this article. The current evidence is less dramatic and more useful.
Targeted, triggered email earns far more per send
No large public dataset isolates "segmented vs unsegmented campaigns" in a controlled way. The closest honest proxy is the gap between automated flows, which are by definition sent to a narrow behavioural segment at a relevant moment, and bulk campaigns. Klaviyo's 2026 benchmarks put flows at 5.3% of sends and roughly 41% of email revenue. Omnisend's 2026 report found the same pattern in a separate dataset: 2% of sends, 30% of revenue, and about one in three clicks on an automated email ending in a purchase. Both are vendor datasets and both compare flows with campaigns rather than running an experiment, so treat them as a strong directional signal, not a promised lift for your store.
Over-mailing is now the top reason shoppers unsubscribe
Baymard's 2026 survey found frequency from a single retailer (48%) has overtaken general inbox overload (46%) as the leading reason for unsubscribing. Segmentation is the practical way to email your best customers often without sending everyone everything.
Inbox providers reward engagement and punish complaints
Since February 2024, Gmail and Yahoo have enforced bulk sender rules: SPF, DKIM and DMARC authentication, one-click unsubscribe on marketing mail (Yahoo asks that unsubscribes are honoured within two days), and a spam complaint rate kept below 0.3%. Complaints come disproportionately from people who no longer care about your emails. An engagement segment that reduces or stops sends to them is the most direct lever you have on that number.
The 9 segment types that matter for a Shopify store
Each type below has a definition and an example of how it is expressed. Shopify examples use the filter syntax from Shopify's segment filter reference (Customers, then Segments, in the admin). Klaviyo and Omnisend examples describe the condition you would pick in their builders; check their current docs for exact labels, since these interfaces change.
1. Purchase behaviour and RFM
RFM stands for recency, frequency and monetary value: how recently someone ordered, how often, and how much they spend. It is the backbone of store segmentation because it is calculated from data you already have.
- Shopify: a built-in filter, for example
rfm_group = 'CHAMPIONS'orrfm_group = 'AT_RISK'. Other groups include LOYAL, PROMISING, NEW, NEEDS_ATTENTION, ALMOST_LOST and DORMANT. For a custom version:orders_placed MATCHES (count >= 3, date >= -6m). - Klaviyo: "Placed Order at least 3 times in the last 180 days".
- Omnisend: built-in customer lifecycle stages, assigned automatically from recency, order frequency over the last 365 days and order value compared with your store average.
2. Lifecycle stage
Where someone is in their relationship with your store: subscriber who has never bought, first-time buyer, repeat buyer, lapsed customer. Each stage needs a different job done: a reason to try you, reassurance and how-to content, a reason to come back, or a win-back.
- Shopify: never bought:
number_of_orders = 0 AND email_subscription_status = 'SUBSCRIBED'. First-time buyers:number_of_orders = 1. Lapsed:number_of_orders >= 1 AND last_order_date < -180d. - Klaviyo: "Placed Order zero times over all time" combined with list membership.
3. Email engagement
How recently someone opened or clicked. Use it to set frequency: engaged in the last 30 days gets everything, 31 to 90 days gets your best sends, 90 days or more gets a re-engagement attempt and then a pause. One caution: Apple Mail Privacy Protection inflates open data, so weight clicks, site visits and orders more heavily than opens.
- Shopify:
shopify_email.clicked MATCHES (date >= -90d)(the filter family also covers opened, delivered, bounced, marked_as_spam and unsubscribed). - Klaviyo: "Clicked Email at least once in the last 90 days OR Placed Order at least once in the last 90 days".
- Omnisend: message engagement filters; see their guide to segmenting by engagement level.
4. AOV and spend tier
Group customers by lifetime spend or typical order value. High spenders get early access and fewer discounts; low-AOV buyers get bundle and threshold offers ("add one more item for free shipping").
- Shopify:
amount_spent >= 500for lifetime spend, ororders_placed MATCHES (amount >= 100, date >= -12m)for anyone with a recent order of 100 or more. - Klaviyo: conditions on historic customer lifetime value or average order value.
Set the thresholds from your own order distribution. "Top 10% by spend" is a better VIP definition than a round number borrowed from someone else's store.
5. Product and category affinity
What someone bought or looked at. It powers cross-sells (bought the razor, has not bought blades), replenishment reminders and category-specific launches.
- Shopify:
products_purchased MATCHES (tag = 'skincare', date >= -12m)for buyers, andstorefront.product_viewed MATCHES (id = 2012162031638, date >= -30d)for recent viewers of a specific product. - Klaviyo: "Placed Order where Collections contains Skincare" or "Viewed Product at least once in the last 30 days".
6. Location, ZIP code and time zone
Country and region matter for shipping cut-offs, seasons, currency and local events. Stores with a physical shop or pop-ups also need radius targeting.
- Shopify:
customer_countries CONTAINS 'US',customer_regions CONTAINS 'US-NY', or a radius:customer_within_distance MATCHES (coordinates = (45.419190, -75.696727), distance_mi = 10). - Klaviyo: "proximity to a location: person is within 30 miles of [postal code] in [country]". See the dedicated section below for tool-by-tool detail and limits.
7. Acquisition source
How someone joined: popup, checkout opt-in, quiz, giveaway, in-store. Giveaway signups behave very differently from checkout opt-ins, and your welcome flow should reflect the promise made at signup.
- Shopify: tag on entry and filter with
customer_tags CONTAINS 'quiz-dry-skin';created_by_app_ididentifies customers created by a particular app. - Klaviyo and Omnisend: signup source is stored as a profile property or list membership that you can use as a condition.
8. Consent status
Whether someone has actually agreed to marketing email. This is not optional: it is the base condition every marketing segment should include.
- Shopify:
email_subscription_status = 'SUBSCRIBED'. The other values are NOT_SUBSCRIBED, PENDING (double opt-in not yet confirmed), UNSUBSCRIBED, INVALID and REDACTED. SMS consent is separate:sms_subscription_status. - Klaviyo: the condition "If someone can or cannot receive marketing" per channel. Klaviyo's consent segmentation guide lists three email statuses: subscribed, unsubscribed and never subscribed. "Never subscribed" profiles can technically receive email without having given explicit consent, so for GDPR audiences filter on "subscribed" specifically.
9. Predicted values
Model-based estimates of what a customer will do next. Useful, but only with enough order history behind them.
- Shopify:
predicted_spend_tier = 'HIGH'(HIGH, MEDIUM or LOW). - Klaviyo: predicted customer lifetime value, churn risk and average time between orders. Klaviyo's requirements: at least 500 customers who have ordered, 180 days of order history, orders within the last 30 days, and some customers with three or more orders.
If your store is below those thresholds, plain RFM rules will serve you better than predictions.
Is email list segmentation worth it for a small list?
Yes, but less of it than most guides suggest. On a small list the value comes from flows and exclusions, not from splitting every campaign into several versions. No public study sets a minimum list size for segmentation, so the thresholds below are our judgment, reasoned from the sourced facts in this article; adjust them to your store.
What does not depend on list size. A welcome or abandoned-cart flow is a segment of one, triggered by that person's behaviour, and it works the same with 300 subscribers as with 300,000. Omnisend's 2026 report attributes 76% of automation-generated orders to those two messages. Consent filtering, holding recent buyers out of a promotion, and pausing sends to people who stopped engaging cost nothing to set up. Gmail asks every sender, not only bulk senders, to keep spam complaints under 0.3%, and on a small list a handful of complaints is a large percentage.
What does depend on list size. Anything you want to learn from. Klaviyo's 2026 benchmark puts the average campaign click rate at 1.69%; at that rate a 200-person segment produces about three clicks per send, which is too few to tell a good email from a lucky one. Every extra campaign segment is also another email someone has to write. And predictive fields need volume: Klaviyo requires at least 500 customers who have ordered before it calculates them.
| List size (our rule of thumb) | Do | Skip for now |
|---|---|---|
| Under about 1,000 subscribers | Welcome and abandoned-cart flows. One main campaign to everyone subscribed, minus two exclusions: recent purchasers and the unengaged. Tag the signup source from day one. Split buyers from non-buyers only when the message truly differs, such as a first-order offer. | Separate campaign versions per segment, A/B tests inside segments, predictive segments |
| About 1,000 to 10,000 | The six starter segments below, with engaged subscribers as the default campaign audience. Add post-purchase and win-back flows. | Narrow affinity segments that would hold only a few hundred people, unless the product launch is specifically for them |
| Above about 10,000 | Category affinity, spend tiers, location, and predictive fields once you pass your platform's data thresholds. Holdout tests now have enough volume to be read. | Segments you have no distinct content for |
A simple test at any size: if you cannot say what a segment will receive that the rest of the list will not, do not build it yet.
The first 6 segments to build
You do not need all nine types on day one. These six cover most of the value and work even on a small list. Every one assumes the consent condition from type 8 is included.
- Engaged subscribers (90 days). Clicked, visited or ordered in the last 90 days. This becomes your default campaign audience instead of "everyone".
- Subscribers who have never purchased.
number_of_orders = 0. They need proof and a reason to try you: reviews, bestsellers, a first-order incentive if your margins allow. - First-time buyers, last 30 days.
number_of_orders = 1 AND last_order_date >= -30d. The goal is a second order. Send usage tips and a relevant cross-sell rather than another generic promotion. - Repeat buyers and VIPs.
number_of_orders >= 3or your top spend tier. Early access and recognition work better here than discounts they did not need. - Lapsed customers. Ordered before, nothing for longer than your normal reorder gap. 180 days is a starting point; a consumables store might use 60 and a furniture store 365.
- Unengaged (suppress). No click, visit or order in 120 to 180 days. Send a short re-engagement series, then stop mailing those who do not respond. This segment exists to protect deliverability.
Add a seventh, recent purchasers (last 7 to 14 days), as an exclusion segment for promotional campaigns. It avoids the classic complaint of paying full price the day before a sale email arrives.
How to create a customer segment in Shopify and email it
These steps follow Shopify's Help Center pages on creating and managing customer segments, checked in September 2026. No email app other than Shopify's own is needed.
- In Shopify admin go to Customers, then Segments, and click Create segment. To start from a preset instead, click the Templates icon and pick a template card; it fills the editor for you.
- Click in the query editor and build the filter: choose a filter name, an operator and a value, for example
number_of_orders = 0 AND email_subscription_status = 'SUBSCRIBED'. Join conditions withANDorOR. Shopify's help page also describes using Sidekick to generate a segment from a plain-language description. - Click Run query and check the customers returned look right.
- Click Save segment, give it a name, and click Save. New customers who match are added automatically from then on.
- To email it, open the segment, click Use segment, then Email, and build the campaign in the Shopify Messaging app. Only customers subscribed to email marketing receive it.
If you use Klaviyo or Omnisend, build the segment in that tool instead: both sync orders and customers from Shopify, and their segment builders add more behavioural events and predictive fields than Shopify's filters offer.
Which segments feed which flows
Flows (automations) are triggered by an event, and segments act as filters and branches inside them. Omnisend's 2026 report found abandoned cart and welcome messages alone drove 76% of automation-generated orders, so start with those two.
| Flow | Trigger | Segment logic to add |
|---|---|---|
| Welcome | Subscribes to the list | Branch by acquisition source (quiz result, popup offer, checkout opt-in). Skip the first-order discount for anyone who has already purchased. |
| Abandoned cart or checkout | Started checkout, no order | Branch new vs returning customers and by cart value. Returning customers rarely need an incentive; test reminding before discounting. |
| Browse abandonment | Viewed product, no cart | Limit to engaged subscribers and exclude anyone currently in the cart flow. |
| Post-purchase | Order placed or fulfilled | Branch first order vs repeat, and by product category for usage tips and cross-sells. |
| Replenishment | Set number of days after buying a consumable | Product affinity: buyers of that product who have not reordered. |
| Win-back | No order for longer than your reorder gap | Split by past spend tier. High-value lapsed customers justify a stronger offer. |
| VIP | Enters the VIP segment | Thank-you, early access, and exclusion from blanket discount campaigns. |
| Sunset | Enters the unengaged segment | Two or three re-engagement emails, then suppress non-responders. |
For the cart side of this, our guide to Shopify apps that reduce cart abandonment covers what to fix on the storefront before the recovery email is needed at all.
Segmentation tools compared for Shopify
Features verified against each vendor's documentation in September 2026. Plans and limits change, so confirm before you commit. For a wider look at the options, see our roundup of the best email marketing apps for Shopify.
| Tool | How segments work | Location targeting | Time-zone sending | Consent as a condition |
|---|---|---|---|---|
| Shopify segments + Shopify Messaging | Dynamic, rule-based segments written as filters in the admin. Built-in RFM groups and predicted spend tier. | Country, region, city, and radius from coordinates (customer_within_distance) | We could not find this documented | email_subscription_status, sms_subscription_status |
| Klaviyo | Static lists plus dynamic segments built from events, profile properties and predictive fields | Radius around a postal code in the US, EU, Australia, New Zealand and Canada; UK by outward code | "Recipient's local time zone" scheduling, plus Smart Send Time | "Can or cannot receive marketing" per channel, with subscribed, unsubscribed and never subscribed statuses |
| Omnisend | Segments from profile data, shopping behaviour and message activity; automatic RFM-based lifecycle stages | Profile location fields such as country and city | Time Zone Optimization, based on the IP address captured at signup | Channel subscription status filters |
| Mailchimp | Audience segments from fields, tags, campaign activity and ecommerce data | "Is within distance" of a ZIP code, US 5-digit ZIPs only; geolocation-based location conditions | Timewarp, on the Standard plan or higher | Email marketing status conditions |
Which email tools segment by ZIP code or neighbourhood?
Three options are documented, each with a limit worth knowing:
- Klaviyo has a "proximity to a location" condition: within a set number of miles or kilometres of a postal code. It is supported for the US, EU, Australia, New Zealand and Canada. For UK postcodes only the outward code (for example "SW1W") works. A profile needs a postal code and country, or an IP-based location, to qualify.
- Mailchimp offers "is within distance" of a ZIP code, which works only with 5-digit US ZIP codes stored in an audience field.
- Shopify segments use
customer_within_distancewith latitude and longitude plusdistance_miordistance_km, alongside city and region filters.
None of these tools has a "neighbourhood" field. In practice you approximate a neighbourhood with a small radius around a central postal code, or with a list of ZIP codes. Accuracy depends on the address data you hold: a shipping address is reliable, an IP-derived location is not precise enough for street-level targeting.
Which ESPs support time-zone sending?
- Klaviyo: campaigns can be scheduled in the "recipient's local time zone". Smart Send Time separately tests for the best send hour for your audience. When Klaviyo does not know a recipient's time zone it falls back to the account time zone.
- Omnisend: Time Zone Optimization sends at the same local time for each contact. It relies on the IP address captured when the contact subscribed through an Omnisend form, so imported contacts without an IP receive the email on your store's time zone.
- Mailchimp: Timewarp delivers by recipient time zone. It requires the Standard plan or higher and enough contacts with location data.
- Shopify Messaging: we could not find recipient time-zone sending in Shopify's documentation. A workaround is to build country or region segments and schedule a separate send for each.
All of these infer the time zone, so expect a share of your list to fall back to a default.
Can segments update automatically when GDPR consent changes?
Yes, and you do not need a customer data platform for it. Any dynamic segment that includes consent status as a condition re-evaluates when that status changes. If a customer unsubscribes or withdraws consent on Tuesday, they drop out of a Shopify segment filtered on email_subscription_status = 'SUBSCRIBED', or a Klaviyo segment filtered on "can receive email marketing because subscribed", and the next send skips them.
Three caveats:
- Static audiences do not update. A CSV export, a manually built list or an ad audience uploaded last month still contains the person. Anything synced outside your email tool needs its own refresh.
- Timing. A campaign that is already sending when consent changes may not catch the update. Platforms apply their suppression lists at send time; we have not seen vendors document mid-send guarantees, so ask yours if this matters to you.
- Consent must be recorded correctly at the source. Shopify stores email and SMS marketing consent separately on the customer record, and email tools sync from it. Importing customers as "subscribed" without evidence of opt-in undoes all of this.
This is general information, not legal advice. For GDPR audiences, confirm your setup with whoever advises you on compliance.
Common segmentation mistakes
- Over-segmenting a small list. Twenty segments on a 2,000-person list leaves groups too small to learn anything from and more emails than you can write. Start with the six above.
- Using static lists where a segment belongs. A "VIP list" exported in March is wrong by April. If a rule can define the group, make it a segment.
- Leaving consent out of the definition. Every marketing segment should start from subscribed status, not just "has an email address".
- Trusting opens alone. Machine-generated opens make inactive people look engaged. Combine opens with clicks, site activity and orders.
- Never suppressing anyone. Mailing unengaged contacts indefinitely drags down inbox placement for the subscribers who do want your email.
- Segmenting the audience but not the message. Sending the same email to five segments is just a slower way of blasting the whole list.
- Forgetting exclusions. Recent buyers, people inside an active flow and open support complaints should usually be held out of promotions.
How to measure whether segmentation is working
Open rate is the wrong scoreboard. Use these instead:
- Revenue per recipient (RPR). Attributed revenue divided by emails delivered. It lets you compare a send to 50,000 people with a send to 3,000 fairly. Most ecommerce email platforms report it or a per-send equivalent.
- Placed order rate and click rate by segment, compared with your own earlier full-list sends rather than with industry averages.
- Unsubscribe and spam complaint rates. Watch complaints in Google Postmaster Tools against the 0.1% and 0.3% thresholds.
- A holdout test. The only way to show cause rather than correlation. For a month, randomly keep 10 to 20% of an audience on your old full-list approach while the rest receives the segmented programme, then compare total revenue per person across both groups, not just email-attributed revenue.
- Total email revenue. A small segment will always post a prettier RPR than a big one. Check that the programme as a whole earns more, not only that each send looks efficient.
Where cart and upsell data fits in
Disclosure again: this is the part that touches what Oxify builds. Offers accepted in the cart, such as an upsell, a bundle or a free-shipping threshold top-up, end up as line items and order value on the Shopify order. That is the same data the segments above are built from. Two segments worth adding once you run cart offers: customers whose orders sit just under your free-shipping threshold (a natural audience for bundle emails), and buyers of product A who have not yet added the accessory you cross-sell in the cart. The email and the cart should make the same offer; when they disagree, customers notice.
Frequently Asked Questions
What is email list segmentation in simple terms?
What is the difference between an email list and a segment?
What is the difference between segmentation and personalization?
Is email list segmentation worth it for a small list?
What are the 4 types of email segmentation?
How do I create a customer segment in Shopify?
Can email segmentation be automated?
How many segments should a small Shopify store start with?
Can I segment customers in Shopify without Klaviyo?
Does email segmentation actually increase revenue?
Which email tool allows segmentation by ZIP code or neighbourhood?
Which ESPs support time-zone sending?
How does segmentation help email deliverability?
How often should I update my email segments?
What if I have very little data to segment with?
Next step: open Customers, then Segments, in your Shopify admin, build the six starter segments, and switch your next campaign from "all subscribers" to the engaged segment. Compare revenue per recipient and the complaint rate with your last full-list send, and let that result decide what you build next.