Skip to content

feat(analytics): 이벤트 역할 분리와 여행방 그룹 계측 - #223

Merged
minbros merged 8 commits into
devfrom
feature/amplitude-min-id-length
Oct 10, 2026
Merged

minbros merged 8 commits into
devfrom
feature/amplitude-min-id-length

Conversation

@minbros

@minbros minbros commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

변경 내용

  • 공통 성과는 양쪽, 랜딩은 GA4, 제품 세부 행동은 Amplitude로 분리했습니다.
  • 가계부·준비물 이벤트를 추가하고 프로젝트 분석 지침을 정리했습니다.
  • 여행방 기능 이벤트를 기존 방 ID로 그룹화했습니다. 검색·페이지 조회 등은 방이 확인된 경우만 연결하며 GA4에는 방 ID를 보내지 않습니다.
  • Amplitude에서 짧은 사용자 ID도 사용할 수 있도록 조정했습니다.
  • 로그아웃 후 익명 행동이 이전 사용자에게 연결되지 않도록 사용자·기기 식별자를 초기화합니다.

변경 이유

  • 유입 성과와 제품 활용을 구분하고 여행방 단위 사용 흐름을 분석하기 위해 필요합니다.
  • 전송 대상이 바뀐 보고서는 배포 이후 조정해야 합니다. Amplitude 그룹 기능 설정과 정확한 신규 참여 판정을 위한 서버 계측은 별도로 필요합니다.
  • 튜토리얼 이벤트도 그룹을 지원하지만 현재 화면에 연결되지 않은 컴포넌트를 새로 활성화하지는 않았습니다.

테스트

  • npm run lint
  • npm test
  • npm run build
  • 그 외 수동 검증: 배포 후 운영 계정 수신 확인

저장 성공·실패, 동의 철회, 비동기 작업 중 방 전환, 조회 중복과 GA4의 방 ID 제외를 자동 검증했습니다.

- 공통 성과, 제품 세부 행동, 랜딩 이벤트의 전송 대상 분리
- 가계부와 준비물의 성공 행동 및 정산 요약 조회 기록
- 프로젝트 분석 지침과 이벤트 규약 정리
@vercel

vercel Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
frontend-server Ready Ready Preview Oct 10, 2026 8:37am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: df27c265-b1e9-4567-824b-d67f90529d33







📥 Commits

Reviewing files that changed from the base of the PR and between 36895e8 and 674fb18.








📒 Files selected for processing (27)
  • AGENTS.md
  • docs/analytics/amplitude-operations.md
  • docs/analytics/amplitude-tracking-plan.md
  • docs/analytics/ga4-operations.md
  • docs/analytics/landing-events.md
  • docs/superpowers/plans/2026-10-10-analytics-destinations.md
  • src/app/(main)/member-settings/_components/AddMemberPanel.analytics.test.tsx
  • src/app/(main)/member-settings/_components/AddMemberPanel.tsx
  • src/app/join/[inviteCode]/page.tsx
  • src/components/expenses/ExpensePanel.tsx
  • src/components/expenses/ExpenseProvider.test.tsx
  • src/components/expenses/ExpenseProvider.tsx
  • src/lib/analytics/amplitude.test.ts
  • src/lib/analytics/amplitude.ts
  • src/lib/analytics/client-queue.test.ts
  • src/lib/analytics/client.test.ts
  • src/lib/analytics/client.ts
  • src/lib/analytics/event-destinations.ts
  • src/lib/analytics/event-routing.test.ts
  • src/lib/analytics/landing-delivery.test.ts
  • src/lib/analytics/room-groups.test.ts
  • src/lib/analytics/track.test.ts
  • src/lib/analytics/track.ts
  • src/lib/join-room-completion.test.ts
  • src/lib/join-room-workflow.ts
  • src/lib/packing/coordinator.test.ts
  • src/lib/packing/coordinator.ts







Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.









📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

이벤트별 목적지에 따라 GA4와 Amplitude 전송 경로를 구분했습니다. 지출·정산·준비물·여행방 이벤트를 추가하고, 성공 여부와 세션·동의 상태에 따른 기록 조건을 적용했습니다.

