테마
Story: GA4 이벤트 트래킹 (업무노트)
메타
| 항목 | 값 |
|---|---|
| Story ID | E-10-S-07 |
| Epic | E-10 업무노트 |
| 상태 | ready-for-dev |
| 우선순위 | P1 |
| 규모 | S |
| 담당 개발자 | 수민 (FE) |
사용자 스토리
As a PO,
I want 업무노트 사용 행태를 GA4로 추적하고 싶다,
So that 조언 적용률과 효과 추적 완료율을 측정할 수 있다.
수락 기준 (Acceptance Criteria)
AC-01: 조언 적용 이벤트
| 항목 | 내용 |
|---|---|
| Given | 사용자가 "적용했어요" 버튼을 클릭할 때 |
| When | 클릭 및 저장 완료 시 |
| Then | click_advice_applied, create_work_note 이벤트가 발생한다 |
AC-02: 효과 추적 이벤트
| 항목 | 내용 |
|---|---|
| Given | 효과 추적이 시작되거나 완료될 때 |
| When | 추적 시작/완료 시점에 |
| Then | start_effect_tracking, complete_effect_tracking 이벤트가 발생한다 |
AC-03: 페이지 뷰 및 상호작용 이벤트
| 항목 | 내용 |
|---|---|
| Given | 업무노트 관련 페이지를 볼 때 |
| When | 타임라인 진입, 카드 펼침, 알림 클릭 시 |
| Then | 각각의 이벤트가 발생한다 |
태스크 분해
Task 1: 조언 적용 이벤트 AC-01
- [ ] 1.1:
click_advice_applied이벤트 구현 - [ ] 1.2:
create_work_note이벤트 구현 (advice_applied / manual)
Task 2: 효과 추적 이벤트 AC-02
- [ ] 2.1:
start_effect_tracking이벤트 구현 - [ ] 2.2:
complete_effect_tracking이벤트 구현
Task 3: 페이지 뷰 및 상호작용 AC-03
- [ ] 3.1:
view_timeline이벤트 구현 - [ ] 3.2:
expand_campaign_notes이벤트 구현 - [ ] 3.3:
click_effect_notification이벤트 구현
Task 4: 추가 이벤트
- [ ] 4.1:
edit_work_note이벤트 구현 - [ ] 4.2:
delete_work_note이벤트 구현
Task 5: 이벤트 검증
- [ ] 5.1: GA4 DebugView에서 이벤트 확인
- [ ] 5.2: 파라미터 검증
이벤트 목록
| 이벤트명 | 트리거 | 파라미터 | 우선순위 |
|---|---|---|---|
click_advice_applied | "적용했어요" 버튼 클릭 | {campaign_id, advice_type, advice_id, ad_type} | P0 |
create_work_note | 업무노트 저장 | {note_id, note_type, target_type, effect_tracking_enabled} | P0 |
start_effect_tracking | 효과 추적 시작 | {note_id, campaign_id, advice_type, before_roas} | P0 |
complete_effect_tracking | 효과 추적 완료 | {note_id, effect_result, roas_change_percent} | P0 |
view_timeline | 타임라인 뷰 진입 | {filter_type, note_count, tracking_count} | P1 |
expand_campaign_notes | 캠페인 카드에서 메모 펼치기 | {campaign_id, note_count} | P1 |
click_effect_notification | 효과 알림 클릭 | {note_id, notification_source} | P1 |
edit_work_note | 업무노트 수정 | {note_id, note_type, edit_field} | P2 |
delete_work_note | 업무노트 삭제 | {note_id, note_type, days_since_created} | P2 |
이벤트 상세 명세
click_advice_applied
javascript
dataLayer.push({
event: "work_note",
event_name: "click_advice_applied",
params: {
campaign_id: "camp_12345",
campaign_name: "봄 신상품",
advice_type: "bidding_down",
advice_id: "adv_67890",
ad_type: "non_search",
current_value: "200",
recommended_value: "120",
is_demo: "N"
}
});create_work_note
javascript
dataLayer.push({
event: "work_note",
event_name: "create_work_note",
params: {
note_id: "note_12345",
note_type: "advice_applied", // advice_applied | manual
target_type: "campaign",
campaign_id: "camp_12345",
advice_type: "bidding_down",
before_value: "200",
after_value: "120",
has_memo: "Y",
effect_tracking_enabled: "Y",
is_demo: "N"
}
});complete_effect_tracking
javascript
dataLayer.push({
event: "work_note",
event_name: "complete_effect_tracking",
params: {
note_id: "note_12345",
campaign_id: "camp_12345",
advice_type: "bidding_down",
effect_result: "positive", // positive | neutral | negative
before_roas: 280,
after_roas: 385,
roas_change_percent: 37.5,
before_profit_per_100: 5,
after_profit_per_100: 18,
is_demo: "N"
}
});view_timeline
javascript
dataLayer.push({
event: "work_note",
event_name: "view_timeline",
params: {
filter_type: "all", // all | campaign | tracking
campaign_id: null,
note_count: 15,
tracking_count: 3,
is_demo: "N"
}
});장사왕 검증 지표 (내부)
이 이벤트 데이터를 통해 측정할 수 있는 내부 지표:
| 지표 | 설명 | 활용 |
|---|---|---|
| 조언별 효과율 | 어떤 조언이 효과적인가 | 조언 로직 개선 |
| 효과 있음 비율 | 조언 중 실제 효과 있는 비율 | 서비스 가치 증명 |
| 조언 신뢰도 | 효과 확인 후 재적용률 | 사용자 신뢰 측정 |
Dev Notes
파라미터 규칙
note_type:advice_applied|manualeffect_result:positive|neutral|negativetarget_type:campaign|keyword|general
의존성
- E-10-S-02: "적용했어요" 버튼 및 입력 모달
- E-10-S-05: 효과 추적 로직
변경 이력
| 날짜 | 변경 내용 |
|---|---|
| 2026-01-26 | 스토리 생성 |
생성일: 2026-01-26
최종 수정: 2026-01-26
