# Email Segmentation by Purchase Behavior

> How to segment an online store's email list by purchase behavior: recency, frequency, value, category and engagement, with ready-made segments and what to send.

Source: https://pidgely.com/blog/purchase-behavior-segmentation/ · Published: 2026-10-18 · Pidgely

Segmenting by purchase behavior means splitting your list by what each customer has done in your store: when they last bought, how often, how much they spent and what. It is the simplest way to send the right message to each person, and it almost always beats demographic segmentation. With four or five properties per contact, even a small store can build the segments that matter: never bought, bought once, repeat buyers and the ones who drifted away.

## Why purchase behavior comes first

Age, city and gender say little about what someone wants to receive today. Order history says a lot. Someone who bought dog food 25 days ago probably needs dog food again. Someone who bought sneakers yesterday does not want the same sneaker promo tomorrow. Someone who has not ordered in a year may not even remember your store.

Segmenting by behavior also protects deliverability. Sending the same campaign to the whole list, including people who have ignored you for months, drives complaints and drags reputation down, as covered in [store campaigns that avoid spam](/blog/ecommerce-campaigns-avoid-spam/).

## How do you segment customers after a purchase?

Group customers by what they did after the order: bought once, bought again, received the order, left a review, or went quiet. Each group gets a different email: a review request after delivery for first-time buyers, a replenishment reminder for repeat buyers, a win-back message for those who went quiet. Start with three segments (first order, repeat order, no order in a long time) and add more only when each one has its own email. See the [post-purchase emails](/blog/post-purchase-and-review-emails/) and the [win-back and replenishment emails](/blog/win-back-and-replenishment-emails/) for what to send each group.

## The data you need

For most segments, five properties per contact are enough:

| Property | Example | Used for |
|----------|---------|----------|
| `last_order_at` | 2026-09-14 | Recency, replenishment, win-back |
| `order_count` | 3 | Frequency, first-time vs repeat |
| `total_spent` | 214.90 | Customer value |
| `categories` | "dog,treats" | Interest |
| `subscribed_at` | 2026-03-02 | List age, welcome flow |

