GEO Analytics

GA4 트래픽 급증이 봇인지 확인하는 방법

Alejandro Rioja
Alejandro Rioja
5 분 읽기
TL;DR

GA4 자체 봇 필터링은 IAB 및 Google에 등록된 크롤러만 제거합니다 — 헤드리스 브라우저 스크래핑이나 속성 ID에 직접 보내진 Measurement Protocol 요청은 잡아내지 못하며, 둘 다 정상 세션처럼 보입니다. 트래픽 급증을 축하하기 전에 세 가지 숫자를 확인하세요: 평균 참여 시간, 재방문 사용자 비율, 그리고 전체 세션 중 다이렉트의 비중입니다. 참여 시간이 15초 미만이고, 재방문 사용자가 5% 미만이며, 다이렉트가 80%를 넘는다면 성장이 아니라 자동화된 트래픽을 보고 있는 것입니다.

무료 뉴스레터

매주 수요일. 28,400명+ 구독자. 핵심만.

2026년 8월 발행.

요약(TL;DR): GA4 자체 봇 필터링은 IAB 및 Google에 등록된 크롤러만 제거합니다 — 헤드리스 브라우저 스크래핑이나 속성 ID에 직접 보내진 Measurement Protocol 요청은 잡아내지 못하며, 둘 다 정상 세션처럼 보입니다. 트래픽 급증을 축하하기 전에 세 가지 숫자를 확인하세요: 평균 참여 시간, 재방문 사용자 비율, 그리고 전체 세션 중 다이렉트의 비중입니다. 참여 시간이 15초 미만이고, 재방문 사용자가 5% 미만이며, 다이렉트가 80%를 넘는다면 성장이 아니라 자동화된 트래픽을 보고 있는 것입니다.

운영자의 시각: 저는 이 글을 쓰면서 이 사이트 자체의 GA4 수치를 확인했습니다. 다이렉트가 전체 세션의 77.8%를 차지했고, 평균 참여 시간은 활성 사용자당 12초였으며, 재방문 사용자는 0.5%에 불과했습니다. 이 숫자들은 각각 따로 보면 무해한 설명이 있습니다. 하지만 함께 보면 그렇지 않습니다. 그 조합 때문에 저는 아래 체크리스트를 거치기 전까지는 세션 수를 신뢰하지 않게 되었습니다 — 그리고 여러분에게도 그러지 말라고 말씀드리고 싶습니다.

트래픽 급증이 흥미로운 이유는 정확히 그것이 뭔가를 의미해야 하기 때문입니다: 효과가 있는 콘텐츠, 성과를 내는 채널, 내세울 수 있는 모멘텀. 바로 그 이유로, 예산을 재배분하거나, 클라이언트에게 효과가 있다고 말하거나, 나중에 비교할 기준선으로 그 구간을 사용하는 등 행동에 나서기 전에 급증이 사람인지 스크래퍼인지 확인하는 데 10분을 쓸 가치가 있습니다.

목차

목차 열기

GA4의 봇 필터링이 여러분을 구해주지 않는 이유

GA4는 항상 켜져 있는 봇 필터링을 가지고 있으며 끄는 스위치는 없습니다 — Google은 IAB/ABC 국제 스파이더 및 봇 목록과 일치하는 트래픽을 보고서에 도달하기 전에 자동으로 제거합니다. 이는 실제이며, 여러분이 보는 수치가 원시 데이터가 아닌 이유입니다. 하지만 그 목록은 알려진 봇 목록입니다. 스스로를 알리는 식별된 크롤러는 잡아냅니다. 다음은 잡아내지 못합니다:

  • 헤드리스 브라우저 스크래핑. 실제 Chrome 사용자 에이전트로 Puppeteer나 Playwright를 실행하는 스크립트는 GA4에게 브라우저를 연 사람과 정확히 똑같이 보입니다. 요청의 어떤 부분도 그것이 자동화되었다는 것을 식별하지 않습니다.
  • 속성 ID에 직접 보내진 Measurement Protocol 요청. GA4의 Measurement Protocol은 공개 API입니다. 여러분의 속성 ID가 유출되면 — 그리고 gtag.js는 모든 방문자의 브라우저에 이를 평문으로 전송합니다 — 누구든 페이지 로드 없이 여러분의 속성에 직접 이벤트를 스크립트로 보낼 수 있습니다. 이는 다른 어디에서도 대응하는 실제 트래픽이 없는 세션으로 나타납니다: 서버 로그 히트도, 광고 지출도, 이를 설명할 리퍼럴 소스도 없습니다.

