어느 날 GA4 트래픽 획득 보고서를 열었더니, 광고 예산을 늘린 적도 없고 특별한 바이럴이 있었던 것도 아닌데 (direct) / (none) 유입이 눈에 띄게 늘어나 있는 경우가 있습니다. 실제로 컨설팅 현장에서 만나는 마케터 분들이 가장 자주 묻는 질문 중 하나도 이것입니다. “우리 사이트는 왜 이렇게 직접 유입이 많은가요? 광고비는 쓰고 있는데 성과가 전부 direct로 잡히는 것 같아요.”
결론부터 말씀드리면, 직접 유입이 많다는 것은 대부분 ‘사용자가 정말로 주소를 직접 입력해서 들어왔다’는 뜻이 아닙니다. 유입 정보가 어딘가에서 유실되었다는 신호에 가깝습니다. 그리고 이 유실은 무작위로 일어나는 것이 아니라, 몇 가지 뚜렷한 원인과 패턴을 가지고 있습니다.
이 글에서는 GA4가 어떤 방문을 직접 유입으로 분류하는지, 직접 유입이 많아지는 네 가지 원인은 무엇인지, 그리고 우리 비즈니스의 Direct 비중을 어떤 순서로 진단하고 해석해야 하는지 차근차근 알아보겠습니다.
목차
- 목차
- 1. 직접 유입(Direct)의 개념: 이름표 없이 도착한 방문
- 2. 직접 유입이 많아지는 네 가지 원인
- 3. 국내 환경에서 Direct가 유독 높은 이유
- 4. Direct 비중을 진단하는 순서
- 5. 줄일 수 있는 Direct와 받아들여야 하는 Direct
- 마무리
1. 직접 유입(Direct)의 개념: 이름표 없이 도착한 방문
GA4는 세션이 시작될 때 ‘이 사용자가 어디에서 왔는가’를 판단하기 위해 두 가지 정보를 확인합니다. 하나는 URL에 붙어 있는 UTM 매개변수이고, 다른 하나는 브라우저가 전달하는 리퍼러(Referrer), 즉 직전 페이지의 주소입니다. 이 두 가지가 모두 비어 있으면 GA4는 해당 세션의 소스/매체를 (direct) / (none)으로 기록합니다.
쉽게 말해 직접 유입은 발신번호 표시제한으로 걸려온 전화와 같습니다. 전화가 온 것은 분명하고 통화도 정상적으로 이루어지지만, 누가 걸었는지는 알 수 없습니다. 전화를 건 사람이 일부러 번호를 숨겼을 수도 있고, 통신 환경 때문에 번호가 전달되지 못했을 수도 있습니다. 중요한 것은 ‘번호 없음’이 발신자의 정체가 아니라 정보가 전달되지 않았다는 상태를 의미한다는 점입니다.

여기서 한 가지 짚고 넘어갈 점이 있습니다. GA4의 기여 방식은 기본적으로 ‘마지막 비직접 유입(non-direct last click)’을 우선합니다. 사용자가 어제 네이버 광고로 방문했다가 오늘 북마크로 재방문하면, 오늘 세션의 성과는 여전히 어제의 광고 정보로 이어집니다. 다만 이 보정에는 유효 기간이 있습니다. GA4는 기본 90일의 조회 기간(lookback window) 안에서만 이전 유입 정보를 이어 붙이며, 그 기간을 벗어나면 해당 세션은 그대로 direct가 됩니다. 즉 보고서에 보이는 direct는 GA4가 이렇게 한 차례 보정한 뒤에도 끝내 출처를 찾지 못한 방문이라는 뜻입니다. 그래서 direct 비중이 높다는 것은 생각보다 더 많은 유입 정보가 유실되고 있다는 신호로 읽어야 합니다.
2. 직접 유입이 많아지는 네 가지 원인
원인을 하나씩 나누기 전에, 직접 유입이 어떻게 만들어지는지 보여주는 가장 흔한 장면 하나를 먼저 떠올려 보겠습니다. 친구가 카카오톡으로 “저번에 보여줬던 그거 제품 링크좀”이라고 물어봐서, 쇼핑몰 상품 페이지의 긴 URL을 복사해 그대로 전달해 준 경험이 한 번쯤 있으실 것입니다.

