⚙️ 마케팅 엔진 원리

신뢰 기반 콘텐츠 자동 생성 시스템의 구조와 작동 원리

← 관리자 대시보드로 돌아가기

📌 시스템 개요

본 마케팅 엔진은 신뢰를 훼손하지 않으면서도 효과적인 마케팅 콘텐츠를 자동 생성하는 시스템입니다. 단순한 템플릿 기반 생성이 아닌, 병원의 신뢰 단계(STAGE)에 따라 사용 가능한 언어와 구조를 동적으로 조절합니다.

┌─────────────────────────────────────────────────────────────┐
│              덴탈클리닉파인더 마케팅 엔진 v1.0                │
│                                                             │
│  입력: 진단 결과 (STAGE, 점수) + 채널 + 주제                  │
│  출력: 신뢰 기반 최적화된 콘텐츠                              │
│                                                             │
│  핵심 원리: 말할 수 있는 자격을 관리하는 엔진                  │
└─────────────────────────────────────────────────────────────┘
                

🏗️ 전체 아키텍처

사용자 입력
    ↓
┌───────────────────────────────────────────┐
│  진단 시스템                               │
│  - STAGE 판별 (1-5)                       │
│  - 점수 산출 (공감/이해/결정)              │
└───────────┬───────────────────────────────┘
            ↓
┌───────────────────────────────────────────┐
│  MarketingEngine 클래스 (2,600+ lines)    │
│                                           │
│  ┌─────────────────────────────────────┐ │
│  │  1. 조건부 단어풀 시스템 (4 Layers) │ │
│  │     - Layer 1: 공통 허용             │ │
│  │     - Layer 2: STAGE별 조건부        │ │
│  │     - Layer 3: 고급 조건부 (1인칭)   │ │
│  │     - Layer 4: 절대 금지             │ │
│  └─────────────────────────────────────┘ │
│                                           │
│  ┌─────────────────────────────────────┐ │
│  │  2. 채널별 라우팅 시스템             │ │
│  │     generateByChannel()              │ │
│  │     ├─ 'naver_place'                 │ │
│  │     ├─ 'blog'                        │ │
│  │     ├─ 'landing'                     │ │
│  │     └─ 'identity'                    │ │
│  └─────────────────────────────────────┘ │
│                                           │
│  ┌─────────────────────────────────────┐ │
│  │  3. 네이버 플레이스 4단계 블록       │ │
│  │     - Block 1: 공감 시작             │ │
│  │     - Block 2: 선택 기준 설명        │ │
│  │     - Block 3: 결론 유보             │ │
│  │     - Block 4: 질문형 종결 (필수)    │ │
│  └─────────────────────────────────────┘ │
│                                           │
│  ┌─────────────────────────────────────┐ │
│  │  4. 금지어 필터링 시스템             │ │
│  │     - 실시간 감지                    │ │
│  │     - 자동 제거/대체                 │ │
│  │     - 위반 로그 기록                 │ │
│  └─────────────────────────────────────┘ │
└───────────┬───────────────────────────────┘
            ↓
     최종 콘텐츠 출력
                

📚 이론적 기반

본 엔진은 6가지 마케팅 이론을 통합하여 설계되었습니다:

1️⃣ 러셀 브런슨 (Russell Brunson)

  • Hook-Story-Offer 구조
  • Value Ladder 단계별 가치 제공
  • AIDA 모델 (Attention, Interest, Desire, Action)

2️⃣ 간다 마사노리 (Masanori Kanda)

  • 마케팅 피라미드
  • 고객 인지 단계별 접근
  • 관계 중심 마케팅

3️⃣ NLP (Neuro-Linguistic Programming)

  • Pacing & Leading (공감과 유도)
  • 언어 패턴 설계
  • 감정 트리거 활용

4️⃣ 5단계 신뢰 구축

  • STAGE 1: 공감 (Empathy)
  • STAGE 2: 이해 (Understanding)
  • STAGE 3: 결정권 제공 (Decision)
  • STAGE 4: 가치 전달 (Value)
  • STAGE 5: 신뢰 관계 (Trust)