둘 다 보고서에서는 정상적이고, 필터링되고, 정당한 세션처럼 보입니다. IAB 목록은 스스로를 식별하는 봇으로부터는 여러분을 보호합니다. 그렇지 않은 봇에 대해서는 아무것도 해주지 않습니다.

필터가 놓치는 것을 잡아내는 세 가지 숫자

행동에 나서기 전에 어떤 급증이든 이 세 가지 확인을 거치세요. 그중 어느 하나도 단독으로는 아무것도 증명하지 못합니다 — 짧은 세션 하나, 재방문하지 않는 방문자 한 명, 다이렉트 히트 하나는 모두 완전히 정상입니다. 신호가 되는 것은 조합입니다.

1. 활성 사용자당 평균 참여 시간

기준: 15초 미만이면 의심스럽습니다.

짧은 페이지라도 실제 방문자는 15초 이상 머뭅니다 — 스크롤하고, 헤드라인을 읽고, 머물지 결정합니다. URL을 히트하고 페이지뷰 이벤트를 기록한 뒤 목록의 다음 URL로 넘어가는 스크립트는 그러지 않습니다. 급증 구간의 평균 참여 시간이 한 자릿수라면, 그 “트래픽”의 대부분은 실제로 아무것도 보지 않은 것입니다.

2. 재방문 사용자 비율

기준: 실제 오디언스 성장을 나타내야 할 급증에서 5% 미만이면 의심스럽습니다.

실제 오디언스는 — 이제 막 구축하기 시작한 것이라도 — 다시 돌아옵니다. 검색을 통해 여러분을 발견하고, 읽은 내용이 마음에 들어서, 다시 확인할 이유가 있는 사람은 몇 주 안에 재방문 사용자로 나타납니다. 한 번의 스크래핑 실행이나 한 차례의 Measurement Protocol 쓰레기 데이터는 결코 돌아오지 않습니다. 그 뒤에 돌아올 이유가 있는 사람이 없기 때문입니다.

이것이 제가 가장 신뢰하는 숫자입니다. 우연히 조작하기가 가장 어려운 숫자이기 때문입니다. 정당한 트래픽 소스는 — 낯선 사람들을 대상으로 한 유료 광고라도 — 몇 주에 걸쳐 어느 정도의 재방문 사용자를 만들어냅니다. 순수한 봇 트래픽은 사실상 절대 그러지 않습니다.

3. 전체 세션 중 다이렉트의 비중

기준: 80%를 넘으면 경고이지, 판정은 아닙니다.

이건 조심스럽게 써야 하는 기준입니다. 일부 다이렉트 트래픽은 실제이지만 태그가 붙지 않은 것입니다 — 저장된 링크를 여는 사람, 리퍼러를 제거하는 네이티브 앱 웹뷰, UTM 없이 도착하는 AI 어시스턴트의 인용 링크. 다이렉트가 높다는 것만으로는 봇을 의미하지 않습니다. 하지만 짧은 참여 시간, 거의 0에 가까운 재방문 사용자와 결합되면, 그것은 더 이상 “태그 없는 실제 트래픽”이 아니라, 리퍼러를 전혀 갖지 않는 자동화된 히트가 떨어지는 기본 버킷이 됩니다.

이것은 봇 트래픽 자체의 측정이 아니라 조사하라는 신호로 읽으세요. 숫자 하나 때문에 다이렉트 채널을 없애지 마세요.

확인 실행하기

급증이 있었던 구간에 대해 GA4 보고서 — 표준 보고서 스냅샷이나 Explore 워크스페이스 — 를 가져와서 세 가지를 한꺼번에 보세요:

신호정상조사할 가치 있음
활성 사용자당 평균 참여 시간15초 이상15초 미만
재방문 사용자5% 이상5% 미만
전체 세션 중 다이렉트 비중80% 미만80% 이상

깃발 하나만 단독으로: 어깨를 으쓱하고 넘어가세요. 둘이나 셋이 함께, 특히 대응하는 원인 없이(새 백링크도, 캠페인 출시도, 언론 언급도 없이) 특정 날짜에 갑자기 시작된 급증이라면: 출처를 추적하기 전까지는 그 숫자를 신뢰하지 마세요.