상대는 이 링크를 눌러 상품 페이지에 정상적으로 도착합니다. 하지만 GA4 입장에서 이 방문은 UTM도 리퍼러도 없는 방문입니다. product_no와 cate_no가 붙은 아무리 긴 URL이라 해도 출처 정보가 없으면 이 세션은 그대로 (direct) / (none)으로 기록됩니다.
이런 일은 1:1 대화에서만 일어나는 것이 아닙니다. 많은 사람이 모여 있는 오픈채팅방에 누군가 상품 추천 링크를 올린다면 그 링크를 누른 모든 사람의 방문이 전부 같은 방식으로 (direct) / (none)에 쌓입니다. 우리 입장에서는 분명 ‘입소문’이라는 소중한 유입 경로가 생긴 것인데, 보고서에는 그 흔적이 남지 않는다는 것입니다.
리퍼러가 정상적으로 전달되는 경우와 전달되지 않는 경우를 그림으로 비교해 보면 다음과 같습니다.

1) 진짜 직접 유입: 북마크와 주소 직접 입력
사용자가 브라우저 북마크를 누르거나 주소창에 URL을 직접 입력해 방문하는, 말 그대로의 직접 유입입니다. 브랜드 인지도가 높거나 재방문이 잦은 서비스라면 자연스럽게 발생하며, 이 유형의 직접 유입은 오히려 반가운 신호라고 할 수 있습니다.
여기서 많은 분들이 추가로 헷갈려하는 부분이 있습니다. 다른 웹사이트를 보고 있는 상태에서 주소창에 우리 사이트 주소를 입력해 넘어오면, 직전까지 보고 있던 그 사이트가 리퍼러로 남지 않을까 하는 것입니다. 결론은 남지 않습니다. 리퍼러는 페이지 안의 링크를 클릭해서 이동할 때만 전달되는 정보입니다. 주소창 입력이나 북마크를 통한 이동은 직전에 어떤 페이지에 머물러 있었든 이전 탐색과 단절된 새로운 탐색으로 처리되며, 리퍼러 없이 시작되므로 direct로 기록됩니다.
다만 뒤에서 설명할 유실성 direct와 섞여 있기 때문에, 전체 direct에서 이 ‘진짜’가 차지하는 비중을 구분해 내는 것이 해석의 핵심입니다.
2) 인앱 브라우저와 문자, 이메일로 공유된 링크
카카오톡으로 공유된 링크, 문자 메시지(SMS)로 발송된 링크, 이메일 앱에서 누른 링크는 UTM이 붙어 있지 않으면 리퍼러 없이 열리는 경우가 많습니다. 메신저나 문자 앱은 웹 페이지가 아니기 때문에 전달할 ‘직전 페이지’라는 개념 자체가 없고, 앱에서 브라우저로 전환되는 과정에서 탐색 맥락이 끊기기 때문입니다. 모바일 트래픽 비중이 높은 국내 환경에서는 이 원인이 direct를 키우는 가장 큰 요인이라고 할 수 있습니다.
주의: 모든 앱 내 링크 클릭이 direct가 되는 것은 아닙니다. 예를 들어 인스타그램이나 페이스북은 아웃링크를
l.instagram.com,l.facebook.com같은 자체 리다이렉트(링크 심, Link Shim)로 감싸서 내보내기 때문에, 오히려 리퍼러가 남아 referral로 분류되는 경우가 많습니다. 같은 ‘앱에서 링크 클릭’이라도 서비스의 구현 방식에 따라 결과가 다르므로, 우리 서비스의 주요 유입 채널이라면 실제로 링크를 눌러 어떤 소스로 기록되는지 직접 테스트해 보는 것을 권장합니다.
3) UTM이 붙지 않은 마케팅 활동
오프라인 QR 코드, 이메일 뉴스레터, 앱 푸시, 문자, 알림톡 발송, 제휴사에 전달한 URL처럼 우리가 직접 만든 접점인데도 UTM을 붙이지 않아 direct로 잡히는 경우입니다. 광고비를 쓰거나 발송 비용을 들인 활동의 성과가 통째로 direct에 묻히는 것이므로, 네 가지 원인 중 가장 아까운 유형입니다. 다행히 이 유형은 UTM 규칙만 정비하면 확실하게 줄일 수 있습니다. 특히 2)에서 설명한 인앱, 문자 환경은 리퍼러에 기댈 수 없는 구간이기 때문에, UTM이 사실상 유일한 출처 표시 수단입니다.
여기서 국내 환경에서 특히 자주 놓치는 지점이 하나 있습니다. 문자나 알림톡은 글자 수 제한 때문에 URL 단축 서비스를 쓰는 경우가 많은데, 리다이렉트를 거치는 과정에서 원래의 유입 정보가 제거될 수 있습니다. 단축 URL을 쓰더라도 단축하기 전의 원본 URL에 UTM을 붙여 두어야 출처가 보존됩니다. 순서를 바꿔 단축한 뒤에 UTM을 붙이면 의미가 없습니다.
4) 리퍼러가 통째로 생략되는 경우
이 부분은 잘못 알려진 정보가 많아 정확히 짚고 넘어가겠습니다. 브라우저의 리퍼러 정책(Referrer-Policy)이 리퍼러를 ‘잘라낸다’는 이야기를 많이 들어보셨을 텐데, 이때 잘려나가는 것은 경로와 쿼리 파라미터이고 도메인은 남습니다. 예를 들어 네이버 모바일 검색에서 유입되면 검색어 같은 상세 정보는 잘리더라도 m.search.naver.com이라는 도메인은 전달되기 때문에, 이 트래픽은 direct가 아니라 네이버 유입으로 분류됩니다. 즉 리퍼러 정책에 의한 축약은 유입 정보를 ‘덜 자세하게’ 만들 뿐, direct를 만들지는 않습니다.
direct가 되는 것은 리퍼러가 도메인까지 통째로 생략되는 더 좁은 경우입니다.
- 웹사이트가
no-referrer정책을 선언하여 리퍼러 전송 자체를 막는 경우 - 보안 연결(HTTPS) 페이지에서 일반 연결(HTTP) 페이지로 이동하는 경우: 브라우저는 보안 수준이 낮아지는 이동에서 리퍼러 전체를 생략합니다
- 앱에서 외부 브라우저로 전환되는 등 탐색 맥락이 끊기는 경우 (앞서 설명한 인앱, 문자 유형이 여기에 해당합니다)
- PDF, 워드, 파워포인트 같은 오프라인 문서에 삽입된 링크를 통해 들어오는 경우: 문서 뷰어는 웹 페이지가 아니므로 전달할 리퍼러가 없습니다
- 광고 차단기나 일부 개인정보 보호 확장 프로그램이 리퍼러 전송을 차단하는 경우
네 가지 원인을 표로 정리하면 다음과 같습니다.
| 원인 | 판별 단서 | 대응 가능성 |
|---|---|---|
| 북마크, 주소 직접 입력 | 방문 페이지가 홈, 주요 페이지이고 재방문 사용자 비중 높음 | 대응 불필요(긍정 신호) |
| 인앱 브라우저, 문자, 이메일 공유 | 모바일 비중 높음, 공유가 활발한 콘텐츠, 이벤트 페이지로 유입 | 공유, 발송 링크에 UTM 부착으로 회수 가능 |
| UTM 누락 | 캠페인, 발송 일정과 direct 급증 시점이 일치 | UTM 규칙 정비로 대부분 회수 가능 |
| 리퍼러 통째 생략 | HTTP 페이지로의 유입, 특정 이동 경로에 집중 | 통제 어려움(HTTPS 정비 외에는 구조적 한계) |
3. 국내 환경에서 Direct가 유독 높은 이유
해외 자료에서는 direct 비중을 전체 트래픽의 20~30% 안팎으로 언급하는 경우가 많습니다. 하지만 국내 서비스의 데이터를 들여다보면 이보다 훨씬 높은 경우가 흔합니다. (※ 적정 비중은 업종, 채널 구성에 따라 편차가 크며, 단일한 기준치가 있는 것은 아닙니다.)
가장 큰 이유는 국내 사용자의 링크 소비가 카카오톡과 문자라는, 리퍼러가 존재하지 않는 접점에서 대량으로 일어나기 때문입니다. 상품 링크는 카카오톡으로 공유되고, 예약 확인과 프로모션 안내는 문자와 알림톡으로 발송되며, 이 링크들은 각자의 인앱 브라우저에서 열립니다. 이 접점들은 애초에 전달할 ‘직전 페이지’가 없는 환경이기 때문에, UTM이 붙어 있지 않은 링크는 그대로 direct가 됩니다. 같은 마케팅 활동을 하더라도 메신저 공유 문화가 강한 국내에서는 해외 서비스보다 direct가 커질 수밖에 없는 구조입니다.
어쩔 수 없는 여러 상황으로 인해 국내 환경에서 direct를 해외 기준까지 낮추기는 매우 어렵습니다. 하지만 그렇기 때문에 오히려 ‘우리 서비스의 평소 direct 수준’을 기준선으로 잡고, 그 기준선에서 벗어나는 변화를 감지하는 방식으로 접근하는 것을 권장합니다. 절대적인 수치보다 추이의 변화가 훨씬 많은 것을 알려줍니다.
4. Direct 비중을 진단하는 순서
직접 유입이 늘었을 때는 다음 순서로 원인을 좁혀가는 것이 효율적입니다.

