사용자 참여도 향상 시스템 개요
📱 시스템 목적
슬립큐 사용자에게 치료 과정 전반에 걸쳐 체계적이고 개인화된 카카오톡 알림을 발송하여 사용자 참여도와 치료 완료율을 높이는 것을 목적으로 합니다.
🎯 주요 기능
1. 사용자 여정 기반 참여도 향상 메시징
- 최초 가입: 처방 당일 사용 방법 및 가입 방법 안내
- 회원가입 완료: 첫 번째 CRM call 안내 및 앱 사용 독려
- 치료 진행 중: 설문 리마인드, RTIB 처방 안내, 수면기록 독려
- 치료 후기: CRM call 리마인드, 최종 설문 완료 독려
- 치료 완료: 축하 메시지 및 완료 안내
2. 개인화된 메시징
- 사용자 이름, 처방 병원명 등 개인정보 활용
- 치료 일차별 맞춤 메시지
- 사용자 행동 패턴에 따른 적응형 리마인드
3. 다채널 지원
- 주 채널: 카카오톡 알림 (KakaoTalk AlimTalk)
- 보조 채널: SMS (카카오톡 알림 실패 시)
- 웹 푸시 알림 (추후 확장 가능)
📊 Timeline 기반 발송 스케줄
| 시점 | 발송 조건 | 메시지 유형 | 우선순위 |
|---|---|---|---|
| 처방 당일 | 솔닥 결제 완료 | 최초 가입 안내 | High |
| 계정 생성 직후 | 회원가입 완료 | 첫 CRM call 안내 | High |
| 6일차 | CRM 설정 완료 | CRM call 리마인드 | Medium |
| 8일차 | 수면기록 4개 이상 | RTIB 전날 알림 | High |
| 15일차 | 오전 10시 | 2번째 설문 리마인드 | High |
| 20일차 | CRM 설정 완료 | CRM call 리마인드 | Medium |
| 29일차 | 오전 10시 | 3번째 설문 리마인드 | High |
| 36일차 | 오전 10시 | 치료 종료 7일 전 안내 | Medium |
| 43일차+ | 매주 오전 10시 | 최종 설문 리마인드 | Low |
🏗 시스템 아키텍처 개요 (표준 이벤트 아키텍처 준수)
도메인 분리 설계
- Sleep 도메인: RTIB 관련 알림, 수면기록 리마인드
- User 도메인: 사용자 생명주기 관련 알림
- Questionnaire 도메인: 설문 관련 모든 알림
- Agent Treatment Flow 도메인: CRM call 리마인드
표준 이벤트 드리븐 아키텍처 (event-system.md 준수)
- 내부 이벤트:
{domain}.internal.*패턴으로 도메인 내부 처리 - 크로스 도메인 이벤트:
'event'채널을 통해 GCP Pub/Sub 단일'events'토픽으로 전파 - 워크플로우 오케스트레이션: n8n이 이벤트 구독 및 알림톡 발송 워크플로우 처리
- 중복 처리 방지: Redis 기반 멱등성 보장
통합 이벤트 플로우
스케줄링 시스템 (Cloud Run Zero Scaling 최적화)
- GCP Cloud Scheduler: 관리형 스케줄링 서비스로 확실한 실행 보장
- Pub/Sub 기반 트리거: 인스턴스 자동 깨우기 및 재시도 메커니즘
- 외부 트리거 구조: n8n 내부 cron 대신 외부에서 워크플로우 시작
- 상태 비저장: 스케줄 상태를 외부 저장소에 보관하여 인스턴스 재시작에 안전
📋 관련 문서
🔗 기술 스택
핵심 인프라
- 이벤트 처리: Google Cloud Pub/Sub
- 스케줄링: Google Cloud Scheduler
- 워크플로우 오케스트레이션: n8n
- API 서버: dta-wide-api (NestJS)
참여도 향상 메시징 관련
- 템플릿 심의: NHN Cloud Console (템플릿 생성 및 승인)
- 템플릿 매핑: n8n 워크플로우 내장 JavaScript 매핑
- 카카오톡 발송: NHN Cloud AlimTalk API
- SMS 대체 발송: NHN Cloud SMS API
데이터 저장
- 이벤트 저장: Google Cloud Pub/Sub → Firestore
- 발송 이력: Firestore
- 사용자 설정: Firestore
- 템플릿 매핑: n8n 워크플로우 내장 (DB 불필요)
- 캐싱: Redis
모니터링 및 분석
- 로깅: Google Cloud Logging
- 모니터링: Google Cloud Monitoring
- 분석: BigQuery
- 알림: Google Cloud Alerting
📈 성공 지표
- 발송률: 예정된 참여도 향상 메시지의 실제 발송 비율
- 도달률: 사용자에게 성공적으로 전달된 메시지 비율
- 클릭률: 메시지 내 버튼/링크 클릭 비율
- 참여도 향상: 치료 과정 참여율 및 완료율 증가
- 사용자 만족도: 메시징 관련 피드백 및 평점