피드로 돌아가기
I built a reverse proxy to stop adblockers from eating my analytics
Dev.toDev.to
Backend

I built a reverse proxy to stop adblockers from eating my analytics

개발자가 Nginx 기반 리버스 프록시(Saki)를 구축해 애드블로커로 차단되는 애널리틱스 요청을 30~40% 복구

Raj Nandan Sharma2026년 3월 26일8intermediate

Context

사용자의 30~40%가 애드블로커를 실행 중이며, 이들이 analytics.google.com, amplitude.com 등 알려진 애널리틱스 도메인으로의 요청을 차단하면서 수집 데이터가 60% 수준으로 감소한다. 기존 솔루션은 유료 프록시 서비스 또는 복잡한 Nginx 수동 설정 중 하나였다.

Technical Solution

  • 애널리틱스 요청을 애드블로커 우회 경로로 라우팅: 외부 도메인(www.googletagmanager.com) 대신 자신의 도메인 경로(/tg/script.js)로 요청을 변경해 애드블로커가 인식하지 못하도록 함
  • Docker 컨테이너 기반 사전 설정 Nginx 리버스 프록시 제공: 한 줄의 docker run 명령으로 배포, 설정 파일이나 환경 변수 불필요
  • 주요 애널리틱스 서비스별 경로 사전 구성: Google Tag Manager(/tg/), Google Analytics(/an/), Amplitude(/acdn/, /aapi/), Mixpanel(/mxc/, /mxa/), Microsoft Clarity(/cla/), PostHog(/phj/, /pha/) 포함
  • 모든 HTTP 헤더(User-Agent, 쿠키, IP 주소, 언어, Referrer) 전달: 애널리틱스 프로바이더가 프록시를 거쳤는지 인식하지 못함
  • 웹사이트 코드 변경 최소화: 스크립트 src 속성의 도메인만 변경하면 SDK 수정 불필요
  • 커스텀 서비스 추가 지원: Nginx location 블록 추가로 리스트에 없는 도메인도 프록시 가능

Impact

사용자의 30~40%에서 차단되던 애널리틱스 요청이 정상 전달되어 데이터 수집 완정도가 60%에서 100%로 복구됨.

Key Takeaway

애드블로커는 도메인 기반으로 요청을 차단하므로 자신의 도메인을 프록시 경로로 사용하면 우회 가능하다. 복잡한 배포 구성보다 컨테이너화된 사전 설정 이미지로 제공하면 개발자의 운영 부담을 획기적으로 줄일 수 있다.


Google Analytics, Amplitude, PostHog 등을 사용하는 SaaS 팀에서 자신의 도메인 경로로 애널리틱스 요청을 리버스 프록시하면, 애드블로커 사용자의 데이터도 수집할 수 있어 분석 기반 의사결정의 신뢰도를 높일 수 있다.

원문 읽기