UTM 코드 만들기와 GA4 캠페인 추적 설정 흐름

2026 UTM 코드 만들기 완벽 가이드 | GA4 캠페인 추적 설정 방법

광고, SNS, 이메일 뉴스레터에 같은 페이지 주소를 사용하면 GA4에서 어떤 링크가 실제 방문을 만들었는지 정확히 구분하기 어렵습니다. 이때 필요한 것이 UTM 코드입니다.

UTM 코드는 기존 페이지 주소 뒤에 소스, 매체, 캠페인 등의 정보를 추가하는 방식입니다. 별도의 개발 작업 없이 링크만 구분해 배포해도 광고 소재, SNS 게시물, 뉴스레터 버튼별 유입과 참여 성과를 GA4에서 비교할 수 있습니다.

UTM 코드 만들기는 다음 3단계로 시작하면 됩니다.

  1. 방문자를 보낼 도착 페이지의 전체 URL을 입력합니다.
  2. utm_source, utm_medium, utm_campaign 값을 정합니다.
  3. 완성된 URL을 직접 클릭해 도착 페이지와 UTM 유지 여부를 확인합니다.

예를 들어 뉴스레터에서 ExportMetric의 UTM 가이드로 연결한다면 다음과 같이 만들 수 있습니다.

https://exportmetric.com/utm-code-ga4-guide/?utm_source=weekly_newsletter&utm_medium=email&utm_campaign=2026_utm_guide&utm_content=top_cta

이 링크를 통해 방문이 발생하면 GA4에서 뉴스레터 발송처, 이메일 매체, 캠페인명, 상단 CTA 버튼을 구분해 확인할 수 있습니다.

처음 설정할 때는 아래 표만 기억해도 됩니다.

확인할 항목입력 목적권장 예시필수 여부
도착 URL사용자가 실제로 방문할 페이지https://example.com/guide/필수
utm_source구체적인 플랫폼·발송처facebook, instagram, weekly_newsletter기본 필수
utm_medium마케팅 매체 유형paid_social, social, email기본 필수
utm_campaign캠페인·프로모션명2026_utm_guide기본 필수
utm_content소재·버튼·링크 위치feed_image_a, top_cta선택
utm_term유료 키워드 등utm_code선택

UTM 코드란? GA4 캠페인 추적에 필요한 이유

UTM은 웹사이트 방문자가 어떤 채널과 캠페인을 통해 들어왔는지 구분하기 위해 URL에 추가하는 추적용 매개변수입니다.

GA4가 설치된 웹사이트라면 UTM 링크를 클릭해 발생한 방문 정보를 획득 보고서에서 확인할 수 있습니다. 광고 플랫폼마다 성과 보고서가 따로 있어도 UTM을 사용하면 여러 외부 채널의 유입과 참여 성과를 GA4의 공통 기준으로 비교할 수 있습니다.

다만 UTM은 광고 플랫폼의 클릭 수를 대체하는 도구가 아닙니다. 광고 플랫폼의 클릭 수와 GA4의 세션 수는 집계 기준, 동의 설정, 중복 클릭, 태그 차단 등의 영향으로 서로 다를 수 있습니다.

UTM 파라미터가 유입경로를 구분하는 원리

사용자가 UTM 코드가 포함된 외부 링크를 클릭하면 URL에 입력된 파라미터 값이 도착 페이지의 주소와 함께 GA4로 전달됩니다.

예를 들어 다음과 같이 설정했다고 가정해 보겠습니다.

utm_source=facebook
utm_medium=paid_social
utm_campaign=2026_utm_guide

GA4에서는 이 방문을 다음 기준으로 확인할 수 있습니다.

  • 소스: facebook
  • 매체: paid_social
  • 캠페인: 2026_utm_guide

같은 페이지로 연결되더라도 인스타그램 링크에는 utm_source=instagram, 뉴스레터에는 utm_source=weekly_newsletter를 사용하면 유입경로를 별도로 분석할 수 있습니다.

UTM 코드가 포함된 URL 구조 알아보기

기본 페이지 주소가 다음과 같다고 가정해 보겠습니다.

https://exportmetric.com/utm-code-ga4-guide/

UTM 코드를 추가하면 다음과 같은 구조가 됩니다.

https://exportmetric.com/utm-code-ga4-guide/?utm_source=instagram&utm_medium=social&utm_campaign=2026_utm_guide

URL을 구성하는 기호의 역할은 다음과 같습니다.

  • ? : 기본 URL과 첫 번째 쿼리 파라미터를 구분합니다.
  • = : 파라미터명과 입력값을 연결합니다.
  • & : 여러 파라미터를 구분합니다.

파라미터 순서는 달라도 작동할 수 있지만, 관리대장과 검수 편의를 위해 항상 같은 순서를 사용하는 것이 좋습니다.

권장 순서
utm_source → utm_medium → utm_campaign → utm_content → utm_term

