Conversation
- 차단 지점 전용 이벤트 2종 신설: guest_block_view · guest_block_cta_click - 원인: 배너는 지나가다 보는 것, 차단은 하려다 막힌 순간이라 전환 의도가 다름 - 결과: 기존 배너 이벤트·location 값 무변경, 배너 클릭률 지표 오염 없음 - location 값 7종을 consts/guestBlockLocation 한곳에 정의 - 원인: 지점별 문자열 하드코딩 방지 - LoginRequired 에 계측 내장, location 을 필수 prop 으로 주입 - 원인: 차단 화면 6곳이 이 컴포넌트를 공유 - 결과: 노출·클릭 로깅이 한 곳, 누락은 타입 체크가 검출 - 그룹 결과 마스킹은 개별 계측 - 원인: LoginRequired 가 아닌 자체 링크 구조 - 차단 지점에서 로그인 유입 지점을 세션에 기록 - 결과: 가입 완료 이벤트의 source 로 이어져 지점별 전환율 산출 - 참조: #668 에서 만든 loginSource 유틸 재사용 - loginSource 화이트리스트에 차단 지점 값 추가 - 원인: 미등록 값은 읽을 때 걸러져 가입 이벤트에 안 실림
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (11)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough게스트 차단 위치 상수와 전용 분석 이벤트를 추가했다. Changes게스트 차단 계측
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant GuestBlockUI
participant LoginRequired
participant Analytics
participant LoginSource
GuestBlockUI->>LoginRequired: location을 전달해 렌더링
LoginRequired->>Analytics: GUEST_BLOCK_VIEW 기록
GuestBlockUI->>LoginRequired: 로그인 CTA 클릭
LoginRequired->>Analytics: GUEST_BLOCK_CTA_CLICK 기록
LoginRequired->>LoginSource: location 저장
Merge Risk: ⚪ Minimal · up to Guest-block views and login CTA clicks are recorded with their configured locations, and the selected location is forwarded to signup completion without local validation failures. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation 직접 연결된
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
apps/web/src/app/archive/tournament/layout.tsxESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox. apps/web/src/app/archive/wish/layout.tsxESLint skipped: the matched ESLint configuration already failed (missing-dependency). apps/web/src/app/home/_components/AddWishHomeDialog.tsxESLint skipped: the matched ESLint configuration already failed (missing-dependency).
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
작업 요약
작업 세부 내용
배너와 분리된 이벤트 신설
배너에는 이미 계측이 있었지만 차단 화면은 전부 무계측이었습니다. 기존 배너 이벤트에 location만 늘려 섞으면, 성격이 다른 두 행동이 한 차원에 담겨 측정 중인 배너 클릭률이 오염됩니다.
기존 배너 이벤트와 location 값은 한 줄도 바꾸지 않았습니다.
차단 지점 7곳
값 목록은
consts/guestBlockLocation.ts한 곳에 정의해 지점별 하드코딩을 막았습니다.로깅을 공통 컴포넌트에 내장
차단 화면 6곳이
LoginRequired하나를 공유하고 있었습니다. 노출·클릭 로깅을 그 안에 넣고location을 필수 prop 으로 받게 했습니다.그룹 결과 마스킹은
LoginRequired가 아닌 자체 링크 구조라 개별로 달았습니다.가입 전환까지 연결
이슈의 "여력이 되면" 항목입니다. #668 에서 만든 유틸이 있어 추가 비용이 거의 없었습니다.
차단 지점에서 로그인을 누르면 유입 지점을 세션에 남기고, 가입 완료 이벤트의
source로 실어 보냅니다. 지점별 클릭률뿐 아니라 실제 가입 기여를 볼 수 있습니다.그 과정에서
loginSource화이트리스트에 차단 지점 값을 등록했습니다. 미등록 값은 읽을 때 걸러져 가입 이벤트에 실리지 않습니다.범위
GUEST_BLOCK_LOCATION에 값 하나만 추가하면 됩니다배포 시 확인
location이 이벤트 범위 맞춤 측정기준으로 등록돼 있어야 지점별로 분해됩니다. 배너 때 등록했다면 같은 파라미터명이라 그대로 동작합니다연관 이슈
closes #652
Summary by CodeRabbit