# 데이터 로그 설계

# 데이터 로그 설계 Process

# 로깅 솔루션

  • 무료
    • (웹) Google Analytics 4
    • (앱) Firebase
  • 유료 - 대부분 Product Analytics 도구
    • Amplitude
    • Mixpanel
  • 그 외에도 마케팅 툴들도 로깅을 해야할 경우가 존재함
    • "도구 이름 API Document"를 확인하면 자세한 문서가 존재함

# 클라이언트 로그와 서버 로그

  • 두 로그는 상호 보완적인 관계
  • 클라이언트 로그
    • 앱, 웹 상에서 사용자의 행동
  • 서버 로그
    • API Request, Response 기록
  • 틀리면 안되는 데이터, 돈과 관련된 데이터는 서버 로그로 저장하며 클라이언트 로그는(Firebase) 유실될 수도 있음

# Event와 User Property

  • Event Parameter : 이벤트의 정보
    • “누가, 무엇을, 언제”
      1. Event : 발생한 행위가 무엇인지
      • Click, View, Swipe, Custom Event
      1. Trigger : 어느 시점에 발생하는가?
      • 유저가 특정 행동하는 경우 : Component를 클릭하는 시점
      • 특정 화면이 보이는 경우(로딩이 시작된 경우, 로딩이 완료된 경우)
      • 클라이언트가 서버에 Request하는 시점(API Request)
      1. State : 어떤 상태를 가지는지
      • 어떤 화면인지, 어떤 버튼을 클릭했는지?
      • 그 당시에 클릭한 제품 id, 제품 카테고리 등
      • 이벤트의 파라미터에 기록
  • User Property : 유저가 특정 이벤트를 하는 시점의 유저 정보
    • 특정 Event를 실행하는 시점의 유저 정보
    • 예 : 우리 서비스의 가입일, 인구 통계 정보, 접속한 위치, 멤버십 레벨 등
    • DB에도 있지만, Product Data 분석 도구에서 편의를 위해 기록

# Tracking Plan, Event Taxonomy

  • 데이터 로그 설계에 대한 내용을 공통적으로 저장하는 문서가 필요
  • 공통화된 패턴을 잘 기록하고, 새로운 사람이 와도 확인할 수 있도록 온보딩 문서 작성
  • Event 이름을 어떻게 사용할 것인가?
    • Event와 Component를 같이 쓰는 경우 : click_login_button
      • 분석 도구에서 Event Count를 쉽게 가능
      • Event Name으로 의미 파악 가능
      • 이벤트 갯수 제한이 존재할 수 있음
      • 이벤트가 너무 많아져서 관리가 어려울 수 있음
    • Event만 포함하는 경우 : click
      • 이벤트 갯수를 관리할 수 있음
      • 파라미터를 기반해 데이터를 판단할 수 있음
      • 파라미터 기반의 분석이 처음엔 어려울 수 있음
  • Event 이름을 snake_case와 camelCase 어떤 것을 사용할 것인가?
    • 프로그래밍 언어마다 권장이 다름
    • 표시가 다르면 데이터를 볼 때 혼란스러움
    • 하나로 통일하고 가는 것이 좋음
    • SQL, 파이썬에선 snake_case를 권장
  • 최초에 시작할 수 있는 포인트
    • 스프레드시트
    • 노션




CC-BY-NC-ND-4.0 Licensed | Copyright 2023-present. 카일스쿨