LEVEL 58 QUEST
레퍼럴(추천인) 시스템 구축
사용자가 다른 사용자를 초대하면 보상을 받는 레퍼럴 시스템을 설계하고 구현합니다.
Stage 14-2 — 레퍼럴(추천인) 시스템 구축
레퍼럴 시스템이란
레퍼럴 시스템은 기존 사용자가 새 사용자를 데려오면 보상을 제공하는 시스템입니다.
Dropbox가 이 전략으로 15개월 만에 사용자를 100만에서 400만으로 늘린 것이 유명한 사례입니다.
무료 도구에서의 레퍼럴 시스템 장점:
무료 도구에서의 레퍼럴 시스템 장점:
- 사용자 획득 비용(CAC) = 거의 0원
- 추천으로 온 사용자는 일반 방문자보다 전환율 3-5배 높음
- 추천한 사람과 추천받은 사람 모두 만족 (win-win)
- K-Factor를 구조적으로 높이는 가장 효과적인 방법
레퍼럴 시스템 설계
보상 구조 설계
무료 도구에서 제공할 수 있는 레퍼럴 보상 유형:
1. 기능 잠금해제 (추천)
- 기본: 시급 계산 + 업종 평균 비교
- 1명 추천: + 연봉 환산 기능 잠금해제
- 3명 추천: + 상세 분석 리포트 잠금해제
- 5명 추천: + 히스토리 저장 기능 잠금해제
비용: 0원 (기능은 이미 만들어놓고 잠가두기만 하면 됨)
2. 프리미엄 콘텐츠
- 1명 추천: "프리랜서 시급 올리는 5가지 비법" PDF
- 3명 추천: "업종별 시급 벤치마크 리포트"
- 5명 추천: "시급 협상 이메일 템플릿 모음"
비용: 콘텐츠 제작 1회 비용 (한번 만들면 무한 배포)
3. 물질적 보상 (소규모)
- 5명 추천: 스타벅스 커피 쿠폰
- 10명 추천: 배달의민족 1만원 쿠폰
비용: 소규모이므로 마케팅 비용으로 충분히 감당
추천 구조: "양면 보상 (Double-sided)"
추천인과 피추천인 모두에게 보상하면 전환율이 2배 높아집니다.
예: "추천하면 나도 프리미엄 기능 잠금해제, 친구도 프리미엄 기능 즉시 활성화"
1. 기능 잠금해제 (추천)
- 기본: 시급 계산 + 업종 평균 비교
- 1명 추천: + 연봉 환산 기능 잠금해제
- 3명 추천: + 상세 분석 리포트 잠금해제
- 5명 추천: + 히스토리 저장 기능 잠금해제
비용: 0원 (기능은 이미 만들어놓고 잠가두기만 하면 됨)
2. 프리미엄 콘텐츠
- 1명 추천: "프리랜서 시급 올리는 5가지 비법" PDF
- 3명 추천: "업종별 시급 벤치마크 리포트"
- 5명 추천: "시급 협상 이메일 템플릿 모음"
비용: 콘텐츠 제작 1회 비용 (한번 만들면 무한 배포)
3. 물질적 보상 (소규모)
- 5명 추천: 스타벅스 커피 쿠폰
- 10명 추천: 배달의민족 1만원 쿠폰
비용: 소규모이므로 마케팅 비용으로 충분히 감당
추천 구조: "양면 보상 (Double-sided)"
추천인과 피추천인 모두에게 보상하면 전환율이 2배 높아집니다.
예: "추천하면 나도 프리미엄 기능 잠금해제, 친구도 프리미엄 기능 즉시 활성화"
레퍼럴 코드 시스템 구현
간단한 레퍼럴 코드 시스템:
// 1. 사용자별 고유 추천 코드 생성
function generateReferralCode(userId) {
// 사용자 ID 기반 짧은 코드 생성
return btoa(userId.toString()).slice(0, 8).toUpperCase();
}
// 2. 추천 링크 생성
function getReferralLink(userId) {
const code = generateReferralCode(userId);
return `https://myhourlyrate.com?ref=${code}`;
}
// 3. 추천 코드 확인 (새 사용자가 방문할 때)
async function checkReferral() {
const params = new URLSearchParams(window.location.search);
const refCode = params.get('ref');
if (!refCode) return;
// 추천인 확인
const referrer = await findUserByCode(refCode);
if (!referrer) return;
// 추천 기록 저장
await supabase.from('referrals').insert({
referrer_id: referrer.id,
referred_session: getSessionId(),
status: 'visited'
});
// 쿠키에 추천 코드 저장 (나중에 가입/사용 시 확인)
document.cookie = `ref=${refCode}; max-age=2592000`; // 30일
}
// 4. 도구 사용 완료 시 추천 확정
async function confirmReferral() {
const refCode = getCookie('ref');
if (!refCode) return;
// 추천 상태를 'converted'로 업데이트
await supabase.from('referrals')
.update({ status: 'converted' })
.eq('referred_session', getSessionId());
// 추천인 보상 처리
const referrer = await findUserByCode(refCode);
await addReward(referrer.id);
}
추천 현황 대시보드 UI
사용자가 자신의 추천 현황을 확인할 수 있는 간단한 대시보드:
이 대시보드가 있으면 사용자가 게임화(Gamification) 느낌으로 적극적으로 추천에 참여합니다.
<div class="referral-dashboard">
<h3>내 추천 현황</h3>
<!-- 추천 링크 -->
<div class="referral-link-section">
<p>내 추천 링크:</p>
<div class="link-box">
<input readonly value="https://myhourlyrate.com?ref=ABC123" />
<button onclick="copyLink()">복사</button>
</div>
</div>
<!-- 추천 현황 -->
<div class="referral-stats">
<div class="stat">
<span class="stat-number">5</span>
<span class="stat-label">링크 클릭</span>
</div>
<div class="stat">
<span class="stat-number">3</span>
<span class="stat-label">가입 완료</span>
</div>
<div class="stat">
<span class="stat-number">2</span>
<span class="stat-label">보상 획득</span>
</div>
</div>
<!-- 보상 진행 -->
<div class="reward-progress">
<p>다음 보상까지: 2명 더 추천!</p>
<div class="progress-bar" style="width: 60%"></div>
</div>
</div>
이 대시보드가 있으면 사용자가 게임화(Gamification) 느낌으로 적극적으로 추천에 참여합니다.
🔒
여기까지는 미리보기입니다
레퍼럴(추천인) 시스템 구축
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.