Customer Segmentation for Ecommerce: RFM and 10 Segments

Customer segmentation for ecommerce: the criteria that matter, RFM analysis and Shopify's 11 RFM groups, the segment editor and 10 ready-made segments.

Customer Segmentation for Ecommerce: RFM and 10 Segments

Summarize this article with an AI

Table of contents (11)

Key takeaways

  1. For an online store, the most reliable segmentation criteria come from order data: last order date, number of orders, amount spent and products purchased.
  2. Shopify already sorts your customers into 11 RFM groups (Champions, Loyal, At risk, Dormant and more), and any group becomes a customer segment with the rfm_group filter.
  3. A segment is not consent: on WhatsApp, customers imported from a Shopify segment arrive in Kanal with the Unknown status, and WhatsApp does not currently deliver marketing templates to US phone numbers.

Customer segmentation for ecommerce means splitting your customers into groups that share traits or buying behavior, so each group gets the message that fits it. For an online store, the most useful criteria come from order data: last order date (recency), number of orders (frequency), amount spent and products purchased, plus location, sales channel and marketing consent.

Shopify gives you two tools to do it without an app: the RFM customer analysis report, which places every customer in one of 11 groups, and the segment editor, which turns filters into customer lists. This guide covers the criteria, RFM analysis, building a Shopify customer segment and 10 ready-made segments, based on the Shopify Help Center (read on October 24, 2026), then how to use them on WhatsApp. The strategies that bring each group back are covered in our guide to retention marketing.

What is customer segmentation?

A segment is a group of customers defined by a rule, such as "customers with at least two orders, the last one within 90 days." It is not the same as a static list, frozen at a point in time (everyone who joined the March private sale), or a persona, a profile that guides the tone of your messages.

In Shopify, segments are dynamic: according to the Help Center, new customers who meet the criteria join automatically, and customers who no longer meet them drop out. One customer can sit in several segments at once.

Why segment customers in ecommerce?

One message sent to the whole list serves everyone poorly. Segmentation does four jobs:

  • The right message at the right time. A first-time buyer wants help using the product, a customer gone for a year needs a reason to come back.
  • Margin protection. A discount sent to customers who would have bought anyway gives away margin.
  • Fewer annoying mistakes. A promotion that lands the day after someone paid full price creates frustration: an exclusion segment prevents it.
  • Results you can read. A result per segment can be compared, a store-wide average blends opposite behaviors. Our guide to the customer retention rate shows how to track repeat buying group by group.

Which segmentation criteria matter in ecommerce?

Criteria fall into four types: geographic, demographic, behavioral and psychographic. For an online store, behavioral criteria come first: your order data already holds them, and they describe what customers do, not what they say.

Here are the useful criteria and the matching Shopify filter, from the Shopify customer segment filters reference:

CriterionShopify filterExample use
RecencyLast order date (last_order_date)Spot customers who are drifting away
FrequencyNumber of orders (number_of_orders)Separate one-time buyers from regulars
Orders in a periodOrders placed (orders_placed)Customers with 3+ orders in 6 months
First orderFirst order date (first_order_date)Welcome new customers
MonetaryAmount spent (amount_spent)Isolate big spenders
Order value (one order, abandoned checkout)orders_placed with amount, Abandoned checkout date (abandoned_checkout_date)Follow up on a checkout, target large orders
Products purchasedProducts purchased (products_purchased)Cross-sell a complementary product
Sales channel (app or location)orders_placed with app_id or location_idCustomers of your physical store (Shopify POS)
Location and languageCountries or regions (customer_countries), Customer language (customer_language)Shipping offers by country, the right language
ConsentEmail subscription status (email_subscription_status), SMS subscription status (sms_subscription_status)Only message subscribers
PredictionPredicted spend tier (predicted_spend_tier)Find high-potential customers

Predicted spend tier (High, Medium, Low) is only available once your store has made over 100 sales, and amounts use your store currency, with no symbol. How spend adds up to a customer's value over time is covered in our guide to customer lifetime value.

RFM analysis: how it works and Shopify's 11 groups

RFM analysis combines three criteria taken from order history:

  • R for recency: how many days since the customer's last order.
  • F for frequency: how many orders they have placed in total.
  • M for monetary value: how much they have spent in total.

