
핵심요약
Karrot은 방대하고 산재된 사용자 이벤트 관리를 위해 'Event Center'라는 UI 기반 플랫폼을 구축했습니다. 표준화된 이벤트 명명 규칙과 함께, UI를 통해 누구나 쉽게 스키마를 정의하고 코드를 자동 생성함으로써 데이터 기반 의사결정의 효율성과 신뢰성을 높였습니다.
Karrot의 사용자 이벤트 관리 플랫폼, Event Center 구축기
문제 상황: 산재된 이벤트 관리와 비효율적인 워크플로우
- 방대한 사용자 이벤트 데이터: 제품 개선 및 데이터 기반 의사결정에 필수적이지만, 로그 스케일 증가로 관리 어려움 증대.
- 코드 기반 스키마 관리의 비효율성: Git 기반 워크플로우는 코딩 지식 요구, 긴 리뷰 사이클, 일관성 없는 이벤트 명명 규칙, 화면 이름 혼동 등 문제 야기.
- 다양한 역할의 어려움: 개발자, 데이터 분석가, 엔지니어 등 각 역할별 데이터 활용 및 관리에 어려움.
해결 방향: 표준화된 이벤트 시스템 및 UI 기반 플랫폼
- 회사 전체 표준 사용자 이벤트 시스템 구축: 모든 팀이 공통 언어를 사용하도록 이벤트 명명 규칙 통일.
- UI 기반 관리 플랫폼 (Event Center) 개발: 코드가 아닌 UI를 통해 누구나 쉽게 스키마 정의, 이벤트 관리.
- CLI 기반 코드 생성: 정의된 스키마를 기반으로 iOS, Android, Webview용 타입 안전 코드 자동 생성.
Event Center 구축 과정
1단계: 회사 전체 이벤트 시스템 개편
- 이벤트 명명 규칙 표준화:
Service → Screen → Action (Event)계층 구조 정의. - 명명 형식:
client_{action}_{service}_{screen}_{object}(snake_case, camelCase 혼용).
2단계: Event Center 플랫폼 개발
- 서비스 관리: Karrot 내 모든 제품 도메인(서비스) 관리 및 이벤트 분류 기준 제공.
- 화면 관리: 화면별 이벤트 등록 및 관리 기능 제공, 중복 화면 이름 문제 해결.
- 사용자 이벤트 정의: UI를 통해 스키마 등록, 네이밍 규칙 자동 적용, BigQuery 테이블 자동 생성.
- QA 기능: 개발자가 자신의 User ID로 실시간 이벤트 수집 여부 및 파라미터 값 검증.
3단계: 타입 안전 코드 생성 (CLI)
- iOS (Swift), Android (Kotlin), Webview (TypeScript) 용 코드 자동 생성.
- IDE 자동 완성 및 타입 체크를 통한 로깅 오류 감소.
주요 성과 및 향후 과제
- 성과: 수동 작업 자동화, 데이터 일관성 및 신뢰성 향상, 팀 간 협업 증진, 개발자 경험 개선.
- 향후 과제: 사용자 경험 개선 (클릭 수 감소, 상태별 화면 등록 개선), 자동화 고도화 (Figma 연동, UI 요소별 이벤트 추적), 분석 도구 확장 (CTR, PV 등 기본 지표 자동 계산, 실험 메트릭 UI 설정).