교육 문의커뮤니티 입장하기

GA4 direct/none이 많을 때: 원인 8가지와 UTM 점검 순서

GA4의 (direct) / (none)은 명확한 유입 출처가 없는 트래픽을 뜻합니다. 직접 방문과 출처 누락을 구분하고, 보고서 확인부터 UTM 링크 작성과 결과 대조까지 순서대로 살펴봅니다.

지금까지 100명 넘게 읽었어요, 40%가 끝까지 읽었어요
Share
GA4 direct/none이 많을 때: 원인 8가지와 UTM 점검 순서 대표 이미지
목차
  1. Direct가 많으면 무조건 잘못된 걸까요?
  2. 소스와 매체, 리퍼러부터 구분하기
  3. 보고서에서 세션 비중 확인하기
  4. 출처 정보를 점검할 8가지 상황
  5. Direct를 잘못 해석하면 생기는 일
  6. 내 링크 하나부터 점검하는 5가지 방법
  7. 결과가 예상과 다를 때
  8. 혼자 반복하기
  9. Sources

세 줄로 먼저 읽기

이번 방문에서 한 편은 바로 볼 수 있습니다.

Direct가 많으면 무조건 잘못된 걸까요?

GA4는 웹사이트와 앱의 이용을 분석하는 도구입니다. 트래픽 획득 보고서에서 (direct) / (none)이 보이면, 명확한 유입 출처가 없는 트래픽으로 분류됐다는 뜻입니다. 주소창에 직접 입력한 방문뿐 아니라 이메일이나 앱의 링크에서 출처 정보가 빠진 경우도 포함될 수 있습니다. Google 설명

Direct 자체가 오류는 아닙니다. “20~30%면 정상”, “40%를 넘으면 잘못된 설정”처럼 모든 사이트에 적용할 비율 기준도 두지 않습니다. 사이트 이용 방식과 캠페인, 측정 조건을 함께 확인해야 합니다.

이 글의 첫 과제는 보고서의 숫자를 읽고 내가 공유할 링크 하나에 출처를 적는 것입니다. 링크 작성 연습은 메모장만 있으면 됩니다. 실제 확인은 GA4 조회 권한과 측정이 설치된 내 사이트가 있을 때 진행합니다. 서버 설정과 추천 제외 변경은 뒤의 선택 과제로 남겨도 됩니다.

소스와 매체, 리퍼러부터 구분하기

소스(source)는 방문이 시작된 출처이고, 매체(medium)는 유입 방식입니다. 예를 들어 google / organic은 Google의 자연 검색으로 분류된 유입입니다. (direct) / (none)은 보고서에 표시되는 한 쌍의 값이며, 말 그대로 모든 데이터 칸이 비어 있다는 뜻은 아닙니다.

리퍼러(referrer)는 브라우저 등이 전달하는 이전 페이지 관련 정보입니다. 전체 주소가 올 수도 있고 도메인만 오거나 아예 없을 수도 있습니다. 기술 문서의 HTTP 헤더 이름은 철자가 다른 Referer입니다. 브라우저의 정책과 이동 조건에 따라 전달 범위가 달라집니다. MDN 리퍼러 정책 설명

캠페인은 강의 모집이나 뉴스레터처럼 목적을 정한 홍보 활동입니다. UTM은 링크 뒤에 붙여 캠페인의 출처와 매체, 이름을 설명하는 항목입니다. GA4는 리퍼러뿐 아니라 UTM과 광고 클릭 정보 등도 출처 분류에 활용합니다. 따라서 리퍼러나 UTM 중 한 가지가 없다는 이유만으로 Direct라고 판단하지 않습니다.

GA4의 Unassigned는 채널 분류 규칙에 맞지 않는 경우의 표시이고, (not set)은 해당 항목의 값을 사용할 수 없다는 표시입니다. 각 표시는 구분해서 읽습니다. 이전 유입과 기여 처리도 영향을 주므로 “이번 이동에서 리퍼러 없음 → 반드시 Direct”라는 공식은 맞지 않습니다.

보고서에서 세션 비중 확인하기

Google Analytics에 조회 권한이 있는 계정으로 로그인합니다. 속성은 사이트나 앱의 데이터를 모아 보는 분석 단위입니다. 대상 사이트의 속성을 선택하고 보고서 → 획득 → 트래픽 획득으로 이동합니다. 날짜를 정한 뒤 표의 첫 번째 열을 세션 소스/매체로 바꿉니다. 채널 그룹으로 보면 Direct, 소스/매체로 보면 (direct) / (none)처럼 표시됩니다. 화면에 따라 보고서 구성과 메뉴 이름은 다를 수 있습니다. 메뉴가 없으면 보고서 구성과 권한을 담당자에게 확인하고, 임의로 다른 속성의 숫자를 대신 사용하지 않습니다.