5️⃣ 조 비테일 (Joe Vitale)

  • Spiritual Marketing
  • 감정 중심 공감
  • 진정성 기반 접근

6️⃣ 짐 에드워드 (Jim Edwards)

  • 카피라이팅 공식
  • 감정 트리거 설계
  • 행동 유도 기법

🔤 조건부 단어풀 시스템 (핵심)

시스템의 핵심 철학

"말할 수 있는 자격을 관리한다"

신뢰를 쌓지 않은 상태에서 관계 언어를 사용하면 거부감이 발생합니다. 따라서 병원의 STAGE에 따라 사용 가능한 단어를 동적으로 제어합니다.

4개 레이어 구조

Layer 1: 공통 허용 단어 (항상 사용 가능)

모든 STAGE에서 안전하게 사용할 수 있는 중립적 단어들

예시: 설명, 안내, 이해, 확인, 질문, 답변, 대화, 소통, 경청, 천천히, 충분히, 서두르지 않고, 신중하게, 고민, 생각, 과정, 부담을 줄이다
this.commonAllowedWords = [ '설명', '안내', '이해', '확인', '질문', '답변', '천천히', '충분히', '서두르지 않고', '고민', '생각', '과정' ];

Layer 2: STAGE별 조건부 허용 단어

STAGE에 따라 해금되는 단어들

STAGE 허용 단어 유형 예시
1-2 불안 공감 키워드 불안, 걱정, 망설임, 쉽지 않은 결정, 조심스럽게
3 환자 존중 키워드 선택권, 결정은 환자분의 몫, 충분히 생각한 뒤, 오늘 결정하지 않아도
4 철학·기준 키워드 기준, 원칙, 방향, 이유, 중요하게 생각하는, 제 생각
5 관계 지속 키워드 함께, 오래, 계속, 관계, 끝까지, 앞으로도, 평생

Layer 3: 고급 조건부 허용 (원장 1인칭)

특정 조건을 만족해야만 사용 가능

해금 조건

  • STAGE ≥ 3
  • 공감 점수 ≥ 60
  • 이해 점수 ≥ 60

허용 단어: 제가, 저는, 제 생각에, 제가 중요하게 여기는, 제 진료 기준은

사용 제한: 콘텐츠당 최대 2-3회

Layer 4: 절대 금지 단어

어떤 STAGE에서도 사용 불가능한 단어들

5가지 카테고리:

  • 보장/확약: 반드시, 무조건, 완치, 보장, 100%, 확실히
  • 과장: 최고, 최상, 유일, 독보적, 업계 1위
  • 상업적: 이벤트, 할인, 혜택, 특가, 프로모션, 무료
  • 비교: Before/After, 타 병원, 경쟁 병원
  • 의료법 위반: 치료 보장, 효과 보장, 부작용 없음

🎯 STAGE별 작동 방식

STAGE 1-2

공감 · 이해

  • 원장 1인칭 금지
  • 철학 선언 금지
  • 관계 언어 금지
  • 불안 공감 중심

STAGE 3

결정권 제공

  • 원장 1인칭 1회 허용
  • 환자 존중 강조
  • 선택권 부여
  • 결론 유보

STAGE 4

가치 전달

  • 원장 1인칭 2회 허용
  • 철학·기준 언급
  • 가치 중심 설명
  • 장기적 관점

STAGE 5

신뢰 관계

  • 원장 1인칭 3회 허용
  • 관계 언어 사용
  • 장기 관계 암시
  • 책임·신뢰 강조

STAGE 전환 로직

시스템은 입력받은 STAGE에 따라 자동으로 단어풀을 전환합니다:

getStageKey(stage) { if (stage <= 2) return 'stage1_2'; if (stage === 3) return 'stage3'; if (stage === 4) return 'stage4'; if (stage === 5) return 'stage5'; }

📍 네이버 플레이스 4단계 블록 구조

핵심 철학

"반응을 만들지 않고, 반응이 생길 수밖에 없는 구조를 설계한다"