utm_source, utm_medium, utm_campaign의 차이

세 파라미터는 비슷해 보이지만 구분하는 대상이 다릅니다.

파라미터구분 대상질문으로 이해하기입력 예시
utm_source구체적인 플랫폼·발송처어디에서 왔는가?facebook, instagram, weekly_newsletter
utm_medium마케팅 매체어떤 방식으로 왔는가?paid_social, social, email
utm_campaign캠페인·프로모션어떤 캠페인을 통해 왔는가?2026_utm_guide, summer_sale

쉽게 말하면 source는 “어디에서”, medium은 “어떤 방식으로”, campaign은 “어떤 캠페인을 통해” 방문했는지를 의미합니다.


UTM 코드 만들기 전에 알아야 할 공식 파라미터

Google은 맞춤 캠페인 URL에 사용할 수 있는 9개의 UTM 파라미터를 안내하고 있습니다. 모든 값을 매번 입력할 필요는 없지만, 기본 항목과 선택 항목의 차이를 알아두면 보고서에서 (not set)이 발생하거나 데이터가 여러 행으로 나뉘는 문제를 줄일 수 있습니다.

기본으로 설정할 3개 파라미터

Google은 맞춤 캠페인 URL을 만들 때 utm_source, utm_medium, utm_campaign을 항상 함께 사용할 것을 안내합니다.

utm_source

유입을 보낸 구체적인 플랫폼이나 발송처입니다.

utm_source=facebook
utm_source=instagram
utm_source=weekly_newsletter

utm_medium

유입에 사용된 마케팅 매체를 구분합니다.

utm_medium=paid_social
utm_medium=email
utm_medium=referral

utm_campaign

광고나 콘텐츠가 속한 캠페인의 이름입니다.

utm_campaign=2026_utm_guide
utm_campaign=summer_sale
utm_campaign=new_product_launch

세 값을 일부만 입력하거나 파라미터명을 잘못 작성하면 GA4 보고서에 (not set)이 표시될 수 있습니다. Google은 다른 UTM 항목을 사용하는 경우에도 관련 파라미터를 빠짐없이 설정할 것을 권장합니다. 자세한 기준은 Google의 맞춤 URL 및 UTM 파라미터 안내에서 확인할 수 있습니다.

필요에 따라 추가하는 파라미터

기본 3개 외에 다음 값을 추가하면 캠페인을 더 세부적으로 분석할 수 있습니다.

파라미터용도입력 예시실무 적용 시점
utm_id캠페인 고유 IDcmp_2026_001데이터 가져오기나 내부 ID 연계 시
utm_source_platform트래픽을 유도한 소스 플랫폼facebook_ads플랫폼 구분이 추가로 필요할 때
utm_term유료 키워드 또는 검색어 구분utm_code키워드 단위 비교 시
utm_content광고 소재·버튼·링크 위치 구분feed_image_a, top_cta소재나 CTA별 비교 시

특히 utm_content는 같은 캠페인에서 여러 소재나 CTA 버튼을 비교할 때 유용합니다.

예를 들어 뉴스레터의 상단과 하단에 같은 페이지로 연결되는 버튼이 있다면 다음처럼 구분할 수 있습니다.

상단 버튼: utm_content=top_cta
하단 버튼: utm_content=bottom_cta

이때 utm_source, utm_medium, utm_campaign은 동일하게 유지하고 utm_content만 변경해야 버튼 위치에 따른 차이를 비교하기 쉽습니다.

현재 GA4에서 보고되지 않는 파라미터

Google은 다음 두 파라미터도 공식 목록에 포함하고 있습니다.

  • utm_creative_format: 광고 소재 형식
  • utm_marketing_tactic: 마케팅 또는 타기팅 전략

다만 Google 공식 문서에서는 현재 이 두 파라미터가 Google Analytics 속성에서 보고되지 않는다고 안내합니다. 실무에서는 보고서에서 확인 가능한 utm_contentutm_term을 우선 활용하고, 두 파라미터의 지원 상태는 사용 전에 다시 확인하는 것이 안전합니다.


Campaign URL Builder로 UTM 코드 만들기

UTM 코드는 URL에 직접 입력할 수도 있지만, 처음 사용하는 경우 Google Campaign URL Builder를 이용하는 것이 편리합니다.

입력값을 순서대로 작성하면 UTM URL이 자동 생성되므로 ?, &, = 등의 기호를 잘못 사용하는 실수를 줄일 수 있습니다.

1단계: Website URL에 도착 페이지 주소 입력하기

Website URL에는 사용자가 최종적으로 방문할 페이지의 전체 주소를 입력합니다.

https://exportmetric.com/utm-code-ga4-guide/

메인 도메인만 입력하기보다 광고나 게시물 내용과 직접 관련된 최종 페이지 주소를 사용하는 것이 좋습니다.

