발행일: 2026-10-06(화) 11:44
← 목차로 돌아가기|하루 30분 n8n 시리즈 ② 실무 자동화 레시피 100
RECIPE D

시나리오 D — 소규모 쇼핑몰 전체 여정 자동화

  • ▸주문 접수부터 배송·CS·재구매까지 쇼핑몰 운영 전 과정을 자동화할 수 있다
  • ▸국내 결제·배송·알림 서비스를 n8n으로 통합 연동할 수 있다
  • ▸고객 생애주기(LTV)를 높이는 자동 리텐션 워크플로우를 구성할 수 있다

✅사전 준비

  • □챕터 8 전체 레시피(081~090) 및 미니 프로젝트 P8 완료
  • □네이버 스마트스토어 또는 카페24 API 키 연결 완료
  • □토스페이먼츠 또는 KG이니시스 Webhook 설정 완료
  • □카카오 알림톡 템플릿 4종 승인 완료 (주문확인/발송/구매확정/리뷰요청)
  • □택배사 API 또는 스마트스토어 배송 API 연결
  • □Google Sheets '쇼핑몰 대시보드' 시트 구성

쇼핑몰 전체 여정 자동화 흐름

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[여정 1] 주문 접수 (실시간)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
결제 완료 Webhook
  → 주문 시트 자동 기록
  → 재고 차감 업데이트
  → 카카오 알림톡 발송 (주문 확인)
  → 카카오워크 #주문 채널 알림
  → 사은품 조건 충족 시 패킹 메모 추가

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[여정 2] 배송 처리
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
운송장 번호 시트 입력 감지
  → 카카오 알림톡 발송 (배송 시작 + 추적 URL)
  → 배송 상태 시트 업데이트

배송완료 감지 (택배 API 폴링)
  → 카카오 알림톡 발송 (배송 완료)
  → D+3 구매확정 리마인더 예약

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[여정 3] 구매 후 CS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
구매확정 D+1: 만족도 설문 카카오톡 발송
구매확정 D+3: 리뷰 작성 요청 알림톡 발송
환불/교환 요청: 채널톡 → Slack #cs 라우팅

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[여정 4] 리텐션 & 재구매
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
구매 후 30일: 재구매 유도 카카오톡 발송
구매 후 90일 미재구매: 휴면 고객 쿠폰 발송
VIP 고객(누적 50만+): 특별 혜택 안내
생일 고객: 생일 쿠폰 자동 발송

재고 차감 & 사은품 조건 확인 — Code 노드

const order = $json;
const items = order.orderItems ?? [];

// 재고 차감 데이터 준비
const stockUpdates = items.map(item => ({
  productId: item.productId,
  sku:       item.sku,
  quantity:  item.quantity,
}));

// 사은품 조건: 주문 금액 5만원 이상
const totalAmount = items.reduce(
  (sum, item) => sum + item.price * item.quantity, 0
);

const giftEligible = totalAmount >= 50000;
const giftMemo = giftEligible
  ? '⭐ 사은품 포함 — 포장 시 동봉해주세요'
  : '';

return [{
  json: {
    ...order,
    stockUpdates,
    giftEligible,
    giftMemo,
    totalAmount,
  }
}];

리텐션 대상 고객 추출 — Code 노드

const customers = $('고객 시트').all();
const today = new Date();

const targets = customers.reduce((acc, c) => {
  const lastPurchase = new Date(c.json.lastPurchaseDate);
  const daysSince = Math.round(
    (today - lastPurchase) / (1000*60*60*24)
  );
  const totalSpent = Number(c.json.totalSpent ?? 0);

  // 30일 재구매 유도
  if (daysSince === 30)
    acc.push({ ...c.json, action: 'repurchase_30' });

  // 90일 휴면 고객
  if (daysSince === 90)
    acc.push({ ...c.json, action: 'dormant_90' });

  // VIP (누적 50만원 이상, 최근 30일 이내 구매)
  if (totalSpent >= 500000 && daysSince <= 30)
    acc.push({ ...c.json, action: 'vip_benefit' });

  return acc;
}, []);

return targets.map(t => ({ json: t }));
💡 TIP카카오 알림톡 발송량이 많아지면 aligo.in 같은 대행사 API보다 카카오 비즈니스 채널 직접 연동이 단가가 낮습니다. 월 1만 건 이상이면 직접 연동을 검토하세요. n8n HTTP Request 노드로 카카오 REST API를 직접 호출할 수 있습니다.
⚠️ 주의개인정보보호법에 따라 마케팅 목적의 카카오톡/문자 발송은 수신자의 명시적 동의가 필요합니다. 주문 시 마케팅 수신 동의 여부를 수집하고, 미동의 고객에게는 발송하지 않도록 IF 노드로 필터링을 반드시 추가하세요.
⚡

워크플로우 JSON

아래 JSON을 복사해 n8n에 바로 임포트하세요

📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
  "id": "scenario_D",
  "chapter": 9,
  "title": "시나리오 D — 소규모 쇼핑몰 전체 여정 자동화",
  "difficulty": "⭐⭐⭐",
  "target": "혼자 또는 소수 인원으로 온라인 쇼핑몰을 운영하는 소상공인",
  "outcome": "주문 → 결제 → 배송 → CS → 리뷰 → 재구매 유도까지 쇼핑몰 운영의 전 여정이 자동화돼요.",
  "linked_recipes": [
    {
      "recipe": "085",
      "desc": "주문 집계"
    },
    {
      "recipe": "088",
      "desc": "결제 처리"
    },
    {
      "recipe": "045",
      "desc": "만족도 설문"
    },
    {
      "recipe": "046",
      "desc": "리뷰 감지"
    },
    {
      "recipe": "084",
      "desc": "카카오 알림톡"
    }
  ],
  "workflow_diagram": [
    "[결제 완료] 토스페이먼츠 Webhook",
    "↓",
    "Google Sheets → 주문 기록",
    "↓",
    "Gmail → 구매 확인 이메일",
    "↓",
    "Wait 3일 (배송 완료 예상)",
    "↓",
    "카카오 알림톡 → '배송 확인 부탁드려요!' 발송",
    "↓",
    "Wait 1일 (배송 확인 후)",
    "↓",
    "Gmail → 만족도 설문 발송",
    "↓",
    "[부정 리뷰 감지 시]",
    "↓",
    "Slack → CS팀 즉시 알림"
  ],
  "workflow_url": "www.koreaaitimes.com/books/n8n-vol2/recipeD"
}
← 이전 레시피☰ 목차다음 레시피 →