네이버 플레이스 알고리즘이 신뢰 신호로 인식하는 요소들(체류시간, 공감, 댓글, 저장)을 자연스럽게 발생시키는 콘텐츠 구조를 자동 생성합니다.

4단계 블록 상세

┌─────────────────────────────────────────────────────────────┐
│                    4단계 블록 구조                            │
└─────────────────────────────────────────────────────────────┘

[Block 1] 공감 시작 (Empathy Intro)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
목적: 네이버 플레이스 "공감(좋아요)" 신호 최적화
위치: 초반 20%
내용: 환자가 느끼는 불안이나 고민을 구체적으로 언급
예시: "임플란트를 앞두고 걱정이 생기는 것은 자연스러운 일입니다."

↓

[Block 2] 선택 기준 설명 (Explanation)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
목적: "체류 시간" 증가 + "저장" 유도
내용: 치료 방법이나 선택지를 2~3가지 제시, 객관적 설명
정보 밀도: High (가치 있는 정보 제공)
예시: "치료 방법을 선택할 때는 과정, 기간, 그리고
      본인에게 맞는 방향을 충분히 이해하는 것이 중요합니다."

↓

[Block 3] 결론 유보 (Decision Hold)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
목적: 환자 자율성 존중 + 서두르지 않는 태도
특징: 명확한 정답을 제시하지 않음
예시: "이 부분은 상황에 따라 다를 수 있습니다.
      서두르지 않고 생각해보셔도 괜찮습니다."

↓

[Block 4] 질문형 종결 (Question Ending) ⭐ 필수
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
목적: "댓글" 유도 + 사용자 참여 촉진
필수 조건: 반드시 물음표(?)로 끝나야 함
특징: 정답을 유도하지 않는 열린 질문
예시: "여러분은 어떤 기준이 더 중요하셨나요?"
                

네이버 플레이스 신호 매핑

네이버 신호 플랫폼 의도 우리의 대응 전략 구현 방법
체류 시간 관심·몰입 설명형 구조화, 과장 제거 Block 2에서 정보 밀도 유지
공감(좋아요) 감정 동조 공감 문장 초반 배치 Block 1을 상위 20%에 배치
댓글 신뢰·참여 질문형 종결, 결론 유보 Block 4 필수, Block 3 정답 미제시
저장(북마크) 가치 인식 정보 밀도 유지 Block 2에서 실용적 정보 제공
재방문 관계 톤 일관성, 시리즈 콘텐츠 STAGE별 일관된 톤 유지
// 네이버 플레이스 콘텐츠 생성 메인 메서드 generateNaverPlaceContent(context) { const blocks = { block1: this.generateNaverBlock1_Empathy(topic, stage), block2: this.generateNaverBlock2_Explanation(topic, stage), block3: this.generateNaverBlock3_DecisionHold(stage), block4: this.generateNaverBlock4_QuestionEnding(topic, stage) }; // 금지 단어 필터링 const filtered = this.filterNaverPlaceContent(blocks, stage); // 검증 (질문형 종결 확인) const validation = this.validateNaverPlaceContent(filtered); return filtered; }

🔀 채널별 라우팅 시스템

통합 진입점

사용자는 하나의 메서드만 호출하면, 시스템이 채널에 따라 자동으로 적절한 생성 메서드로 라우팅합니다.

generateByChannel(channel, context) { switch (channel) { case 'naver_place': return this.generateNaverPlaceContent(context); case 'blog': return this.generateStorytelling(context); case 'landing': return this.generateIntegratedContent(context); case 'identity': return this.generateIdentityStyle(context); default: return this.generateIntegratedContent(context); } }

지원 채널

채널 생성 메서드 특징
네이버 플레이스 generateNaverPlaceContent() 4단계 블록 구조, 질문형 종결 필수
블로그 generateStorytelling() 스토리텔링 중심, Hook-Story-Offer
랜딩 페이지 generateIntegratedContent() 통합 콘텐츠, AIDA 모델
정체성 기반 generateIdentityStyle() 원장 철학 중심, STAGE 4-5 전용