입력 전 다음 사항을 확인합니다.

  • https://가 포함된 전체 URL인지
  • 페이지가 정상적으로 열리는지
  • 오탈자와 불필요한 공백이 없는지
  • 모바일에서도 정상적으로 표시되는지
  • 기존 쿼리 문자열이나 앵커가 있는지

2단계: Campaign Source와 Medium 입력하기

Campaign Source에는 구체적인 유입 출처를 입력합니다.

facebook
instagram
weekly_newsletter

Campaign Medium에는 마케팅 매체를 입력합니다.

paid_social
social
email

예를 들어 페이스북 유료 광고라면 다음과 같이 설정할 수 있습니다.

Campaign Source: facebook
Campaign Medium: paid_social

sourcemedium에 모두 facebook을 입력하면 플랫폼과 매체 유형의 구분이 모호해집니다.

3단계: Campaign Name 입력하기

Campaign Name에는 광고 관리자나 내부 관리대장에서 사용하는 캠페인명과 동일한 값을 입력하는 것이 좋습니다.

2026_utm_guide

같은 캠페인을 아래처럼 여러 방식으로 작성하면 GA4에서도 서로 다른 값으로 나뉠 수 있습니다.

2026_utm_guide
2026-utm-guide
UTM_Guide_2026

캠페인 시작 전에 표준 이름 하나를 확정하고 모든 채널에 동일하게 적용해야 합니다.

4단계: Term과 Content 구분값 설정하기

Campaign Term은 주로 유료 검색 키워드 등을 구분할 때 사용합니다.

utm_term=utm_code

Campaign Content는 광고 소재, 링크 위치, CTA 버튼 등을 구분할 때 사용합니다.

utm_content=feed_image_a
utm_content=video_b
utm_content=top_cta

하나의 Meta 광고 캠페인에서 이미지 A와 영상 B를 비교한다면 utm_campaign은 동일하게 유지하고 utm_content만 다르게 설정합니다.

5단계: 생성된 UTM URL 복사하고 테스트하기

입력을 마치면 Campaign URL Builder 하단에 완성된 URL이 생성됩니다. 링크를 바로 배포하지 말고 다음 순서로 테스트합니다.

  1. 생성된 URL을 브라우저 시크릿 창에 붙여넣습니다.
  2. 올바른 도착 페이지가 열리는지 확인합니다.
  3. 주소창에 UTM 파라미터가 유지되는지 확인합니다.
  4. 다른 페이지나 오류 페이지로 이동하지 않는지 확인합니다.
  5. GA4 실시간 보고서에서 테스트 방문이 수집되는지 확인합니다.
  6. 디버그 모드를 설정한 경우 DebugView에서도 이벤트와 유입 정보를 확인합니다.

단축 URL이나 리디렉션을 사용하는 경우에는 중간 주소가 아니라 최종 도착 페이지까지 UTM 값이 유지되는지 확인해야 합니다.

워드프레스에 GA4가 아직 연결되지 않았다면 Site Kit의 역할과 연결 전 준비사항을 다룬 워드프레스 플러그인 추천 TOP10 가이드를 먼저 확인할 수 있습니다.


광고·SNS·뉴스레터 UTM 코드 예시

다음 예시는 실제 성과 수치나 ExportMetric 운영 사례가 아닌 UTM 작성 방법을 설명하기 위한 샘플입니다.

바로 적용할 수 있도록 채널별 기본값을 먼저 정리하면 다음과 같습니다.

사용 채널utm_sourceutm_mediumutm_campaignutm_content 예시
페이스북 유료 광고facebookpaid_social2026_utm_guidefeed_image_a
인스타그램 자연 링크instagramsocial2026_utm_guideprofile_link
정기 뉴스레터weekly_newsletteremail2026_utm_guidetop_cta
제휴 블로그partner_blogreferral2026_utm_guidearticle_link

Meta 광고용 UTM 파라미터 예시

페이스북 피드 이미지 광고를 구분하는 예시입니다.

도착 URL
https://exportmetric.com/utm-code-ga4-guide/

utm_source
facebook

utm_medium
paid_social

utm_campaign
2026_utm_guide

utm_content
feed_image_a

완성 URL은 다음과 같습니다.

https://exportmetric.com/utm-code-ga4-guide/?utm_source=facebook&utm_medium=paid_social&utm_campaign=2026_utm_guide&utm_content=feed_image_a

인스타그램 광고를 별도로 구분하려면 utm_source=instagram으로 변경할 수 있습니다. 광고 플랫폼이 지원하는 동적 파라미터를 사용하면 게재 위치나 소재 값을 자동 입력할 수도 있지만, 사용 가능한 동적 값과 실제 치환 방식은 Meta 광고 관리자에서 확인해야 합니다.

인스타그램·페이스북 게시물 링크 예시

인스타그램 프로필에서 발생한 자연 유입을 구분하는 예시입니다.

https://exportmetric.com/utm-code-ga4-guide/?utm_source=instagram&utm_medium=social&utm_campaign=2026_utm_guide&utm_content=profile_link

