Client-Side vs Server-Side Tracking
선택한 접근 방식은 데이터의 품질과 포괄성에 영향을 미칩니다.
TL;DR: Server-Side > Client-Side
서버를 통해 가능한 모든 것을 추적하고 필요한 경우에만 클라이언트측 추적을 사용하는 것이 좋습니다.
Client-Side Tracking
클라이언트 장치에서 이벤트가 생성되어 Mixpanel API로 전송됩니다. Client-Side Tracking에는 웹(자바스크립트)과 모바일의 두 가지 유형이 있습니다.
장점
- 클라이언트 작업 및 상태를 쉽게 추적할 수 있음
- 익명(로그인하지 않은) 사용자 데이터를 쉽게 추적할 수 있습니다.
단점
- 광고 차단기로 인해 신뢰할 수 없습니다. 사용자의 30~50%에 대한 이벤트가 손실될 수 있습니다. 프록시를 통해 이벤트를 보내면 이 문제를 해결할 수 있지만 좀 더 노력이 필요합니다.
- 웹, iOS, Android 각각에 자체 추적이 필요하므로 측정항목을 일관되게 유지하기가 어렵습니다.
- 버그를 신속하게 수정하기 어려움(특히 모바일 애플리케이션에서)
- 오래된 모바일 클라이언트로 인해 시간이 지남에 따라 추적이 다양해집니다.
Server-Side Tracking
서버에서 Mixpanel로 이벤트를 보냅니다. 예를 들어, 사용자가 웹 페이지를 로드하면 웹 응용 프로그램 서버에 요청이 전달됩니다. 요청을 처리하는 코드에서 "Page Loaded" 이벤트를 생성하여 Mixpanel로 보낼 수 있습니다. Mixpanel의 서버 SDK(예: Python ) 중 하나를 사용하거나 이벤트를 HTTP API 로 직접 보낼 수 있습니다.
장점
- 안정적이고 광고 차단기에 취약하지 않음
- 데이터는 플랫폼 전반에 걸쳐 일관됩니다.
- 버그를 신속하게 수정하기가 더 쉽습니다.
단점
- 클라이언트에서만 발생하는 사용자 상호 작용을 추적하기가 더 어렵습니다.
- 요청 전반에 걸쳐 익명(로그인하지 않은) 사용자를 추적하려면 일부 사용자 정의 코드가 필요합니다.
시각적 표현

결론
- 공수
- Client-Side tracking은 웹, Android, iOS 다 각각 개발해야하기 때문에 공수가 Server-Side에 비해 최소 2배 이상이 소요됩니다.
- 데이터 정확성
- Client-Side tracking은 광고 차단기, 모바일 운영 체제 공급업체 (예: iOS의 Apple, Android의 Google)는 개인 정보 보호 및 보안에 대한 정책을 변경 등의 이유로 데이터를 수집을 방해할 수 있습니다.
이러한 이유들로 인해서 Client-Side보다 Server-Side에서 event tracking을 하는 것이 적절해보입니다.
참고 자료
https://developer.mixpanel.com/reference/client-side-vs-server-side-tracking