ai-startup
CHAPTER 63 / 100
읽기 약 2분
FUNCTION
바이럴 루프: 초대 + 공유 + 임베드
핵심 개념
invite·share·embed·viral coefficient — 자연 성장 메커니즘.
본문
Viral Coefficient (K)
K = 평균 초대 수 × 초대 수락률
K = 1: 안정 (사용자 1명이 1명 가져옴)
K > 1: 바이럴 (지수 성장)
K < 1: 줄어듦 (광고 필요)
목표: K = 0.7~1+
대부분 SaaS: K < 0.5 → 광고 필요바이럴 루프 종류
1. 협업 초대
- "팀원 초대" — Slack·Notion 패턴
- 자연스럽게 viral
2. 공유 결과물
- "My result" 공유 (Wordle 패턴)
- 친구 호기심 유발
3. 임베드
- 다른 사이트에 위젯
- 광고 + 사용자 유입
4. Refer-a-friend
- 명시적 인센티브
- "친구 1명 초대 = 1개월 무료"협업 초대 (Slack 모델)
// Slack: 워크스페이스 만들면 자연스럽게 초대
async function inviteTeamMembers(workspace: Workspace, emails: string[]) {
for (const email of emails) {
const token = generateInviteToken();
await db.invitations.create({
data: { workspace_id: workspace.id, email, token },
});
await sendInviteEmail(email, {
inviter_name: workspace.owner.name,
workspace_name: workspace.name,
accept_url: `${URL}/accept-invite?token=${token}`,
});
}
}
// 초대 받은 사람 — 가입 → workspace 자동 가입
// → 그 사람도 다른 사람 초대 (viral)공유 결과물 (Wordle 패턴)
// 사용자가 결과 만들면 → 공유 가능 카드
function ResultCard({ result }: { result: any }) {
const shareText = `Just used [App] to ${result.summary}.
Try it: ${URL}?ref=${userId}`;
return (
<div>
<h3>Result: {result.outcome}</h3>
<Image src={result.imageUrl} />
<ShareButtons>
<Twitter text={shareText} />
<LinkedIn text={shareText} />
<CopyLink url={URL + '/result/' + result.id} />
</ShareButtons>
</div>
);
}
// 공개 페이지로 공유 시 — 친구가 호기심 → 가입Embed 위젯
// 임베드 코드 제공
const EMBED_CODE = `
<iframe
src="https://example.com/embed/${userId}"
width="100%" height="400"
frameborder="0"
></iframe>
<!-- Powered by [App] — try free at example.com -->
`;
// app/embed/[id]/page.tsx
export default async function EmbedPage({ params }) {
// CORS 허용
const data = await getEmbedData(params.id);
return (
<div>
<Widget data={data} />
<a href={`https://example.com?ref=${params.id}`}>
Powered by [App]
</a>
</div>
);
}
// → 다른 블로그·사이트에 임베드
// → 그 사이트 visitor 일부가 본인 사이트로Refer-a-Friend
// 명시적 인센티브
async function generateReferralLink(userId: string) {
return `https://example.com?ref=${userId}`;
}
// 추천한 사람·받은 사람 모두 보상
async function handleReferral(referrerId: string, newUserId: string) {
await db.referrals.create({ data: { referrer_id: referrerId, new_user_id: newUserId } });
// 추천한 사람 — 1개월 무료
await db.user.update({
where: { id: referrerId },
data: { credits_months: { increment: 1 } },
});
// 새 사용자 — 50% 할인 첫 달
await db.user.update({
where: { id: newUserId },
data: { discount_percent: 50, discount_expires: addDays(new Date(), 30) },
});
}Drop-in CTA
// 사용자가 좋은 결과 만들면 — 공유 유도
function ResultPage() {
return (
<>
<Result />
{result.quality > 0.8 && (
<Banner>
🎉 Great result! Share with friends:
<ShareButtons />
</Banner>
)}
</>
);
}
// 자동 — 좋은 결과만 공유 유도
// → 다른 사람도 좋은 결과 보고 가입Loops 측정
async function measureViralCoefficient() {
const referrals = await db.referrals.findMany({
where: { created_at: { gte: lastMonth } },
});
const totalUsers = await db.user.count({ where: { created_at: { gte: lastMonth } } });
const k = referrals.length / totalUsers;
console.log(`Viral coefficient: ${k}`);
// 0.7~1+ 목표
}다음 챕터
CH.64 "이메일 퍼널".
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
무료
월 $0 — 검증·시작 단계
바이럴 루프을 무료 도구만으로 시작하는 방법을 알려줘.
소자본
월 $20~50 — MVP·초기 운영
월 $20~50 예산으로 바이럴 루프을 검증·MVP 단계까지 진행하는 전략은?
프로덕션
월 $200~500 — 성장 단계
바이럴 루프을 프로덕션 단계로 확장할 때 필요한 도구·운영 체계는?
스택
풀스택 — 도구 조합 분석
2026년 바이럴 루프 관련 도구 5개를 조합한 추천 스택을 알려줘.
⭐ 이것만 기억하세요
바이럴 루프: 초대 + 공유 + 임베드는 이 3가지만 확실히 잡으세요
1.Viral coefficient (K) 측정 — 0.7+ 목표
2.협업 초대 + 공유 결과물 + Embed = 자연 성장
3.Refer-a-friend (양쪽 보상) = 명시적 viral
공유하기
진행도 63 / 100