Changes

분석 이벤트 라우팅

Layer / File(s) Summary
이벤트 계약과 목적지 라우팅
src/lib/analytics/*, docs/analytics/*, docs/superpowers/plans/*, AGENTS.md
이벤트 이름별 목적지 매핑과 GA4·Amplitude 전송 처리를 추가했습니다. 동의, 대기열, 초기화 및 전송 예외를 테스트하고, 운영·추적 문서를 갱신했습니다.
여행방 공유·가입 이벤트
src/app/(main)/member-settings/_components/AddMemberPanel*, src/app/join/[inviteCode]/page.tsx, src/lib/join-room-*, src/lib/analytics/amplitude.ts, src/lib/analytics/room-groups.test.ts, docs/analytics/*
공유·가입 분석에 정규화한 room_id를 포함하고, 유효한 ID를 Amplitude 그룹으로 전달합니다. GA4 전송에는 방 ID를 포함하지 않도록 했습니다.
지출·예산·정산 계측
src/components/expenses/ExpensePanel.tsx, src/components/expenses/ExpenseProvider*
지출 생성·수정·삭제와 예산 저장은 쓰기 성공 후 기록합니다. 세션·방 범위가 무효화된 응답은 기록하지 않습니다. 정산 요약 이벤트는 성공한 요약이 표시될 때 기록합니다.
준비물 항목 계측
src/lib/packing/coordinator*
확인된 항목 추가와 실제 체크 상태 전환에 이벤트를 기록합니다. 실패·불확실한 쓰기, 중복 요청, 조회 및 이름 변경은 기록하지 않습니다.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~30 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant Client as sendAnalyticsDataCommand
  participant Routing as Event destination mapping
  participant Amplitude as Amplitude
  participant GAQueue as GA4 queue
  participant GA4 as GA4
  Client->>Routing: resolve event destination
  Routing-->>Client: return destination
  Client->>Amplitude: send supported event
  Client->>GAQueue: queue GA4 event when GA4 is not ready
  GAQueue->>GA4: deliver queued event when enabled
  Client->>GA4: send GA4 event without room_id
Loading






















Merge Risk: ⚪ Minimal · up to 674fb

No concrete issue currently blocks merging. Complete the pending build and deployment checks as planned.

Pre-merge checks | Passed 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed 제목은 GA4와 Amplitude의 역할 분리 및 여행방 그룹 계측이라는 주요 변경을 구체적으로 요약합니다.
Description check Passed 변경 내용, 변경 이유, 테스트 섹션을 모두 포함합니다. 린트와 테스트 완료 여부도 명시되어 있습니다. 빌드와 배포 후 수동 검증은 아직 완료되지 않았지만, 설명은 전반적으로 충분합니다.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

토끼가 이벤트 길을 따라 깡충
공통 신호는 두 목적지로 가고
제품 행동은 알맞은 곳에 닿네
성공한 기록만 살며시 남기고
방 ID는 약속된 곳에만 놓고
토끼는 새 분석 길을 축하하네

Comment @coderabbitai help to get the list of available commands.

- 기능별 작업 대상 방을 이벤트 그룹으로 전달하고 GA4에서는 제외
- 검색 시작 문맥과 페이지 조회의 방 전환을 구분
- 프로젝트 지침과 그룹 귀속 회귀 테스트 보강
@minbros minbros changed the title feat(analytics): GA4·Amplitude 역할 분리와 기능 이벤트 보강 feat(analytics): 이벤트 역할 분리와 여행방 그룹 계측 Oct 10, 2026
@sonarqubecloud

Copy link
Copy Markdown

@minbros
minbros merged commit 8c7166e into dev Oct 10, 2026
3 of 4 checks passed
@minbros
minbros deleted the feature/amplitude-min-id-length branch October 10, 2026 08:43

This branch was successfully deployed

1 active deployment
Preview — 239c0ef1 Deployed Oct 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant