챗GPT 유입 반토막의 정체는 '이름표 버그'였다

이번 주에 GA4를 열었다가 커피잔을 내려놓은 사람이 꽤 있었을 것이다. 10월 9일부터 ChatGPT에서 들어오는 방문이 갑자기 반 가까이 줄었기 때문이다. 나도 처음엔 GPT-6이 나오면서 링크를 덜 보여 주나 싶었다. 그런데 자료를 따라가 보니 방문자는 대부분 그대로였다. 빠진 건 "어디서 왔는지" 알려 주는 이름표였다. 택배는 문 앞에 잘 도착했는데 송장만 떼어진 셈이다. 측정 하나가 이렇게 쉽게 무너진다는 게 개발자로서 꽤 재밌어서 정리해 둔다.
무슨 일이 있었나
GPT-6은 10월 7일 유료 요금제에, 10월 8일 무료·Go 사용자에게 배포됐다. 그 직후 여러 곳에서 비슷한 숫자가 튀어나왔다.
- Graphite: 추적하는 사이트들의 GA4 ChatGPT 세션이 10월 9일부터 22~57% 줄었다. CEO Ethan Smith는 이전보다 약 45% 줄었다고 봤다.
- LLM Pulse: 10월 9~11일 ChatGPT 세션이 직전 2주 같은 요일보다 약 46% 적었다. 같은 기간 전체 트래픽은 약 −2%로 거의 그대로였다. 열 곳 중 여덟 곳 넘게 30% 넘게 줄었고, Perplexity·Claude 유입은 멀쩡했다.
전체 트래픽은 그대로인데 ChatGPT만 쪼그라들었다. 사람이 줄었다면 이렇게 한 군데만 골라서 빠질 리가 없다. 사람은 그대로고 분류가 바뀌었다는 신호다.
원인: 코드 한 줄과 사라진 꼬리표
Adobe의 Cedric Huesler가 짚은 원인은 두 가지가 겹친 것이다.
- 답변 속 링크를 새 탭으로 열 때
noreferrer를 썼다. - 2024년 ChatGPT 검색 출시 때부터 붙던
utm_source=chatgpt.com이 빠졌다.
아래는 이해를 돕는 예시다(ChatGPT의 실제 코드가 아니다).
// 예전: 꼬리표가 붙은 링크
window.open("https://example.com/post?utm_source=chatgpt.com", "_blank", "noopener");
// GPT-6 이후 답변 본문 링크 (Huesler가 짚은 형태)
window.open("https://example.com/post", "_blank", "noopener,noreferrer");
noreferrer를 주면 브라우저는 새 페이지에 Referer 헤더를 보내지 않는다. 도착한 페이지에서 document.referrer도 빈 문자열이 된다. 보안만 놓고 보면 칭찬받을 습관이다. 문제는 받는 쪽에서 이 방문이 어디서 왔는지 도무지 알 길이 없어진다는 것이다. 보내는 쪽은 "우리 쪽에선 잘 되는데요" 하고, 받는 쪽 대시보드만 무너지는 익숙한 풍경이다.
GA4가 유입 경로를 정하는 순서를 아주 단순하게 쓰면 이렇다(역시 간략화한 의사코드다).
def classify(session):
if session.utm_source: # 1순위: URL 꼬리표
return session.utm_source # "chatgpt.com"
if session.referrer: # 2순위: 브라우저가 알려 준 출처
return domain(session.referrer)
return "(direct)" # 둘 다 없으면 직접 방문
꼬리표도 없고 referrer도 없으니, GA4 눈에는 주소창에 직접 쳐서 들어온 방문과 다를 게 없다. 특히 모바일 앱 쪽이 크게 흔들렸다. Smith에 따르면 Graphite 사이트의 모바일 ChatGPT 방문 중 95%가 꼬리표 하나만 보고 구분되고 있었다. 버팀목이 사실상 하나뿐이었는데 그게 빠진 거다.
그렇다고 전부 빠진 건 아니다. Smith에 따르면 출처(Sources) 패널 링크와 쇼핑 링크에는 꼬리표가 남아 있었다.
숫자로 보는 '증발'
Huesler는 ChatGPT가 방문의 5% 넘게 보내던 약 500개 페이지를 골라, 10월 9~13일과 그 전 주를 나란히 놓고 비교했다.
| 항목 | 하루 변화 |
|---|---|
| ChatGPT 방문 | 약 −31,000 |
| Direct 방문 | 약 +26,000 |
| 검색 유입 | −7% (다른 페이지와 같은 수준) |
한쪽에서 빠진 만큼 다른 쪽이 불었다. 사라진 방문 중 Direct로 옮겨 간 것으로 보이는 비율은 대략 이렇다.
26,000 ÷ 31,000 ≈ 0.84
열에 여덟은 Direct로 이사 간 셈이다. 근거는 더 있다. ChatGPT 유입을 잃은 페이지 세 곳 중 두 곳에서 Direct가 늘었는데, 그 전 주엔 절반 정도였다. 모바일에서 동의 배너를 본(그러니까 처음 온) Direct 방문자 비율도 36%에서 44%로 올라, ChatGPT 방문자 수준(55%)에 바짝 다가갔다. 단골이 아니라 처음 온 사람들이 Direct에 섞여 들어왔다는 얘기다. 물론 Huesler 스스로도 4일치 표본이라 초기 결과라고 선을 그었다.
플랫폼 쪽 변화도 숫자로 드러난다. Profound 집계로는 출처가 달린 답변 중 꼬리표 붙은 링크가 하나라도 있는 비율이 10월 8일 약 98%에서 14일 66%로 떨어졌다. 같은 기간 차트·비교표·작은 도구를 보여 주는 새 답변 형식 'Intelligent UI'는 수집한 답변의 2%에서 약 35%로 늘었다. Peec AI는 같은 100만 개 질문을 돌려 봤더니 주소를 그대로 적은 답변이 8~10%에서 42%로 늘었고, 그중 54%가 홈페이지였다고 했다. 다만 이건 화면에 보인 링크 수지 클릭 수가 아니다.
고쳐졌나? 말이 엇갈린다
Huesler는 10월 14일 OpenAI가 버그라고 확인해 줬고, 15일 오전 9시(PT)에는 꼬리표 붙은 클릭이 1주 전 같은 시간의 약 95100%로 돌아왔다고 했다. 반면 Glenn Gabe는 아직 변화가 안 보인다고 했고, Profound는 공식 발표를 못 봤다고 했다. OpenAI의 10/110/15 릴리스 노트에도 링크 추적 얘기는 없다. 그리고 수정이 됐더라도 10/8~10/15에 Direct로 잡힌 기록은 되돌아오지 않는다. 코드는 롤백해도 지난주 로그는 롤백이 안 된다.
하나 덧붙이면, 숫자를 낸 Graphite·LLM Pulse·Profound·Peec AI는 모두 SEO·AI 검색 도구를 파는 회사이고, LLM Pulse·Profound는 표본 크기를 밝히지 않았다.
내 생각: 개발자·운영자가 챙길 것
내 블로그에도 해당되는 얘기라, 이번 주에 할 일을 적어 뒀다.
- 나란히 보기: GA4에서 ChatGPT 유입이 많던 랜딩 페이지와 홈페이지의 Direct를 10/8~10/15 구간에 겹쳐 본다. ChatGPT가 준 만큼 Direct가 늘었다면 이번 버그다.
- 메모 남기기: 그 구간에 주석(annotation)을 달아 둔다. 석 달 뒤 보고서를 만들 때 이 구간을 "AI 유입 급감"으로 잘못 읽지 않으려면 꼭 필요하다. 석 달 뒤의 나는 지금의 나를 기억 못 한다.
- referrer보다 꼬리표: Huesler는 ChatGPT 클릭 대부분이 여전히 referrer 없이 오니 UTM으로 세라고 권한다. ChatGPT 광고에 내가 직접 UTM을 달았다면 이번 일과 상관없었다는 점(Smith)도 같은 얘기다.
진짜 교훈은 따로 있다. 내 지표가 내가 통제하지 못하는 플랫폼의 꼬리표 한 줄에 매달려 있었다는 점이다. OpenAI가 6월에 UTM을 더 넓게 붙였다가 이번에 그게 빠졌고, Gemini는 2주 전 반대로 UTM을 달기 시작했다. 플랫폼이 뭘 하나 바꿀 때마다 내 그래프가 출렁인다. 그래서 "AI 유입"을 KPI로 쓴다면 랜딩 페이지 패턴, 신규 방문 비율 같은 보조 신호를 같이 봐야 한다고 생각한다.
정리
- 10월 9일 ChatGPT 유입이 약 45% 줄어든 것처럼 보였지만, 방문자는 대부분 Direct로 옮겨 간 것으로 보인다.
- 원인은
noopener,noreferrer로 referrer가 빠지고utm_source=chatgpt.com도 사라진 것이다. - 복구됐다는 말과 아직이라는 말이 엇갈리고, 지난 일주일치 기록은 되돌릴 수 없다.
- 남의 꼬리표에 기대는 측정은 언제든 깨질 수 있다. 그 구간에 메모를 남기고, 보조 지표를 함께 보자.