Repository navigation
Closed
Labels
상태: 운영배포프로덕션 배포 완료프로덕션 배포 완료영역: 프론트엔드프론트엔드프론트엔드유형: 기능새로운 기능새로운 기능자동화: 종결후보AI가 종결 가능하다고 판단한 사람 확인 대상 이슈AI가 종결 가능하다고 판단한 사람 확인 대상 이슈주관: 프론트엔드다음 작업 주관: Product/Admin 프론트엔드다음 작업 주관: Product/Admin 프론트엔드
Description
배경
Product FE main의 /bartender-note 리뷰 작성은 ReviewApi.registerReview로 저장하고 GA4 write_review_start·write_review_complete를 전송한다. 반면 서버 캠페인 콘텐츠 이벤트(VIEW·START·FINISH·RESULT)는 이 리뷰 흐름에서 호출하지 않아, 캠페인 콘텐츠 지표에서 리뷰 진입·작성·완료를 따로 측정할 수 없다.
FE 요청 범위
- 바텐더 노트의 리뷰 작성 흐름 전용 캠페인 콘텐츠 코드를 사용한다. 후보 코드는
bartender-note-review이며, 최종 코드는 기존 등록값을 확인해 확정한다.whiskey-mbti·whiskey-tarot나 바텐더 추천 흐름의bartender-note-type-d와 섞지 않는다. - Product의 기존
POST /api/v1/campaign-contents/{code}/events계약과 공용 이벤트 전송 패턴을 재사용하고, FE 코드 타입/호출 지점을 확장한다. - 이벤트 시점을 리뷰 흐름 기준으로 연결한다:
VIEW는 리뷰 작성 흐름 진입,START는 실제 리뷰 작성 시작(모드 선택),FINISH는 리뷰 저장 성공,RESULT는 로그인 상태에서 리뷰 작성 완료 화면 노출. 추천 결과 조회나 위스키 상세 이동은 리뷰의RESULT로 세지 않는다. FINISH는 리뷰가 저장됐다면 별점 저장만 실패해도 전송하며, 이미지 업로드·리뷰 저장 실패에는 전송하지 않는다.RESULT는 완료 화면을 실제로 보여준 경우에만 전송한다.- 진행 중 로그인 이동·복귀, 새로고침, 뒤로 가기, 중복 클릭 시 같은 진행의
START·FINISH·RESULT를 중복 전송하지 않는다. 새 리뷰 작성 진행은 별도로 측정한다. - 기존 리뷰 작성·로그인·GA4 이벤트는 유지한다. 측정 요청 실패는 리뷰 저장과 화면 이동을 막지 않는다.
선행 확인
- 관리자 캠페인 콘텐츠에 해당 리뷰 전용 코드가 등록·활성화됐는지 확인해야 한다. 미등록/비활성 코드는 서버가 거절하므로, FE 코드만 배포해도 지표가 쌓이지 않는다. 이 이슈는 관리자 데이터 생성이나 백엔드 API 변경을 승인하지 않는다.
VIEW를 어느 진입점에서 한 번 보낼지와RESULT의 화면 노출 기준을 FE 흐름 테스트에서 명확히 고정한다. 리뷰 작성은 이미 로그인이 필요하므로 기존 로그인 정책을 변경하지 않는다.
완료 기준
- 리뷰 전용 코드가 MBTI·타로·바텐더 추천 코드와 구별되어 전송되고, 등록·활성화 선행 조건을 확인한다.
- 리뷰 흐름의 네 이벤트가 위 시점에 전송되며, 저장 실패/별점만 실패/로그인 복귀/재방문/새 진행의 경계를 테스트한다.
- 이벤트 API 실패가 리뷰 저장·완료 UI를 막지 않고 기존 GA4 추적도 유지한다.
- 개발 환경에서 이벤트 수집 응답과 관리자 지표의 리뷰 전용 코드 구분을 확인한다. 응답 성공과 실제 지표 반영은 구분해 기록한다.
관련 이슈
- [BE] 캠페인 콘텐츠 스키마 확장 및 어드민·프로덕트 API 추가 #471 —
[BE] 캠페인 콘텐츠 스키마 확장 및 어드민·프로덕트 API 추가(Closed): 공용 캠페인 콘텐츠 API 계약. - [FE] 캠페인 콘텐츠 관리 화면 추가 및 참여 이벤트 연동 #472 —
[FE] 캠페인 콘텐츠 관리 화면 추가 및 참여 이벤트 연동(Closed): MBTI·타로의 기존 FE 전송 패턴. - [FE] 퍼니리뷰 — 바텐더 추천 기능 UI·연동 #527 —
[FE] 퍼니리뷰 — 바텐더 추천 기능 UI·연동(Open):bartender-note-type-d추천 흐름 측정이며, 이 리뷰 작성 측정과 별도.
제외
백엔드 스키마·API 변경, 추천/큐레이션 흐름 측정 변경, 기존 MBTI·타로 이벤트 변경, 관리자 데이터 등록 및 캠페인 발송/푸시.
Metadata
Metadata
Assignees
Labels
상태: 운영배포프로덕션 배포 완료프로덕션 배포 완료영역: 프론트엔드프론트엔드프론트엔드유형: 기능새로운 기능새로운 기능자동화: 종결후보AI가 종결 가능하다고 판단한 사람 확인 대상 이슈AI가 종결 가능하다고 판단한 사람 확인 대상 이슈주관: 프론트엔드다음 작업 주관: Product/Admin 프론트엔드다음 작업 주관: Product/Admin 프론트엔드
Activity
hyejj19 commentedon Nov 3, 2026
bottle-note/bottle-note-frontend#926 로 구현해 main에 머지했습니다. 본문 기준에서 범위와 이벤트 시점이 바뀌어, 실제 구현 기준을 정리합니다.
범위
리뷰만이 아니라 바텐더 노트의 세 흐름을 각각 캠페인으로 측정합니다. 코드는 개발 어드민에 등록·활성화된 값입니다.
bartender-note-recommend(본문의bartender-note-type-d대신)bartender-note-curationbartender-note-review이벤트 시점
위스키 추천해 주세요큐레이션으로 추천해 주세요바텐더님과 함께 리뷰를 쓸게요(로그인 안내 전)리뷰 기준이 본문과 달라진 부분은 다음과 같습니다.
집계 규칙
다른 술도 기록할게요와, 빈 큐레이션·빈 찜 목록에서 추천으로 넘어가는 경우는 새 시도로 셉니다.함께 바뀐 것
다른 술도 보여주세요를 누르면 로그인 안내를 띄웁니다. 로그인 후에는 후보 목록을 바로 보여 줍니다. 추천 RESULT가 이 목록 노출입니다.확인 결과
root_admins회원을 제외하는데, 검증 계정이 이에 해당하는 것으로 보입니다. 일반 계정으로 반영되는지는 아직 확인하지 못했습니다.bottlenote-app commentedon Nov 3, 2026
실제 구현 기준 요약
구현: bottle-note/bottle-note-frontend#926. 혜정님 구현 완료 확인 및 PR·
useBartenderCampaign변경 기준입니다.bartender-note-recommend/bartender-note-curation/bartender-note-review로 측정합니다. 기존bartender-note-type-d대신 추천 전용 코드를 사용합니다.리뷰는 원안의 모드 선택 → 저장 성공 → 완료 화면이 아니라 메뉴 선택 → 미리보기 → 등록 성공으로 구현됐습니다.
PR 작성자 검증에서는 이벤트 200 및 개발 어드민 조회·시작·완료 집계를 확인했습니다. 일반 계정의 RESULT 지표 반영은 별도 미확인입니다(검증 계정 root_admins 제외 가능성). 이번 정리는 댓글만 추가하며 본문·상태·종결은 변경하지 않습니다.
bottlenote-app commentedon Nov 7, 2026
릴리즈 PR: bottle-note/bottle-note-frontend#936
릴리즈 포함 기준으로 운영배포를 반영했으며, 사용자 요청에 따라 종결합니다.