Citeon
측정·전환·매출

다크 트래픽: AI 유입은 왜 추적이 어려운가

김태오
김태오 · 그로스·퍼포먼스 리드

ChatGPT Search·Perplexity·Google AIO가 검색 유입 채널로 비중을 넓히면서 GA4 "direct / (none)" 버킷이 설명되지 않는 속도로 증가하는 현상이 측정 실무자 사이에서 공통 문제로 부상했다. 이 트래픽의 실체는 AI 응답 안의 링크를 클릭한 사용자 세션이지만, HTTP Referrer 헤더가 전달되지 않거나 경로에서 소실되어 출처를 식별할 수 없다. 이를 다크 트래픽(dark traffic)이라 부른다. 문제는 어트리뷰션 오류에 그치지 않는다. AI 채널의 전환율·이탈률·세션 품질을 측정하지 못하면 AEO·GEO 최적화 효과를 정량적으로 평가할 근거가 없다.

Referrer 유실의 세 가지 기술적 경로

AI 플랫폼별 Referrer 전달 특성 비교

플랫폼 접근 환경 Referrer 전달 여부 UA 식별 단서 리다이렉트 레이어
ChatGPT Search (웹) 데스크톱 브라우저 유실 (origin만 또는 없음) 브라우저 UA (구분 불가) 없음
ChatGPT (iOS/Android 앱) 앱 WebView 없음 CFNetwork / okhttp 포함 없음
Perplexity (웹) 데스크톱 브라우저 strict-origin (경우에 따라 유실) 브라우저 UA (구분 불가) pplx.page 경유 가끔
Perplexity (iOS/Android 앱) SFSafariViewController 없음 Perplexity/x.x CFNetwork 없음
Claude.ai (웹) 데스크톱 브라우저 strict-origin (경우에 따라 유실) 브라우저 UA (구분 불가) 없음
Google AIO (AI Overview) 데스크톱/모바일 브라우저 google.com origin 전달 브라우저 UA (구분 불가) 없음 (구글 검색 origin 유지)

Google AIO는 예외다. 검색 결과 페이지 내 링크 클릭 시 Referer가 https://www.google.com/으로 전달되어 GA4에서 organic 채널로 집계된다. AIO 세션과 기존 오가닉 클릭을 구분하려면 Google Search Console 데이터를 별도 대조하거나, 착지 URL에 UTM 파라미터를 심어야 한다.

클라이언트사이드 탐지 구현

document.referrer를 페이지 로드 시점에 캡처해 GA4 커스텀 이벤트로 기록하는 방식이다. Referrer가 완전히 유실된 세션은 탐지하지 못하지만, origin 수준 정보라도 전달된 세션을 분류한다. 서버 로그 분석과 병행해야 탐지 커버리지를 최대화할 수 있다.

// ai_referrer_tracker.js
// GA4 gtag.js 초기화 이후 실행 (defer / DOMContentLoaded 보장)

const AI_REFERRER_MAP = {
  chatgpt:    /chat\.openai\.com|chatgpt\.com/i,
  perplexity: /perplexity\.ai/i,
  claude:     /claude\.ai/i,
  gemini:     /gemini\.google\.com/i,
  copilot:    /copilot\.microsoft\.com|bing\.com/i,
  you:        /you\.com/i,
};

(function detectAITraffic() {
  const referrer = document.referrer || '';
  let detectedSource = null;

  for (const [source, pattern] of Object.entries(AI_REFERRER_MAP)) {
    if (pattern.test(referrer)) {
      detectedSource = source;
      break;
    }
  }

  if (!detectedSource) return;

  // GA4 커스텀 이벤트 — Explore 보고서에서 ai_source로 필터링 가능
  gtag('event', 'ai_traffic_detected', {
    ai_source:    detectedSource,
    referrer_raw: referrer.substring(0, 200), // GA4 문자열 파라미터 256자 제한 고려
    landing_page: window.location.pathname,
  });

  // 세션 전반에 걸쳐 전환 이벤트에 ai_source 병기
  sessionStorage.setItem('ai_traffic_source', detectedSource);
})();

