GA4 direct/none 트래픽, 왜 이렇게 많을까? 원인 8가지와 줄이는 법
GA4 보고서에서 유독 비중이 큰 direct/none 트래픽의 정확한 의미, 발생 원인 8가지, 마케팅 의사결정에 미치는 영향, 그리고 실무에서 바로 적용할 수 있는 5가지 해결 방법을 정리했습니다.
준이아빠의 지식 아카이브에 연결하고 있습니다
준이아빠의 지식 아카이브에 연결하고 있습니다
GA4 보고서에서 유독 비중이 큰 direct/none 트래픽의 정확한 의미, 발생 원인 8가지, 마케팅 의사결정에 미치는 영향, 그리고 실무에서 바로 적용할 수 있는 5가지 해결 방법을 정리했습니다.
GA4에서 트래픽 획득 보고서를 열어보면, 소스/매체(Source/Medium) 항목 중 direct/none이 유독 높은 비중을 차지하고 있는 것을 볼 수 있습니다. 전체 세션의 30~50%가 direct/none인 사이트도 드물지 않습니다.
"직접 유입이 이렇게 많다고?" 싶을 수 있습니다. 주소창에 URL을 직접 입력하는 사용자가 그렇게 많을 리가 없으니까요. 실제로 direct/none은 "직접 방문"만을 의미하는 것이 아닙니다. 유입 경로를 특정할 수 없는 모든 트래픽이 여기에 담깁니다.
이 글에서는 direct/none 트래픽이 정확히 무엇인지, 왜 이렇게 많이 잡히는지 원인을 8가지로 분석하고, 마케팅 의사결정에 미치는 영향과 실무에서 줄이는 방법까지 다룹니다.
먼저 referrer(리퍼러)를 이해해야 합니다. referrer는 사용자가 현재 페이지에 도착하기 직전에 머물렀던 페이지의 URL 정보입니다. 웹 브라우저가 HTTP 요청을 보낼 때 Referer 헤더에 이 정보를 자동으로 포함시킵니다.
예를 들어, 사용자가 구글에서 검색 결과를 클릭해서 우리 웹사이트에 방문했다면, 우리 서버는 Referer: https://www.google.com/ 정보를 받게 됩니다. GA4는 이 referrer 정보를 기반으로 유입 소스와 매체를 분류합니다.
GA4에서 소스/매체가 direct/none으로 기록된다는 것은 다음을 의미합니다.
쉽게 말해, "어디서 왔는지 알 수 없는 트래픽"입니다. 브라우저가 referrer를 전달하지 않았고, UTM 파라미터도 없는 상태에서 사이트에 접속한 경우입니다.
GA4 보고서에서 direct/none을 확인하려면 보고서 → 획득 → 트래픽 획득으로 이동합니다. 기본 차원이 "세션 기본 채널 그룹"으로 설정되어 있다면 "Direct"로 표시됩니다. 차원을 "세션 소스/매체"로 변경하면 정확히 direct / (none)으로 표시되는 것을 확인할 수 있습니다.