페이스북 자연 게시물이라면 다음 값을 사용할 수 있습니다.

utm_source=facebook
utm_medium=social
utm_campaign=2026_utm_guide
utm_content=feed_post

유료 광고와 자연 게시물은 source가 같더라도 mediumpaid_socialsocial로 구분해야 성격이 다른 유입을 비교하기 쉽습니다.

이메일 뉴스레터와 CTA 버튼 구분 예시

같은 뉴스레터 안에서 상단 CTA 버튼과 본문 텍스트 링크의 성과를 구분할 수 있습니다.

상단 CTA 버튼:

https://exportmetric.com/utm-code-ga4-guide/?utm_source=weekly_newsletter&utm_medium=email&utm_campaign=2026_utm_guide&utm_content=top_cta

본문 텍스트 링크:

https://exportmetric.com/utm-code-ga4-guide/?utm_source=weekly_newsletter&utm_medium=email&utm_campaign=2026_utm_guide&utm_content=body_text_link

두 링크는 utm_content만 다르므로 같은 뉴스레터 안에서 어떤 위치가 더 많은 방문과 참여를 만들었는지 비교할 수 있습니다.

Google Ads 자동 태그와 수동 UTM 적용 기준

Google Ads와 GA4를 연결해 사용한다면 자동 태그 추가를 우선하는 것이 좋습니다. 자동 태그가 활성화되면 광고 클릭 URL에 gclid 등의 클릭 식별자가 추가되고, Google Ads의 캠페인과 광고그룹 정보를 GA4에서 활용할 수 있습니다.

Google Ads 신규 계정은 자동 태그가 기본으로 활성화됩니다. GA4에서는 자동 태그와 수동 UTM을 함께 사용할 때 자동 태그 값이 우선하므로, 수동 UTM으로 Google Ads의 소스와 매체를 덮어쓰려는 운영 방식은 피하는 것이 안전합니다. 자세한 내용은 Google Ads 자동 태그 안내에서 확인할 수 있습니다.

실무에서는 다음 기준이 관리하기 쉽습니다.

  • Google Ads: 자동 태그 우선
  • Meta 광고: 수동 UTM 또는 검증한 동적 UTM
  • 이메일·SNS·제휴 링크: 수동 UTM
  • 리디렉션 사용 시: gclid와 UTM이 최종 페이지까지 유지되는지 테스트

UTM 소스·매체를 일관되게 작성하는 방법

UTM 코드 만들기에서 가장 중요한 것은 링크를 한 번 생성하는 일이 아니라 같은 규칙을 계속 유지하는 것입니다.

utm_sourceutm_medium을 구분하는 기준

utm_source에는 구체적인 플랫폼이나 발송처를 입력하고, utm_medium에는 채널 유형을 입력합니다.

유입 상황utm_sourceutm_medium
페이스북 유료 광고facebookpaid_social
인스타그램 자연 게시물instagramsocial
정기 뉴스레터weekly_newsletteremail
제휴 블로그 링크partner_blogreferral

GA4의 기본 채널 그룹은 소스, 매체, 캠페인 등의 규칙을 이용해 트래픽을 분류합니다. 임의의 매체명을 사용하면 기대한 채널이 아니라 Unassigned로 표시될 수 있으므로 GA4 기본 채널 그룹 정의와 내부 표준을 함께 확인해야 합니다.

소문자·영문 중심의 UTM 네이밍 규칙

UTM 값에는 다음 공통 규칙을 적용하는 것이 좋습니다.

  • 영문 소문자를 기본으로 사용
  • 공백 대신 _ 또는 - 중 하나만 사용
  • 같은 의미에는 항상 같은 단어 사용
  • 날짜 표기 순서 통일
  • 캠페인명과 광고 관리자 이름 일치
  • 개인 식별정보 입력 금지

예시는 다음과 같습니다.

권장: summer_sale
비권장: Summer Sale

권장: paid_social
비권장: Paid Social

한글이나 공백도 URL 인코딩을 통해 사용할 수 있지만 주소가 길고 복잡해지고, 팀원마다 다른 표기를 사용할 가능성이 높습니다. 관리 목적이라면 영문 소문자 중심의 규칙이 편리합니다.

대소문자와 오탈자로 데이터가 분산되는 사례

UTM 값은 대소문자를 구분하므로 다음 값은 보고서에서 서로 다른 행으로 나뉠 수 있습니다.

utm_source=facebook
utm_source=Facebook
utm_source=FaceBook

다음과 같은 표기 차이도 데이터 분산의 원인이 됩니다.

paid_social
paid-social
paidsocial
paid_socal

GA4 기본 채널 그룹의 분류 규칙 자체는 대소문자를 구분하지 않지만, UTM 값과 보고서 행은 대소문자에 따라 분리될 수 있습니다. 따라서 모든 값을 소문자로 통일하는 것이 안전합니다.