- 추이부터 확인합니다. direct 비중이 원래 높았던 것인지, 특정 시점부터 높아진 것인지를 먼저 구분합니다. 특정 시점부터라면 그 시점의 사이트 개편, 캠페인 시작, 발송 채널 추가 이력과 대조합니다.
- 방문 페이지(랜딩 페이지)를 확인합니다. 이것이 진단의 핵심입니다. 사용자가 북마크나 주소 입력으로 들어왔다면 방문 페이지는 홈이나 자주 가는 페이지여야 자연스럽습니다. 그런데 direct 세션의 방문 페이지가 URL이 긴 상품 상세 페이지, 이벤트 페이지, 특정 콘텐츠 페이지라면, 사용자가 그 주소를 직접 입력했을 리 없습니다. 누군가 어딘가에서 그 링크를 눌렀는데 출처가 유실된 것입니다.
- 캠페인, 발송 일정과 대조합니다. direct가 급증한 시점이 문자 발송, 알림톡, 이메일, 오프라인 QR 배포 같은 활동과 일치한다면 해당 채널 링크의 UTM 누락을 의심합니다. 의심되는 채널이 있다면 그 링크를 직접 눌러서 GA4 실시간 보고서에 어떤 소스로 잡히는지 확인하는 것이 가장 빠릅니다.
- 기기와 브라우저를 나눠 봅니다. direct가 모바일과 앱 내 웹뷰 환경에 몰려 있다면 인앱 브라우저, 문자 공유 유형일 가능성이 높고, 전체 환경에서 고르게 늘었다면 UTM 누락을 의심해야 합니다.
주의: direct와 함께 Unassigned가 같이 늘고 있다면 이는 다른 문제입니다. Unassigned는 유입 정보가 ‘없는’ 것이 아니라 수집은 되었지만 채널 분류 규칙에 ‘매칭되지 않은’ 것으로, UTM 값의 오타나 비표준 표기가 원인인 경우가 많습니다.
5. 줄일 수 있는 Direct와 받아들여야 하는 Direct
진단이 끝났다면 대응은 두 갈래로 나뉩니다.
줄일 수 있는 (direct) / (none) 트래픽은 확실하게 줄여야 합니다.
- 우리가 만드는 모든 링크(광고, 이메일, 푸시, 문자, 알림톡, QR, 제휴, 공유 버튼)에 UTM을 붙이는 규칙을 정비합니다. 리퍼러가 존재하지 않는 인앱, 문자 환경에서 UTM은 유일한 출처 표시 수단입니다.
- 주요 유입 채널(카카오톡, 인스타그램, 문자 등)별로 실제 링크를 눌러 리퍼러가 남는지 테스트하고, 리퍼러가 남지 않는 채널을 UTM 부착 우선순위로 관리합니다.
- 사이트에 HTTP 페이지가 남아 있다면 HTTPS로 정비합니다. 보안 수준이 낮아지는 이동에서는 리퍼러가 통째로 생략될 수 있습니다.
받아들여야 하는 direct는 해석의 문제로 전환합니다.
- 북마크, 주소 입력에 의한 direct는 브랜드 자산의 지표로 읽습니다.
- 인앱 환경과 리퍼러 생략에 의한 유실은 통제할 수 없으므로, 우리 서비스의 기준선을 정하고 그 변화를 모니터링합니다.
- direct를 0으로 만들겠다는 목표는 세우지 않습니다. 현실적으로 불가능할 뿐 아니라, 진짜 직접 유입까지 지워버리는 잘못된 목표입니다.
💡 UTM 작성 규칙이 아직 정리되어 있지 않다면 구글 애널리틱스 4(GA4) 사용자를 위한 UTM 실전 가이드 글을, Unassigned 문제와 채널 분류가 궁금하신 분들은 GA4 기본 채널 그룹과 맞춤 채널 그룹 활용 방법 글을 참고해보세요.
마무리
직접 유입은 GA4가 잘못 집계한 오류가 아니라, 우리 서비스의 유입 정보가 어디에서 새고 있는지를 알려주는 신호입니다. 방문 페이지를 기준으로 진짜 직접 유입과 유실된 유입을 구분하고, UTM 규칙으로 회수할 수 있는 것을 회수한 뒤, 나머지는 우리 서비스의 기준선으로 관리하는 것. 이것이 direct를 대하는 가장 현실적인 방법입니다.
프라이버시 보호가 강화되고 인앱 환경이 확대될수록 유입 데이터의 해상도는 계속 낮아질 것입니다. 이제는 보이는 숫자를 그대로 읽는 것을 넘어, 보이지 않게 된 숫자가 어디로 갔는지 추적할 수 있는 역량이 마케터의 경쟁력이 되는 시대입니다.
저희 오픈소스마케팅은 다양한 산업의 데이터 환경에서 유입 데이터의 유실 구간을 진단하고 개선해 온 컨설팅 경험을 보유하고 있습니다. 우리 서비스의 direct 비중이 유독 높아 고민이신 담당자분들은 언제든 편하게 문의해 주세요.