User Segment-Based Feature Targeting
Target named user segments like beta testers, premium users, or internal teams. Manage groups separately from individual flag configurations.
Targeting
Detailed Explanation
Segment-Based Targeting
User segments are named groups of users that can be targeted across multiple feature flags. Instead of listing individual user IDs in each flag, you define segments once and reference them everywhere.
Configuration Example
{
"ai-assistant": {
"name": "AI Assistant Feature",
"description": "GPT-powered assistant in the help center",
"type": "boolean",
"enabled": true,
"defaultValue": false,
"targeting": [
{
"type": "user-segment",
"segment": "beta-testers"
}
]
}
}
Defining Segments
Segments are typically defined separately from flags. A segment has its own rules:
{
"segments": {
"beta-testers": {
"name": "Beta Testers",
"rules": [
{ "attribute": "plan", "op": "in", "values": ["enterprise"] },
{ "attribute": "opted_in_beta", "op": "equals", "values": ["true"] }
],
"included": ["user-001", "user-042"],
"excluded": ["user-099"]
}
}
}
Segments vs User IDs
| Aspect | User IDs | Segments |
|---|---|---|
| Scale | 1-100 users | Unlimited (rule-based) |
| Maintenance | Per-flag management | Central management |
| Reusability | Single flag only | Across all flags |
| Dynamic | Static list | Rule-based membership |
| Audit trail | Change per flag | Change in one place |
Common Segment Definitions
- beta-testers: Users who opted into the beta program
- internal-team: Employees identified by email domain
- premium-users: Users on paid plans
- power-users: Users exceeding a usage threshold
- early-adopters: Users who signed up before a certain date
LaunchDarkly Segment Rules
In LaunchDarkly, segments use segmentMatch in flag rules:
{
"rules": [
{
"clauses": [
{
"attribute": "segment",
"op": "segmentMatch",
"values": ["beta-testers"]
}
],
"variation": 0
}
]
}
Best Practices
- Name segments descriptively (
enterprise-betanotgroup-1) - Keep segment definitions close to your flag management code
- Review segment membership regularly; remove inactive users
- Use rule-based segments over static user lists when possible
Use Case
A SaaS company maintains a 'beta-testers' segment of 500 enterprise customers who opted into early access. When new AI features are ready for preview, the team simply targets the beta-testers segment instead of managing 500 user IDs in each flag.