여러 팀원이 사용하는 UTM 관리대장 구성

여러 사람이 UTM 링크를 만든다면 스프레드시트에 관리대장을 만들고 입력값을 드롭다운으로 제한하는 것이 좋습니다.

생성일담당자채널도착 URLsourcemediumcampaigncontent완성 URL테스트
2026-07-27담당자명이메일페이지 주소weekly_newsletteremail2026_utm_guidetop_ctaUTM URL완료

관리대장에는 다음 기준도 별도로 적어두는 것이 좋습니다.

  • 허용하는 utm_medium 목록
  • 플랫폼별 utm_source 표준
  • 캠페인명과 날짜 작성 규칙
  • utm_content 작성 방식
  • 최종 검수 담당자
  • 링크 배포일과 종료일

UTM 관리대장은 단순한 링크 저장소가 아니라 팀 전체가 같은 이름을 사용하도록 만드는 기준표입니다.


GA4에서 UTM 캠페인 추적 결과 확인하기

UTM 링크를 배포했다면 GA4에서 실제 방문과 참여 성과를 확인해야 합니다.

보고서 → 획득 → 트래픽 획득으로 이동하기

GA4에 로그인한 후 다음 경로로 이동합니다.

보고서 → 획득 → 트래픽 획득

트래픽 획득 보고서는 신규 사용자와 재방문자를 포함해 각 세션이 어떤 경로에서 발생했는지 확인하는 보고서입니다. 메뉴에서 찾을 수 없다면 보고서가 기본 탐색 메뉴에 게시되지 않았을 수 있으므로 보고서 검색을 사용하거나 편집자 이상의 권한으로 보고서 구성을 확인합니다. 공식 경로는 GA4 트래픽 획득 보고서 안내에서 확인할 수 있습니다.

세션 소스/매체와 세션 캠페인 확인하기

트래픽 획득 보고서의 표에서 기본 측정기준을 변경해 다음 항목을 확인합니다.

  • 세션 소스/매체
  • 세션 소스
  • 세션 매체
  • 세션 캠페인
  • 세션 기본 채널 그룹

예를 들어 다음 값을 사용한 링크를 배포했다면:

utm_source=weekly_newsletter
utm_medium=email
utm_campaign=2026_utm_guide

GA4에서는 다음과 같이 확인할 수 있습니다.

세션 소스/매체: weekly_newsletter / email
세션 캠페인: 2026_utm_guide

성과를 판단할 때는 세션수만 보지 말고 참여 세션수, 참여율, 주요 이벤트, 수익 등 사이트 목표와 관련된 측정항목을 함께 확인해야 합니다.

utm_termutm_content 값을 확인하는 방법

utm_termutm_content는 다음 GA4 측정기준과 연결됩니다.

UTM 파라미터GA4에서 확인할 측정기준
utm_term세션 수동 검색어
utm_content세션 수동 광고 콘텐츠

기본 트래픽 획득 표에 해당 항목이 보이지 않으면 보고서를 맞춤설정하거나 탐색 분석에서 측정기준으로 추가할 수 있습니다. 연결되는 측정기준은 GA4 수동 태그 및 트래픽 소스 측정기준 안내에서 확인할 수 있습니다.

사용자 획득과 트래픽 획득의 차이

두 보고서는 분석 범위가 다릅니다.

보고서분석 기준주요 활용 목적
사용자 획득신규 사용자사용자가 처음 사이트를 발견한 채널 분석
트래픽 획득세션방문할 때마다 사용된 채널과 재참여 분석

한 사용자가 처음에는 검색으로 방문하고 나중에는 뉴스레터 UTM 링크로 재방문할 수 있습니다.

사용자 획득 보고서는 처음 방문한 검색 채널에 초점을 맞추고, 트래픽 획득 보고서는 뉴스레터를 통해 발생한 새로운 세션을 분석하는 데 적합합니다. UTM 캠페인의 세션 성과를 확인할 때는 트래픽 획득 보고서를 우선 사용합니다. 두 보고서의 범위 차이는 Google의 사용자 획득·트래픽 획득 비교 안내에서 확인할 수 있습니다.


UTM 코드가 정상적으로 집계되지 않을 때 해결 방법

UTM 링크를 만들었는데 GA4에서 값이 보이지 않는다면 링크 구조, 태그 설치, 리디렉션, 보고서 측정기준을 순서대로 확인해야 합니다.

증상먼저 확인할 항목조치
테스트 방문이 실시간에 없음도착 페이지의 GA4 태그태그 설치·동의 상태 확인
UTM이 (not set)으로 표시파라미터 누락·오탈자기본 3개와 관련 UTM 재검수
Unassigned로 분류source·medium 표준기본 채널 그룹 정의와 비교
소재별 값이 보이지 않음측정기준 선택세션 수동 광고 콘텐츠 추가
단축 링크 뒤 UTM이 사라짐리디렉션쿼리 문자열 전달 설정
Google Ads 값이 예상과 다름자동 태그 우선순위gclid, 계정 연결, 자동 태그 확인