// 전환 이벤트 발화 예시
function sendConversionEvent(eventName, params = {}) {
  const aiSource = sessionStorage.getItem('ai_traffic_source');
  gtag('event', eventName, {
    ...params,
    ...(aiSource ? { ai_source: aiSource } : {}),
  });
}

서버사이드 보완: Nginx 액세스 로그에 $http_referer$http_user_agent를 기록하고 Loki·BigQuery·Elasticsearch로 수집한다. CFNetwork 또는 okhttp UA 패턴을 필터링하면 앱 WebView 유입 세션을 별도 집계할 수 있다. 이 두 레이어를 병행해야 direct 버킷의 실질 구성 비율을 추정할 수 있다.

흔한 오해: "direct 증가 = AI 트래픽" 단순 치환의 위험

GA4 direct 버킷 증가를 전부 AI 트래픽으로 귀속시키는 분석은 잘못된 결론으로 이어진다. direct 세션에는 북마크 접속, 이메일·Slack·KakaoTalk 앱 링크, Referrer-Policy를 강화한 타 사이트에서의 이동, 브라우저 주소창 직접 입력이 혼재한다. AI 트래픽만을 분리하지 않으면 전환율·이탈률 산정 기준이 왜곡된다.

올바른 처리법: GA4 탐색 보고서에서 direct 세션을 랜딩 페이지와 교차 분석한다. AI 챗봇이 자주 인용하는 특정 깊은 URL(가이드·FAQ·블로그 포스트)로의 direct 유입이 AI 검색 성장 시점과 동기화해 증가한다면, 해당 세션의 상당 비중이 AI 출처일 가능성이 높다. 확인 방법은 두 가지다. 첫째, Google Search Console "외부 링크" 탭에서 해당 URL의 신규 참조 도메인 증가를 확인한다. 둘째, Perplexity·ChatGPT에서 관련 키워드를 직접 질의해 해당 URL이 인용되는지 수동 검증한다. 두 신호가 일치하면 AI 기여 비중으로 잠정 분류할 수 있다.

Perplexity가 내 사이트를 인용할 때 항상 다크 트래픽이 되나요?

환경에 따라 다르다. Perplexity 웹 버전(데스크톱 브라우저)에서는 strict-origin-when-cross-origin 정책으로 origin 수준 Referer가 착지 서버에 전달될 수 있다. 위 JS 스크립트가 perplexity.ai 패턴을 탐지한다면 이 케이스다. 그러나 Perplexity iOS/Android 앱에서 클릭된 세션은 SFSafariViewController 컨텍스트로 열려 Referer가 생성되지 않으므로 항상 다크 트래픽이 된다. 실제 서비스 로그에서 Perplexity 유입의 절반 이상이 앱 경유라면 탐지 가능한 세션보다 다크 트래픽이 더 많을 수 있다.

llms.txt를 작성하면 AI 유입 추적에 도움이 되나요?

직접적인 추적 메커니즘은 없다. llms.txt는 LLM 크롤러에게 허용 콘텐츠 범위와 우선 참조 URL을 안내하는 정책 파일이다. 다만 llms.txt에 기재된 URL에 캠페인 파라미터를 포함할 경우, LLM이 해당 URL을 응답에 그대로 노출하면 이론상 추적이 가능하다. 그러나 대부분의 LLM은 응답 생성 과정에서 URL 파라미터를 정리하거나 제거한다. 실질적 추적 효과는 추정 수준이며, 현시점에서 검증된 방법으로 보기 어렵다. AI 유입 측정의 실무적 접근은 llms.txt보다 서버 로그 분석·GA4 커스텀 이벤트 병행이 더 신뢰성이 높다.

참고 자료

이 글의 권고는 아래 공식 문서·연구를 근거로 합니다.

김태오
김태오 · 그로스·퍼포먼스 리드

AI 검색 유입을 전환·매출로 잇는 광고·어트리뷰션을 다룹니다. 숫자로 말하는 걸 좋아합니다.

내 사이트의 AI 검색 점수가 궁금하다면

30초 무료 진단으로 SEO·AEO·GEO 점수와 처방을 받아보세요.

무료 진단 시작
← 블로그 목록으로