Segments
Create dynamic player segments based on attributes, behavior, and lifecycle stage. Use segments to target feature flags, notifications, and A/B tests.
What Are Segments?
Segments are dynamic groups of players defined by rules. When a player matches the rules, they automatically join the segment. When they no longer match, they leave.
Real-Time Membership
Segment membership is evaluated in real-time. Changes to player attributes or behavior immediately affect their segment membership.
Segment Types
Building Segments
Using the Dashboard
Create segments in Dashboard > Segments > Create Segment:
- Click "Create Segment"
- Name your segment (e.g., "Whale Players")
- Add rules using the visual builder
- Preview matching players
- Save and activate
Rule Operators
Comparison Operators
String Operators
Collection Operators
Time Operators
Compound Rules
Combine rules with AND/OR logic for complex targeting:
Complex Segment Rules
json
{class="code-string">"operator": class="code-string">"AND",class="code-string">"conditions": [{class="code-string">"field": class="code-string">"total_revenue",class="code-string">"operator": class="code-string">">=",class="code-string">"value": 100},{class="code-string">"operator": class="code-string">"OR",class="code-string">"conditions": [{class="code-string">"field": class="code-string">"country",class="code-string">"operator": class="code-string">"==",class="code-string">"value": class="code-string">"US"},{class="code-string">"field": class="code-string">"country",class="code-string">"operator": class="code-string">"==",class="code-string">"value": class="code-string">"CA"}]},{class="code-string">"field": class="code-string">"last_seen_at",class="code-string">"operator": class="code-string">"within_last",class="code-string">"value": class="code-string">"30d"}]}class=class="code-string">"code-comment">// Matches: Players who spent $100+ AND(are from US OR CA) AND were active in last 30 days
Behavior-Based Rules
Target players based on their event history:
Behavior Segment
json
{class="code-string">"operator": class="code-string">"AND",class="code-string">"conditions": [{class="code-string">"type": class="code-string">"event_count",class="code-string">"event_name": class="code-string">"purchase_complete",class="code-string">"operator": class="code-string">">=",class="code-string">"value": 3,class="code-string">"time_window": class="code-string">"30d"},{class="code-string">"type": class="code-string">"event_exists",class="code-string">"event_name": class="code-string">"tutorial_complete"},{class="code-string">"type": class="code-string">"event_property",class="code-string">"event_name": class="code-string">"level_complete",class="code-string">"property": class="code-string">"level",class="code-string">"operator": class="code-string">">=",class="code-string">"value": 10}]}class=class="code-string">"code-comment">// Matches: Players who made 3+ purchases in 30 days,class=class="code-string">"code-comment">// completed tutorial, and reached level 10+
Prebuilt Segments
Ilara includes prebuilt segments for common use cases:
Using Segments in SDKs
Check Segment Membership
csharp
class=class="code-string">"code-comment">// Check if player is in a specific segmentbool isWhale = await IlaraClient.Instance.IsInSegment(class="code-string">"whales");if (isWhale){ShowVIPOffer();}class=class="code-string">"code-comment">// Get all segments for current playerstring[] segments = await IlaraClient.Instance.GetPlayerSegments();foreach(string segment in segments){Debug.Log($class="code-string">"Player is in segment: {segment}");}
Segment Analytics
Track segment performance in the dashboard:
- Size Over Time: Track segment growth/shrink
- Conversion Rates: Compare metrics across segments
- Revenue Attribution: Revenue by segment
- Engagement Metrics: Session frequency, duration
Next Steps
- Feature Flags — Target flags to segments
- Churn Prediction — AI-powered at-risk segments
- AI Messages — Personalized outreach by segment