Skip to content

Epic Spec: E-12 Keyword Analysis (Deep Layer)

메타

항목
Epic IDE-12
SprintS52
상태approved
PO 승인일2026-01-28
담당수민 (FE), 하록 (BE)

1. WHY: 왜 이 기능이 필요한가?

문제 정의

셀러는 "어떤 키워드가 광고비를 까먹는지" 알고 싶다. 현재는 쿠팡 광고센터 → 엑셀 export → 수동 분석을 해야 하는데, ROAS만 봐서는 진짜 남는 돈을 알 수 없다.

[현재 셀러의 워크플로우]

1. 쿠팡 광고센터 접속
2. 키워드별 데이터 엑셀 export
3. CPC 높고 전환율 낮은 순으로 정렬
4. 제외할 키워드 선택
5. 다시 쿠팡 광고센터로 돌아가서 제외 키워드 등록

→ 번거롭고, ROAS만으로는 "진짜 남는 돈"을 알 수 없음
[쿠팡 광고센터의 한계]

쿠팡: "이 키워드 ROAS 300%입니다"
셀러: "그래서 돈 번 거야 잃은 거야?"
      → 마진율 모르면 판단 불가
      → 마진율 20% 셀러는 ROAS 300%여도 손해
      → 마진율 40% 셀러는 ROAS 300%면 이득

장사왕만의 해자: 순이익 기반 분석

장사왕은 셀러의 **원가(마진율)**를 알고 있다. 따라서 ROAS가 아닌 순이익 기준으로 키워드를 평가할 수 있다.

셀러 질문쿠팡 광고센터장사왕 키워드 탭
이 키워드 돈 버나?ROAS 300%... 좋은 건가?순이익 -2만원 (빨간색)
검토할 키워드는?CPC↑ CVR↓ 정렬 (감으로 판단)순이익 낮은순 정렬 (명확)
광고비 어디로 새나?광고비 높은순... 근데 매출도 높으면?광고비 비중↑ + 순이익↓ 조합

핵심 가치 한 줄

"ROAS가 아니라 순이익으로 키워드를 본다"

타겟 사용자: Deep Layer vs Surface Layer

구분Surface LayerDeep Layer (키워드 탭)
대상초보 셀러숫자 보는 게 익숙한 셀러
원하는 것"뭐 해야 돼?" (판단)"데이터 보여줘" (분석)
제공 방식진단 + 권장 액션테이블 + 정렬/필터
역할판단을 대신해줌데이터 제공, 셀러가 직접 판단

기대 효과

  1. 엑셀 export 불필요: 한 화면에서 바로 정렬/분석
  2. 순이익 기반 검토: 쿠팡에서 못 보는 "진짜 남는 돈" 확인
  3. Deep Layer 완성도 향상: 4개 탭 중 마지막 미구현 탭 완료

2. WHAT: 상세 요구사항

핵심 기능

#기능설명필수 여부
1키워드 목록 테이블캠페인 내 키워드별 성과 지표 표시 (순이익 강조)필수
2정렬 기능순이익/광고비/ROAS 등 정렬필수
3페이지네이션키워드 수가 많을 경우 페이지 분할필수
4제외키워드 관리제외할 키워드 선별 → 클립보드 복사 → 쿠팡 등록 지원필수

Note: Status Badge (🟢🟡🔴)는 Deep Layer 철학에 맞지 않아 제외. Deep Layer는 판단을 제공하지 않고 데이터만 제공.

비즈니스 로직

로직 1: 키워드별 지표 계산

[표시 지표 - 디자인 화면 기준]

기본 지표:
- 키워드명
- 노출수 (exposureCount)
- 클릭수 (clickCount)
- 광고비 (adCost)
- 광고비 비중 (%) = 해당 키워드 광고비 / 캠페인 총 광고비 × 100
- CPC = 광고비 / 클릭수
- 전환율 (CVR) = 주문수 / 클릭수 × 100
- 주문수 (orders)
- ROAS = 전환매출 / 광고비 × 100
- 광고 순이익 = 전환매출 - 원가 - 광고비×1.1
- 순이익 비중 (%) = 해당 키워드 순이익 / 캠페인 총 순이익 × 100
- 판매수량 (quantity)

로직 2: 데이터 소스

sql
-- CoupangAdKeywordDaily 테이블
SELECT
  keyword,
  SUM(exposureCount) as impressions,
  SUM(clickCount) as clicks,
  SUM(adCost) as spend,
  SUM(orders) as orders,
  SUM(quantity) as quantity,
  SUM(conversionAmount) as revenue
FROM CoupangAdKeywordDaily
WHERE vendorId = ?
  AND campaignId = ?
  AND adDate BETWEEN ? AND ?
