How to install referral-program
npx skills add https://github.com/eronred/aso-skills --skill referral-programFull instructions (SKILL.md)
Source of truth, from eronred/aso-skills.
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
- Check for
app-marketing-context.md - Ask: What's the core value users would invite friends for? (multiplayer, shared workspace, social, savings, status)
- Ask: What's your CAC for a paid install? (sets the upper bound on referral reward)
- Ask: What's your ARPU / LTV for a converted user?
- Ask: Do you have an MMP / deep link infra already? (Branch, AppsFlyer OneLink, Adjust)
- 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
Related skills
More from eronred/aso-skills and the wider catalog.
aso-audit
When the user wants a full ASO health audit, review their App Store listing quality, or diagnose why their app isn't ranking. Also use when the user mentions "ASO audit", "ASO score", "why am I not ranking", "listing review", or "optimize my app store page". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.
monetization-strategy
When the user wants to design or optimize their app's monetization — pricing, paywalls, subscriptions, or in-app purchases. Also use when the user mentions "pricing", "paywall", "subscription", "IAP", "how to monetize", "revenue optimization", "free trial", or "conversion to paid". For retention impact, see retention-optimization. For competitive pricing, see competitor-analysis.
keyword-research
When the user wants to discover, evaluate, or prioritize App Store keywords. Also use when the user mentions "keyword research", "find keywords", "search volume", "keyword difficulty", "keyword ideas", or "what keywords should I target". For implementing keywords into metadata, see metadata-optimization. For auditing current keyword performance, see aso-audit.
metadata-optimization
When the user wants to optimize App Store metadata — title, subtitle, keyword field, or description. Also use when the user mentions "optimize my title", "ASO metadata", "keyword field", "character limits", "app description", or "write my subtitle". For keyword discovery, see keyword-research. For full ASO audits, see aso-audit.
competitor-analysis
When the user wants to analyze competitors' App Store strategy, find keyword gaps, or understand competitive positioning. Also use when the user mentions "competitor analysis", "competitive research", "keyword gap", "what are my competitors doing", or "compare my app to". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.
screenshot-optimization
When the user wants to design, optimize, or evaluate App Store screenshots and preview videos. Also use when the user mentions "screenshots", "app preview", "product page design", "screenshot design", "creative assets", or "what should my screenshots show". For A/B testing screenshots, see ab-test-store-listing. For full ASO audit, see aso-audit.