Skip to content

chore: GA 이벤트 수집 방법 변경#488

Draft
seongminn wants to merge 46 commits intowip-v2from
ga-event
Draft

chore: GA 이벤트 수집 방법 변경#488
seongminn wants to merge 46 commits intowip-v2from
ga-event

Conversation

@seongminn
Copy link
Copy Markdown
Member

✅ 작업 내용

  • GA 이벤트가 안들어온다고 하셔서 인자 넘기는 방법을 수정해봤습니다.
  • 기획자 분께서 아직 확인을 안해주셔서 드래프트 해놓고 확인 완료되면 승인 요청 드릴게요!

📝 참고 자료

  • 작업한 내용에 대한 부연 설명

♾️ 기타

  • 추가로 필요한 작업 내용

github-actions Bot and others added 17 commits April 1, 2026 14:37
* feat: sportTab ui

* feat: 대회, 팀에도 sportTab 추가

* feat: tab이동 시 sport params를 읽어서 선택 상태 유지

* feat: sportType 추가 및 탭 필터링

* fix: resolve build errors from SportType duplicate export and missing Suspense boundaries

* fix: payload 파라미터 추가 및 불필요한 마운트 제거

* feat: 팀 SportType 추가

* style: sport tab ui수정

* fix: teams API에 sportType 쿼리 파라미터 전달 누락 수정
@seongminn seongminn marked this pull request as draft April 13, 2026 11:50
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 13, 2026

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

Project Deployment Actions Updated (UTC)
manager Ready Ready Preview, Comment Apr 23, 2026 4:05pm
spectator Ready Ready Preview, Comment Apr 23, 2026 4:05pm

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the useTracker hook to accept a single event object instead of rest parameters and updates the sendGAEvent call. Feedback points out that sendGAEvent requires a single object with an event property to function correctly with Google Tag Manager and highlights that the signature change is a breaking change for existing implementations.

Comment thread apps/spectator/src/hooks/useTracker.ts Outdated
Comment on lines +10 to +11
return ({ action, value }: GAEventParams) =>
sendGAEvent('event', `${category} ${action}`, { value });
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

@next/third-parties/google 라이브러리의 sendGAEvent 함수는 내부적으로 window.dataLayer.push를 호출하는 래퍼입니다. GTM(Google Tag Manager)이나 GA4에서 이벤트를 정상적으로 수집하려면 event 속성을 포함한 단일 객체를 인자로 전달해야 합니다. 현재처럼 여러 개의 인자를 개별적으로 전달하면 GTM에서 이벤트를 인식하지 못해 데이터가 누락됩니다.

또한, 함수의 시그니처가 가변 인자(...value)에서 단일 객체({ action, value })로 변경되었습니다. 이 훅을 사용하는 기존 코드들에서 타입 오류나 런타임 에러가 발생할 수 있는 파괴적 변경(Breaking Change)이므로 주의가 필요합니다.

참고로 GA4에서 value 파라미터는 주로 수치형 데이터를 위해 예약되어 있으므로, 문자열 정보를 전달할 때는 다른 파라미터 이름을 사용하거나 이벤트 명에 포함시키는 것이 좋습니다.

Suggested change
return ({ action, value }: GAEventParams) =>
sendGAEvent('event', `${category} ${action}`, { value });
return ({ action, value }: GAEventParams) =>
sendGAEvent({ event: `${category} ${action}`, value });

sungwonnoh and others added 10 commits April 14, 2026 11:18
* feat: organization api 추가

* feat: 학교 선택 드롭다운 ui

* feat: 학교 필터를 경기/리그 목록 API에 적용

* fix: 대회, 팀 탭에서 학교 드롭다운이 가려지는 문제 해결

* refactor: 제미나이 리뷰반영

* refactor: Select UI와 SchoolSelect 도메인 로직 분리

* fix: 타입에러 수정
* feat: organization api 추가

* feat: 학교 선택 드롭다운 ui

* feat: 학교 필터를 경기/리그 목록 API에 적용

* fix: 대회, 팀 탭에서 학교 드롭다운이 가려지는 문제 해결

* refactor: 제미나이 리뷰반영

* feat: 생성된 대회가 없을때 안내 컴포넌트

* fix: emptyState를 추가하여 팀 전적이 없을 때도 사용가능하도록 함

* feat: 단과대별 팀 api 및 전적없는 팀 카드에 EmptyState적용

* fix: 타입 캐스팅

* refactor: 학교 선택 ErrorBoundary 설정

* feat: 생성되지 않은 팀에 대해 emptyTeam ui
* feat: 스코어 보드 추가

* chore: 라우터 프리픽스 통일

* chore: 라우터 프리픽스 통일

---------

Co-authored-by: 노성원 <129041262+sungwonnoh@users.noreply.github.com>
* feat: 스코어 보드 추가

* feat: 타임라인 추가
* feat: 스코어 보드 추가

* feat: 타임라인 추가

* feat: 아이콘 추가

