왜 나는 오픈소스 프로젝트에 Google Analytics를 포함시키지 않는가
Source: Dev.to
Background
저는 오픈소스 애플리케이션을 만들고, 대부분을 자체 호스팅합니다. 많은 개발자와 마찬가지로 저는 마케팅 지표가 아니라 기본적인 신호가 필요합니다:
- 애플리케이션이 실제로 사용되고 있는가?
- 몇 개의 인스턴스가 살아 있는가?
- 어떤 기능이 전혀 사용되고 있는가?
오랫동안 기본 답변은 명확했습니다: Google Analytics. 하지만 어느 순간 저는 이를 완전히 배포하지 않기로 결정했습니다.
Why Google Analytics Is Unsuitable
Google Analytics가 나쁜 도구인 것은 아닙니다; 완전히 다른 목적을 위해 만들어졌습니다. 다음을 전제로 합니다:
- 중앙 집중형 SaaS 제품
- 추적되는 최종 사용자
- 마케팅 퍼널
- 쿠키, 동의 배너, 외부 종속성
이러한 요소들은 자체 호스팅 오픈소스 소프트웨어와 잘 맞지 않습니다. 오픈소스 앱에 GA를 삽입하면:
- 사용 데이터를 사용자의 인프라 밖으로 전송
- 여러분이 통제할 수 없는 법적·프라이버시 문제 발생
- 개별 사용자를 추적하게 되는데, 여러분은 단지 집계된 사용량만 원함
이 시점에서 비용(기술적, 윤리적, 인지적)이 가치보다 높아집니다.
What I Needed
저는 많은 “프라이버시 친화적” 혹은 “셀프‑호스팅” 분석 도구(예: Countly, PostHog)를 살펴보았습니다. 대부분 여전히 다음을 전제로 합니다:
- 웹사이트, 분산된 인스턴스가 아님
- 사용자 추적(익명화된 경우에도)
- 마케팅 팀을 위한 대시보드
- 아주 간단한 질문에도 무거운 설정 필요
제가 필요했던 것은 훨씬 더 단순했습니다. 오픈소스·셀프‑호스팅 소프트웨어에 대해 제가 궁금한 것은 지루하지만 필수적인 것들:
- 이 인스턴스가 아직 실행 중인가?
- 누가 이 기능을 사용하고 있는가?
- 채택이 성장하고 있는가, 정체되고 있는가?
- 이번 릴리즈가 사용 패턴을 깨뜨렸는가?
제가 필요하지 않은 것은:
- 페이지 뷰
- 퍼널
- 세션 재생
- 사용자 신원
저는 감시가 아니라 신호가 필요합니다.
Introducing SHM (Self‑Hosted Metrics)
그래서 저는 SHM(Self‑Hosted Metrics)이라는 작은 오픈소스 서비스를 만들었습니다. 의도적으로 최소화했습니다:
- 간단한 JSON 이벤트를 수신
- 사용자를 추적하지 않음
- 애플리케이션에 구애받지 않음
- 셀프‑호스팅 배포와 잘 동작
목표는 분석이 아니라 사용성에 대한 가시성을 제공하는 것이며, 오픈소스나 셀프‑호스팅 원칙을 위배하지 않는 것입니다.
Repository:
Conclusion
“아예 메트릭이 없는 것”과 “전체 SaaS 분석 스택” 사이에 실제적인 요구가 많이 존재합니다. 큰 도구들은 이러한 요구를 신경 쓰지 않지만, 유지보수자, 인디 개발자, 작은 팀에게는 중요합니다. 모든 것을 성장 퍼널처럼 측정할 필요는 없습니다. 때로는 소프트웨어가 단순히 사용되고 있다는 사실만으로도 충분합니다.