GROUP BY keyword
ORDER BY adCost DESC;

로직 3: 정렬 옵션

[정렬 기준]
- 순이익 낮은순 (기본값) - 검토가 필요한 키워드부터
- 광고비 높은순 - 비용 기여 큰 키워드부터
- ROAS 낮은순
- 노출수 높은순
- 클릭수 높은순

로직 4: 컬럼 우선순위

우선순위컬럼이유
P0순이익핵심 차별화. 양수=파랑, 음수=빨강 색상 강조
P0광고비비용 규모 파악
P0광고비 비중 (%)전체 대비 비중
P1ROAS기존에 익숙한 지표 (참고용)
P1CPC입찰가 조정 판단 기준
P1전환율 (CVR)키워드 품질 판단
P2노출수, 클릭수, 주문수, 판매량상세 분석용

로직 5: 제외키워드 관리

[로컬 탭 구조]
┌──────────────────────────────────┐
│ [전체 키워드] │ [제외 키워드]     │
└──────────────────────────────────┘

[전체 키워드 탭]
- 모든 키워드 표시
- 제외키워드로 등록된 키워드에 "제외" 뱃지 표시
- 멀티셀렉트 → "제외키워드 등록" 버튼

[제외 키워드 탭]
- 제외키워드로 등록된 키워드만 표시
- 멀티셀렉트 → "복사하기" 버튼 → 클립보드에 쉼표(,) join 복사
- 멀티셀렉트 → "삭제" 버튼 → 제외키워드에서 해제
[사용자 플로우: 제외키워드 쿠팡 등록]

1. 장사왕 키워드 탭 진입
2. 순이익 낮은순 정렬
3. 검토 필요한 키워드 분석
4. 제외할 키워드 멀티셀렉트
5. "제외키워드 등록" 클릭
6. 제외키워드 탭 이동
7. 등록할 키워드 멀티셀렉트
8. "복사하기" 클릭 → 클립보드에 "키워드1,키워드2,키워드3" 복사
9. 쿠팡 광고센터 이동 (외부)
10. 해당 캠페인의 제외키워드 등록 화면에서 붙여넣기

Note: 제외키워드 데이터는 장사왕 DB에 저장. 쿠팡 API 연동 아님 (수동 등록 지원).

로직 6: 셀러 의사결정 프레임워크 (참고)

Deep Layer는 판단을 제공하지 않음. 아래는 셀러가 스스로 적용하는 분석 프레임워크.

순이익광고비 비중의미셀러 검토 포인트
➕ 흑자높음수익 기여 큼유지
➕ 흑자낮음수익 기여하나 규모 작음확대 검토
➖ 적자높음비용 기여 큼메인 키워드인가? 아니면 제거?
➖ 적자낮음비용 기여 작음관찰 or 제거

중요: 적자 = 나쁜 것이 아님. 적자 = 검토 필요.

예시: "생수" 키워드가 적자여도 메인 키워드라 빼면 노출 자체가 안 됨 → 유지 판단 가능

사용자 시나리오

시나리오 1: 검토 필요한 키워드 파악

1. 셀러가 캠페인 상세 페이지에서 "키워드" 탭 클릭
2. 기본 정렬 "순이익 낮은순"으로 검토 필요한 키워드가 상단에 표시
3. "봄 신상품" 키워드: 순이익 -5만원, 광고비 15만원
4. 셀러 판단: "이건 메인 키워드니까 유지하고, 입찰가만 조정하자"
5. "여름특가" 키워드: 순이익 -3만원, 광고비 8만원
6. 셀러 판단: "이건 롱테일 키워드인데 적자네. 제외하자"

→ 같은 적자 키워드여도 비즈니스 맥락에 따라 셀러가 다르게 판단
시나리오 2: 확대 기회 키워드 발견

1. 셀러가 정렬을 "순이익 높은순"으로 변경
2. "여름 원피스" 키워드: 순이익 +8만원, 광고비 비중 5%
3. 셀러: "흑자인데 광고비 비중이 낮네? 더 밀어볼까?"
4. 입찰가를 올려서 노출 확대 검토
시나리오 3: 기존 엑셀 워크플로우 대체

Before:
1. 쿠팡 광고센터 → 엑셀 export
2. 원가 데이터 붙이기
3. 순이익 계산 컬럼 추가
4. 정렬해서 분석

After:
1. 장사왕 키워드 탭 진입
2. 순이익 낮은순 정렬 (이미 되어있음)
3. 바로 분석 시작

3. HOW: 플로우 & 화면

페이지 구조

