🔗 UTM 링크 생성기
링크에 UTM 꼬리표를 붙이면 구글 애널리틱스(GA4)에서 어느 SNS·게시물·캠페인으로 들어왔는지 나눠 볼 수 있어요. 값을 넣는 대로 링크가 만들어지고, 만든 링크는 이 브라우저에만 기록돼요.
사용법
- 웹사이트 주소에 사람들이 도착할 페이지(랜딩 페이지) 주소를 넣어요. 이미
?id=3같은 값이 있어도 그대로 두고 뒤에 UTM을 붙여요. - 빠른 설정에서 올릴 곳을 고르면 source·medium·content가 채워져요. 캠페인 이름만 넣으면 완성이에요.
- 완성된 링크를 복사하면 아래 '최근 만든 링크'에 기록돼요. 기록은 이 브라우저(localStorage)에만 남고 서버로 가지 않아요.
- 남이 만든 UTM 주소나 예전 링크는 'UTM 주소 분석' 칸에 붙여 넣으면 값을 나눠 보여 주고, 버튼 한 번으로 위 칸에 다시 채울 수 있어요.
UTM 매개변수 5가지
| 매개변수 | 뜻 | 예시 |
|---|---|---|
utm_source (필수) | 어디서 왔나 — 사이트·앱·매체 이름 | instagram, naver_blog, newsletter |
utm_medium (권장) | 어떤 방식으로 왔나 — 채널의 종류 | social, email, cpc, referral, sms |
utm_campaign (권장) | 어떤 캠페인·이벤트인가 | fall_sale_2026, app_launch |
utm_content | 같은 캠페인 안에서 어떤 소재·위치인가 | profile, story, banner_a, button_top |
utm_term | 유료 검색 키워드 | 러닝화 추천 |
GA4에서는 utm_id(캠페인 ID)도 쓸 수 있어 광고비 데이터를 가져와 합칠 때 써요. 보고서에서는 '세션 소스/매체', '세션 캠페인' 측정기준으로 확인해요.
빠른 설정 값과 GA4 채널
| 올릴 곳 | source | medium | content |
|---|---|---|---|
| 인스타 프로필 링크 | instagram | social | profile |
| 인스타 스토리 | instagram | social | story |
| 카카오톡 채널 메시지 | kakaotalk | social | channel_message |
| 네이버 블로그 본문 | naver_blog | referral | post_link |
| 유튜브 설명란 | youtube | social | description |
| 뉴스레터 | newsletter | email | main_cta |
| 문자(SMS) | sms | sms | - |
GA4는 source와 medium 값을 보고 '기본 채널 그룹'을 정해요. medium이 social이면 Organic Social, email이면 Email, referral이면 Referral, sms면 SMS, cpc·ppc·paid…면 유료(Paid) 채널로 분류돼요. 아무 규칙에도 맞지 않는 medium(예: insta_bio)은 Unassigned로 빠지니, medium은 표준 값을 쓰고 자세한 구분은 content에 넣는 게 좋아요.
GA4 기본 채널 그룹, medium별 정리
| utm_medium 값 | GA4 채널 | 함께 보는 조건 |
|---|---|---|
cpc, ppc, paid…, retargeting | Paid Search / Paid Social / Paid Video / Paid Other | source가 검색엔진·SNS·영상 사이트인지로 나뉘어요 |
display, banner, interstitial | Display | - |
social, social-network, sm | Organic Social | source가 instagram·facebook 등 SNS여도 같아요 |
organic | Organic Search | source가 google·naver 등 검색엔진일 때도 |
referral, app, link | Referral | - |
email, e-mail | source가 email이어도 같아요 | |
sms | SMS | source가 sms여도 같아요 |
affiliate / audio | Affiliates / Audio | - |
규칙은 구글 애널리틱스 고객센터의 기본 채널 그룹 설명을 요약했어요. source가 SNS 목록에 있으면 medium이 낯선 값이어도 Organic Social로 잡혀요. 예를 들어 source=instagram&medium=insta_bio는 Organic Social이지만, source=bio_link&medium=insta_bio는 Unassigned예요.
만들어 보는 예시 3가지
- 인스타 프로필 링크 — 주소
https://tool.smithlab.co.kr/, 프리셋 '인스타 프로필 링크', 캠페인fall_sale_2026→https://tool.smithlab.co.kr/?utm_source=instagram&utm_medium=social&utm_campaign=fall_sale_2026&utm_content=profile(110자, Organic Social). - 기존 값·해시가 있는 주소 —
https://example.com/shop?id=3#review에 naver_blog / referral / 캠페인 "Winter Sale"을 넣으면 소문자·밑줄로 바뀌어https://example.com/shop?id=3&utm_source=naver_blog&utm_medium=referral&utm_campaign=winter_sale#review가 돼요.id=3은 그대로,#review는 맨 뒤로 가요. - 한글 캠페인 이름 — 카카오톡 채널 프리셋에 캠페인 "가을 세일"을 넣으면
utm_campaign=%EA%B0%80%EC%9D%84_%EC%84%B8%EC%9D%BC로 인코딩돼 주소가 141자예요.fall_sale로 쓰면 113자로 줄어요.
UTM 이름 짓기 규칙
- 소문자로 통일: GA4는 대소문자를 구분해서
Instagram과instagram을 다른 소스로 집계해요. - 띄어쓰기 대신 밑줄: 공백은
%20으로 바뀌어 주소가 지저분해지고, 메신저에서 링크가 끊기기도 해요. - 팀 안에서 표 하나로 관리: 누구는
kakao, 누구는kakaotalk이라고 쓰면 같은 유입이 둘로 나뉘어요. - 내 사이트 안의 링크에는 쓰지 않기: 사이트 내부 배너에 UTM을 달면 클릭할 때마다 새 세션으로 잡혀 원래 유입 경로가 지워져요.
- 주소가 길어 부담스러우면 단축 URL로 줄이거나, 오프라인 홍보물이라면 QR 코드 생성기로 QR을 만들어 쓰세요. 한글이 섞인 주소가 어떻게 인코딩되는지는 URL 인코더에서 볼 수 있어요.
흔한 실수
| 실수 | 결과 | 바로잡기 |
|---|---|---|
medium에 instagram, source에 social을 거꾸로 넣음 | 소스 보고서에 social이 사이트처럼 보여요 | source = 어디서, medium = 어떤 방식 |
캠페인마다 철자를 바꿔 씀 (FallSale, fall-sale) | 같은 캠페인이 여러 줄로 나뉘어요 | 소문자·밑줄 규칙을 표로 정해 두기 |
UTM을 # 뒤에 붙임 | GA4가 값을 못 읽어요 | 이 생성기는 ?쪽으로 옮겨 줘요 |
| 리디렉트되는 주소에 UTM을 붙임 | 리디렉트 과정에서 값이 사라질 수 있어요 | 최종 도착 주소에 붙이고 새 창에서 열어 확인 |
| 광고 자동 태그(gclid)와 UTM을 섞음 | 구글 광고는 자동 태그가 우선이라 UTM 값과 다르게 보일 수 있어요 | 구글 광고는 자동 태그를 기본으로 쓰기 |
더 알아보기: 인스타 줄바꿈 변환기, 유튜브 챕터 생성기
예상 채널은 GA4 기본 채널 그룹 규칙을 요약해 추정한 값이에요. GA4는 소스를 자체 관리하는 사이트 목록과도 비교하고, 속성에서 맞춤 채널 그룹을 쓰면 결과가 달라질 수 있어요. 입력값과 기록은 브라우저 밖으로 나가지 않아요.