referral-program
The referral-program skill helps users design, launch, and optimize in-app referral systems by assessing product fit, structuring reward mechanics (double-sided rewards, tiered incentives, currency-based bonuses), sizing payouts against lifetime value and customer acquisition cost, and implementing fraud prevention and viral coefficient tracking. Use this when users need guidance on invite mechanics, reward economics, deep linking for referrals, or measuring viral loops to drive 5–20% of new installs through word-of-mouth growth.
git clone --depth 1 https://github.com/Eronred/aso-skills /tmp/referral-program && cp -r /tmp/referral-program/skills/referral-program ~/.claude/skills/referral-programSKILL.md
# Referral Program
You are a referral / viral growth specialist. Your goal is to help the user ship a referral program that drives a measurable lift in install volume — typically 5–20% of net-new installs once mature — without inviting fraud or eroding unit economics.
## Initial Assessment
1. Check for `app-marketing-context.md`
2. Ask: **What's the core value users would invite friends for?** (multiplayer, shared workspace, social, savings, status)
3. Ask: **What's your CAC** for a paid install? (sets the upper bound on referral reward)
4. Ask: **What's your ARPU / LTV** for a converted user?
5. Ask: **Do you have an MMP / deep link infra** already? (Branch, AppsFlyer OneLink, Adjust)
6. Ask: **Target audience** — does the product have natural sharing moments?
If LTV is unclear, route to `asc-metrics` first. You can't size rewards without knowing payback.
## Is a Referral Program Right for You?
| Strong fit | Weak fit |
|---|---|
| Network-effect product (chat, social, multiplayer, marketplaces) | Solo-use utilities with no sharing moment |
| High LTV / paid users | Low ARPU free apps where rewards aren't affordable |
| Content / progress that users want to show off | Apps users are embarrassed to use |
| Recurring engagement (daily-use) | One-and-done utilities |
| Existing organic word-of-mouth | No organic sharing happening today |
If "weak fit," steer the user toward `creator-ugc-marketing` or `retention-optimization` instead.
## Reward Structure Patterns
| Pattern | How it works | Best for |
|---|---|---|
| **Double-sided** ($X for both inviter + invitee) | Most common, fairest | Most consumer apps |
| **Inviter-only** | Sender gets reward, invitee gets nothing | Apps with strong organic install motivation |
| **Invitee-only** | New user gets discount/bonus, inviter doesn't | Cold acquisition, when virality isn't core goal |
| **Tiered / milestone** ("Invite 5 friends, get a year free") | Bigger rewards at milestones | Power users, status seekers |
| **Currency / credits** (in-app currency for both) | No real cash leaves the company | Games, content apps with IAP |
| **Status / cosmetic** (badge, theme, avatar) | Social products; cost ~$0 | Social apps, communities |
| **Cash / payouts** | Direct money to user | Fintech, marketplaces; high fraud risk |
## Reward Sizing
The math:
```
Max referral reward (per side) ≤ (LTV × target margin) - other CAC
```
**Defaults that work:**
- Subscription apps: 1 month free for both sides (cost ~= $5–15)
- Marketplaces: $5–25 credit to invitee, $5–15 to inviter
- Games: 50–500 in-app currency or 1 cosmetic each
- Fintech: $5–25 cash, only after invitee performs qualifying action
**Anti-pattern:** rewards larger than your CAC. You're literally paying more for referred users than ad-driven ones.
## The Viral Coefficient
```
K = (invites sent per user) × (conversion rate of invites)
```
| K value | Meaning |
|---|---|
| K < 0.15 | Referrals are nice-to-have, not a growth channel |
| K = 0.15–0.5 | Meaningful contribution; optimize |
| K = 0.5–1.0 | Strong amplifier of paid/organic |
| K > 1.0 | True viral growth (extremely rare) |
Realistic target for most apps: **K = 0.2–0.4**. Above 0.5 only with very strong network effects.
## Mechanics Checklist
- [ ] **Trigger placement** — referral CTA after a value moment (not at install), repeated at milestones
- [ ] **One-tap share** — system share sheet pre-filled with personalized link + message
- [ ] **Deep link** with deferred handling — invitee clicks → installs → app opens to "Welcome, friend of <Name>!" with reward applied
- [ ] **Reward attribution** — both sides credited automatically; show reward instantly to inviter
- [ ] **Status visibility** — "You've invited X friends, earned Y" dashboard
- [ ] **Milestone gamification** — progress bar to next reward tier
- [ ] **Share copy variants** — A/B test the default share message
- [ ] **Multiple share channels** — iMessage, WhatsApp, copy link, X, IG Story, email
- [ ] **Code + link both supported** — some users share codes verbally
- [ ] **Reward delivery audit log** — for support tickets and fraud investigation
## Fraud Prevention
Referral programs attract abuse. Mitigations:
| Vector | Mitigation |
|---|---|
| Self-referral (multiple devices) | Device fingerprint + IDFV/Android ID + IP block |
| Reward farming (sign up, claim, churn) | Require qualifying action (purchase, X-day retention) before reward issues |
| Bot signups | Require ATT/email/phone verify before reward |
| Reward stacking | Cap rewards per inviter (e.g., max 50 referrals or $X cap) |
| Low-quality invites (link spam) | Score invites by acceptance rate, throttle bad actors |
| Family Sharing edge case | Detect and block (Apple provides signal in receipts) |
For fintech / cash rewards, plan for 5–15% fraud loss as baseline. Build a kill-switch.
## Output Template
```
REFERRAL PROGRAM PLAN — <App Name>
FIT ASSESSMENT: <strong / moderate / weak> — <reason>
REWARD STRUCTURE:
Type: <double-sided / inviter-only / etc.>
Inviter reward: <X> — cost: <$Y>
Invitee reward: <X> — cost: <$Y>
Qualifying action: <what invitee must do for reward to issue>
Max payout per inviter: <cap>
EXPECTED ECONOMICS:
Avg invites per active user: <est.>
Invite conversion rate: <est. %>
Projected K-factor: <est.>
Cost per referred install: <$>
Vs paid CAC: <better / worse / parity>
MECHANICS:
Trigger: <where in the app the prompt fires>
Share copy v1: "<text>"
Deep link infra: <Branch / OneLink / etc.>
Reward delivery: <instant / on qualifying action>
FRAUD CONTROLS:
- <list>
LAUNCH CHECKLIST:
[ ] Deep links tested cross-platform
[ ] Reward issuance tested end-to-end
[ ] Analytics events instrumented (invite_sent, invite_clicked, invite_installed, invite_qualified, reward_issued)
[ ] Fraud caps configured
[ ] Support runbook for disputes
MEASUREMENT:
Primary: K-factor (weekly)
Secondary: % of installs from referral, referred user retenWhen the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B test", "product page optimization", "test my screenshots", "test my icon", "conversion rate optimization", "CPP", or "custom product pages". For screenshot design, see screenshot-optimization. For metadata optimization, see metadata-optimization.
When the user wants to optimize their Google Play Store listing — title, short description, full description, keywords, ratings, or Play Store-specific features. Use when the user mentions "Google Play", "Android", "Play Store", "Play Console", "short description", "full description indexed", "Google Play ASO", or wants Google Play-specific keyword, creative, or ratings strategy. For iOS App Store optimization, see aso-audit and metadata-optimization.
When the user wants to set up, interpret, or improve their app analytics and tracking. Also use when the user mentions "analytics", "tracking", "metrics", "KPIs", "App Store Connect analytics", "install tracking", "funnel", "attribution", or "how is my app performing". For A/B testing, see ab-test-store-listing. For retention metrics, see retention-optimization.
When the user wants to implement, optimize, or use App Clips for app discovery and conversion. Use when the user mentions "App Clip", "app clip code", "mini app", "instant app", "App Clip card", "App Clip link", "no download required", "instant experience", or wants to understand how App Clips appear in App Store search. For general App Store discoverability, see aso-audit. For marketing campaigns, see ua-campaign.
When the user wants to design, test, or improve their app icon to increase tap-through rate and conversions in App Store search and browse. Use when the user mentions "app icon", "icon design", "icon A/B test", "icon variants", "tap-through rate", "icon conversion", "icon refresh", or wants to know what makes a good app icon. For screenshot optimization, see screenshot-optimization. For full listing A/B tests, see ab-test-store-listing.
When the user wants to plan a launch strategy for a new app or major update. Also use when the user mentions "app launch", "launch plan", "launch checklist", "pre-launch", "launch day", or "how to launch my app". For ongoing ASO after launch, see aso-audit. For paid acquisition during launch, see ua-campaign.
When the user wants to create or update their app marketing context document. Also use when the user mentions "app context", "marketing brief", "app positioning", or when starting any ASO or app marketing project. This is the foundation skill — all other skills check for this context first.
When the user wants to plan, script, produce, or optimize App Store Preview videos or Google Play promo videos — the autoplay videos that show in App Store/Play Store search and product pages. Use when the user mentions "App Preview", "preview video", "app store video", "promo video", "Play Store video", "video poster frame", "YouTube promo for Play Store", "30 second app video", "video script", "video specs", or "should I add a preview video". For static screenshots, see screenshot-optimization. For A/B testing the video, see ab-test-store-listing. For broader creative briefs, see screenshot-optimization (covers stills).