[캠페인 상세 - 키워드 탭]
┌─────────────────────────────────────────────────────────────────┐
│ 🔝 Header (GNB)                                                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│ ← 캠페인 목록 | 2025 봄 시즌 기획전                               │
│                                                                  │
│ 기간: [2025.03.11 ~ 2025.04.10]                [조회] [↻]       │
│                                                                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ [개요] [검색/비검색] [옵션] [키워드✓]                         │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ [전체 키워드] [제외 키워드]                    ← 로컬 탭      │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 정렬: [순이익 낮은순 ▼]    [제외키워드 등록]  🔍 키워드 검색 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │☑│키워드  │상태│노출수│클릭│광고비│광고비%│CPC│전환율│주문│...│ │
│ ├─────────────────────────────────────────────────────────────┤ │
│ │☑│봄신상  │제외│ 907 │ 80 │15,107│ 24.6%│189│ 4.69%│  4 │...│ │
│ │☐│봄원피스│    │ 887 │ 864│10,844│ 17.6%│ 13│ 4.86%│  5 │...│ │
│ │☑│여름신상│    │ 307 │ 55 │10,197│ 16.6%│185│ 0.05%│  2 │...│ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ [◀ 1 2 3 4 5 ▶]                              10 | 20 | 50 | 100 │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

[제외 키워드 탭]
┌─────────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ [전체 키워드] [제외 키워드✓]                                  │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 2개 선택됨              [복사하기] [제외 해제]               │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │☑│키워드    │등록일      │노출수│클릭│광고비│순이익│...      │ │
│ ├─────────────────────────────────────────────────────────────┤ │
│ │☑│봄신상    │2025.03.20 │ 907 │ 80 │15,107│-4,891│...      │ │
│ │☑│여름특가  │2025.03.22 │ 307 │ 55 │10,197│-5,891│...      │ │
│ │☐│할인세일  │2025.03.25 │ 120 │ 12 │ 2,400│  -891│...      │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ 💡 복사하기 클릭 시 "봄신상,여름특가"가 클립보드에 복사됩니다.   │
│    쿠팡 광고센터 > 캠페인 > 제외키워드 등록에서 붙여넣기 하세요. │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

디자인 요청사항

항목내용
디자인 화면~/Downloads/deep-layer-keyword-tab.png 참고
톤앤매너기존 Deep Layer 캠페인 상세 테이블과 동일
컬러순이익 양수=파랑, 음수=빨강
담당차봉희 이사님

4. EDGE: 예외 & 엣지 케이스

데이터 예외

상황처리 방법
키워드 데이터 없음"등록된 키워드가 없습니다" 표시
기간 내 데이터 0건"선택한 기간에 키워드 데이터가 없습니다" 안내
원가 미입력ROAS만 표시, 순이익은 "-" 또는 "원가 입력 필요"
클릭 0 (CPC 계산 불가)CPC = "-" 표시
광고비 0 (ROAS 계산 불가)ROAS = "-" 표시

사용자 예외

상황처리 방법
비검색 광고만 운영 (키워드 없음)"이 캠페인은 키워드 광고가 없습니다" 안내
모바일 접속수평 스크롤 또는 핵심 컬럼만 표시

제외키워드 예외

상황처리 방법
제외키워드 0개제외 키워드 탭에 "등록된 제외키워드가 없습니다" 안내
이미 제외 등록된 키워드 재등록 시도무시 (중복 등록 방지)
복사할 키워드 미선택"복사하기" 버튼 비활성화

시스템 예외

상황처리 방법
API 타임아웃"잠시 후 다시 시도해주세요" + 재시도 버튼
키워드 수 1000개+페이지네이션 필수, 초기 로딩 최적화

5. 성공 지표

이 에픽의 성공 기준

지표BeforeTarget측정 방법
키워드 탭 진입률0% (미구현)≥ 30%GA4 (캠페인 상세 진입 유저 중)
키워드 탭 체류 시간-측정 (기준선)GA4

GA4 이벤트 정의

이벤트명트리거파라미터
view_keyword_tab키워드 탭 진입campaign_id, keyword_count, tab_type (all/excluded)
sort_keyword_list정렬 변경sort_by, sort_order
add_excluded_keyword제외키워드 등록campaign_id, keyword_count
copy_excluded_keyword제외키워드 복사campaign_id, keyword_count
remove_excluded_keyword제외키워드 해제campaign_id, keyword_count

6. 의존성 & 제약

기술 의존성

의존 항목상태비고
CoupangAdKeywordDaily 테이블✅ 확인됨키워드별 일별 데이터
키워드 목록 API⏳ 개발 필요BE 신규 개발
기존 캠페인 상세 UI✅ 존재탭 구조 stub 있음

제약 조건

  • 레포: sellerking-web-monolith (메인 앱)
  • 기존 UI: AdsCampaign 컴포넌트의 Keywords 탭 (현재 미구현)
  • 경로: frontend/src/pages/AdsCampaign/Keywords/

