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

시나리오 A — 1인 마케터 풀 자동화 파이프라인

  • ▸리드 수집·콘텐츠 발행·성과 집계 3개 파이프를 하나의 통합 시스템으로 운영할 수 있다
  • ▸각 파이프라인이 서로 데이터를 공유하며 유기적으로 동작하도록 설계할 수 있다
  • ▸1인 마케터가 반복 업무 없이 전략에만 집중할 수 있는 환경을 구축할 수 있다

✅사전 준비

  • □챕터 2 전체 레시피(011~025) 및 미니 프로젝트 P2 완료
  • □HubSpot 또는 Notion CRM 데이터베이스 구성 완료
  • □Google Sheets '마케팅 허브' 마스터 시트 생성
  • □Mailchimp API 키 및 발송 도메인 인증 완료
  • □Slack #marketing 채널 Webhook URL 준비
  • □Google Analytics 4 Property ID 확인

3개 파이프라인 전체 아키텍처

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PIPE 1] 리드 수집 파이프 (실시간)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
광고 리드 폼 (Facebook/Google Ads)
  → Webhook 수신
  → 데이터 정제 (Code 노드)
  → HubSpot 연락처 생성
  → 리드 점수 계산 (IF 분기)
      고점수(70+) → 영업팀 즉시 Slack 알림
      중점수(40~69) → 뉴스레터 시퀀스 등록
      저점수(~39)  → 태그만 저장
  → 마케팅 허브 시트 기록

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PIPE 2] 콘텐츠 발행 파이프 (주 3회)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
월/수/금 09:00 Schedule Trigger
  → 콘텐츠 캘린더 시트 조회
  → 발행 예정 콘텐츠 추출
  → WordPress 포스팅
  → Mailchimp 뉴스레터 발송
  → SNS 멀티채널 발행 (Twitter/LinkedIn)
  → 발행 완료 상태 시트 업데이트

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PIPE 3] 성과 집계 파이프 (매일 저녁)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
매일 22:00 Schedule Trigger
  → GA4 API 트래픽 집계
  → Mailchimp 오픈율/클릭율 집계
  → HubSpot 신규 리드 수 집계
  → 마케팅 허브 시트 기록
  → IF(KPI 달성) → Slack 달성 알림
  → IF(KPI 미달) → 시트에 미달 항목 기록

리드 점수 계산 — Code 노드

const lead = $json;
let score = 0;

// 유입 채널별 점수
const channelScore = {
  'google_ads':   30,
  'facebook_ads': 25,
  'organic':      20,
  'referral':     15,
  'direct':       10,
};
score += channelScore[lead.utm_source] ?? 10;

// 직책별 점수
const titleScore = {
  'ceo': 30, 'cto': 30, 'director': 25,
  'manager': 20, 'staff': 10,
};
const title = lead.job_title?.toLowerCase() ?? '';
for (const [key, val] of Object.entries(titleScore)) {
  if (title.includes(key)) { score += val; break; }
}

// 회사 규모별 점수
const emp = Number(lead.company_size ?? 0);
if (emp >= 100)      score += 20;
else if (emp >= 10)  score += 15;
else                 score += 5;

// 이메일 도메인 (무료 도메인 감점)
const freeDomains = ['gmail.com','naver.com','daum.net','hanmail.net'];
const domain = lead.email?.split('@')[1] ?? '';
if (freeDomains.includes(domain)) score -= 10;

return [{ json: { ...lead, leadScore: score } }];

월간 마케팅 성과 종합 리포트 메시지

const d = $json;
const month = new Date().toLocaleDateString('ko-KR',
  { year: 'numeric', month: 'long' });

const report =
`📊 *${month} 마케팅 성과 종합 리포트*

👥 리드 성과
  신규 리드:     ${d.newLeads}건
  전환 리드:     ${d.convertedLeads}건
  전환율:        ${(d.convertedLeads/d.newLeads*100).toFixed(1)}%

📝 콘텐츠 성과
  발행 콘텐츠:   ${d.publishedContent}개
  블로그 세션:   ${d.sessions?.toLocaleString()}
  뉴스레터 오픈율: ${d.openRate}%

💰 ROI
  광고비:        ${d.adSpend?.toLocaleString()}원
  발생 매출:     ${d.revenue?.toLocaleString()}원
  ROAS:         ${(d.revenue/d.adSpend).toFixed(2)}x
`;

return [{ json: { report } }];
💡 TIP3개 파이프라인을 처음부터 동시에 구축하려 하지 마세요. PIPE 1(리드 수집) → PIPE 3(성과 집계) → PIPE 2(콘텐츠 발행) 순서로 하나씩 안정화한 뒤 연결하는 것이 훨씬 빠릅니다.
⚠️ 주의광고 플랫폼(Facebook Ads, Google Ads) Webhook은 플랫폼 정책에 따라 연동 방식이 자주 바뀝니다. 직접 Webhook 대신 Zapier나 n8n의 공식 Google Ads 노드를 사용하거나, 리드 데이터를 Google Sheets로 먼저 내보낸 뒤 n8n에서 읽는 방식이 더 안정적입니다.
⚡

워크플로우 JSON

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

📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
  "id": "scenario_A",
  "chapter": 9,
  "title": "시나리오 A — 1인 마케터 풀 자동화 파이프라인",
  "difficulty": "⭐⭐⭐",
  "target": "혼자 마케팅 전반을 담당하는 1인 마케터 또는 스타트업 마케팅 팀원",
  "outcome": "아침에 출근해서 커피 마시는 동안, 오늘의 트렌드 키워드 / 전일 광고 성과 / 채널별 성과 요약 / 경쟁사 동향이 자동으로 도착해 있어요. 새 콘텐츠를 발행하면 자동으로 모든 SNS에 배포되고, 월말엔 성과 리포트가 자동으로 생성돼요.",
  "linked_recipes": [
    {
      "recipe": "013",
      "desc": "광고 성과"
    },
    {
      "recipe": "016",
      "desc": "브랜드 언급"
    },
    {
      "recipe": "020",
      "desc": "리뷰 감지"
    },
    {
      "recipe": "021",
      "desc": "예약 포스팅"
    },
    {
      "recipe": "025",
      "desc": "월간 대시보드"
    }
  ],
  "workflow_diagram": [
    "[매일 오전 7:30] Schedule Trigger",
    "↓",
    "Google Ads API → 전일 성과 수집",
    "YouTube API → 채널 성과 수집",
    "Mailchimp API → 뉴스레터 성과 수집",
    "↓",
    "Merge Node → 데이터 통합",
    "↓",
    "Google Sheets → 대시보드 기록",
    "↓",
    "Slack → 모닝 브리핑 발송"
  ],
  "key_setup_point": "Merge 노드에서 서로 다른 소스의 데이터를 같은 형식으로 맞추는 것이 핵심이에요. '날짜', '채널명', '핵심지표'를 통일된 컬럼으로 맞춰주세요.",
  "ai_extension": "이 워크플로우에 OpenAI 노드를 추가하면 '이번 주 성과 분석 및 다음 주 전략 제안'을 자동으로 생성할 수 있어요. (3권 AI 에이전트 편에서 자세히 다룰게요)",
  "workflow_url": "www.koreaaitimes.com/books/n8n-vol2/recipeA"
}
← 이전 레시피☰ 목차다음 레시피 →