direct/none은 "사용자가 URL을 직접 입력한 것"만을 의미하지 않습니다. referrer 정보가 전달되지 않거나 UTM 파라미터가 없는 모든 상황에서 발생합니다.
가장 직관적인 경우입니다. 사용자가 브라우저 주소창에 URL을 직접 타이핑하거나, 북마크(즐겨찾기)를 클릭하면 referrer가 존재하지 않으므로 direct/none으로 기록됩니다. 자사 브랜드 인지도가 높거나 반복 방문자가 많은 사이트에서는 이 비중이 실제로 높을 수 있습니다.
카카오톡, 라인(LINE), 텔레그램 같은 메신저 앱에서 링크를 탭하면 앱 내장 브라우저(인앱 브라우저)가 열립니다. 이 인앱 브라우저는 일반 브라우저와 달리 referrer 정보를 전달하지 않는 경우가 많습니다. 한국에서는 카카오톡 공유가 매우 빈번하기 때문에, 이것만으로도 direct/none 비중이 상당히 높아질 수 있습니다.
네이버 앱, 인스타그램 앱, 페이스북 앱 등에서 외부 링크를 열 때도 앱 자체 웹뷰가 사용됩니다. 웹뷰 환경에서는 referrer 전달 여부가 앱 구현에 따라 달라지며, 많은 경우 referrer가 누락됩니다. 특히 UTM 파라미터 없이 공유된 링크라면 direct/none으로 잡힐 가능성이 높습니다.
웹 보안 정책상, HTTPS 페이지에서 HTTP 페이지로 이동할 때 브라우저는 referrer를 전달하지 않습니다. 예를 들어 https://blog.example.com에서 링크를 클릭하여 http://yoursite.com으로 이동하면, yoursite.com에서는 referrer 정보를 받지 못합니다. 대부분의 웹사이트가 HTTPS를 사용하는 현재, HTTP를 유지하고 있는 사이트라면 이 원인으로 direct/none이 크게 늘어날 수 있습니다.
이메일 본문, 사내 메신저, SNS DM, 블로그 댓글 등에서 UTM 파라미터 없이 URL만 공유하는 경우입니다. referrer가 전달되더라도 GA4가 해당 소스를 인식하지 못할 수 있고, referrer가 전달되지 않는 환경이라면 당연히 direct/none이 됩니다. 마케팅 캠페인에서 발생하는 direct/none의 가장 흔한 원인입니다.
Outlook, Apple Mail, 네이버 메일 등 데스크톱 이메일 클라이언트에서 링크를 클릭하면, 해당 클라이언트가 referrer를 전달하지 않는 경우가 많습니다. 웹메일(Gmail 웹 등)은 referrer를 전달할 수 있지만, 모든 환경에서 보장되지는 않습니다. 이메일 마케팅을 하면서 UTM을 붙이지 않으면 성과 측정이 불가능해지는 이유입니다.
URL 단축 서비스(Bitly 등)를 사용하거나, 서버 측 리디렉션이 여러 단계를 거치면 referrer가 중간에 사라질 수 있습니다. 특히 리디렉션 체인이 길어지거나, 리디렉션 과정에서 쿼리 파라미터(UTM 포함)가 소실되는 경우가 빈번합니다. 리디렉션과 관련된 자세한 내용은 리디렉션 종류별 차이와 마케터가 알아야 할 원리에서 확인할 수 있습니다.
사용자가 브라우저의 개인정보 보호 설정을 강화하거나, VPN을 사용하거나, 광고 차단 확장 프로그램을 설치한 경우 referrer 전달이 차단될 수 있습니다. Safari의 ITP(Intelligent Tracking Prevention), Firefox의 ETP(Enhanced Tracking Protection) 등이 대표적입니다. 이는 사이트 운영자가 통제할 수 없는 영역이지만, 전체 direct/none 중 일정 비중을 차지합니다.
8가지 원인 요약표:
| # | 원인 | referrer 전달 | UTM으로 해결 가능 |
|---|---|---|---|
| 1 | 주소창 직접 입력/북마크 | X | X |
| 2 | 메신저 인앱 브라우저 | X | O |
| 3 | 모바일 앱 웹뷰 | X | O |
| 4 | HTTPS → HTTP 이동 | X | O |
| 5 | UTM 없이 공유된 링크 | 환경에 따라 다름 | O |
| 6 | 이메일 클라이언트 | X | O |
| 7 | 리디렉션 중 referrer 소실 | X | 부분적 |
| 8 | 브라우저 보호 설정/VPN | X | X |
표에서 볼 수 있듯이, 8가지 원인 중 4가지는 UTM 파라미터로 해결할 수 있습니다. 이것이 UTM 관리가 중요한 이유입니다.
direct/none 자체가 오류는 아닙니다. 문제는 이 비중이 높아질수록 마케팅 데이터의 신뢰도가 떨어진다는 점입니다.
GA4에서 "어떤 채널이 트래픽을 가장 많이 가져오는가"를 분석할 때, direct/none 비중이 높으면 전체 그림이 흐려집니다. 예를 들어 전체 세션의 40%가 direct/none이라면, 나머지 60%의 데이터만으로 채널 전략을 수립해야 합니다. 의사결정의 근거가 되는 데이터가 불완전한 것입니다.
A 채널과 B 채널의 성과를 비교할 때, 실제로는 A 채널을 통해 유입된 트래픽이 direct/none으로 잘못 분류되어 있다면 A 채널의 성과가 과소평가됩니다. 반대로, direct/none에 숨어 있는 트래픽이 특정 채널의 것인지 알 수 없으므로 정확한 비교 자체가 어렵습니다.
실무에서 흔히 발생하는 시나리오입니다. 카카오톡으로 프로모션 링크를 공유했는데 UTM을 붙이지 않았다면, 해당 캠페인을 통한 유입이 전부 direct/none으로 잡힙니다. 캠페인 보고서에서는 "카카오톡 채널 성과 없음"으로 나타나고, 실제로는 전환을 발생시킨 채널이 예산 삭감 대상이 되는 아이러니가 벌어집니다.
이러한 문제는 클릭 기여(Click-Through Attribution)의 관점에서도 중요합니다. 기여 분석 자체가 유입 소스 데이터에 의존하기 때문에, direct/none 비중이 높을수록 어트리뷰션 모델의 정확도도 함께 떨어집니다.