세션은 한 번의 이용 흐름을 묶은 단위이며 사람 수나 페이지 조회수와 같지 않습니다. 먼저 필터가 없는 상태의 전체 세션 수를 적고, Direct 행의 세션 수를 적습니다. 이미 Direct만 보이게 필터했다면 그 합계를 사이트 전체로 사용하지 않도록 필터를 확인합니다.

아래는 실제 보고서가 아닌 계산 예제입니다. 같은 기간의 전체 100세션을 가정했습니다.

세션 소스/매체세션 수전체 대비 비중
(direct) / (none)4242%
google / organic3131%
naver / organic1414%
나머지 출처 합계1313%
전체100100%

42 ÷ 100 × 100 = 42%입니다. 이것만으로 42회가 모두 주소창 입력이거나 모두 잘못 측정됐다고 알 수는 없습니다. 먼저 전후 기간의 세션 수와 비중을 함께 보고, 그때 공유한 링크나 사이트 변경이 있었는지 확인합니다.

출처 정보를 점검할 8가지 상황

1. 주소창 직접 입력과 북마크

주소를 직접 입력하거나 즐겨찾기로 열면 이전 페이지 정보가 없을 수 있습니다. 실제 직접 방문도 있으므로 이를 없애기 위해 임의의 출처를 붙이지 않습니다. 재방문의 최종 보고서 분류에는 이전 유입과 기여 처리도 영향을 줄 수 있습니다.

2. 메신저의 인앱 브라우저

인앱 브라우저는 메신저 안에서 링크를 여는 화면입니다. 카카오톡이나 다른 메신저에서 출처 정보를 전달하는 방식은 앱과 환경에 따라 다릅니다. “카카오톡 링크는 전부 Direct”라고 단정하지 말고 실제 공유한 링크와 측정 기록을 대조합니다.

3. 다른 모바일 앱의 웹뷰

웹뷰는 앱 안에 웹페이지를 표시하는 기능입니다. 앱에서 브라우저로 이동하거나 앱 안에서 계속 여는 조건에 따라 출처 정보가 달라질 수 있습니다. 앱 이름만으로 누락 여부를 확정할 수는 없습니다. 관리하는 캠페인 링크라면 UTM 유지 여부를 확인합니다.

4. HTTPS에서 HTTP로 내려가는 이동

일반적인 기본 리퍼러 정책에서는 암호화된 HTTPS 페이지에서 HTTP 페이지로 이동할 때 리퍼러를 보내지 않습니다. 목적지 주소와 중간 이동에 HTTP가 남아 있는지 확인합니다. HTTPS를 쓴다고 모든 출처 누락이 해결되는 것은 아닙니다.

5. 출처를 지정하지 않은 캠페인 링크

뉴스레터나 홍보 메시지에 주소만 넣었고 다른 출처 정보도 전달되지 않으면 캠페인을 구분하기 어렵습니다. 다만 UTM이 없는 모든 링크가 Direct인 것은 아닙니다. 자동 태그가 적용된 광고 등 기존 측정 방식이 있다면 그 설정과 함께 확인합니다.

6. 이메일과 오프라인 문서

메일 앱, PDF나 문서에서 링크를 열 때 웹페이지의 리퍼러가 없을 수 있습니다. 웹메일의 동작도 환경마다 다릅니다. 측정하려는 뉴스레터나 배포 문서에 관리 가능한 UTM을 붙이면 출처 구분에 도움이 됩니다. 원래 출처를 알 수 없는 과거 방문이 나중에 복원되는 것은 아닙니다.

7. 단축 주소와 리디렉션

리디렉션은 한 주소에서 다른 주소로 보내는 처리입니다. 중간 단계에서 UTM을 버리거나 출처 정보가 달라질 수 있으므로 최종 도착 주소까지 확인합니다. 리디렉션이나 단축 서비스를 썼다는 사실만으로 정보가 반드시 사라졌다고 판단하지 않습니다. 리디렉션 안내

8. 보호 기능과 측정 제한

브라우저의 개인정보 보호 기능이나 차단 확장 기능이 출처 전달과 분석 수집에 영향을 주면, Direct로 보이거나 방문 자체가 수집되지 않는 경우가 생깁니다. VPN 사용만으로 리퍼러가 반드시 사라진다고 단정하지 않습니다. 동의하지 않은 측정을 강제로 수집하도록 바꾸는 해결책도 사용하지 않습니다.

이 목록은 원인을 좁히기 위한 점검 항목입니다. 특정 원인이 모든 사이트에서 가장 흔하다거나 UTM으로 몇 가지를 완전히 해결한다고 정해 놓지 않습니다.

Direct를 잘못 해석하면 생기는 일

