Surfacing Conditions
Controlling who sees your offers and when
What are Surfacing Conditions?
Surfacing conditions determine which users can see an offer by evaluating their snapshot data. They act as filters that ensure the right offers reach the right users.
Any data in a user snapshot can be used as a surfacing condition. For realtime conditions, see Contexts.
How Conditions Work Together
Multiple conditions use AND logic - all must be true for an offer to surface.
Example: An offer requiring "vip" tag + level 20+ + 7-day streak + 5000 gold will only surface for users meeting all four conditions.
Tip
Start broad and narrow based on data. It's easier to tighten targeting than debug why no one sees your offer.
Tags
Target users by labels applied to their profiles.
| Parameter | Description |
|---|---|
| AND Tags (optional) | User must have all specified tags |
| OR Tags (optional) | User must have at least one tag |
| NOT Tags (optional) | User cannot have any of these tags |
Levels
Target users by progression across different level types.
| Parameter | Description |
|---|---|
| Level Type | Type of level (e.g., player_level, crafting_skill) |
| Min Level (optional) | Minimum level required |
| Max Level (optional) | Maximum level allowed |
Currencies
Target users by their in-game wealth and transaction history.
| Parameter | Description |
|---|---|
| Currency Type | The currency to check (e.g., gold, gems) |
| Min Balance (optional) | Minimum balance required |
| Max Balance (optional) | Maximum balance allowed |
| Deposits (in) (optional) | Minimum deposits required |
| Withdrawals (out) (optional) | Minimum withdrawals required |
Time-Based
Target users by engagement patterns.
| Parameter | Description |
|---|---|
| Min Days in Game (optional) | Minimum days logged in |
| Max Days in Game (optional) | Maximum days logged in |
| Login Streak (optional) | Required consecutive login days |
Trust Score
Target users by reputation score.
| Parameter | Description |
|---|---|
| Min Trust Score (optional) | Minimum score required |
| Max Trust Score (optional) | Maximum score allowed |
Memberships
Target users by subscription status.
| Parameter | Description |
|---|---|
| Membership Type | Type to check (e.g., premium, battle_pass) |
| Min Count (optional) | Minimum times obtained |
| Max Count (optional) | Maximum times obtained |
| Min Duration (optional) | Minimum time having membership (ms) |
| Max Duration (optional) | Maximum time having membership (ms) |
Achievements
Target users by completed achievements.
| Parameter | Description |
|---|---|
| Achievement ID | The achievement to check |
| Min Count (optional) | Minimum completions required |
Quests
Target users by quest completion history.
| Parameter | Description |
|---|---|
| Quest ID | The quest to check |
| Completions (optional) | Minimum completions required |
Staked Tokens
Target users by staked cryptocurrency tokens.
| Parameter | Description |
|---|---|
| Token Type | Token to check (e.g., PIXEL, RON) |
| Min Staked (optional) | Minimum amount staked |
Dynamic Fields
Target users by custom app-specific properties. See Dynamic Fields.
| Parameter | Description |
|---|---|
| Field Key | Custom field to check |
| Operator | Comparison (==, !=, >, >=, <, <=, has, not_has) |
| Value | Value to compare against |
| Logic (optional) | Combine conditions (AND, OR, AND NOT) |
Examples
Here are practical examples of combining conditions to target specific user groups:
High Spenders
Loyal high-value users
- AND Tags: ["vip"]
- Min Days in Game: 60
- Login Streak: 7
- Currency (gold): Min Balance = 5000
Target users who are VIP members, have been playing for 2+ months, login daily, and are wealthy in-game.
New Player Boost
First week onboarding
- Max Days in Game: 7
- Currency (gold): Max Balance = 500
- NOT Tags: ["has_purchased"]
Target new users in their first week who haven't spent much currency or made any purchases yet.
Rising Spenders
Converting free to paid
- Min Days in Game: 14
- Currency (USD): Deposits = 1
- AND Tags: ["engaged"]
- NOT Tags: ["whale", "dolphin"]
Target engaged users who've made their first purchase but aren't yet high spenders.
Win-Back Campaign
Re-engage lapsed users
- Min Days in Game: 30
- Max Days in Game: 90
- Currency (USD): Deposits (in) >= 20
- Membership (premium): Max Duration = 0
Target users who spent money but their premium membership expired - bring them back.
Stacked