These are stored on the contact and updated on every order. Today that happens through the API: your backend (or a small script listening to your store platform's webhooks) updates the contact when an order is paid. In Pidgely, contacts take custom typed properties and segments group contacts; see the [contacts guide](https://docs.pidgely.com/guides/contacts/). With the [integrations](/integrations/) for Shopify, WooCommerce, VTEX and Nuvemshop, store customers arrive as contacts automatically; purchase properties still come from your system through the API.

## RFM: the classic model

RFM scores customers on three axes:

- **Recency**: days since the last order.
- **Frequency**: orders in the period.
- **Monetary**: amount spent in the period.

Each axis gets a score (say 1 to 3) and the combination gives a profile. A simple version:

| Recency | Frequency | Profile | What to send |
|---------|-----------|---------|--------------|
| Up to 60 days | 3+ orders | Loyal | New arrivals, early access, no aggressive discounts |
| Up to 60 days | 1 order | New buyer | Post-purchase, second order |
| 60 to 180 days | 2+ orders | At risk | Reminder, replenishment, offer |
| Over 180 days | any | Lapsed | Win-back, then pause |
| No orders | - | Subscriber | Welcome, first purchase |

The day thresholds depend on your purchase cycle. A beauty store selling products that run out in 30 days has much shorter cycles than a furniture store.

## Ready-made segments for an online store

### 1. Subscribers who never bought

They joined the list but never ordered. They get the [welcome series](/blog/ecommerce-welcome-email-series/), then content that helps them decide: best sellers, reviews, return policy, delivery times. A first-order discount works, but not in every email.

### 2. Recent first-time buyers

The most valuable segment for building repeat business. The goal is the second order: delivery confirmation, how-to tips, a review request and, a few weeks later, a complementary suggestion. See [post-purchase and review emails](/blog/post-purchase-and-review-emails/).

### 3. Repeat buyers

Two or more orders. Treat them differently: early access to launches, free shipping, fewer generic promos. Deep discounts for people who would buy anyway eat your margin.

### 4. By category

Someone who buys cat products does not need your dog food campaign. Segmenting by category purchased (or interest declared at sign-up) is the most direct way to raise relevance.

### 5. Replenishment

Products with a predictable cycle (pet food, coffee, supplements, skincare, filters) allow a well-timed email: "it has been 28 days since your 30 lb bag of dog food". It is one of the best-performing emails for stores like these. More in [win-back and replenishment emails](/blog/win-back-and-replenishment-emails/).

### 6. At risk and lapsed

Customers who used to buy and stopped. A reminder and an offer first; if they do not respond, one last message and then lower frequency. Keeping lapsed contacts on every send hurts the deliverability of all your other mail.

### 7. High value

Your biggest spenders. They deserve closer care: gifts, invitations, a direct line to support. In many stores a small share of customers drives a large share of revenue, so this is the segment you least want to lose.

## Engagement: the second axis

Purchase behavior tells you what to send; engagement tells you how often. A loyal customer who has not opened an email in months is better reached another way, or with fewer messages.

Since Apple's Mail Privacy Protection, open rates are unreliable: Apple Mail can preload images and record "opens" that never happened. Use clicks and purchases as your main engagement signal. More in [ecommerce email metrics](/blog/ecommerce-email-metrics/).

> Pidgely tracks opens and clicks and flags machine opens (such as Apple Mail Privacy Protection) and bot clicks, but the most reliable engagement signal still comes from your store: orders, logged-in visits and clicks measured with UTM tags in your analytics. Save that as a contact property and segment on it.

## How to set it up

1. **Define the properties** and their format (ISO dates, plain numbers without currency symbols).
2. **Import your list** with properties filled from order history.
3. **Keep it current**: on every paid order, update `last_order_at`, `order_count` and `total_spent` through the API.
4. **Create the segments** and put each contact in the right one. In Pidgely, segments are named groups: the same code that updates properties applies the rules above and adds or removes the contact from segments.
5. **Personalize**: Pidgely broadcasts accept variables like `{{{FIRST_NAME|there}}}` and any contact property, such as `{{{contact.categories}}}`.
6. **Review monthly**: day and value thresholds shift as the store grows.

An example contact update after a paid order:

```text
{
  "email": "ana@example.com",
  "first_name": "Ana",
  "properties": {
    "last_order_at": "2026-10-15",
    "order_count": 3,
    "total_spent": 214.90,
    "categories": "dog,treats"
  }
}
```

## Common mistakes

- **Too many segments**: ten segments receiving the same email is not segmentation. Create only the ones that get different content.
- **Stale data**: if `last_order_at` is not updated, yesterday's buyer gets today's win-back email.
- **Discounts for everyone**: loyal customers get the same coupon as lapsed ones and learn to wait for sales.
- **Ignoring unsubscribes and complaints**: anyone who left the list leaves every marketing segment. Order emails still go out, because they are transactional.
- **Opens as the main criterion**: after Apple MPP, that misclassifies a large part of your list.

## Segmentation and seasonal peaks

At peaks like Black Friday, segments decide who gets the higher frequency. Recent buyers and engaged subscribers get more; people who never interact get one or two sends. The [Black Friday email checklist](/blog/black-friday-email-checklist/) includes a calendar by segment.

Segmentation does not require an expensive tool or a data team. It requires five up-to-date properties, four to six segments with a clear purpose and the discipline to send less to people who are not interested.

## Frequently asked questions

### What is RFM?

RFM is a segmentation model that scores customers by Recency (when they last bought), Frequency (how many times they bought) and Monetary value (how much they spent). It is easy to compute from order data and separates loyal, new and lapsed customers well.

### How many segments does a small store need?

Four to six is enough to start: subscribers who never bought, first-time buyers, repeat buyers, lapsed customers and, if it makes sense, one segment per main category. More segments only pay off when each one gets different content.

### What data do I need to segment by purchases?

Last order date, order count, total spent and the categories bought. Store them as properties on each contact and update them on every paid order.

### Does segmentation help deliverability?

Yes, indirectly. Relevant messages get fewer complaints and more interaction, and sending less to uninterested people reduces negative signals to mailbox providers.