GA4에 (not set)이 표시되는 원인

(not set)은 GA4가 해당 측정기준에 필요한 정보를 받지 못했을 때 표시되는 값입니다.

UTM과 관련해서는 다음 원인을 먼저 확인합니다.

  • utm_source, utm_medium, utm_campaign 중 일부가 누락됨
  • 파라미터명에 오탈자가 있음
  • = 또는 &가 잘못 입력됨
  • 리디렉션 과정에서 UTM이 제거됨
  • 도착 페이지에서 GA4 태그가 실행되지 않음
  • Google Ads와 GA4의 연결 또는 자동 태그에 문제가 있음

(not set)은 한 가지 원인으로만 발생하지 않으므로 링크와 수집 환경을 함께 점검해야 합니다. 자세한 원인 범위는 GA4 (not set) 문제 해결 안내에서 확인할 수 있습니다.

Unassigned 채널로 분류되는 원인

Unassigned는 수집된 트래픽 정보가 GA4의 기본 채널 분류 규칙과 일치하지 않을 때 표시될 수 있습니다.

예를 들어 유료 소셜 광고의 매체를 팀 내부에서만 사용하는 단어로 입력하면 Paid Social로 분류되지 않을 수 있습니다.

확인 필요: utm_medium=meta_ad
권장 예시: utm_medium=paid_social

채널 분류가 기대와 다르면 utm_sourceutm_medium의 실제 값을 확인하고 GA4 기본 채널 그룹 정의와 비교합니다.

대소문자·띄어쓰기·오탈자로 값이 나뉘는 문제

아래 값은 각각 별도의 값으로 나뉠 수 있습니다.

facebook
Facebook
face_book
facbook

이미 잘못된 UTM을 배포했다면 기존 보고서 값이 자동으로 하나로 합쳐지지는 않습니다. 이후 배포할 링크부터 표준값으로 수정하고, 과거 데이터를 분석할 때는 필요한 값을 함께 필터링해야 합니다.

기존 쿼리 문자열과 앵커가 있는 URL 연결 방법

기존 URL에 이미 ?가 있다면 UTM을 추가할 때 다시 ?를 사용하지 않고 &를 사용합니다.

기존 URL:

https://example.com/product?id=123

올바른 UTM URL:

https://example.com/product?id=123&utm_source=facebook&utm_medium=paid_social&utm_campaign=summer_sale

페이지 내 특정 위치로 이동하는 앵커 #section이 있다면 일반적으로 앵커를 URL 마지막에 둡니다.

https://example.com/product?id=123&utm_source=facebook&utm_medium=paid_social&utm_campaign=summer_sale#price

UTM을 # 뒤에 배치하면 쿼리 파라미터가 아닌 프래그먼트로 처리되어 정상 수집되지 않을 수 있습니다.

리디렉션·단축 URL에서 UTM이 사라지는 문제

단축 URL이나 중간 리디렉션 페이지를 거치면 최종 주소에서 UTM이 삭제될 수 있습니다.

다음 순서로 확인합니다.

  1. 단축 전 원본 UTM 링크가 정상인지 확인합니다.
  2. 단축 URL을 시크릿 창에서 클릭합니다.
  3. 최종 도착 페이지 주소에 UTM이 남아 있는지 확인합니다.
  4. GA4 실시간 보고서에서 테스트 방문이 수집되는지 확인합니다.
  5. UTM이 제거된다면 원본 쿼리 문자열을 최종 URL로 전달하도록 리디렉션을 수정합니다.

Google Ads 자동 태그를 사용하는 경우에도 gclid가 최종 방문 페이지까지 전달되는지 확인해야 합니다.

내부 링크에 UTM을 사용하지 않아야 하는 이유

UTM은 외부 채널에서 웹사이트로 들어오는 유입경로를 측정하기 위한 용도입니다. 웹사이트 내부의 배너, 메뉴, 버튼에 UTM을 사용하면 외부 캠페인과 내부 이동 정보가 섞여 해석이 복잡해질 수 있습니다.

GA4에서는 세션 중 새로운 캠페인 값이 발견되더라도 새 세션이 자동으로 시작되지는 않습니다. 다만 해당 값이 수집된 이벤트와 연결되어 이벤트 기반 기여 분석에 사용될 수 있습니다. 자세한 처리 방식은 GA4 캠페인 및 트래픽 소스 안내에서 확인할 수 있습니다.

내부 배너와 버튼은 UTM 대신 클릭 이벤트, 링크 URL, 버튼명, 버튼 위치 등의 이벤트 매개변수로 구분하는 것이 적합합니다.


UTM 링크 배포 전 최종 체크리스트

