Skip to content

[Feat] #417 - GA4 분석 연동 - #418

Merged
jyt6640 merged 4 commits into
developfrom
feat/#417-ga4-analytics
Aug 22, 2026
Merged

jyt6640 merged 4 commits into
developfrom
feat/#417-ga4-analytics

Conversation

@jyt6640

@jyt6640 jyt6640 commented Aug 22, 2026

Copy link
Copy Markdown
Member

작업 내용

  • Google Analytics 4 Google tag를 VITE_GA_MEASUREMENT_ID 환경변수로 연결했습니다.
  • React Router 기반 SPA에서 초기 진입과 경로 변경마다 page_view를 전송합니다.
  • send_page_view: false로 자동 history page view를 끄고, 앱 라우터가 한 번씩만 수동 전송하도록 구성했습니다.
  • 기존 API, 인증, 권한, Vercel Analytics, 사용자 입력 흐름은 변경하지 않았습니다.

변경 이유

  • yANUs Groupware의 실제 화면 사용 흐름을 GA4에서 확인할 수 있어야 합니다.
  • Measurement ID와 analytics 스크립트를 코드에 하드코딩하지 않고 배포 환경에서 주입합니다.
  • 페이지 경로·제목·origin만 전송하고 입력값, 토큰, API 응답 데이터는 이벤트 파라미터에 포함하지 않습니다.

상세 변경 사항

  • GA4 Measurement ID 형식 파싱 및 미설정 fallback
  • Google tag script 지연 로드와 dataLayer 초기화
  • 초기 page_view 및 React Router SPA 이동 추적
  • 동일 경로 중복 page_view 방지
  • G-... Measurement ID 환경변수 예시를 .env.example와 README에 문서화
  • RED → GREEN 테스트와 route tracker 테스트 추가
  • Vercel Production/Preview 환경에 VITE_GA_MEASUREMENT_ID 등록

범위 밖:

  • GA4 속성 생성, 보고서/이벤트 설정, 개인정보처리방침·동의 배너는 이번 코드 변경 범위에 포함하지 않았습니다.
  • Vercel CLI 인증 토큰 만료로 원격 환경변수 등록은 아직 수행하지 못했습니다.

테스트

  • npm run test:run: 64개 파일, 463개 테스트 통과
  • npm run build 통과
  • 변경 파일 대상 npx eslint 통과
  • 전체 npm run lint: 기존 baseline 오류 24개와 경고 4개
  • Chromium smoke: GA script 1개, /login → /register page_view 2건, document width 1280
  • Measurement ID 주입 환경에서 dataLayer config와 page_view payload 확인

리뷰 포인트

  • send_page_view: false와 React Router 수동 추적의 중복 방지
  • StrictMode에서도 초기 page_view가 한 번만 기록되는 client dedupe
  • 환경변수 미설정 시 외부 script가 로드되지 않는 fallback
  • page_location/page_path에 사용자 입력·토큰이 유입되지 않는지 확인
  • Vercel Production/Preview 환경변수 등록 후 Tag Assistant 또는 GA4 Realtime 검증

관련 이슈

closes #417

develop 머지 후 이슈는 검증 코멘트와 함께 완료 처리합니다. 기존 release PR #416은 develop 반영 후 GA4 커밋을 포함하도록 갱신됩니다.

- Measurement ID 파싱과 script/dataLayer 동작 검증\n- SPA 라우트 이동별 page_view 중복 방지 검증
- 환경변수 기반으로 Google tag를 지연 로드하고 초기 자동 page_view를 비활성화\n- React Router 경로 변경마다 개인정보 없이 page_view를 전송
- Vercel과 로컬 환경에서 사용할 Measurement ID 변수 추가\n- Google Analytics 4 설정 위치를 README에 기록
@vercel

vercel Bot commented Aug 22, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
yanus-groupware Ready Ready Preview Aug 22, 2026 3:25am

- GoogleAnalyticsCommand union을 tuple index assertion으로 검증\n- CI의 fresh TypeScript build에서도 테스트 타입을 통과하도록 정리
@jyt6640
jyt6640 merged commit 98d9771 into develop Aug 22, 2026
3 checks passed
@jyt6640 jyt6640 mentioned this pull request Aug 22, 2026
10 of 12 tasks

This branch was successfully deployed

1 active deployment
Preview — ca221061 Deployed Aug 22, 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