---
name: referral-program
description: When the user wants to design, launch, or optimize an in-app referral / invite / share-to-earn program — including reward structure, mechanics, fraud prevention, deep link setup, and viral coefficient measurement. Use when the user mentions "referral program", "invite a friend", "refer and earn", "share to earn", "viral loop", "viral coefficient", "K-factor", "double-sided rewards", "give X get X", "referral rewards", "invite link", "share sheet", "Branch referrals", "in-app invites", or "how to make my app go viral". For deep link infrastructure that referrals depend on, see attribution-setup. For organic content-driven virality (UGC, creator), see creator-ugc-marketing.
metadata:
version: 1.0.0
---
# 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 retention vs paid, fraud rate
```
## Tooling
| Need | Tool |
|---|---|
| Deep links + deferred attribution | Branch, AppsFlyer OneLink, Adjust, Singular |
| Built-in referral product | Branch Referrals, Tapfiliate, Friendbuy |
| Custom (most flexible) | Build on top of MMP deep link + your backend |
For most teams: **MMP deep links + custom backend** is the right answer once you exceed $1k/mo in referral platform fees.
## Common Mistakes
- Launching without deferred deep linking — invite link installs lose attribution
- Rewards bigger than CAC — burning money for negative-ROI installs
- Reward issued before invitee proves they're real — fraud paradise
- Single static share message — kills viral spread; users won't customize
- No referral CTA repetition — one prompt at install gets ~2% adoption; 3+ contextual prompts get 15–25%
- Measuring only "invites sent" — meaningless without qualified-install conversion
## Cross-Skill Handoffs
- Deep link / attribution infra needed for referrals to work → `attribution-setup`
- Driving viral content sharing instead of explicit invites → `creator-ugc-marketing`
- Referrals will improve retention metrics; measure together → `retention-optimization`
- A/B testing the in-app referral CTA placement → `ab-test-store-listing` (for store) or in-app experimentation
Creator's repository · eronred/aso-skills