참고 파일

frontend/src/pages/AdsCampaign/
├── index.tsx                    # 탭 구조 정의
├── Keywords/                    # 키워드 탭 (미구현)
│   └── (구현 필요)

7. 스토리 목록

Story ID제목규모우선순위담당상태
E-12-S-01키워드 목록 API 개발MP0BEready-for-dev
E-12-S-02키워드 테이블 UI 구현 (순이익 강조)MP0FEbacklog
E-12-S-03정렬/페이지네이션 기능SP0FEbacklog
E-12-S-04GA4 이벤트 트래킹SP1FEbacklog
E-12-S-05제외키워드 관리 APISP0BEbacklog
E-12-S-06제외키워드 관리 UIMP0FEbacklog

Story Point 추정

규모Story합계
M (2pt)S-01, S-02, S-066
S (1pt)S-03, S-04, S-053
총합9 SP

8. QA 체크리스트

기능 테스트

키워드 탭 진입

  • [ ] 캠페인 상세에서 "키워드" 탭 클릭 시 키워드 목록 표시
  • [ ] 탭 전환 시 데이터 정상 로딩

키워드 목록

  • [ ] 캠페인 내 모든 키워드 표시
  • [ ] 컬럼: 키워드, 노출수, 클릭, 광고비, 광고비%, CPC, 전환율, 주문, ROAS, 순이익, 순이익%, 판매량
  • [ ] 숫자 포맷 정상 (천 단위 콤마, %, 원 등)

정렬 기능

  • [ ] 순이익 낮은순 (기본값)
  • [ ] 광고비 높은순/낮은순
  • [ ] ROAS 낮은순/높은순
  • [ ] 노출수 높은순/낮은순

페이지네이션

  • [ ] 10/20/50/100개 선택 가능
  • [ ] 페이지 이동 정상 동작
  • [ ] 총 키워드 수 표시

계산 로직 테스트

  • [ ] CPC = 광고비 / 클릭수
  • [ ] CVR = 주문수 / 클릭수 × 100
  • [ ] ROAS = 전환매출 / 광고비 × 100
  • [ ] 순이익 = 전환매출 - 원가 - 광고비×1.1
  • [ ] 광고비 비중 = 키워드 광고비 / 캠페인 총 광고비 × 100
  • [ ] 순이익 비중 = 키워드 순이익 / 캠페인 총 순이익 × 100

제외키워드 기능 테스트

전체 키워드 탭

  • [ ] 제외키워드 등록된 키워드에 "제외" 뱃지 표시
  • [ ] 멀티셀렉트 → "제외키워드 등록" 버튼 활성화
  • [ ] 제외키워드 등록 성공 시 뱃지 표시 업데이트

제외 키워드 탭

  • [ ] 제외키워드만 표시
  • [ ] 멀티셀렉트 → "복사하기" 버튼 활성화
  • [ ] 복사하기 클릭 → 클립보드에 쉼표(,)로 구분된 키워드 복사
  • [ ] 멀티셀렉트 → "제외 해제" 버튼 활성화
  • [ ] 제외 해제 성공 시 목록에서 제거 + 전체 키워드 탭 뱃지 해제

엣지 케이스 테스트

  • [ ] 키워드 0개 → "등록된 키워드가 없습니다"
  • [ ] 클릭 0 → CPC "-"
  • [ ] 광고비 0 → ROAS "-"
  • [ ] 원가 미입력 → 순이익 "-"
  • [ ] 키워드 100개+ → 페이지네이션 정상 동작
  • [ ] 제외키워드 0개 → "등록된 제외키워드가 없습니다"
  • [ ] 이미 제외된 키워드 재등록 시도 → 무시 (중복 방지)

체크리스트

PO 승인 전 체크

  • [x] 문제 정의가 명확한가?
  • [x] 비즈니스 로직이 구체적인가?
  • [x] 와이어프레임/플로우가 있는가?
  • [x] 엣지 케이스가 정의되었는가?
  • [x] 성공 지표가 측정 가능한가?
  • [x] 기술 의존성이 확인되었는가?

승인

항목확인
PO 승인
승인일2026-01-28
비고스프린트 연장으로 추가된 에픽. 순이익 기반 분석이 핵심 차별화.

변경 이력

날짜변경 내용담당
2026-01-28Epic Spec 초안 작성Oscar
2026-01-28WHY 섹션 상세화: 순이익 기반 분석 가치 정의, 의사결정 프레임워크 추가, Status Badge 제외 (Deep Layer 철학), 기본 정렬 순이익 낮은순으로 변경Simon

작성일: 2026-01-28최종 수정: 2026-01-28 (Simon - 가치 정의 상세화)

장사왕 Product Team