직접 살펴보는 예제

기존 주소를 보존하는 캠페인 링크 만들기

주소와 캠페인 이름을 바꾸고 기존 쿼리·앵커가 남는지 확인하세요. 실제 개인정보는 입력하지 마세요.

아래 내용은 구조를 설명하기 위해 만든 예제입니다. 실제 상품·고객 성과 자료가 아닙니다.

기본 주소의 언어 쿼리와 앵커를 유지합니다.

https://example.com/guide?lang=ko&utm_source=newsletter&utm_medium=email&utm_campaign=autumn_notes_2026&utm_content=hero#pricing

만든 주소를 자동으로 열지 않습니다. 입력과 결과는 저장·전송하지 않습니다.

UTM 이름과 배포 장부 예제에서 나눈 판단

예제 주소의 lang=ko와 #pricing을 보존하면서 네 캠페인 필드를 설정합니다. 같은 이름의 UTM이 있으면 하나의 값으로 바꾸며, 규칙에 맞지 않는 입력에는 결과 대신 수정 안내를 표시합니다. 링크 형식 확인은 실제 클릭·분석 수집 확인과 별개입니다.

같은 캠페인이 다른 행으로 갈라지는 작은 차이

한 사람이 캠페인 이름을 autumn_notes라고 쓰고 다른 사람이 Autumn-Notes라고 쓰면 독자는 같은 안내를 받더라도 분석 시스템에는 서로 다른 값이 들어갈 수 있습니다. 링크를 복사하는 동안 공백이나 날짜 표기가 바뀌는 일도 생깁니다. Google Analytics 안내는 UTM 값의 대소문자를 구분하므로 일관된 이름을 사용하라고 설명합니다. 먼저 배포할 이름을 정하고 링크마다 다시 타이핑하지 않는 편이 좋습니다.참고: Google Analytics Help · URL builders: Collect campaign data with custom URLs

이 글의 예제는 실제 캠페인이 아닌 가상 뉴스레터입니다. 도착 주소는 example.com의 안내 페이지, source는 newsletter, medium은 email, campaign은 autumn_notes_2026으로 정합니다. 상단 링크와 하단 링크를 나눌 때만 content를 바꿉니다. 이 이름이 모든 조직에 맞는 표준이라는 뜻은 아니며, 한 캠페인의 값을 흔들리지 않게 유지하는 과정을 보여 주기 위한 규칙입니다.

흩어진 표기장부에서 정한 표기정리할 이유
Newsletter / newsletternewsletter대소문자 분리 방지
email / e-mail / mailemail매체 이름을 하나로 유지
Autumn Notes / autumn-notesautumn_notes_2026같은 캠페인 구분
top / top-link / herohero같은 링크 위치를 같은 이름으로 기록

source·medium·campaign·content에 다른 역할을 줍니다

source에는 어디에서 온 링크인지, medium에는 어떤 전달 방식인지, campaign에는 어떤 묶음의 활동인지 담습니다. content는 같은 캠페인 안의 소재나 위치를 구별할 때 사용합니다. 네 칸에 같은 이름을 반복하면 값을 붙인 보람이 줄어듭니다. “9월 캠페인”이라는 말이 발송 매체와 버튼 위치를 모두 대신하지 않게 역할을 나눕니다.참고: Google Analytics Help · URL builders: Collect campaign data with custom URLs

필드예제 값예제에서 묻는 질문
utm_sourcenewsletter어디에서 링크를 배포했는가
utm_mediumemail어떤 방식으로 전달했는가
utm_campaignautumn_notes_2026어느 캠페인 묶음인가
utm_contenthero 또는 footer같은 메시지의 어느 링크인가

아래 도구는 source·medium·campaign을 필수 입력으로 두고 content는 선택으로 둡니다. 영문 소문자, 숫자, 밑줄과 하이픈만 허용하는 것은 이 예제의 이름 관리 규칙입니다. UTM 기술 전체가 한글이나 다른 문자를 처리할 수 없다는 뜻은 아닙니다. 조직에서 다른 규칙을 쓰더라도 허용 문자, 날짜 표기, 소재 이름을 먼저 문서화해야 사람이 바뀌어도 같은 결과를 만들 수 있습니다.

기존 쿼리와 #앵커를 망가뜨리지 않고 값을 붙입니다

도착 주소에 이미 ?lang=ko가 붙어 있는데 다시 물음표부터 UTM을 이어 쓰면 주소 구조가 달라질 수 있습니다. #pricing 같은 앵커 뒤에 매개변수를 붙이는 실수도 피해야 합니다. URL을 문자열로 추측해 이어 붙이기보다 URL 객체에서 쿼리를 다루면 기존 값과 앵커를 유지하면서 캠페인 필드를 설정할 수 있습니다.참고: MDN Web Docs · URLSearchParams: set() method

도착 주소: https://example.com/guide?lang=ko#pricing
쿼리: lang=ko + utm_source + utm_medium + utm_campaign
앵커: #pricing 유지
UTM 필드와 원본 링크·도착 확인 기록을 구분한 도식
UTM 공통 필드의 기록 관계를 설명하는 생성 이미지입니다. 본문 도구에는 선택 content 필드도 있으며 그림의 주소는 별도 가상 예시입니다. 실제 클릭·분석 수집 자료가 아닙니다.

