LogoStacked
Concepts

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.

ParameterDescription
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.

ParameterDescription
Level TypeType 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.

ParameterDescription
Currency TypeThe 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.

ParameterDescription
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.

ParameterDescription
Min Trust Score (optional)Minimum score required
Max Trust Score (optional)Maximum score allowed

Memberships

Target users by subscription status.

ParameterDescription
Membership TypeType 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.

ParameterDescription
Achievement IDThe achievement to check
Min Count (optional)Minimum completions required

Quests

Target users by quest completion history.

ParameterDescription
Quest IDThe quest to check
Completions (optional)Minimum completions required

Staked Tokens

Target users by staked cryptocurrency tokens.

ParameterDescription
Token TypeToken to check (e.g., PIXEL, RON)
Min Staked (optional)Minimum amount staked

Dynamic Fields

Target users by custom app-specific properties. See Dynamic Fields.

ParameterDescription
Field KeyCustom field to check
OperatorComparison (==, !=, >, >=, <, <=, has, not_has)
ValueValue 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.