* feat: 타임라인 대응
* feat: sportType 추가

* feat: ui에 sportType 추가

* style: 종목선택 ui변경

* feat: 리그생성시 해당 종목에 속하는 팀만 보이도록

* style: 대회관리에서 ui깨짐 문제 해결

* fix: 현재 폼의 sportType을 제출하도록 수정
* feat: sportType 추가

* feat: ui에 sportType 추가

* style: 종목선택 ui변경

* feat: 리그생성시 해당 종목에 속하는 팀만 보이도록

* style: 대회관리에서 ui깨짐 문제 해결

* fix: 현재 폼의 sportType을 제출하도록 수정

* feat(manager): 종목별 라우팅 분리 (#491)

* feat: 종목 구분에 따른 라우팅 변경

* feat: 농구 타임라인 파일생성

* chore: 상태변경 sheet 내용 삭제

* fix: 빌드에러 수정
* fix: 라운드 명칭 변경

* feat: 농구 라인업 인원수 제한

* style: 경기 생성,수정 팀선택 ui변경

* fix: 경기 수정 시 폼 유효성로직 수정

* fix: 경기 생성, 수정 필드 변경

* fix: videoId required 제거

* chore: 축구 라운드도 32강을 예선으로 변경

* feat: 축구,농구 라인업 인원 지정
* fix: 라운드 명칭 변경

* feat: 농구 라인업 인원수 제한

* style: 경기 생성,수정 팀선택 ui변경

* fix: 경기 수정 시 폼 유효성로직 수정

* fix: 경기 생성, 수정 필드 변경

* fix: videoId required 제거

* chore: 축구 라운드도 32강을 예선으로 변경

* feat: 축구,농구 라인업 인원 지정

* feat: 농구 경기진행 로직 변경 (#497)

* feat: 농구 득점 추가

* feat: 농구 파울 추가

* feat: 농구 교체 추가

* refactor: 팀선택 공통 컴포넌트화

* feat: 농구 상태변경 추가

* feat: 상태 변경 관련 알럿 추가

* fix: 제미나이 리뷰 반영
seongminn and others added 15 commits April 18, 2026 22:54
* fix: 라우팅 문제 해결

* refactor: 라우팅 구조 전면 개편

* fix: ts error

* chore: calendar 메뉴 제거

* fix: 탭 리로딩 분리

* chore: 불필요한 비동기 선언 제거

* chore: remove id
* fix: 라우팅 문제 해결

* refactor: 라우팅 구조 전면 개편

* fix: ts error

* chore: calendar 메뉴 제거

* fix: 탭 리로딩 분리

* fix: 예상치 못한 라운드 발생 방지

* fix: 2강 제거
* refactor: png to webp

* feat: fallback 이미지 및 점수 추가

* refactor: CheerVS에도 fallback 이미지 추가

* fix: 선수 id가 없는 경우를 위해 uuid 추가

* fix: 이미지 이름 변경

* fix: 이미지 ratio 조정

* fix: 중복 클래스명 제거

* fix: image 비율 contain으로 고정
* feat: 매니저 타임라인 UI 수정

* fix: type error
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능

* fix: 리그 라운드 32를 100으로 변경하고 예선으로 표기
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능

* fix: 리그 라운드 32를 100으로 변경하고 예선으로 표기

* feat: 팀 관리 페이지에 tabs 추가
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능

* fix: 리그 라운드 32를 100으로 변경하고 예선으로 표기

* feat: 팀 관리 페이지에 tabs 추가

* fix: 뱃지 문구 수정
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능

* fix: 리그 라운드 32를 100으로 변경하고 예선으로 표기

* feat: 팀 관리 페이지에 tabs 추가

* fix: 뱃지 문구 수정

* refactor: 대회수정 시 종목 고정
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능

* fix: 리그 라운드 32를 100으로 변경하고 예선으로 표기

* feat: 팀 관리 페이지에 tabs 추가

* fix: 뱃지 문구 수정

* refactor: 대회수정 시 종목 고정

* feat: 팀 생성 페이지에 맞게 자동 선택
* fix: 축구 상태변경 수정

* style: 축구 교체, 경고 시트 팀 ui수정

* feat: 축구 어시스턴트 추가

* fix: 득점 선수와 어시스턴트 선수가 같지않도록 수정
* feat: inifiniteQuery로 무한스크롤 구현

* fix: querykey 충돌 해결
* feat: 매니저 타임라인 UI 수정

* fix: type error

* feat: add skills

* chore: 스포츠 타입에 맞게 UI 수정

* fix: 학번 10자리까지 가능

* fix: 리그 라운드 32를 100으로 변경하고 예선으로 표기

* feat: 팀 관리 페이지에 tabs 추가

* fix: 뱃지 문구 수정

* refactor: 대회수정 시 종목 고정

* feat: 팀 생성 페이지에 맞게 자동 선택

* feat: 타임라인 변경사항 대응

* feat: winner 추가
seongminn and others added 2 commits April 24, 2026 00:43
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.

2 participants