뉴스레터의 일부 출처가 빠졌다면 보고서에서 그 캠페인의 기여가 실제보다 작아 보일 수 있습니다. 하지만 Direct 증가분 전체를 뉴스레터 성과에 더하는 것도 근거가 부족합니다. 발송일과 링크, 랜딩 페이지를 함께 확인해야 합니다. 랜딩 페이지는 한 세션에서 처음 도착한 페이지입니다.

예를 들어 캠페인 안내 글에서 Direct가 늘었다면 링크 정보 누락을 조사할 이유가 됩니다. 이것만으로 캠페인이 원인이라고 확정할 수는 없습니다. 홈페이지에 Direct가 많아도 모두 북마크라고 알 수 없고, 블로그 글에 많아도 모두 메신저 공유라고 알 수 없습니다.

전환은 신청이나 구매처럼 목표로 삼은 행동입니다. 어느 유입에 성과를 배분할지 판단하는 기여 분석에서도 출처 정보의 한계를 함께 적어야 합니다. Direct 비중만 보고 채널 예산을 늘리거나 줄이지 않습니다.

내 링크 하나부터 점검하는 5가지 방법

1. 메모장에서 UTM 링크 만들기

다음 주소는 형식 연습용이며 실제 캠페인 페이지가 아닙니다.

https://example.com/event?utm_source=newsletter&utm_medium=email&utm_campaign=october_class

utm_source=newsletter는 출처 이름, utm_medium=email은 이메일 방식, utm_campaign=october_class는 캠페인 이름입니다. ?는 주소 뒤 정보의 시작이고, &는 항목 사이의 구분자입니다. 이름과 이메일 주소 같은 개인정보를 값에 넣지 않습니다.

연습할 때는 메모장에 복사해 각 항목의 뜻을 옆에 적습니다. example.com은 예제 도메인이므로 GA4 결과를 기대하며 접속하지 않습니다. 실제 공유 전에는 자신이 관리하는 페이지 주소로 바꿉니다. 이미 ? 뒤에 항목이 있다면 &로 이어 붙입니다. 예를 들어 https://example.com/event?id=7은 다음처럼 만듭니다.

https://example.com/event?id=7&utm_source=newsletter&utm_medium=email&utm_campaign=october_class

기존 UTM이 있으면 같은 이름을 중복으로 붙이지 말고, 어떤 캠페인 값으로 사용할지 먼저 정합니다.

같은 캠페인은 소문자와 구분 방식 등을 통일합니다. 내부 메뉴나 같은 사이트 안의 링크에 유입 구분용 UTM을 일괄 붙이지 않습니다. 외부에서 배포하는 캠페인 링크를 대상으로 하고, 자동 태그를 쓰는 광고는 기존 측정 설계부터 확인합니다.

2. 최종 주소와 측정 결과를 따로 확인하기

측정이 설치된 내 사이트에서 확인할 때만 실제 링크를 브라우저에 넣습니다. 자동 이동이 끝난 뒤 주소창에 UTM 세 항목이 남아 있는지 봅니다. 주소에 정보가 남는 것과 GA4에 정상 수집되는 것은 별도 확인입니다.

기존 세션 중에 다른 UTM 링크를 열었다고 GA4가 새 세션을 만드는 것은 아닙니다. 새 캠페인 정보는 이벤트에 수집돼도 기존 세션의 출처를 바꾸지 않을 수 있으므로 한 번 열자마자 원하는 세션 소스가 나와야 한다고 판단하지 않습니다. GA4 캠페인과 트래픽 소스

수집 확인은 실시간 보고서나 담당자의 디버깅 도구로 하고, 세션 출처의 최종 확인은 데이터가 처리된 뒤 트래픽 획득 보고서에서 진행합니다. 처리에는 24~48시간이 걸릴 수 있고 그동안 보고서 값이 바뀔 수 있습니다. 데이터 최신성 안내

예제 링크가 새 세션으로 정상 수집되고 처리됐다면 확인할 소스/매체는 newsletter / email, 캠페인은 october_class입니다. 보고서 날짜를 테스트 시점에 맞추고 해당 행과 값을 대조합니다. 이 값이 안 보인다고 즉시 링크가 틀렸다고 단정하지 않고 아래의 점검을 진행합니다.

UTM이 사라지면 원래 링크, 최종 주소와 테스트 시각을 기록해 관리자에게 전달합니다. 서버 프로그램의 설정 한 줄을 무조건 추가하지 않습니다. 기존 규칙에서 어느 이동이 정보를 버리는지 담당자가 확인하도록 기록을 전달합니다.

3. HTTPS 경로 확인하기

배포할 링크와 최종 페이지가 HTTPS인지 확인합니다. 일부 하위 주소만 HTTP라면 관리자에게 해당 주소를 전달합니다. 리퍼러 누락 한 가지를 해결하려고 방문자의 보호 기능을 끄게 하거나 서버를 임의로 바꾸지 않습니다.

