왜 갑자기 방문자가 폭증했을까? 이상 트래픽의 실체
새벽에 GA4(구글 애널리틱스) 대시보드를 켰는데 유입 그래프가 하늘 높은 줄 모르고 치솟아 있다. 처음엔 좋겠다는 생각이 든다. 내가 운영하는 SaaS가 드디어 바이럴이라도 걸린 건가. 기분 좋은 마음으로 세부 데이터를 뜯어보는 순간, 환상은 깨진다. 이탈률(Bounce Rate)은 100%에 가깝고, 머문 시간은 0초다. 이걸 사람이라고 부를 수 있을까.
이런 경험은 나만 그런 게 아니다. 많은 1인 창업자나 웹사이트 운영자가 구글 애널리틱스 이상 트래픽 제거 방법을 찾아헤맨다. 방치된 봇 트래픽은 마치 쓰레기가 쌓이듯 데이터를 오염시킨다. 진짜 고객이 들어온 건지, 매크로가 돌아 다닌 건지 구분조차 안 되는 상황이 반복되면 마케팅 예산은 낭비되고 성장은 멈춘다.
내가 만든 10여 개의 사이트에서도 매일 이런 일이 벌어진다. 어느 날은 러시아나 우크라이나에서 수천 건의 조회가 쏟아지기도 했다. 나랑 접점이 전혀 없는 지역의 특정 도메인에서만 꾸준히 트래픽이 올라온다면 십중팔구 스팸이다. 일반 유입과 스팸을 구분하는 기준은 명확하다. 첫째, 전환 여부다. 구독이나 결제로 이어지지 않는다면 의심해야 한다. 둘째, 이동 경로다. 랜딩 페이지에만 들어왔다 바로 나가거나, 황당한 키워드(예: ‘seo’, ‘free porn’ 같은)로 들어온다면 봇이다. 셋째, 리퍼러 도메인이다. 구글 검색이 아닌, 내가 모르는 이상한 도메인 이름이 출처로 찍혀 있다면 확실하다.
이런 데이터 오염이 무서운 건 단순히 숫자가 더럽게 보인다는 게 아니다. 실제 수익 분석에서 치명적인 오차를 만든다. 마케팅 채널별 효율을 계산할 때 분자(수익)는 그대로인데 분모(방문자 수)가 부풀려지면, ROAS(광고 수익률)는 바닥을 기게 된다. 내가 돈을 더 써야 하는 건지, 채널을 끊어야 하는 건지 판단을 흐리게 만든다.
GA4 설정: 스팸 봇을 원천 차단하는 가장 강력한 옵션
데이터가 오염되기 전에 막는 게 최선이다. 깨끗한 데이터를 위한 첫 번째 관문은 바로 ‘봇 필터링’ 설정이다. 놀랍게도 이걸 끄고 운영하는 사이트가 꽤 많다. GA4의 기본 설정을 믿고 있으면 안 된다. 데이터 스트림 단계에서 별도로 체크해줘야 하는 옵션이 존재한다.
이미 알겠지만, 구글 애널리틱스 방문자 폭증은 대부분 봇 때문이다. 관리 화면의 [설정] > [데이터 스트림] > [태그 설정 under 구체적으로 수정] 메뉴로 들어가 보자. 여기서 ‘알려진 봇 및 스파이더 제외’라는 항목을 볼 수 있다. 이게 기본적으로 켜져 있긴 하지만, 확실한 스팸 트래픽 차단을 위해서는 ‘알 수 없는 봇’ 처리 방식도 확인해야 한다. 이 옵션은 아주 기본기지만, 내 SaaS 초기 단계에서는 이걸 몰라 삽질을 한 적이 있다. 구글 크롤러끼리 서로 충돌하거나, 악성 봇이 크롤러인 척 위장할 때 기본 필터만으로는 막히지 않는다.
알 수 없는 트래픽과 참조 트래픽의 차이를 아는 것도 중요하다. ‘알 수 없음(Unknown)’으로 뜨는 건 봇일 확률이 높지만, 특정 사이트(Referral)에서 들어오는 트래픽도 스팸일 수 있다. 예를 들어 ‘social-buttons.com’ 같은 도메인은 실제 사람이 보는 사이트가 아니라, 트래픽을 퍼뜨리기 위해 만든 가짜 도메인이다. 이런 걸 구별하려면 단순 트래픽 수치를 넘어 출처 도메인의 실체를 검색해보는 습관이 필요하다.
단계별 필터 설정: 내 방문과 불필요한 유입 완벽 제거하기
이제 실전 설정으로 들어간다. GA4 필터 설정 방법은 UA(유니버설 애널리틱스) 때보다 조금 복잡해졌다. 이제는 ‘필터’라는 이름 대신 ‘데이터 필터’를 관리 화면에서 생성해야 한다. 가장 먼저 처리해야 할 건 내 트래픽이다.
사람은 집에서 일할 때도, 카페에서 일할 때도, 회사에서 일할 때도 본인 사이트를 열어본다. 이게 쌓이면 내가 가장 충성스러운 유저로 기록된다. IP 주소를 이용해 제외 필터를 만드는 게 정석이다. 하지만 1인 빌더나 재택근무자에게 고정 IP는 사치다. 집에선 공유기 IP를 쓰고, 밖에선 LTE를 쓴다. 매번 IP를 수정하는 건 불가능하다. 이럴 땐 ‘내 트래픽’을 인식하는 꼼수를 써야 한다.
브라우저 확장 프로그램(예: Google Analytics Opt-out Add-on)을 깔거나, 개발자 도구를 이용해 쿠키에 특정 식별자를 심어두는 방법이 있다. 구글 태그 관리자(GTM)를 쓴다면 쿠키 값이 ‘admin’일 때 이벤트를 보내지 않도록 트리거를 설정하는 것도 한 방법이다.
내 경우엔 서버에서 돌아가는 자동화 툴 때문에 고생했다. 매일 아침 유튜브 쇼츠와 인스타 릴스를 발행하는 크론(Cron Job)이 돌 때마다 내 사이트 헬스 체크도 같이 실행된다. 이걸 일반 유저로 집계하면 데이터가 엉망이 된다. 서버 IP가 고정되어 있다면 다행이지만, 클라우드 환경이라면 IP가 바뀔 수도 있다. 그래서 서버 로그 파일(User-Agent)을 확인해서 GA4로 데이터를 보낼 때 내부 트래픽임을 표시하는 파라미터를 붙이는 방식을 쓴다.
악성 도메인 차단도 중요하다. ‘semalt.com’, ‘best-seo-offer.com’ 같은 곳에서 들어오는 트래픽은 정규 표현식(Regex)을 이용해 한 번에 걸러내야 한다. 필터 설정에서 ‘호스트 이름’을 이용해 내 도메인이 아닌 걸 거르거나, ‘리퍼러’ 경로에 특정 단어가 포함된 경우를 제외하는 식이다. 하나하나 입력할 필요 없이, 메타 문자(|)를 써서 여러 도메인을 OR 조건으로 묶어버리면 관리가 쉬워진다.