In the RFM customer analysis report, described on Shopify's customers reports page, each customer gets a 3-digit score, each digit from 1 to 5. Scores only compare your customers with each other: a 5 puts a customer in your store's top 20% on that dimension, a 1 in the bottom 20%. Individual scores are not shown; you see the group.

The group depends on the recency score (R) and the average of the frequency and monetary scores, FM = (F + M) / 2, rounded down. Shopify's example: a customer scored 154 (recency 1, frequency 5, monetary 4) has FM = (5 + 4) / 2 = 4.5 and lands in Previously loyal: they used to order often, but not lately.

Shopify Help Center table of RFM groups, with the recency and FM thresholds and the suggested goal for each group

Source: Shopify Help Center, Customers reports, RFM groups section, read on October 24, 2026. In 1, the recency (R) and frequency-monetary average (FM) thresholds; in 2, the At risk group and its description; in 3, the action Shopify suggests for that group.

Here are the 11 groups, with their filter value, thresholds and the goal Shopify gives each one (full descriptions are in the capture above and in the Help Center):

RFM groupFilter valueThresholdsShopify's goal
ChampionsCHAMPIONSR = 5, FM > 3Retain as brand advocates: exclusive deals, early access, referral program
LoyalLOYALR 3 to 4, FM > 3Move to Champions: upsell higher-value products, ask for reviews
ActiveACTIVER ≥ 4, FM 2 to 3Move to Loyal or Champions: top product recommendations, loyalty programs
NewNEWR = 5, FM ≤ 1Move to Active: onboarding support, start the relationship
PromisingPROMISINGR = 4, FM ≤ 1Move to Active: replenishment reminders, product education
Needs attentionNEEDS_ATTENTIONR = 3, FM = 3Move to Loyal or Active: limited-time offers based on past purchases
Almost lostALMOST_LOSTR = 3, FM ≤ 2Move to Active or Promising: useful resources, discounts on popular products
At riskAT_RISKR ≤ 2, FM 3 to 4Move to Loyal or Needs attention: highly personal communication, an offer too good to miss
Previously loyalPREVIOUSLY_LOYALR ≤ 2, FM > 4Move to Loyal: new products or drops, new offers
DormantDORMANTR ≤ 2, FM ≤ 2Move to Almost lost: newsletters, a reach-out campaign
ProspectsPROSPECTSNo ordersMove to New: welcome email with a first-time offer