추적하려면 급증을 랜딩 페이지, 기기 카테고리, 지역별로 세그먼트하세요. 봇 트래픽은 집중되는 경향이 있습니다 — 수백 개의 세션이 모두 같은 URL 세 개를 히트하거나, 모두 같은 기기 모델을 보고하거나, 실제로 오디언스가 있을 이유가 없는 몇몇 데이터센터가 많은 국가에 몰려 있습니다. 실제 트래픽은 그보다 지저분합니다 — 실제 관심이 퍼지는 방식대로 여러분의 콘텐츠 전반에 퍼집니다.

확인 후 해야 할 일

  • 오염된 구간을 기반으로 보고서, 예산 결정, 클라이언트 업데이트를 만들지 마세요. SEO 캠페인, GEO 리테이너, 광고 지출 ROI 등 무언가의 “이전” 기준선을 추적하고 있다면, 오염된 기간은 그 기준선이 사용되는 한 비교를 계속 오염시킵니다. 구간이 이미 지나간 뒤에는 사후에 깨끗한 숫자를 재구성할 방법이 없습니다.
  • 패턴을 확인한 뒤에는 GA4 쪽 필터를 추가하세요. 쓰레기 데이터가 호스트네임에 몰려 있다면(다른 누군가의 사이트가 여러분의 측정 ID를 가리키고 있거나, 스테이징 환경이 실제 트래픽 태깅을 유출하고 있다면), GA4의 데이터 스트림 설정에서 유효한 호스트네임 필터를 설정하세요. 행동에 몰려 있다면, 참여 시간이 임계값 미만인 세션 범위의 커스텀 측정기준으로 대부분 해결되지만, GA4는 이미 도착한 세션을 소급해서 제거하지는 못하게 합니다.
  • 지속적인 문제라면, 일회성이 아니라면 엣지에서 차단하세요. Cloudflare를 쓰고 있다면, 봇 관리나 속도 제한 규칙이 다음 물결이 여러분의 분석에 도달하기 전에 막아줍니다 — 사후 필터링보다 저렴하고, 실제 서버에 걸리는 부하도 막아줍니다.
  • 다이렉트를 통째로 버리지 마세요. 그중 일부는 여러분이 귀속시킬 수 없는 실제 사람들입니다 — AI 어시스턴트의 답변 안에서 여러분의 콘텐츠를 읽고 나중에 브라우저에 여러분의 이름을 직접 입력하는, 점점 늘어나는 비중을 포함해서요. 그것은 노이즈와 함께 버리게 되는 실제 성과입니다. 전체 채널을 무시하는 대신 그 신호를 나머지 다이렉트와 분리하는 방법은 제가 AI 검색 트래픽을 측정하는 방법을 참고하세요.

자주 묻는 질문

이것은 제 트래픽 급증이 가짜라는 뜻인가요?

반드시 그런 것은 아닙니다 — 먼저 세 가지 확인을 실행해보세요. 많은 실제 급증(바이럴 게시물, 더 큰 사이트에서의 언급, 성공적인 광고)은 건강한 참여도와 정상적인 다이렉트 비중을 보입니다. 이 체크리스트는 그렇지 않은 것들을 잡아내기 위해 존재하는 것이지, 모든 증가를 의심하게 만들기 위한 것이 아닙니다.

GA4는 왜 이걸 자동으로 필터링하지 않나요?

IAB 봇 목록은 알려진 서명을 통해 스스로를 식별하는 크롤러만 다룹니다. 정당한 Chrome 사용자 에이전트를 가진 헤드리스 브라우저나 Measurement Protocol에 대한 원시 API 호출은 필터링할 서명을 전혀 제공하지 않습니다 — GA4 입장에서는 실제 페이지뷰와 구별할 수 없습니다. 이를 잡아내려면 GA4가 자동으로 적용하지 않는 행동 신호가 필요하며, 그것이 바로 수동 확인이 중요한 이유입니다.

급증을 신뢰하기 전에 얼마나 기다려야 하나요?

재방문 사용자가 나타나는지 볼 수 있을 만큼 충분히 — 저라면 최소 2~3주는 두겠습니다. 그 기간이 지나도 재방문 사용자가 거의 0에 가깝고 짧은 참여도와 결합되어 있다면, 시간이 지난다고 실제 오디언스로 바뀌지 않습니다. 그저 같은 종류의 트래픽이 더 늘어난 것일 뿐입니다.

계속 읽기

관련 게시물

계속 읽기

AI 플레이북을 받아보세요

매주 수요일. 28,400명+ 구독자. 핵심만.

↵ 전체 결과 보기 esc esc 닫기