이미 쌓인 데이터는 복구될까? 과거 데이터의 한계와 모니터링
여기서 중요한 사실 하나. 필터는 소급 적용이 안 된다. 오늘 필터를 만들었다고 해서 지난달 데이터가 깨끗해지는 건 아니다. 안타깝지만, GA4 과거 데이터 수정은 불가능하다. 필터를 켜는 순간부터 ‘가공되지 않은 데이터(Raw Data)’가 걸러져 들어온다. 지난주에 쌓인 스팸 데이터는 영원히 리포트에 남는다. 이 점을 모르고 필터를 건 뒤 “왜 어제 유입이 줄었지?”라고 당황하지 마라. 방금 전에 걸러낸 거니까 줄어드는 게 정상이다.
데이터 지연(Latency) 문제도 있다. 필터를 적용하고 나서 실시간 리포트에 바로 반영되길 기대하지만, 가끔 지연이 생긴다. 운영자의 정신 건강을 위해 이 ‘비가역성’과 ‘지연’은 미리 받아들이는 게 좋다.
필터를 설정했다면, 이제 지켜봐야 할 지표가 있다. 세션 수가 급감했는지, 이탈률이 현실적으로 떨어졌는지, 그리고 국가 분포가 내 타겟 시장과 맞는지 확인하자. 이상 트래픽은 특정 국가에서 몰리는 경향이 있다. 갑자기 미국 고객만 늘어났다면 의심해 봐야 한다.
자동화를 돌리는 입장에서 가장 신경 쓰이는 건 서버 헬스 체크 트래픽이다. 내 사이트가 죽었나 살았나 확인하려면 주기적으로 서버에 요청을 보내야 한다. 이 요청이 GA4에 잡히면 잡음이다. 나는 서버 로그와 GA4 대시보드를 번갈아 보며 이 잡음을 걸러낸다. 서버 로그 상태 코드가 200이고 User-Agent에 ‘bot’이나 ‘monitoring’ 단어가 포함되어 있다면, 이건 GA4에서 무시하도록 필터링 규칙을 추가한다. 엔지니어링적 접근이 필요한 순간이다.
정리: 깨끗한 데이터는 자동화의 시작이다
데이터가 더러우면 AI 자동화도, 최적화도 전부 무용지물이다. 쓰레기를 넣고 분석을 기대할 수는 없는 노릇이다. 데이터 신뢰성 확보는 비즈니스의 기초 체력이다.
지금 당장 확인해야 할 필터 요약은 이렇다.
- 데이터 스트림에서 ‘알려진 봇 및 스파이더 제거’가 켜져 있는가?
- 내 IP나 서버 IP가 제외 필터에 등록되었는가?
- 악성 레퍼러 도메인을 정규 표현식으로 걸러내는 필터가 있는가?
이 3가지만 점검해도 트래픽 데이터의 퀄리티는 확 달라진다.
테크니컬 SEO 관점에서도 이건 중요하다. 구글은 크롤러를 통해 내 사이트를 이해한다. 하지만 내 분석용 데이터에는 크롤러가 섞이면 안 된다. 내가 쓰는 SEOPlug 같은 툴이 메타 데이터를 정확하게 잡아주더라도, 그 효과를 검증할 지표가 오염되어 있다면 소용없다. 깨끗한 파이프라인이 있어야 올바른 결과물이 나온다. GA4 정리는 단순히 보고서를 위한 게 아니라, 내 사이트의 건강 상태를 진단하는 병원 검진과 같다. 오늘 대시보드를 한번 뜯어보길 권한다. 숨어 있는 스팸들이 분명 보일 것이다.
이 글의 내용을 도구로 바로 쓰고 싶다면
메타·슬러그·스키마·OG·가독성을 자동 처리하는 한국어 특화 워드프레스 SEO 플러그인 — 제가 직접 만들어 운영 중인 SEOPlug에서 바로 해볼 수 있습니다.
이 블로그의 글도 매일 아침 AI 파이프라인이 자동 발행합니다. 어떻게 만들었는지 궁금하다면 포트폴리오를 구경해 보세요.
자주 묻는 질문
GA4에서 이미 수집된 과거의 이상 트래픽도 필터로 지울 수 있나요?
안타깝지만 필터는 소급 적용이 되지 않습니다. 오늘 필터를 설정해도 지난달 데이터는 오염된 상태 그대로 남으니, 데이터 분석은 설정일 이후부터 새로 기준을 잡는 게 좋습니다.
집과 회사 등 IP가 자주 바뀌는 경우 내 트래픽을 어떻게 제외하나요?
고정 IP가 없다면 브라우저 확장 프로그램을 사용하거나, 개발자 도구로 쿠키에 식별자를 심어 관리하는 방식이 좋습니다. 구글 태그 관리자(GTM)를 쓴다면 해당 쿠키 값이 ‘admin’일 때 데이터를 보내지 않도록 설정하면 편리합니다.
리퍼러 스팸 트래픽인지 확인하는 가장 빠른 방법은 무엇인가요?
전환율이 0%에 가깝고 머문 시간이 0초인데, 출처가 내가 모르는 이상한 도메인(예: social-buttons.com)이라면 스팸일 확률이 매우 높습니다. 출처 도메인을 검색해봤을 때 정상적인 사이트가 아니라면 확실하니 빠르게 차단해야 합니다.
GA4 데이터 스트림 설정에서 ‘알려진 봇 및 스파이더 제외’는 필수인가요?
네, 데이터 오염을 막는 가장 기초적인 관문입니다. 기본적으로 켜져 있지만, ‘알 수 없는 봇’까지 처리하려면 별도로 설정 상태를 확인하고 최적화하는 것이 좋습니다.
여러 스팸 도메인을 효율적으로 필터링하는 방법이 있나요?
필터 설정 시 정규 표현식(Regex)을 사용하면 됩니다. 메타 문자(|)를 이용해 ‘semalt.com|best-seo-offer.com’처럼 여러 도메인을 OR 조건으로 묶어서 한 번에 제외 설정을 걸면 관리가 훨씬 수월해집니다.