같은 utm_source가 이미 있는 주소에는 값을 여러 번 추가하지 않고 장부의 값으로 한 번 설정합니다. URLSearchParams의 set은 같은 이름의 여러 값이 있을 때 지정한 값 하나를 남기는 동작을 합니다. 다만 도구가 모든 쿼리를 지워도 된다는 뜻은 아닙니다. 상품 옵션이나 언어처럼 도착 화면에 필요한 값은 보존하고, 바꾸기로 한 캠페인 필드만 다룹니다.참고: MDN Web Docs · URLSearchParams: set() method

완성된 주소를 읽을 때는 도메인, 경로, 필요한 기존 쿼리, UTM 이름, 앵커를 순서대로 확인합니다. 값이 URL 인코딩으로 표시되는 것과 이름이 잘못 들어가는 것은 다릅니다. 배포 전에 원래 페이지의 목적지가 유지되는지 확인해야 하며, 이 페이지의 도구는 주소를 만들기만 하고 외부 사이트를 열거나 분석 요청을 보내지 않습니다.

링크 이름에는 사람을 식별하는 값을 넣지 않습니다

개인별 이메일, 전화번호, 이름을 campaign이나 content에 넣으면 링크를 공유하거나 복사하는 과정에서 함께 노출될 수 있습니다. 분석 도구에 전달되는 URL 자체에도 이런 정보가 없어야 합니다. Google Analytics는 식별 가능한 개인정보 전송을 피하기 위한 별도 안내를 제공합니다. 이 예제에서는 사람 대신 매체·캠페인·소재 위치만 기록합니다.참고: Google Analytics Help · Best practices to avoid sending Personally Identifiable Information

아래 입력 검사는 이메일처럼 보이는 @나 공백 등을 이름 규칙으로 걸러 내지만 개인정보 탐지기가 아닙니다. 고객 번호처럼 숫자로만 된 값이나 사람이 알아볼 수 있는 내부 식별자는 여전히 통과할 수 있습니다. 검사에 통과했다는 이유로 민감한 값을 넣지 말고, 캠페인 이름이 개인을 가리키지 않는지 사람이 확인해야 합니다.

링크를 보내기 전 이름보다 원문 주소를 보관합니다

캠페인 장부에는 최종 URL, 배포 위치, 소재 버전, 담당자, 배포 예정일, 도착 확인 여부를 남깁니다. 이름 규칙이 잘 정리돼 있어도 메일 본문에는 이전 주소가 들어갈 수 있습니다. 최종 발송 화면이나 광고 소재에서 링크를 다시 추출해 장부의 원문과 대조해야 실제 배포 상태를 알 수 있습니다.

장부 열가상 뉴스레터의 기록다음 확인
도착 주소example.com/guide?lang=ko#pricing언어와 앵커 유지
공통 캠페인autumn_notes_2026모든 소재에서 동일
링크 위치hero / footer위치별 content 구분
배포 원문도구가 만든 최종 URL최종 소재의 링크와 일치
확인 결과주소 형식·도착 문서 확인분석 수집은 별도 검사

사이트 안의 일반 메뉴 이동까지 외부 유입 캠페인처럼 태깅하기 전에 무엇을 구분하려는지 다시 생각합니다. 외부 캠페인 유입과 사이트 내부 버튼 사용은 다른 질문입니다. 내부 행동을 알고 싶은 상황에서 캠페인 이름을 덧붙이면 보고서 해석이 복잡해질 수 있으므로 목적에 맞는 이벤트 설계를 별도로 검토합니다. 이 글은 실제 분석 계정 설정을 변경하거나 내부 이벤트를 수집하지 않습니다.

UTM 이름과 배포 장부을 확인한 순서

  1. 기본 주소의 lang=ko와 #pricing을 둔 채 content를 hero에서 footer로 바꾸어 링크를 만듭니다.
  2. utm_source가 이미 있는 주소도 넣어 봅니다. 기존 쿼리·앵커가 남고 같은 UTM 이름은 중복되지 않아야 합니다.
  3. 이메일이나 개인 식별자는 입력하지 않습니다. 링크 생성 확인과 실제 클릭·분석 수집 확인을 구분해 기록합니다.

UTM 이름과 배포 장부 판단에서 제외한 범위

  • 이 도구는 분석 태그나 실제 클릭을 수집하지 않습니다.
  • 영문 소문자 중심 제한은 예제의 운영 규칙이며 UTM 전체의 기술적 문자 제한이 아닙니다.
  • 개인정보를 자동 탐지하거나 적법한 수집을 인증하지 않습니다.

UTM 이름과 배포 장부에 사용한 원문

원문별 확인일과 참고 범위를 아래에 표시했습니다. 예제 입력값은 설명을 위한 설정이며 원문 기관의 제품 평가를 뜻하지 않습니다.

  1. URL builders: Collect campaign data with custom URLsGoogle Analytics Help · 확인 2026-09-03

    UTM 필드 역할, 일관된 이름과 대소문자 구분을 참고했습니다.

  2. Best practices to avoid sending Personally Identifiable InformationGoogle Analytics Help · 확인 2026-09-03

    분석 수집에 개인 식별정보를 보내지 않도록 주의할 범위를 참고했습니다.

  3. URLSearchParams: set() methodMDN Web Docs · 확인 2026-09-03

    기존 쿼리에서 같은 이름의 값을 하나로 설정하는 동작을 참고했습니다.

광고·협찬 고지
  • 광고·협찬 없이 작성
  • 예시는 detailry 자체 제작이며 실제 고객·매출 자료가 아닙니다.
  • 정정: 문의 페이지
  • 작성 기준: 작성 원칙
마케팅 카테고리정정·문의