Segmentation is the least glamorous part of customer engagement and the most important one. A beautiful email sent to the wrong 10,000 people is just a beautiful mistake.
Here's how to build segments that hold up in the real world.
Segments are answers to questions
A segment is a question about your audience:
- "Who signed up in the last 30 days and hasn't completed onboarding?"
- "Who viewed pricing at least three times?"
- "Who was active daily for a month and then went quiet?"
If a segment doesn't answer a question that changes what you'd send, it isn't doing its job.
Prefer behavior over attributes
Demographic segments are easy to build and hard to act on. Behavioral segments are the opposite. When in doubt, choose behavior:
| Attribute-based | Behavior-based | | --- | --- | | Location = US | Active sessions = 0 in 14 days | | Plan = Free | Viewed pricing ×3 this week | | Signed up 2023 | Invited 2+ teammates |
Behavior segments reflect current intent, which is what actually predicts what a customer does next.
Let data drive, but keep it explainable
You can throw every signal into a model and let it cluster — and sometimes you should. But the segments you act on daily should still be explainable to a human on your team.
SELECT user_id
FROM events
WHERE action = 'churn_risk'
AND window_start > now() - interval '7 days'
GROUP BY user_id
When a stakeholder asks "why is this person in this segment?", you should have an answer that isn't "the model said so."
Segments evolve, journeys follow
A segment is a snapshot. A journey is a reaction. Connect the two: whenever a user's segment changes, that event should feed your journeys and update what happens next automatically.
Build segments you can act on today, and let them compound into journeys tomorrow.
Start with the questions that matter most to your funnel, and everything else will follow.