source·medium·campaign 입력 여부 확인

  • utm_source가 입력되어 있는가?
  • utm_medium이 입력되어 있는가?
  • utm_campaign이 입력되어 있는가?
  • 파라미터명에 오탈자가 없는가?
  • 모든 값이 팀의 네이밍 규칙과 일치하는가?
  • 영문 소문자와 구분 기호가 통일되어 있는가?

도착 페이지와 UTM 유지 여부 확인

  • 도착 페이지가 정상적으로 열리는가?
  • 모바일에서도 페이지가 정상적으로 표시되는가?
  • 리디렉션 후에도 UTM이 유지되는가?
  • 기존 쿼리 문자열과 충돌하지 않는가?
  • 앵커가 있다면 UTM 뒤에 배치했는가?
  • 단축 URL도 직접 클릭해 확인했는가?

GA4 측정기준과 캠페인명 확인

  • GA4 태그가 도착 페이지에서 정상 작동하는가?
  • 세션 소스/매체에서 확인할 값이 명확한가?
  • 캠페인명이 광고 플랫폼 및 관리대장과 일치하는가?
  • 소재 비교가 필요하면 utm_content를 설정했는가?
  • 배포 전 테스트 방문을 실행했는가?
  • Google Ads라면 자동 태그와 계정 연결을 확인했는가?

개인정보가 포함되지 않았는지 확인

UTM 값과 페이지 URL에는 다음과 같은 개인 식별정보를 넣으면 안 됩니다.

  • 이메일 주소
  • 개인 전화번호
  • 주민등록번호
  • 이름과 연락처를 조합한 정보
  • 특정 개인을 직접 식별할 수 있는 고객 정보

Google은 URL 경로와 매개변수뿐 아니라 캠페인 소스, 매체, 검색어, 캠페인, 콘텐츠 값에도 개인 식별정보를 포함하지 않도록 안내합니다. 자세한 기준은 Google Analytics 개인정보 지침에서 확인할 수 있습니다.

고객이나 발송 대상을 구분해야 한다면 이메일 주소 대신 개인을 직접 식별할 수 없는 캠페인 코드 사용을 검토해야 합니다. 단, 내부 코드도 다른 정보와 결합해 개인을 식별할 수 있다면 사용하지 않아야 합니다.


ExportMetric 실제 연결 과정에서 확인한 점

ExportMetric에서는 워드프레스에 Site Kit를 설치하고 GA4 속성 및 데이터 스트림을 연결하는 과정을 실제로 진행했습니다. 연결 과정에서 오류가 반복되기도 했지만, 설정 상태와 계정 연결을 다시 확인한 뒤 정상 연결을 완료했습니다. Search Console 연결과 사이트맵 제출도 함께 진행해 검색 유입을 확인할 수 있는 기본 측정 환경을 구성했습니다.

다만 GA4와 Site Kit가 연결됐다는 사실만으로 UTM 캠페인 추적이 완성되는 것은 아닙니다. UTM 링크를 실제 외부 채널에 배포하고, 방문자가 해당 링크를 클릭한 뒤, GA4에서 소스·매체·캠페인 값이 의도한 대로 수집되는지까지 확인해야 하나의 추적 과정이 완료됩니다.

현재 ExportMetric은 GA4와 Site Kit의 기본 연결을 완료했지만, UTM 캠페인의 장기 성과를 판단할 만큼 충분한 실제 운영 데이터나 정량 성과는 아직 확인되지 않았습니다. 따라서 이 글에서는 확인되지 않은 성과 수치를 제시하지 않고, 실제 연결 과정과 Google 공식 문서를 통해 검증할 수 있었던 설정 원칙을 중심으로 설명했습니다.

실제 연결 과정에서 확인한 점

첫째, 워드프레스 플러그인에서 연결 완료로 표시되더라도 도착 페이지에서 GA4 태그가 실제로 작동하는지는 별도로 확인해야 합니다. Site Kit의 연결 상태, GA4 실시간 보고서의 테스트 방문, 최종 보고서의 세션 소스·매체는 서로 다른 확인 단계입니다.

둘째, UTM 링크 자체가 정확해도 중간 리디렉션이나 단축 URL이 쿼리 문자열을 제거하면 GA4에 의도한 값이 전달되지 않습니다. 링크 생성 직후의 주소만 확인하지 말고, 실제 사용자가 도착한 최종 주소까지 확인해야 합니다.

셋째, GA4 보고서에서 원하는 값이 보이지 않을 때는 곧바로 UTM 링크가 잘못됐다고 판단하면 안 됩니다. 실시간 수집 여부, 표준 보고서 처리 시간, 선택한 측정기준, 자동 태그 우선순위를 순서대로 나눠 점검해야 원인을 정확히 좁힐 수 있습니다.

실제 운영에서 확인한 핵심 교훈

UTM 운영에서 가장 중요한 것은 링크를 많이 만드는 것이 아니라 생성·검수·기록 기준을 먼저 고정하는 것입니다. 담당자마다 facebook, Facebook, fb처럼 서로 다른 값을 사용하면 데이터가 분산되고, 캠페인이 끝난 뒤에는 어떤 값이 같은 유입을 의미하는지 다시 정리해야 합니다.