direct/none을 완전히 없앨 수는 없습니다. 주소창 직접 입력이나 브라우저 보호 설정은 통제할 수 없는 영역이기 때문입니다. 하지만 마케팅 활동에서 발생하는 불필요한 direct/none은 상당 부분 줄일 수 있습니다.
가장 효과적이면서도 가장 기본적인 방법입니다. 마케팅 팀에서 외부로 공유하는 모든 링크에 UTM 파라미터를 붙이는 것을 규칙으로 정합니다.
https://yoursite.com/event
→ https://yoursite.com/event?utm_source=kakaotalk&utm_medium=social&utm_campaign=summer_promo
UTM 파라미터는 referrer와 무관하게 GA4에 소스/매체 정보를 전달합니다. 메신저 인앱 브라우저가 referrer를 보내지 않더라도, UTM이 있으면 GA4가 정확하게 분류합니다.
실무 팁: Google의 Campaign URL Builder를 활용하면 UTM 파라미터를 일관성 있게 생성할 수 있습니다. 팀 내에서 UTM 네이밍 규칙(소문자 통일, 공백 대신 언더스코어 등)을 미리 정해두면 데이터 정리가 훨씬 수월해집니다.
UTM 파라미터를 정성껏 붙여도, 리디렉션 과정에서 쿼리 스트링이 사라지면 소용이 없습니다. 서버 설정에서 리디렉션 시 쿼리 파라미터가 함께 전달되는지 반드시 확인해야 합니다.
RewriteRule에 [QSA](Query String Append) 플래그 추가rewrite 지시문에 $request_uri 또는 $args 포함리디렉션을 설정한 후에는 UTM 파라미터가 포함된 URL로 직접 테스트하여, GA4 실시간 보고서에서 소스/매체가 올바르게 표시되는지 확인합니다. 리디렉션의 종류별 차이와 파라미터 전달 관련 상세 내용은 리디렉션 종류별 가이드를 참고하세요.
사이트 전체를 HTTPS로 운영하고, HTTP 접속 시 HTTPS로 301 리디렉션되도록 설정합니다. 이렇게 하면 HTTPS → HTTP 간 referrer 누락 문제를 원천적으로 방지할 수 있습니다.
대부분의 최신 웹사이트는 이미 HTTPS를 사용하고 있지만, 간혹 서브도메인이나 특정 경로가 HTTP로 남아 있는 경우가 있습니다. 전체 도메인에 걸쳐 HTTPS가 일관되게 적용되어 있는지 점검합니다.
이메일과 메신저는 referrer를 전달하지 않는 경우가 많으므로, 이 채널들에 대한 전용 UTM 규칙을 마련합니다.
| 채널 | utm_source | utm_medium | utm_campaign (예시) |
|---|---|---|---|
| 뉴스레터 | newsletter | feb_weekly | |
| 카카오톡 | kakaotalk | social | summer_promo |
| 라인 | line | social | event_share |
| 사내 슬랙 | slack | internal | team_notice |
| SMS | sms | sms | order_confirm |
규칙을 문서화해두면 팀원 누구나 일관된 UTM을 생성할 수 있고, 나중에 GA4에서 채널별 분석을 할 때 데이터가 깔끔하게 정리됩니다.
GA4의 "원치 않는 추천 제외" 설정이 잘못되어 있으면, 실제로는 referral인 트래픽이 direct/none으로 분류될 수 있습니다. 반대로 자사 도메인이 추천 제외 목록에 빠져 있으면, 서브도메인 간 이동이 새로운 세션으로 잡혀 데이터가 왜곡됩니다.
GA4 관리 화면에서 데이터 스트림 → 태그 설정 구성 → 원치 않는 추천 나열을 확인합니다. 자사 도메인(서브도메인 포함)이 추천 제외 목록에 포함되어 있는지, 그리고 외부 결제 페이지(PG사 등)가 적절히 설정되어 있는지 점검합니다.
direct/none을 줄이는 것도 중요하지만, 현재 데이터를 정확히 분석하는 것도 필요합니다. GA4에서 direct/none 트래픽을 심층 분석하는 세 가지 방법을 소개합니다.
보고서 → 획득 → 트래픽 획득에서 차원을 "세션 소스/매체"로 설정합니다. direct / (none)의 세션 수와 전체 대비 비중을 확인합니다. 일반적으로 20~30% 수준이면 정상 범위로 봅니다. 이 비중이 40%를 넘는다면 UTM 관리나 기술적 설정에 문제가 있을 가능성이 높습니다.
비교 기간을 설정하여 direct/none 비중의 추이를 확인하는 것도 유용합니다. 특정 캠페인 시작 이후 갑자기 direct/none이 증가했다면, 해당 캠페인의 링크에 UTM이 빠져 있을 가능성이 큽니다.
GA4의 탐색(Explore) 기능을 활용하면 더 상세한 분석이 가능합니다. 자유 형식 탐색에서 행에 "세션 소스/매체", 열에 "날짜"를 배치하고 값에 "세션 수"를 넣으면, direct/none 트래픽이 시간에 따라 어떻게 변하는지 추이를 볼 수 있습니다.
특정 날짜에 direct/none이 급증했다면, 그날 어떤 마케팅 활동이 있었는지 역추적할 수 있습니다. 뉴스레터를 발송했는데 UTM을 빠뜨린 경우, 발송일에 direct/none이 뚜렷하게 올라가는 패턴을 발견할 수 있습니다.
가장 실용적인 분석 방법입니다. 탐색 보고서에서 행에 "랜딩 페이지 + 쿼리 문자열"과 "세션 소스/매체"를 함께 배치하면, 어떤 페이지에 direct/none이 집중되는지 알 수 있습니다.
이렇게 랜딩 페이지 단위로 분석하면 direct/none의 원인을 구체적으로 추정할 수 있고, 어디부터 개선해야 하는지 우선순위를 정할 수 있습니다.
direct/none 트래픽에 대해 기억해야 할 핵심은 세 가지입니다.
direct/none은 완전히 없앨 수 없는 트래픽입니다. 하지만 줄일 수 있는 미분류 데이터라는 점을 인식하고, 체계적으로 관리하면 GA4 데이터의 품질을 확실히 높일 수 있습니다.
GA4에서 direct/none 트래픽 비중이 높을 때, 가장 먼저 점검해야 할 항목은 무엇이라고 생각하시나요?