UTM 파라미터 규칙 정하기: 데이터 안 깨지는 4가지 기준
UTM 파라미터는 단순한 링크 꼬리표가 아닙니다. 광고·콘텐츠·메시지로 들어온 유입을 GA4가 어떤 채널, 어떤 캠페인으로 분류할지 정하는 데이터의 주소 체계입니다.
UTM에서 가장 중요한 건 "무엇을 붙이느냐"보다 "누가 붙여도 같은 값이 나오게 하는 규칙"입니다. 규칙 없이 담당자마다 따로 붙인 UTM은 한 캠페인을 여러 줄로 쪼개 놓고, 결국 보고서를 엑셀로 다시 합치게 만듭니다. 그래서 링크를 만들기 전에 파라미터별 역할, 값 표기 방식, 관리 절차를 먼저 정해 둬야 합니다.
아래에서 UTM 파라미터 규칙을 정하는 4가지 기준과 실제로 데이터가 깨지는 지점, 운영 루틴까지 순서대로 설명합니다.
1. UTM 파라미터 규칙, 왜 먼저 정해야 하나
UTM이 문제를 일으키는 건 대부분 "몰라서"가 아니라 "제각각이라서"입니다.
링크 하나하나는 정상적으로 작동합니다.
그런데 한 달치를 모아서 보면 숫자가 이상하게 흩어져 있습니다.
1-1. GA4는 대소문자와 표기 차이를 전부 다른 값으로 봅니다
GA4에서 UTM 값은 대소문자를 구분합니다.
utm_source=Meta, utm_source=meta, utm_source=facebook, utm_source=fb는 사람이 보기엔 같은 매체지만, 보고서에서는 네 줄로 따로 잡힙니다.
실무에서 흔히 보는 모습은 이렇습니다.
대행사 담당자는
facebook으로, 인하우스 담당자는meta로 입력콘텐츠팀은
Instagram, 광고팀은instagram으로 입력같은 프로모션인데
fall_sale,FallSale,가을세일이 공존
이 상태에서 "이번 가을 프로모션 매출이 얼마였나"를 물으면, 누군가 세 줄을 수동으로 더해야 합니다.
그리고 그 합산은 다음 달에 또 반복됩니다.
-> 핵심: UTM 규칙은 데이터를 "예쁘게" 만드는 작업이 아니라, 매달 반복되는 수작업을 없애는 작업입니다.
1-2. utm_medium 값이 틀리면 채널 분류 자체가 어긋납니다
더 큰 문제는 utm_medium입니다.
GA4의 기본 채널 그룹은 source와 medium 값을 보고 유입을 Paid Social, Paid Search, Display, Email 같은 채널로 자동 분류합니다.
예를 들어 유료 소셜로 분류되려면 소셜 매체로 인식되는 source에, medium이 cpc, ppc, paid로 시작하는 값, retargeting 같은 유료 패턴과 맞아야 합니다.
그런데 medium에 meta_ad, sns광고, banner_ad처럼 자체적인 값을 넣으면 GA4는 이걸 어느 채널에도 넣지 못하고 Unassigned(미할당)로 보냅니다.
광고비는 썼는데 채널 보고서의 유료 소셜 매출이 비정상적으로 작게 보인다면, 가장 먼저 의심해야 할 곳이 바로 이 medium 값입니다.
1-3. 실무에서 실제로 벌어지는 일
한 브랜드의 경우 메타, 카카오, 네이버 GFA를 동시에 운영하면서 매체마다 담당자가 UTM을 따로 만들고 있었습니다.
채널 보고서를 열어보니 유입의 상당 부분이 Unassigned로 빠져 있었고, 원인을 추적해 보니 medium 값만 열 가지가 넘게 섞여 있었습니다.
paid_social, paidsocial, social_paid, cpc, CPC, ad, display, bizboard… 의미는 비슷한데 표기가 전부 달랐습니다.
규칙표를 만들어 medium을 4~5개 값으로 줄이고 신규 링크부터 적용하자, 그다음 달부터는 Unassigned 비중이 눈에 띄게 줄어들었습니다.
중요한 건 과거 데이터는 소급해서 고쳐지지 않는다는 점입니다. 규칙은 하루라도 빨리 정할수록 손해가 적습니다.
2. UTM 파라미터 규칙 정하는 4가지 기준
규칙을 정할 때는 "모든 경우의 수"를 다 담으려 하지 말고, 아래 4가지 기준만 먼저 확정하는 편이 현실적입니다.
2-1. 기준 ① 파라미터별 역할을 하나씩만 맡긴다
UTM 파라미터마다 담을 정보의 층위를 고정합니다.
한 파라미터에 두 가지 정보를 섞기 시작하면, 나중에 분리해서 볼 수가 없습니다.
파라미터 | 담을 정보 | 권장 값 예시 | 피해야 할 값 |
|---|---|---|---|
utm_source | 트래픽을 보낸 플랫폼 | meta, google, naver, kakao, newsletter | Facebook, fb, 메타 (혼용) |
utm_medium | 유입 방식(유료/무료/메일 등) | cpc, paid_social, display, email, referral | meta_ad, sns광고, banner_ad |
utm_campaign | 캠페인 단위 이름 | 2610_fallsale_conv | 가을세일, fall sale 1차 |
utm_content | 소재·버전 구분 | video_a, img_review_01 | 날짜만, 설명 없는 숫자 |
utm_term | 키워드 또는 타겟 | 검색 키워드, 타겟 세그먼트 | 소재명 (content와 중복) |
여기서 실무 기준 하나를 덧붙이면, source는 "어디서", medium은 "어떻게"로만 생각하면 대부분 헷갈리지 않습니다.
utm_source=instagram_story 같은 값은 지면 정보가 source에 섞인 경우입니다. 지면은 content나 별도 규칙으로 빼는 편이 깔끔합니다.
2-2. 기준 ② 표기 형식을 한 줄로 고정한다
값의 형식은 아래 네 가지만 정해도 오류의 대부분이 사라집니다.
① 전부 소문자: 대소문자 혼용이 가장 흔한 분리 원인입니다.
② 띄어쓰기 금지, 구분자는 하나만: 언더바(_)나 하이픈(-) 중 하나만 씁니다. 공백은 %20이나 +로 인코딩되면서 값이 지저분해집니다.
③ 한글 사용 지양: 한글은 URL 인코딩을 거치면서 일부 툴이나 메신저 공유 과정에서 깨지거나 잘리는 경우가 있습니다. 영문 약어 사전을 따로 두는 편이 안전합니다.
④ 캠페인명 조합 순서 고정: 예를 들어 연월_프로모션명_목표 순서로 정했다면 예외 없이 지킵니다.
캠페인명 조합 예시는 이렇습니다.
2610_fallsale_conv → 2026년 10월, 가을세일, 전환 목표
2610_newitem_reach → 2026년 10월, 신제품, 도달 목표
이렇게 맞춰 두면 GA4 탐색 분석에서 "fallsale이 포함된 캠페인"만 필터로 묶어 보기가 쉬워집니다.
2-3. 기준 ③ medium은 허용 목록(화이트리스트)으로만 운영한다
source나 campaign은 새 값이 생길 수 있지만, medium은 처음부터 허용 목록을 닫아 두는 편이 좋습니다.
medium은 채널 분류에 직접 영향을 주기 때문입니다.
권장하는 허용 목록 예시입니다.
cpc: 검색광고 등 클릭 과금 유료 광고paid_social: 메타·카카오 등 소셜 유료 광고display: 배너·디스플레이 광고email: 뉴스레터, 이메일 발송sms또는crm: 문자·알림톡 등 메시지 (내부 합의 후 하나로)referral: 제휴, 인플루언서, 외부 기고
이 목록에 없는 medium은 "새로 만들지 말고 먼저 규칙표에 추가 요청"하는 절차를 둡니다.
참고로 문자·알림톡용 medium은 GA4 기본 채널 그룹에서 SMS 채널로 인식되는 값(sms)이 따로 있으므로, 메시지 유입을 채널 단위로 보고 싶다면 그 값에 맞추는 것이 유리합니다.
2-4. 기준 ④ 자동 태깅 매체와 수동 UTM의 경계를 정한다
모든 매체에 UTM을 손으로 붙여야 하는 건 아닙니다.
구글 광고는 GA4와 연동돼 있고 자동 태깅(gclid)이 켜져 있다면, 캠페인 정보가 자동으로 넘어옵니다. 이 상태에서 수동 UTM을 또 붙이면 두 정보가 겹치면서 판독이 헷갈릴 수 있습니다.
그래서 규칙표에는 매체별로 "자동 태깅 사용 / 수동 UTM 사용"을 명시해 두는 것이 좋습니다.
매체 | 권장 방식 | 비고 |
|---|---|---|
구글 광고 | 자동 태깅 우선 | GA4 연동 확인 후 수동 UTM 최소화 |
메타 | 수동 UTM + 동적 파라미터 | URL 매개변수 필드 활용 |
카카오·네이버 GFA | 수동 UTM | 매체 자체 추적 파라미터와 병행 확인 |
이메일·문자 | 수동 UTM | 발송 건별 campaign 구분 |
인플루언서·제휴 | 수동 UTM | 파트너별 content로 구분 |
메타는 광고 단위의 URL 매개변수 필드에 {{campaign.name}}, {{adset.name}}, {{ad.name}} 같은 동적 파라미터를 넣을 수 있습니다.
다만 동적 파라미터는 광고 관리자에 입력한 이름이 그대로 UTM 값이 된다는 점을 기억해야 합니다. 캠페인 이름에 한글이나 공백이 들어가 있으면 UTM 규칙도 같이 깨집니다.
즉 동적 파라미터를 쓰는 순간, UTM 규칙은 곧 광고 계정의 네이밍 규칙이 됩니다.
GA4 (not set) 뜨는 이유: 측정기준별 원인과 점검 순서
3. UTM 파라미터 규칙이 깨지는 지점과 예외 케이스
규칙표를 만들어도 실제 운영에서 깨지는 지점은 거의 정해져 있습니다.
아래 경우들은 규칙을 정할 때 함께 문서에 적어 두는 편이 좋습니다.
3-1. 사이트 내부 링크에 UTM을 붙이는 실수
가장 치명적인 실수입니다.
메인 페이지 배너에서 이벤트 페이지로 넘어가는 링크에 utm_source=main_banner를 붙이면, 광고로 들어온 사용자가 그 배너를 누르는 순간 유입 출처가 내부 배너로 덮어써질 수 있습니다.
결과적으로 광고가 만든 전환이 "main_banner" 유입의 전환처럼 보이게 됩니다.
내부 배너 클릭을 보고 싶다면 UTM이 아니라 GTM 클릭 이벤트나 별도 이벤트 파라미터로 측정해야 합니다.
-> 핵심: UTM은 사이트 밖에서 안으로 들어오는 링크에만 붙입니다.
3-2. 리디렉션과 단축 URL에서 파라미터가 사라지는 경우
UTM을 정확히 붙였는데도 GA4에 값이 안 잡히는 경우가 있습니다.
대표적인 원인은 리디렉션입니다.
http→https전환 과정에서 쿼리스트링이 빠지는 서버 설정모바일 전용 도메인으로 넘기는 과정에서 파라미터 누락
단축 URL 서비스가 원본 URL의 일부를 잘라 저장한 경우
로그인·성인 인증 페이지를 거치면서 파라미터가 초기화되는 경우
새 랜딩페이지를 쓸 때는 UTM이 붙은 링크를 실제로 클릭해서 최종 도착 URL 주소창에 파라미터가 남아 있는지 확인하는 절차를 넣어 두는 것이 좋습니다.
3-3. 이미 물음표(?)가 있는 URL에 UTM을 붙이는 경우
상품 상세 URL이 product.html?no=123처럼 이미 파라미터를 갖고 있다면, UTM은 ?가 아니라 &로 이어 붙여야 합니다.
product.html?no=123?utm_source=meta처럼 물음표가 두 번 들어가면, 쇼핑몰 솔루션에 따라 상품 번호를 못 읽어 오류 페이지가 뜨거나 UTM이 인식되지 않습니다.
URL 생성용 시트에 이 조건을 수식으로 처리해 두면 사람이 실수할 여지를 줄일 수 있습니다.
3-4. utm_content를 "남는 칸"으로 쓰는 경우
utm_content는 규칙이 가장 쉽게 무너지는 칸입니다.
어떤 링크엔 소재명, 어떤 링크엔 날짜, 어떤 링크엔 담당자 이름이 들어가기 시작하면 이 값은 분석에 쓸 수 없습니다.
content 역시 형식을 정해 둡니다.
예: 소재유형_소구점_버전 → video_review_v2, img_price_v1
이렇게 맞춰 두면 GA4에서 "review 소구 소재들의 참여율"처럼 소재 축으로 묶어 비교할 수 있습니다.
GA4 랜딩페이지 보고서 보는 법: 광고 유입별로 읽는 4단계 기준
4. UTM 파라미터 규칙을 유지하는 운영 루틴
규칙은 정하는 것보다 유지하는 것이 훨씬 어렵습니다.
담당자가 바뀌거나 외부 파트너가 늘어날 때마다 규칙은 조금씩 흐트러집니다.
4-1. URL 생성 시트를 "단일 창구"로 둔다
UTM은 사람이 직접 타이핑하지 않게 만드는 것이 핵심입니다.
공유 스프레드시트에 아래 구조를 만들어 두면 됩니다.
① source, medium은 드롭다운(데이터 확인)으로만 선택
② campaign은 연월·프로모션명·목표를 각각 입력하면 자동 조합
③ 입력값은 LOWER 함수로 소문자 변환, 공백은 SUBSTITUTE로 언더바 치환
④ 최종 URL 열은 기존 URL에 ? 포함 여부를 판단해 ? 또는 &로 자동 연결
⑤ 생성일, 생성자, 사용 매체를 같은 행에 기록
이 시트를 거치지 않은 UTM은 쓰지 않는다는 원칙만 지켜도 표기 오류의 대부분이 사라집니다.
4-2. 월 1회 "값 목록" 점검을 한다
GA4 탐색 분석에서 세션 소스, 세션 매체, 세션 캠페인을 측정기준으로 놓고 지난 한 달 값을 전부 펼쳐 봅니다.
이때 확인할 것은 세 가지입니다.
규칙표에 없는 medium 값이 생겼는가
대문자나 한글이 섞인 값이 있는가
Unassigned 채널 비중이 지난달보다 늘었는가
새로 생긴 이상값은 대부분 "급하게 손으로 만든 링크" 하나에서 출발합니다. 발견 즉시 출처를 찾아 링크를 교체하는 것이 가장 비용이 적게 듭니다.
GA4 세션수 차이: 화면마다 숫자가 다른 4가지 원인과 판독 기준
4-3. 외부 파트너에게는 "완성된 링크"만 전달한다
인플루언서, 제휴사, 대행사에 "UTM 붙여서 써 주세요"라고 요청하면 거의 반드시 규칙이 깨집니다.
규칙표를 공유하는 대신, URL 생성 시트에서 만든 완성 링크를 직접 전달하는 편이 안전합니다.
파트너가 여러 명이라면 utm_source는 채널(예: instagram)로 고정하고, 파트너 구분은 utm_content에 넣는 방식으로 통일하면 채널 분류와 파트너별 성과를 동시에 볼 수 있습니다.
4-4. 규칙 변경은 "다음 달 1일부터"로 끊는다
운영하다 보면 규칙을 바꿔야 하는 순간이 옵니다.
이때 바꾸는 시점을 월 중간으로 잡으면, 같은 달 안에 두 체계가 섞여 월간 리포트가 어려워집니다.
변경 사항은 규칙표에 변경 이력으로 남기고, 적용은 월 단위 시작점에서 끊는 것이 좋습니다.
자주 묻는 질문
UTM 파라미터는 꼭 다섯 개 다 써야 하나요?
아닙니다. source, medium, campaign 세 개는 필수로 보고, content와 term은 소재 비교나 키워드 분석이 필요할 때 추가합니다. 쓰지 않을 파라미터를 억지로 채우면 오히려 규칙이 흐트러집니다.
UTM 값에 한글을 쓰면 안 되나요?
기술적으로는 가능하지만 권장하지 않습니다. URL 인코딩 과정에서 일부 환경에서 깨지거나 잘릴 수 있고, 같은 단어도 띄어쓰기에 따라 다른 값으로 잡힙니다. 영문 소문자와 약어 사전을 두는 편이 안전합니다.
구글 광고에도 UTM을 붙여야 하나요?
GA4와 구글 광고가 연동돼 있고 자동 태깅이 켜져 있다면 대부분의 캠페인 정보가 자동으로 넘어옵니다. 수동 UTM을 함께 쓸지는 내부 규칙으로 정해 두고, 둘을 섞어 쓸 경우 어떤 값을 기준으로 볼지 명확히 해 두어야 합니다.
GA4에서 UTM 유입이 Unassigned로 잡히는 이유는?
대부분 utm_medium 값이 GA4 기본 채널 그룹의 분류 조건에 맞지 않아서입니다. paid_social, cpc, display, email처럼 채널 정의와 맞는 값으로 통일하면 신규 유입부터 정상 분류됩니다.
이미 쌓인 잘못된 UTM 데이터는 고칠 수 있나요?
GA4에 수집된 과거 데이터의 UTM 값 자체는 수정되지 않습니다. 대신 맞춤 채널 그룹을 만들어 잘못된 값들을 올바른 채널로 묶어 보거나, 리포트 단계에서 매핑표로 합치는 방식으로 보정합니다.
마무리
UTM 파라미터 규칙을 정하는 일은 결국 "누가 만들어도 같은 링크가 나오게 하는 구조"를 만드는 일입니다.
파라미터마다 역할을 하나씩 맡기고, 소문자·구분자·조합 순서를 고정하고, medium은 허용 목록으로 닫고, 자동 태깅 매체와의 경계를 정해 두면 됩니다.
그리고 그 규칙은 문서가 아니라 URL 생성 시트와 월 1회 점검 루틴으로 지켜집니다.
광고 성과를 채널별로 비교할 수 없다면, 입찰이나 소재를 손보기 전에 UTM 규칙부터 점검해 보시길 권합니다. 숫자를 믿을 수 있어야 그다음 판단도 의미가 있습니다.