UTM, 내부 링크에 붙이면 왜 절대 안 되나
UTM 파라미터는 원래 "이 방문자가 어디서 왔는가"를 표시하는 꼬리표입니다. 그런데 이 꼬리표를 사이트 내부 링크에 붙이면, 이미 잘 추적되고 있던 방문 하나가 둘로 쪼개지고 원래의 진짜 유입 출처가 지워집니다. 이 가이드는 왜 그런 일이 벌어지는지, Google Analytics(GA)의 세션 판정 로직을 기준으로 설명합니다.
1. UTM 파라미터는 원래 무엇을 위한 것인가
UTM(Urchin Tracking Module) 파라미터는 utm_source(어디서), utm_medium(어떤 채널), utm_campaign(어떤 캠페인)처럼 URL 뒤에 붙는 쿼리스트링입니다. 목적은 딱 하나, 방문자가 외부에서 사이트로 처음 들어올 때 그 경로를 GA에게 명시적으로 알려주는 것입니다. 이메일 뉴스레터의 링크, 인스타그램 광고의 링크, 제휴 파트너 사이트의 배너 링크 — 이런 "사이트 바깥에서 안으로" 들어오는 진입점에 붙이는 게 정상적인 용도입니다.
2. GA는 UTM 값이 바뀌면 새 세션을 시작한다
여기가 핵심입니다. Google Analytics(과거 Universal Analytics부터 현재 GA4까지)는 방문자가 캠페인 파라미터가 새로 붙은 URL로 랜딩하는 것을 "새로운 유입 이벤트가 시작됐다"는 신호로 해석하도록 설계돼 있습니다. 정상적인 시나리오(광고 클릭 → 사이트 도착)에서는 이게 맞는 동작입니다. 문제는 이 판단 로직이 "이 URL이 외부에서 왔는지 내부에서 왔는지"를 구분하지 않는다는 점입니다. 사이트 안에서 클릭한 링크라도 UTM 파라미터가 붙어 있으면, GA는 똑같이 "새 캠페인에서 새 방문이 시작됐다"고 판단할 수 있습니다.
utm_source=google&utm_medium=cpc로 정상 태깅됨). 사이트를 둘러보다가, 내부 배너 하나를 클릭합니다. 그런데 그 배너 링크에 실수로 utm_source=newsletter&utm_medium=email이 붙어 있었습니다. 이 클릭 한 번으로 GA는 "이 방문자는 사실 뉴스레터에서 왔다"고 새로 판단하고, 원래 세션을 끝내고 새 세션을 뉴스레터 소스로 집계할 수 있습니다. 결과: 세션 수는 실제보다 부풀려지고(방문 1건이 2건으로), 원래 진짜 공로가 있던 구글 광고의 기여도는 지워집니다.
3. 왜 이게 그냥 "숫자 오차"가 아니라 심각한 문제인가
마케팅 예산은 보통 채널별 성과(어떤 광고가 전환을 몇 건 만들었는지)를 근거로 배분됩니다. 내부 링크에 UTM을 잘못 붙이면 두 가지 방향으로 데이터가 왜곡됩니다. 첫째, 세션 수 과대 집계 — 실제 방문자 수보다 세션 수가 부풀려져 사이트 트래픽이 실제보다 좋아 보입니다. 둘째, 기여 도용(attribution theft) — 원래 유료 광고나 이메일 캠페인이 받아야 할 전환 공로가, 우연히 방문자가 클릭한 내부 배너의(의미 없는) UTM 값으로 옮겨갑니다. 이 두 왜곡이 겹치면 "어떤 마케팅 채널에 예산을 더 써야 하는가" 같은 실제 의사결정이 잘못된 데이터 위에서 내려지게 됩니다.
4. 올바른 사용 패턴
- UTM은 사이트 바깥 → 안쪽 진입점에만: 이메일, SNS 게시물, 유료 광고, 제휴 배너, QR코드 등 사이트 밖에서 오는 링크에만 붙입니다.
- 사이트 내부 메뉴·배너·CTA 버튼에는 절대 붙이지 않습니다. 같은 도메인 안에서의 이동은 UTM 없는 일반 링크로 처리해야 GA가 하나의 연속된 방문(세션)으로 정확히 집계합니다.
- 내부 콘텐츠의 클릭률을 따로 보고 싶다면 UTM이 아니라 GA4의 이벤트 추적(커스텀 이벤트,
click이벤트에 파라미터를 붙이는 방식)을 쓰는 것이 맞는 도구입니다. UTM으로 세션 자체를 조작하는 방식은 대체제가 아닙니다.
5. GA4에서는 조금 다를까
GA4는 세션 중심이었던 Universal Analytics와 달리 이벤트 기반 모델을 씁니다. 그래서 UTM 값이 이벤트 파라미터로 기록되는 방식이 조금 더 유연해지긴 했지만, 여전히 새로운 캠페인 파라미터가 붙은 페이지 진입은 세션 재계산의 트리거가 될 수 있습니다. 즉 모델이 바뀌었다고 해서 "내부 링크에 UTM을 붙여도 안전해졌다"는 뜻은 아닙니다. 원칙은 GA4에서도 동일하게 적용됩니다.
자주 묻는 질문
Q. 실수로 내부 링크에 UTM을 붙였다면 어떻게 확인하나요?
A. GA의 소스/매체(Source/Medium) 보고서에서 세션 수가 부자연스럽게 높거나, 원래 없어야 할 소스(예: 사이트 내부 배너 이름)가 트래픽 소스로 나타난다면 의심해볼 수 있습니다. 해당 UTM 값이 실제로 어떤 링크에서 왔는지 페이지 경로와 함께 확인하는 것이 가장 확실합니다.
Q. QR코드에는 UTM을 써도 되나요?
A. 네, QR코드는 오프라인(전단지, 포스터 등)에서 사이트로 들어오는 진짜 외부 진입점이므로 UTM을 붙이는 것이 정상적인 용도입니다. utm_source=qr_code&utm_medium=offline 같은 형태로 사용하면 됩니다.
Q. 같은 사이트 안의 다른 서브도메인으로 이동하는 링크는요?
A. 서브도메인 간 이동(예: blog.example.com → shop.example.com)은 GA 설정에 따라 크로스 도메인 추적으로 별도 처리해야 하는 경우가 많습니다. 이 경우도 UTM보다는 GA의 크로스 도메인 측정 설정을 쓰는 것이 정석이며, UTM을 임시방편으로 붙이면 같은 문제가 반복됩니다.
Q. 이미 배포된 사이트에 UTM 붙은 내부 링크가 많다면 지금 바로 다 고쳐야 하나요?
A. 가능한 한 빨리 고치는 것이 좋습니다. 남아있는 동안은 계속 세션이 오염되고 데이터가 부풀려지므로, 우선순위를 높여 내부 링크에서 UTM 파라미터를 제거하는 작업을 진행하는 것을 권장합니다.