[태그:] GA4

  • GA4 이상 트래픽 제거하는 3단계 필터

    GA4 이상 트래픽 제거하는 3단계 필터

    왜 갑자기 방문자가 폭증했을까? 이상 트래픽의 실체

    GA4 이상 트래픽은 데이터 스트림의 봇 제외 → 내 IP 제외 → 리퍼러 스팸 차단 순서로 걸러내고, 걸러낸 결과가 맞는지는 GA4 숫자만 보지 말고 서치콘솔 클릭 수와 대조해 확인한다.

    새벽에 GA4(구글 애널리틱스) 대시보드를 켰는데 유입 그래프가 하늘 높은 줄 모르고 치솟아 있다. 처음엔 좋겠다는 생각이 든다. 내가 운영하는 SaaS가 드디어 바이럴이라도 걸린 건가. 기분 좋은 마음으로 세부 데이터를 뜯어보는 순간, 환상은 깨진다. 이탈률(Bounce Rate)은 100%에 가깝고, 머문 시간은 0초다. 이걸 사람이라고 부를 수 있을까.

    이런 경험은 나만 그런 게 아니다. 많은 1인 창업자나 웹사이트 운영자가 구글 애널리틱스 이상 트래픽 제거 방법을 찾아헤맨다. 방치된 봇 트래픽은 마치 쓰레기가 쌓이듯 데이터를 오염시킨다. 진짜 고객이 들어온 건지, 매크로가 돌아 다닌 건지 구분조차 안 되는 상황이 반복되면 마케팅 예산은 낭비되고 성장은 멈춘다.

    내가 만든 사이트에서도 매일 이런 일이 벌어진다. 어느 날은 러시아나 우크라이나에서 수천 건의 조회가 쏟아지기도 했다. 나랑 접점이 전혀 없는 지역의 특정 도메인에서만 꾸준히 트래픽이 올라온다면 십중팔구 스팸이다. 일반 유입과 스팸을 구분하는 기준은 명확하다. 첫째, 전환 여부다. 구독이나 결제로 이어지지 않는다면 의심해야 한다. 둘째, 이동 경로다. 랜딩 페이지에만 들어왔다 바로 나가거나, 황당한 키워드(예: ‘seo’, ‘free porn’ 같은)로 들어온다면 봇이다. 셋째, 리퍼러 도메인이다. 구글 검색이 아닌, 내가 모르는 이상한 도메인 이름이 출처로 찍혀 있다면 확실하다.

    이런 데이터 오염이 무서운 건 단순히 숫자가 더럽게 보인다는 게 아니다. 실제 수익 분석에서 치명적인 오차를 만든다. 스팸 방문자가 늘어나면 방문자당 매출과 전환율이 실제보다 낮아지지만, 광고비를 분모로 계산하는 ROAS 자체가 방문자 수 때문에 직접 낮아지는 것은 아니다. 내가 돈을 더 써야 하는 건지, 채널을 끊어야 하는 건지 판단을 흐리게 만든다.

    GA4 설정: 스팸 봇을 원천 차단하는 가장 강력한 옵션

    데이터가 오염되기 전에 막는 게 최선이다. 깨끗한 데이터를 위한 맨 앞 관문은 바로 ‘봇 필터링’ 설정이다. 놀랍게도 이걸 끄고 운영하는 사이트가 꽤 많다. GA4의 기본 설정을 믿고 있으면 안 된다. 데이터 스트림 단계에서 별도로 체크해줘야 하는 옵션이 존재한다.

    이미 알겠지만, 구글 애널리틱스 방문자 폭증은 대부분 봇 때문이다. 관리 화면의 [설정] > [데이터 스트림] > [태그 설정 under 구체적으로 수정] 메뉴로 들어가 보자. GA4는 알려진 봇과 스파이더 트래픽을 자동으로 제외하며, 이를 사용자가 켜거나 끄는 별도 설정은 제공하지 않는다. GA4가 자동 제외하지 못하는 봇은 서버·CDN·WAF 또는 태그 실행 조건에서 별도로 차단하거나, 보고서 탐색에서 의심 트래픽을 제외해 분석해야 한다. 이 옵션은 아주 기본기지만, 내 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)을 이용해 한 번에 걸러내야 한다. GA4 데이터 필터는 내부 트래픽과 개발자 트래픽에 한정되므로, 특정 호스트명이나 스팸 리퍼러의 수집을 막으려면 GTM에서 태그 실행을 차단하거나 서버·WAF 단계에서 요청을 걸러야 한다. 하나하나 입력할 필요 없이, 메타 문자(|)를 써서 여러 도메인을 OR 조건으로 묶어버리면 관리가 쉬워진다.

    스팸 트래픽 필터링 차단 시스템

    이미 쌓인 데이터는 복구될까? 과거 데이터의 한계와 모니터링

    여기서 중요한 사실 하나. 필터는 소급 적용이 안 된다. 오늘 필터를 만들었다고 해서 지난달 데이터가 깨끗해지는 건 아니다. 안타깝지만, GA4 과거 데이터 수정은 불가능하다. 필터를 켜는 순간부터 ‘가공되지 않은 데이터(Raw Data)’가 걸러져 들어온다. 지난주에 쌓인 스팸 데이터는 영원히 리포트에 남는다. 이 점을 모르고 필터를 건 뒤 “왜 어제 유입이 줄었지?”라고 당황하지 마라. 방금 전에 걸러낸 거니까 줄어드는 게 정상이다.

    데이터 지연(Latency) 문제도 있다. 필터를 적용하고 나서 실시간 리포트에 바로 반영되길 기대하지만, 가끔 지연이 생긴다. 운영자의 정신 건강을 위해 이 ‘비가역성’과 ‘지연’은 미리 받아들이는 게 좋다.

    필터를 설정했다면, 이제 지켜봐야 할 지표가 있다. 세션 수가 급감했는지, 이탈률이 현실적으로 떨어졌는지, 그리고 국가 분포가 내 타겟 시장과 맞는지 확인하자. 이상 트래픽은 특정 국가에서 몰리는 경향이 있다. 갑자기 미국 고객만 늘어났다면 의심해 봐야 한다.

    자동화를 돌리는 입장에서 가장 신경 쓰이는 건 서버 헬스 체크 트래픽이다. 내 사이트가 죽었나 살았나 확인하려면 주기적으로 서버에 요청을 보내야 한다. 이 요청이 GA4에 잡히면 잡음이다. 나는 서버 로그와 GA4 대시보드를 번갈아 보며 이 잡음을 걸러낸다. User-Agent를 기준으로 모니터링 요청을 제외하려면 서버나 WAF에서 차단하거나, GTM에서 해당 조건일 때 GA4 태그가 실행되지 않도록 별도 로직을 구현해야 한다. 엔지니어링적 접근이 필요한 순간이다.

    이 블로그에서 실제로 재본 것 (2026년 8월 27일 기준)

    필터 설명은 어디에나 있으니, 여기서는 내 사이트에서 직접 잰 값을 적는다. 먼저 알아야 할 전제가 하나 있다. GA4는 페이지에서 자바스크립트 태그가 실행돼야 방문을 센다. 태그를 실행하지 않고 서버에서 문서만 받아 가는 요청은 GA4 화면에 한 줄도 남지 않는다.

    확인해보려고 이 블로그에 크롤러 User-Agent 9종으로 직접 요청을 보내봤다. GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, 네이버 Yeti, Googlebot, 그리고 python-requests다. 아홉 개 전부 HTTP 200으로 문서를 받아 갔다. 즉 이만큼의 방문이 매일 서버에는 오고 있는데, GA4 대시보드에는 존재하지 않는다.

    그래서 필터는 두 층으로 나눠 생각해야 한다. GA4 필터가 다루는 것은 태그가 실행된 잡음, 즉 리퍼러 스팸과 내 방문이다. 태그 없이 오는 봇은 GA4에서 걸러낼 대상이 아니라 애초에 보이지 않는 대상이고, 그건 서버나 WAF 쪽 일이다. 이 구분을 안 하면 GA4 필터를 아무리 손봐도 서버 부하는 그대로다.

    남은 문제는 걸러낸 숫자가 맞는지 확인할 방법이다. 나는 서치콘솔 클릭 수를 대조군으로 쓴다. 이 블로그의 최근 28일 서치콘솔 값은 노출 924회, 클릭 26회였다. 검색으로 들어온 사람은 이 규모라는 뜻이다. 만약 같은 기간 GA4의 자연 검색 세션이 이보다 크게 많다면, 그 차이가 곧 의심 구간이다.

    다만 두 숫자는 원래 정확히 일치하지 않는다. 서치콘솔은 검색 결과에서 눌린 횟수를 세고 GA4는 세션을 세기 때문에, 같은 사람이 여러 번 들어오거나 검색 외 경로로 다시 들어오면 값이 벌어진다. 그래서 이 대조는 정답을 맞히는 용도가 아니라 자릿수가 다른지를 보는 용도다. 클릭이 두 자리인데 자연 검색 세션이 네 자리라면, 필터를 다시 봐야 한다는 신호로 충분하다.

    정리: 깨끗한 데이터는 자동화의 시작이다

    데이터가 더러우면 AI 자동화도, 최적화도 전부 무용지물이다. 쓰레기를 넣고 분석을 기대할 수는 없는 노릇이다. 데이터 신뢰성 확보는 비즈니스의 기초 체력이다.

    지금 당장 확인해야 할 필터 요약은 이렇다.

    • 데이터 스트림에서 ‘알려진 봇 및 스파이더 제거’가 켜져 있는가?
    • 내 IP나 서버 IP가 제외 필터에 등록되었는가?
    • 악성 레퍼러 도메인을 정규 표현식으로 걸러내는 필터가 있는가?

    이 3가지만 점검해도 트래픽 데이터의 퀄리티는 확 달라진다.

    테크니컬 SEO 관점에서도 이건 중요하다. 구글은 크롤러를 통해 내 사이트를 이해한다. 하지만 내 분석용 데이터에는 크롤러가 섞이면 안 된다. 메타 데이터를 정확하게 잡아주는 도구를 쓰더라도, 그 효과를 검증할 지표가 오염되어 있다면 소용없다. 깨끗한 파이프라인이 있어야 올바른 결과물이 나온다. GA4 정리는 단순히 보고서를 위한 게 아니라, 내 사이트의 건강 상태를 진단하는 병원 검진과 같다. 오늘 대시보드를 한번 뜯어보길 권한다. 숨어 있는 스팸들이 분명 보일 것이다.

    근거로 삼은 문서


    글쓴이 정보

    이 블로그의 초안은 운영자가 만든 AI 파이프라인이 자동 생성하고, 문체·사실성 자동 검사를 통과한 글만 공개합니다. 검사에서 걸린 초안은 사람이 손을 봅니다. 만드는 과정은 포트폴리오에 정리해 두었습니다.

    자주 나오는 질문

    GA4에서 이미 수집된 과거의 이상 트래픽도 필터로 지울 수 있나요?

    안타깝지만 필터는 소급 적용이 되지 않습니다. 오늘 필터를 설정해도 지난달 데이터는 오염된 상태 그대로 남으니, 데이터 분석은 설정일 이후부터 새로 기준을 잡는 게 좋습니다.

    집과 회사 등 IP가 자주 바뀌는 경우 내 트래픽을 어떻게 제외하나요?

    고정 IP가 없다면 브라우저 확장 프로그램을 사용하거나, 개발자 도구로 쿠키에 식별자를 심어 관리하는 방식이 좋습니다. 구글 태그 관리자(GTM)를 쓴다면 해당 쿠키 값이 ‘admin’일 때 데이터를 보내지 않도록 설정하면 편리합니다.

    리퍼러 스팸 트래픽인지 확인하는 가장 빠른 방법은 무엇인가요?

    전환율이 0%에 가깝고 머문 시간이 0초인데, 출처가 내가 모르는 이상한 도메인(예: social-buttons.com)이라면 스팸일 확률이 매우 높습니다. 출처 도메인을 검색해봤을 때 정상적인 사이트가 아니라면 확실하니 빠르게 차단해야 합니다.

    GA4 데이터 스트림 설정에서 ‘알려진 봇 및 스파이더 제외’는 필수인가요?

    네, 데이터 오염을 막는 가장 기초적인 관문입니다. 기본적으로 켜져 있지만, ‘알 수 없는 봇’까지 처리하려면 별도로 설정 상태를 확인하고 최적화하는 것이 좋습니다.

    여러 스팸 도메인을 효율적으로 필터링하는 방법이 있나요?

    필터 설정 시 정규 표현식(Regex)을 사용하면 됩니다. 메타 문자(|)를 이용해 ‘semalt.com|best-seo-offer.com’처럼 여러 도메인을 OR 조건으로 묶어서 한 번에 제외 설정을 걸면 관리가 훨씬 수월해집니다.