Core principles
Talk about rewards, not money. In most contexts, “rewards” is the right word — “You’ve earned rewards! Tap here to cash out.” The real-money element is clear but secondary. Reserve “real money” for moments where it needs to land hard, like onboarding. Use your virtual currency name, not dollar amounts. “You earned 2,500 coins” is more motivating than “You earned $0.025.” Virtual units let you be generous with numbers. Dollar amounts in gameplay UI set expectations you can’t control and may violate app store guidelines. Never promise specific dollar amounts. “Earn up to $X per day” is misleading — the withdrawal limit varies by player and region. “Earn real money while you play” is accurate and works everywhere. Introduce rewards early. Players who encounter and link rewards in session 1 retain significantly better. Don’t wait for players to discover the feature — surface it before the first reward fires.Communication touchpoints
The rewards experience has six key moments. Each one needs intentional messaging.| Touchpoint | When | Goal | Sample copy |
|---|---|---|---|
| Onboarding | Session 1, before first reward | Set the hook | ”Collect [Currency] and complete missions to earn real money rewards!” |
| First reward | First reward event in session 1 | Drive account linking | ”You just earned your first [Currency]! Tap here to cash out.” |
| Balance milestone | Notable balance reached | Motivate first withdrawal | ”You’ve earned [X] [Currency] — ready to cash out for the first time?” |
| Daily return | Opening session after a gap | Reinforce the habit | ”Your daily rewards chest is waiting. Come back and earn more.” |
| Withdrawal limit hit | Daily limit reached | Turn a ceiling into retention | ”You’ve maxed out today’s rewards. Come back tomorrow to earn more.” |
| Re-engagement | Lapsed player (3+ days) | Re-activation | ”You’ve left [X] [Currency] on the table. Come back and earn more.” |
Onboarding — the most important moment
Surface the rewards feature before the first reward fires, not after. Players who see rewards on their first screen and link early retain dramatically better than those who discover it later. The onboarding moment should be one screen, one CTA. Don’t explain the whole system — just enough to set the hook and direct them to the entry point. The rewards entry point itself (the counter or button) must be prominently placed: home screen, store page, or main menu. Not in settings. Not behind a sub-menu.Withdrawal limit messaging
The daily limit is your most powerful retention mechanic — use it that way. When a player hits their limit, the message is: “Come back tomorrow to earn more.” Not “You’ve reached your limit.” Not “Withdrawal limit: $0.20.” The limit isn’t a ceiling, it’s a daily reset. Frame it as tomorrow’s opportunity, not today’s restriction.Push notifications
| Scenario | Sample copy |
|---|---|
| Unclaimed rewards | ”You have [X] [Currency] waiting. Tap to claim.” |
| Re-engagement after lapse | ”You’ve been away — your rewards are piling up.” |
| Day 7 streak milestone | ”7-day streak! A special reward is in your daily chest.” |
| Withdrawal limit reset | ”Your reward limit has reset. Time to earn more.” |
| First cashout prompt | ”You’ve earned enough to cash out for the first time.” |
In-app messages
| Scenario | Sample copy |
|---|---|
| First launch after rewards go live | Full-screen modal: “NEW: Earn real money in [Game Name]! Every milestone now earns [Currency] you can withdraw as real cash. Tap to learn more.” |
| Post-first-reward pop-up | ”You just earned your first [Currency]! [X] more and you can make your first withdrawal.” |
| Approaching withdrawal threshold | ”You’re almost there! Just [X] [Currency] until you can cash out.” |
| After a long session | ”Great session! You earned [X] [Currency] today. Keep playing tomorrow for bonus rewards.” |
Say this, not that
| Avoid | Say instead |
|---|---|
| ”Earn $X per day" | "Earn real money while you play" |
| "Unlimited rewards" | "Earn rewards and cash out any time" |
| "Free money" | "Earn money just by playing" |
| "You earned $0.01" | "You earned 1,200 [Currency]" |
| "Rewards unavailable” | Hide rewards UI silently — don’t surface an error message |
| ”ZBD is down” | Same — never mention the underlying platform to players |