🛡️ 금지어 필터링 시스템

실시간 감지 및 처리

콘텐츠 생성 후 자동으로 금지어를 감지하고, 발견 시 제거 또는 대체합니다. 모든 위반은 로그에 기록되어 추후 분석 가능합니다.

// 금지 단어 감지 및 필터링 filterNaverPlaceContent(blocks, stage, scores) { const filtered = {}; for (const blockKey in blocks) { let content = blocks[blockKey]; // 1. 기본 금지 단어 체크 for (const word of this.forbiddenWords) { if (content.includes(word)) { console.warn(`🚨 금지 단어 감지: "${word}"`); // 대체어로 변경 content = content.replace(word, this.getReplacementWord(word)); } } // 2. 네이버 플레이스 특화 패턴 체크 const patterns = [ /이벤트/g, /할인/g, /혜택/g, /타\s*병원/g, /Before.*After/gi ]; for (const pattern of patterns) { if (pattern.test(content)) { content = content.replace(pattern, ''); } } filtered[blockKey] = content; } return filtered; }

위반 로그 시스템

모든 금지어 감지는 자동으로 기록됩니다:

  • 블록 위치: 어느 블록에서 발생했는지
  • 금지어 목록: 감지된 모든 단어
  • 원본/수정본: 필터링 전후 비교
  • 타임스탬프: 발생 시각

이 로그는 시스템 개선과 가맹점 교육에 활용됩니다.

💻 실제 사용 예시

Step 1: 엔진 인스턴스 생성

const engine = new MarketingEngine();

Step 2: 컨텍스트 구성

const context = { topic: '임플란트 치료', contentType: 'empathy', revenueStage: 'STAGE3', clinicName: '행복치과', directorName: '김행복 원장', trustScores: { empathy: 72, understanding: 68, decision_support: 65 } };

Step 3: 콘텐츠 생성

// 네이버 플레이스 콘텐츠 생성 const result = engine.generateByChannel('naver_place', context); // 결과 구조 { title: "임플란트를 결정하기 전에 가장 많이 고민하시는 부분", body: [ "임플란트를 앞두고 걱정이 생기는 것은 자연스러운 일입니다.", "치료 방법을 선택할 때는 과정, 기간, 그리고...", "이 부분은 상황에 따라 다를 수 있습니다...", "여러분은 어떤 기준이 더 중요하셨나요?" ], metadata: { channel: 'naver_place', stage: 'STAGE3', structure: 'four_block', hasQuestionEnding: true, conclusionHold: true } }

Step 4: 검증

const validation = engine.validateNaverPlaceContent(result); if (!validation.valid) { console.error('검증 실패:', validation.errors); } else { console.log('✅ 모든 검증 통과'); }

🚀 시스템 확장성

향후 확장 가능 영역

  • 새로운 채널 추가
    • 인스타그램 릴스 전용 생성 메서드
    • 유튜브 쇼츠 전용 생성 메서드
    • 카카오톡 채널 메시지 생성
  • AI 모델 통합
    • GPT-4 API 연동으로 더 자연스러운 문장 생성
    • 단, 조건부 단어풀 시스템은 유지 (안전장치)
  • 다국어 지원
    • 영어, 중국어, 일본어 등 다국어 단어풀
    • 문화적 차이를 고려한 STAGE별 조정
  • AB 테스트 시스템
    • 동일한 입력으로 여러 변형 생성
    • 성과 추적 및 최적화

📝 핵심 요약

본 마케팅 엔진은 "말할 수 있는 자격을 관리하는 시스템"입니다.

  1. 조건부 단어풀 시스템으로 STAGE별 언어 사용 제한
  2. 4단계 블록 구조로 네이버 플레이스 신호 최적화
  3. 채널별 라우팅으로 다양한 채널 대응
  4. 실시간 금지어 필터링으로 리스크 차단
  5. 6가지 마케팅 이론 통합 적용

결과: 신뢰를 훼손하지 않으면서도 효과적인 마케팅 콘텐츠 자동 생성