따라서 실제 운영에서는 다음 원칙을 먼저 정하는 것이 안전합니다.

  • source, medium, campaign의 표준값을 배포 전에 확정합니다.
  • 링크를 만든 사람과 검수한 사람, 배포일을 관리대장에 기록합니다.
  • 배포 전 시크릿 창과 GA4 실시간 보고서에서 테스트합니다.
  • Google Ads는 자동 태그를 우선하고 다른 외부 채널에는 검증한 수동 UTM을 적용합니다.
  • 확인되지 않은 성과는 운영 경험이나 성공 사례로 단정하지 않습니다.

결국 UTM은 URL 작성 기술보다 운영 규칙의 문제에 가깝습니다. 링크 생성 규칙과 GA4 확인 절차를 한 세트로 관리해야 캠페인이 늘어나도 데이터를 일관되게 비교할 수 있습니다.


UTM 코드 만들기 자주 묻는 질문(FAQ)

UTM 코드에는 어떤 파라미터가 필수인가요?

기본적으로 utm_source, utm_medium, utm_campaign을 함께 설정합니다.

광고 소재, CTA 버튼, 키워드까지 구분해야 한다면 utm_contentutm_term을 추가할 수 있습니다. 일부 UTM만 입력하면 보고서에 (not set)이 나타날 수 있으므로 관련 값을 빠짐없이 확인해야 합니다.

UTM 값에 한글과 띄어쓰기를 사용해도 되나요?

기술적으로는 사용할 수 있지만 한글과 공백이 URL 인코딩되면서 주소가 길고 복잡해질 수 있습니다.

팀 단위로 운영한다면 영문 소문자와 _ 또는 - 중 하나를 정해 사용하는 방식이 관리하기 쉽습니다.

권장 예시
utm_campaign=summer_sale

UTM 데이터를 GA4에서 바로 확인할 수 있나요?

테스트 방문은 GA4 실시간 보고서에서 먼저 확인할 수 있습니다. 디버그 모드를 설정한 경우 DebugView도 사용할 수 있습니다.

트래픽 획득과 같은 표준 보고서는 데이터 처리 후 표시되므로 실시간 보고서와 동시에 나타나지 않을 수 있습니다. 실시간 수집 여부를 먼저 확인한 뒤 표준 보고서를 다시 확인합니다.

단축 URL에도 UTM 코드를 사용할 수 있나요?

사용할 수 있습니다. 다만 단축 URL이 최종 도착 페이지로 이동하는 과정에서 UTM 파라미터를 그대로 전달해야 합니다.

단축 후에는 반드시 링크를 직접 클릭해 최종 주소의 UTM 유지 여부와 GA4 수집 여부를 확인해야 합니다.

기존 URL에 물음표가 있으면 UTM을 어떻게 붙이나요?

기존 URL에 이미 ?가 있다면 UTM 앞에 &를 사용합니다.

기존 URL
https://example.com/page?id=123

UTM 적용 URL
https://example.com/page?id=123&utm_source=email&utm_medium=email&utm_campaign=summer_sale

?를 두 번 사용하면 URL이 잘못 해석될 수 있으므로 주의해야 합니다.

웹사이트 내부 버튼에도 UTM을 넣어도 되나요?

권장하지 않습니다. UTM은 외부 유입 채널과 캠페인을 구분하는 용도입니다.

내부 버튼이나 배너의 성과는 GA4 클릭 이벤트와 버튼 위치 등의 이벤트 매개변수로 측정하는 것이 적합합니다. 내부 링크에 UTM을 사용하면 캠페인 데이터와 내부 이동 정보가 섞여 분석이 어려워질 수 있습니다.


마무리

UTM 코드 만들기의 핵심은 복잡한 링크를 만드는 것이 아니라 누구나 같은 기준으로 링크를 생성하도록 규칙을 정하는 것입니다.

처음에는 utm_source, utm_medium, utm_campaign 세 가지부터 시작하고, 소재나 CTA 버튼을 비교해야 할 때 utm_content를 추가하면 됩니다. 이후 GA4의 트래픽 획득 보고서에서 세션 소스·매체와 세션 캠페인을 함께 확인하면 광고, SNS, 뉴스레터의 유입 성과를 일관된 기준으로 분석할 수 있습니다.

무엇보다 UTM 링크를 배포하기 전에는 도착 페이지, 파라미터 유지, 네이밍 규칙, 개인정보 포함 여부를 확인해야 합니다. 한 번 배포된 잘못된 UTM 값은 이후 보고서에서도 별도의 데이터로 남을 수 있기 때문입니다.

함께 읽으면 좋은 글

워드프레스에 GA4를 처음 연결하거나 사이트 분석 환경을 구성하는 단계라면 다음 글을 함께 확인해 보세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다