Skip to content

Player Segments

Player Segments let you group players by behavior, spending, or custom tags. Use segments to deliver different game configs to different player types (e.g., easier difficulty for new players, premium content for spenders).

See the SDK Players & Segments guide for GDScript integration with set_user_tag(), remove_user_tag(), and player properties.

  1. Go to Players > Segments
  2. Click New Segment and define:
    • Name: whales or new_players
    • Description: What defines this group
    • Rules: Conditions for inclusion
  3. Click Save

Rules combine with AND logic:

Rules:
- lifetime_value >= $50 AND
- session_count >= 5 AND
- status = active
RuleExampleMatches
Spendinglifetime_value >= $100Players who spent $100+
Sessionssession_count >= 10Players with 10+ sessions
Retentionday_30_retained = truePlayers active on day 30
Cohortjoined_week = 2026_w14Players from a specific week
Custom Tagtag = "beta_tester"Players you manually tagged
Levelmax_level >= 50Players who reached level 50+
SegmentRulesUse Case
Whaleslifetime_value >= $100Premium content, special offers
New Playerssessions <= 3Easier difficulty, extra help
Churneddays_inactive >= 30Win-back campaigns, discounts
Beta Testerstag = "beta"Early access to new features
VIPlifetime_value >= $50 AND retention >= 0.5Exclusive perks

Assign different config values to segments:

  1. Go to Live Ops > Remote Config
  2. Open a config key (e.g., difficulty_multiplier)
  3. Click Add Segment Override
  4. Select segment: new_players
  5. Set value: 0.75 (easier)

Now new players automatically get 25% easier difficulty:

var difficulty = await QuestData.get_config("difficulty_multiplier")
# New players get 0.75, others get 1.0

Players are automatically added/removed based on rules:

  • Real-time: Rules with simple metrics (spending, sessions)
  • Nightly: Rules with complex calculations (retention, cohorts)

You can also manually tag players:

  1. Go to Players > Player Explorer
  2. Search for a player
  3. Click Add Tag
  4. Type tag name (e.g., premium_supporter)
  5. Player now matches rules with tag = "premium_supporter"

View segment stats:

MetricDescription
CountPlayers in segment
% of BasePercentage of total players
Avg LTVAverage lifetime value
RetentionDay 1, 7, 30 retention
Terminal window
# Get all segments
curl "https://api.questdata.io/v1/segments" \
-H "x-game-api-key: YOUR_API_KEY"
# Get players in segment
curl "https://api.questdata.io/v1/segments/whales/players?limit=100" \
-H "x-game-api-key: YOUR_API_KEY"
# Check if player is in segment
curl "https://api.questdata.io/v1/segments/whales/players/player123" \
-H "x-game-api-key: YOUR_API_KEY"

Response:

{
"segments": [
{ "id": "whales", "count": 45, "avg_ltv": 125.00 },
{ "id": "new_players", "count": 300, "avg_ltv": 2.50 }
]
}