4. 캠페인별 이름을 합의하기

다음은 이름을 정하는 예시이며, GA4가 모든 값을 정해 준 표준은 아닙니다.

배포 목적utm_sourceutm_mediumutm_campaign
뉴스레터 강의 안내newsletteremailoctober_class
문자 강의 안내smssmsoctober_class
메신저 공유kakaotalksocialoctober_class

소스와 매체가 기록되는 것과 원하는 기본 채널로 묶이는 것은 별개입니다. 자체 매체 이름을 쓰면 기본 채널 규칙에 맞지 않아 Unassigned로 분류될 수도 있습니다. 팀의 기존 규칙이 있다면 먼저 따르고, 분류 결과를 확인한 뒤 필요한 맞춤 채널을 검토합니다.

5. 원치 않는 추천과 도메인 이동 점검하기

“원치 않는 추천”은 결제 서비스처럼 새 유입 출처로 취급하지 않을 도메인을 지정하는 설정입니다. 모든 추천을 없애거나 Direct를 0으로 만드는 기능이 아닙니다. GA4는 같은 도메인과 하위 도메인의 자기 추천을 기본적으로 인식하므로 자사 도메인을 무조건 수동 추가해야 하는 것은 아닙니다. 원치 않는 추천 안내

웹 스트림은 웹사이트에서 이 속성으로 들어오는 데이터의 연결 단위입니다. 설정을 읽으려면 관리 → 데이터 스트림 → 웹 스트림 → 태그 설정 구성 → 모두 표시 → 원치 않는 추천 나열에서 기존 목록을 봅니다. 변경에는 편집자 이상 권한이 필요합니다. 잘 모르면 기존 값을 보존하고 도메인 이동 경로와 함께 담당자에게 확인합니다. 별도 도메인으로 이어지는 이용을 하나로 측정하는 교차 도메인 설정과 추천 제외는 목적이 다르므로 어느 쪽이 필요한지 먼저 구분합니다.

결과가 예상과 다를 때

UTM은 남아 있는데 값이 안 보이면, 먼저 같은 GA4 속성과 웹 스트림을 보고 있는지, 날짜와 필터가 맞는지 확인합니다. 테스트가 기존 세션에 포함됐는지와 데이터 처리 시간도 봅니다. 그래도 확인되지 않으면 태그 수집과 동의 상태를 담당자와 점검합니다. 여러 번 클릭해 숫자를 늘리는 것만으로 해결하려 하지 않습니다.

테스트를 했으면 원래 링크, 최종 주소, 시각, 보고서의 날짜와 세션 소스/매체를 한 줄로 기록합니다. “주소의 UTM 유지 확인, GA4 반영은 대기”처럼 어디까지 확인했는지 구분하면 다음에 이어서 점검하기 쉽습니다.

혼자 반복하기

먼저 뉴스레터 예제에서 매체를 sms, 소스를 sms로 바꿔 문자용 링크를 메모장에 만들어 봅니다. 캠페인 이름은 october_class로 유지합니다. utm_source=sms, utm_medium=sms, utm_campaign=october_class의 세 값이 맞으면 링크 작성 연습이 끝납니다. 발송할 필요는 없습니다.

숫자도 다른 조건으로 읽어 봅니다. 지난달 100세션 중 Direct 40회, 이번 달 200세션 중 Direct 60회라면 비중은 40%에서 30%로 낮아졌습니다. Direct 세션 수는 20회 늘었습니다. 비율 하락만으로 출처 누락을 해결했다고 결론내리지 않고, 동일한 측정 조건인지와 실제 공유 링크의 상태를 함께 확인합니다.

Sources

Share

제대로 이해했는지 한 문제로 확인해 볼까요?

답을 고르면 바로 풀이가 나와요.

가상의 지난달 전체 100세션 중 Direct가 40세션이었습니다. 이번 달은 전체 200세션 중 60세션입니다. 맞는 설명은 무엇일까요?

이 글이 도움이 되었나요?

이 글 다음 배우기마케터를 위한 데이터 분석 기초입문 코스 · 16편

GA4 화면의 숫자를 모으고 읽고 보여 주는 세 단계를 정리했습니다

  1. 1데이터 분석 뜻과 방법, 절차 4단계
  2. 2데이터 리터러시 뜻과 숫자 읽는 법
  3. 3대시보드 뜻과 구성 요소
코스 전체 보기 →
이어서 읽기 좋은 글Google Ads API 입문: 첫 보고서 조회와 지표 단위 확인 →

캠페인 보고서 한 행을 기준으로 Google Ads API의 필드와 GAQL을 익힙니다. 비용 단위, 전환수, PMax 조회와 다른 매체 자료를 합칠 때의 확인 순서를 설명합니다.