뒤로가기
Amplitude에서 bot을 차단하는 방법

January 12, 2026

요즘 AI와 각종 자동화 도구가 확산되면서, Amplitude 이벤트를 수집하다 보면 bot traffic이 눈에 띄게 증가하고 있다.

문제는 이러한 bot 요청까지 Amplitude 이벤트로 그대로 로깅되면서 다음과 같은 불편함이 발생한다는 점이다.

  • 실제 사용자 행동과 bot 이벤트가 섞여 데이터 신뢰도가 떨어진다
  • 분석 과정에서 불필요한 필터링 작업이 늘어난다
  • 무엇보다도 의미 없는 이벤트가 쌓이면서 quota를 낭비하게 된다

그래서 이번 글에서는 Amplitude를 사용할 때 bot traffic을 어떻게 차단할 수 있는지에 대해 정리해보려고 한다.

1. Amplitude Data Blocking 기능 활용하기#

Amplitude에서는 기본적으로 Block Bot Traffic 기능을 제공한다.

이 기능을 활용하면 특정 조건에 해당하는 이벤트를 수집 단계에서 아예 차단할 수 있다.

✔️ Bot Traffic Block filter란?#

  • Amplitude의 Bot Traffic Block Filter는 주로 User-Agent 정보를 기반으로 bot이나 crawler로 판단되는 트래픽을 식별하고, 해당 이벤트를 Amplitude에 저장하지 않도록 차단하는 기능이다.
  • 내부적으로는 IAB / ABC International Spiders and Bots List를 기준으로 User-Agent를 검사해 bot 여부를 판단한다.

설정만으로 손쉽게 적용할 수 있다는 점은 장점이지만, 실제로 적용해보니 이 방식만으로는 모든 bot 트래픽을 걸러내기에는 한계가 있었다.

특히 IAB/ABC Bot List의 범위가 생각보다 제한적이라, 일부 자동화 트래픽이나 AI 기반 요청은 여전히 이벤트로 수집되는 경우가 있었다.

2. is_bot 라이브러리 사용하기#

좀 더 정교하게 bot을 구분하고 싶다면, 애플리케이션 레벨에서 bot 여부를 판별한 뒤 Amplitude 이벤트 자체를 보내지 않는 방식을 고려해볼 수 있다.

이때 많이 사용되는 방법이 is_bot 라이브러리를 활용하는 것이다.

is_bot 라이브러리란?#

is_bot 라이브러리는 요청에 포함된 User-Agent를 분석해 해당 요청이 bot인지 여부를 판별해주는 라이브러리다.

Amplitude와 함께 사용하는 방법#

전체 흐름은 단순하다.

  1. 서버 또는 클라이언트에서 요청을 수신한다
  2. is_bot 라이브러리를 이용해 bot 여부를 판별한다
  3. bot으로 판단되면 Amplitude 이벤트를 전송하지 않는다
  4. 일반 사용자 요청만 이벤트로 로깅한다

마무리#

Amplitude에서 bot traffic을 방치하면 데이터 신뢰도와 비용, 두 가지 모두에 악영향을 미치기 쉽다.

bot traffic이 점점 늘어나는 요즘, 이벤트 관리 역시 한 단계 더 신경 써야 할 시점이다.