To open the report: Analytics > Reports, Category filter, Customers, then RFM customer analysis. For each group, it shows the share of your customers, average days since last order, total number of orders and total amount spent. Clicking a group name offers View report (the group's customer list) or Preview segment, which opens the segment editor with the group already applied.

How to create Shopify customer segments

A Shopify segment is a ShopifyQL query, but the editor suggests filter names, operators and values as you type. According to the Help Center page on creating customer segments, the default query has fixed clauses (FROM customers and SHOW ...) and you only edit the WHERE clause, where your filters go.

Shopify Help Center page on the segment query editor, with the default ShopifyQL query and the WHERE clause where filters are added

Source: Shopify Help Center, Creating customer segments, read on October 24, 2026. In 1, the default query every segment starts from; in 2, the WHERE clause where you add your filters.

The steps:

  1. From your Shopify admin, go to Customers, then Segments.
  2. Click Create segment, start from an existing segment, or click the Templates icon to insert a template's filters.
  3. Add your filters to the WHERE clause: a filter name (number_of_orders), an operator (>=) and a value (2).
  4. Click Run query: matching customers appear under the editor, with the count.
  5. Review the AI-generated description, then click Save segment and name it.

To combine filters, use AND (the customer must meet every condition) and OR (one is enough). Add brackets when you mix them: without brackets, Shopify applies AND before OR, which changes the result. The Help Center's example, (amount_spent > 100 OR number_of_orders >= 5) AND email_subscription_status = 'SUBSCRIBED', returns email subscribers who spent more than $100 or placed at least 5 orders.

Once saved, a segment is ready to use, according to the page on managing customer segments: Use segment > Email starts a Shopify Messaging campaign (only email subscribers receive it), Use segment > Discount creates a code for that segment, and More actions > Export produces a CSV file. Test orders and deleted orders are excluded from the calculations.

10 ready-made segments for an online store

These queries use filters documented by Shopify. The thresholds (30 days, 90 days, 300) are examples: set them to your buying cycle and average order value. For an email campaign, add AND email_subscription_status = 'SUBSCRIBED'.

#SegmentShopifyQL queryWhat to do with it
1New customersfirst_order_date >= -30d AND number_of_orders = 1Usage tips, brand story
2Second order to winnumber_of_orders = 1 AND last_order_date BETWEEN -90d AND -30dComplementary product, replenishment reminder
3Active regularsnumber_of_orders >= 2 AND last_order_date >= -90dNew arrivals, bundles, restocks
4Best customersrfm_group = 'CHAMPIONS' OR rfm_group = 'LOYAL'Early access, review requests, referrals
5Big spenders this yearorders_placed MATCHES (sum_amount >= 300, date >= -12m)VIP perks without blanket discounts
6Priority win-backrfm_group = 'AT_RISK' OR rfm_group = 'PREVIOUSLY_LOYAL'Personal message, what is new since their last order
7Lapsed customersnumber_of_orders >= 1 AND last_order_date < -180dShort win-back series, then stop
8Buyers of a product lineproducts_purchased MATCHES (tag = 'skincare', date >= -90d)Cross-sell the neighboring line
9Customers in one countrycustomer_countries CONTAINS 'CA'Country-specific shipping terms and calendar
10In-store customersorders_placed MATCHES (app_id = 129785)Invite point-of-sale customers to shop online

A few notes:

  • Segment 2 targets the moment that decides repeat buying: one-time buyers, during the window when a second order can still happen.
  • Segments 4 and 6 follow the RFM groups and update on their own, with no threshold to maintain.
  • Segment 8 relies on your product tags, and segment 10 on the Shopify POS app ID (129785), given as an example in the Help Center.
  • Exclude recent buyers from promotional campaigns, for example with AND last_order_date < -7d.

Using your segments on WhatsApp with Kanal

WhatsApp carries short messages, read on the phone, that customers can reply to. Three of Meta's rules make segmentation matter even more there.

  • Consent first. Meta requires businesses to get opt-in before messaging people on WhatsApp, with the business name stated clearly, according to its page on getting opt-in for WhatsApp.
  • Per-user limits. WhatsApp may limit how many marketing messages a person receives when they are less likely to engage, based in part on their recent marketing read rate, according to Meta's page on per-user marketing template message limits. An engaged segment gets through better than a blast to the whole list.
  • US phone numbers. The same page states that WhatsApp does not currently deliver marketing template messages to users with US phone numbers (a +1 dialing code and a US area code). For a US store, WhatsApp marketing campaigns only reach customers with non-US numbers, so filtering by phone number country is part of every audience.

Kanal is the WhatsApp app built for Shopify stores. According to its help article on choosing a campaign audience, a WhatsApp campaign can target five audience sources:

SourceWhat it bringsGood to know
Kanal segment (Scale plan)Order and WhatsApp engagement criteriaRecalculate before sending
Shopify customer segmentEvery Shopify filter, RFM groups includedImported when you select it, contacts arrive as Unknown
Klaviyo segment (Scale plan)Your existing Klaviyo segmentsImported once, no real-time sync
ListA fixed group of contactsFilled by import, automation or segment
CSV or Excel importA one-off fileOnly contacts who agreed to WhatsApp marketing

Kanal segments

Kanal segments are built on orders and WhatsApp engagement, according to the article on understanding and using segments on Kanal:

  • Orders: the Placed an order event, with a frequency (at least once, zero times, at least 3 times...) and a period (whole period, last X days, between two dates), which gives the number of orders and orders placed within a period.
  • WhatsApp engagement: Read, Clicked, Received, Sent you a WhatsApp message.
  • Phone number country and list membership.

Kanal help article on segments: the available events, including Read, Clicked and Placed an order

Source: Kanal Help Center, Understanding and using segments on Kanal, read on October 24, 2026. In 1, the WhatsApp engagement criteria (Read, Clicked); in 2, the order criterion.

There is no amount spent or last order date criterion. For win-back, combine "Placed an order at least once" over the whole period with "zero times" over the last 90 days, and add "Phone number country: exclude US" if you have US customers. For a spend threshold or an RFM group, use the Shopify customer segment as the audience.

A Kanal segment does not update in real time: click Recalculate, or tick Recalculate the segment before sending at the Audience step. And add engagement when it matters: "at least 3 orders" plus "Read at least once in the last 90 days" gives you VIPs who still read your messages.

Kanal does not import Shopify's marketing consent: customers from a Shopify segment arrive with the Unknown status. Unsubscribed contacts are excluded automatically, Unknown contacts are not: check their consent. WhatsApp opt-in comes from the website widget, a popup, a QR code, a prefilled WhatsApp link, an opt-in step in an automation, or an import with consent. A STOP reply opts the customer out.

With the Klaviyo integration, Klaviyo segments become WhatsApp audiences, and WhatsApp events (delivered, read, clicked) flow back into Klaviyo. For a wider look at tools that organize customer data around WhatsApp, see our comparison of the best WhatsApp CRM options.

More than 500 brands use Kanal, rated 5/5 on the Shopify App Store and set up in 5 minutes. Brands on Kanal see open rates above 90% on WhatsApp, and plans start at €89 a month, with Meta's message fees billed separately.

Segmentation mistakes to avoid

Too many segments. A segment without its own message is dead weight: start with the few groups that call for a different action.

Copied thresholds. "Lapsed after 180 days" means nothing for a coffee store selling one-month bags. Set recency and frequency to the real time between your customers' orders.

Treating a segment as consent. Being in a segment does not mean someone agreed to hear from you: always cross-check with the channel's subscription status.

Stale audiences and no holdout. A segment imported into another tool reflects the day of the import: recalculate before each send. And keep a small holdout group, or a lift may just be the season.

Customer segmentation in short

  • Definition: groups of customers defined by a rule, so each one gets the message that fits it.
  • Criteria: start with orders (recency, frequency, spend, products), then location, channel and consent.
  • In Shopify: the RFM customer analysis report sorts customers into 11 groups, the segment editor turns a rule into a dynamic list.
  • On WhatsApp: target an engaged segment, check consent, exclude US numbers from marketing campaigns and recalculate the audience before sending.

To send your Shopify segments on WhatsApp with Kanal, book a demo: we will show you second-order, VIP and win-back segments on your own store.

Demo with the Kanal team

See Kanal on your own store

  • Your campaigns and cart reminders on WhatsApp, starting from your own store
  • Post-purchase offers, back-in-stock alerts, then the AI agent that advises your customers
  • You leave with the plan that fits and its price

From €89/month

Kanal dashboard: revenue, orders and WhatsApp flows of a Shopify store
brands
500+
to set up
5 min
open rate on WhatsApp
+90%

5/5 on the Shopify App Store (132 reviews)

Nicolas Provost
Nicolas ProvostWhatsApp Marketing & Shopify Expert at Kanal

Nicolas helps e-commerce brands grow revenue with WhatsApp marketing. With deep expertise in Shopify ecosystems and conversational commerce, he shares proven strategies for abandoned cart recovery, broadcast campaigns, and AI-powered customer engagement.

Frequently asked questions

What is customer segmentation in ecommerce?

Customer segmentation in ecommerce is splitting your customers into groups that share traits or buying behavior, so each group gets the message and offer that fits it. For an online store, segments are usually built from order data (recency, frequency, amount spent, products purchased), plus location and marketing consent.

What are the 4 types of customer segmentation?

The four classic types are geographic (country, city), demographic (age, language), behavioral (orders, products bought, abandoned checkouts, engagement with your messages) and psychographic (interests, values). Online stores start with behavioral segmentation, because the data is already in their order history.

What is RFM segmentation?

RFM segmentation scores each customer on recency (how recently they ordered), frequency (how often) and monetary value (how much they spent). In Shopify, each dimension gets a score from 1 to 5 based on your own store's data, and customers are placed in one of 11 RFM groups, from Champions to Dormant.

How do I create customer segments in Shopify?

From your Shopify admin, go to Customers, click Segments, then Create segment. Add one or more filters (filter name, operator, value) in the editor, for example number_of_orders >= 2, click Run query to see the matching customers, then click Save segment and name it.

How many customer segments should an online store have?

Few, to start. A handful of segments tied to a specific action (second order, replenishment, win-back, best customers) beats a long list nobody uses. Add a segment only when you have a different message for it and a way to measure the result.

Can I use Shopify customer segments for WhatsApp marketing?

Yes, with a WhatsApp app such as Kanal: a campaign can target a Shopify customer segment, imported when you select it. WhatsApp consent does not come from Shopify, so those contacts arrive with the Unknown status and you need their consent before a marketing message. WhatsApp does not currently deliver marketing templates to US phone numbers.