URL 매개변수를 사용하면 광고 또는 마케팅 유입 출처를 보다 정교하게 추적할 수 있습니다.
이번 포스팅에서는 URL 매개변수가 무엇이고 로그분석시 어떤 이점을 제공하는지 자세히 알아보도록 하겠습니다.
URL 매개변수란?
URL 매개변수는 URL(웹 주소) 뒤에 붙어 서버 혹은 브라우저에서 실행되는 프로그램에 전달되는 추가적인 정보입니다.
보통 광고 측정, 로그분석 도구에서 사용자의 행동, 유입출처, 검색 관련 정보 등을 전달할 때 사용합니다.
URL 매개변수의 형식 – 매개변수 이름과 매개변수 값
예를 들어 아래 URL에서 굵고 기울어진 글자 부분이 URL 매개변수인데 방문자가 이 URL을 통해 방문하면 GA4는 이 사용자가 구글의 유료 광고를 클릭하고 들어왔다는 것을 알게 됩니다.
GA4가 사전 정의해둔 매개변수 명 utm_source가 유입 소스를, utm_medium은 유입 매체를 의미하기 때문입니다.
https://marketology.co.kr/?utm_source=google&utm_medium=cpc
아래 이미지처럼 GA4 트래픽 보고서에서 이 링크로 유입된 방문자의 ‘세션 소스/매체’ 는 google / cpc로 집계 됩니다.

utm_source와 utm_medium이 매개변수 명이고, google과 cpc가 각 매개변수에 담긴 값입니다.
만약 네이버에서 광고가 아닌 자연 검색으로 들어온다면 이런 매개변수가 사용될 것입니다.
?utm_source=naver&utm_medium=organic
여기서 매개변수 이름인 utm_source과 utm_medium은 바뀌지 않고 그 값만 바뀌는 것을 알수 있습니다. utm_source라는 이름을 바꾸면 이 매개변수를 사용하는 프로그램(여기서는 구글 애널리틱스)가 이 매개변수의 의미를 이해하지 못 하기 때문입니다. URL 매개변수는 그것을 사용하는 서버측 혹은 클라이언트(브라우저)측 프로그램이 미리 정해둔 이름을 사용해야 제대로 작동합니다. 이 예시에서 매개변수 이름을 source나 fcm_source처럼 미리 정해둔 것과 다른 것을 사용할 경우 GA는 여기 담긴 값을 유입 소스로 인식하지 않습니다.
소스, 매체 뿐 아니라 어떤 캠페인을 통해 유입이 발생했는지 알고 싶다면 캠페인에 해당되는 URL 매개변수를 추가해 줍니다.
https://marketology.co.kr/?utm_source=google&utm_medium=cpc&utm_camapign=summer_sale
이제 summer이라는 값을 가진 utm_campaign 매개변수가 추가 되서 GA4 서버에 이 유입이 summer라는 캠페인 활동에 의해 발생했음을 알게 해줍니다.
트래픽 보고서에서는 summer라는 이름의 캠페인이 집계 될것입니다.

URL과 매개변수를 구분해 주는 기호는 물음표(?)입니다. URL 뒤에 ? 를 붙이고 그 뒤에 ‘매개변수 이름=매개변수 값’ 형태로 된 매개변수를 붙여주면 됩니다. 매개변수가 여러 개일 때는 각 매개변수를 앤드 기호(앰퍼샌드, &)로 구분해 줍니다. URL과 URL 매개변수는 ?로, 각 매개변수는 &로 구분한다 혹은 매개변수는 &로 구분하고 맨 앞에는 ?를 사용한다 이렇게 기억 해도 됩니다.
지금까지 예시로 utm_source, utm_medium 과 같이 앞에 utm_이 붙은 URL 매개변수를 사용해 봤는데 이 매개변수들은 구글 애널리틱스에서 사용하는 것으로 현재는 산업 표준처럼 범용으로 여러 솔루션에서 사용되고 있습니다. 하지만 솔루션에 따라 자체 URL 매개변수를 사용하는 곳도 있으므로 정확한 매개변수 명을 확인 후 사용하는 것이 좋습니다.
URL 매개변수는 유입 추적에만 사용되는 것이 아니고 동일한 상세 페이지 디자인에 제품 정보만 달리 보여주거나 특정 검색어의 검색 결과를 보여주는 등 여러 목적으로 사용될 수 있습니다.
- https://demo-shop.mall/detail.php?product=hoc00221
- https://demo-shop.mall/detail.php?product=cok12843
- https://demo-shop.mall/detail.php?product=jow93241
위의 상세페이지 주소들은 동일한 페이지(https://demo-shop.mall/detail.php)에 각기 다른 값을 가지는 URL 매개변수(product)를 전달함으로써 제품 ID가 hoc00221, cok12843, jow93241인 제품 상세 정보를 각각 보여주는 것입니다. product=hoc00221이라는 URL 매개변수가 쇼핑몰 서버로 전달되면 서버의 프로그램은 DB에서 제품 ID가 hoc00221인 제품을 찾아 섬네일, 가격, 제품명, 상세 정보 등 상세페이지에 노출할 정보들을 보내 줍니다.
마케톨로지 사이트에서 ‘코너스톤’이란 단어로 검색을 하면 검색 결과 페이지로 이동하면서 URL이 아래와 같이 바뀝니다.
https://marketology.co.kr/?s=코너스톤
여기서 s는 검색어를 담는 매개변수인데 사이트마다 이 매개변수명이 다를수 있습니다. q를 사용할 수도 있고 query나 keyword를 사용할 수도 있습니다.
자신이 운영중이거나 자주 방문하는 사이트에서 검색을 해보면 검색 결과 페이지의 URL매개변수 중 방금 검색한 단어를 값으로 가지고 있는 것이 검색어를 담는 매개변수 입니다.
- a-site.ino/?q=이벤트
- b-site.che/?query=GML
- c-site.net/?keyword=낙우송

구글 애널리틱스4 ‘관리’페이지에서 ‘데이터 수집 및 수정 > 데이터스트림 > 스트림 세부정보 > 이벤트 > 향상된 측정’을 열고 ‘사이트 검색’의 ‘고급 설정’을 열면 위 이미지처럼 ‘검색어 쿼리 매개변수’를 수정할 수 있는 입력란이 나옵니다. 콤마(,)를 구분자로 여러 매개변수 명이 기본적으로 추가되어 있습니다. 내 사이트에서 사용하는 매개변수가 없다면 추가할 수 있습니다.
여기 추가된 매개변수가 포함된 URL이 열리면, 즉 s가 포함된 URL이 페이지 로드 되면 GA4는 사이트 내 검색이 발생한 것으로 인식하고 view_search_result 이벤트를 트리거 합니다. 그리고 이 이벤트에 포함된 매개변수 search_term에 s에 담긴 검색어를 넣어서 GA4 서버로 전송합니다. GA4는 사이트 내 검색 이벤트와 사용된 검색어를 수집하고 저장하는 것입니다. 이렇게 저장된 사이트 내 검색어는 ‘참여도 > 이벤트’ 에서 보조 측정 기준을 ‘사이트 검색어’로 선택한 후 확인할 수 있습니다.

‘사이트 검색어’ 측정 기준은 GA4에서 기본적으로 제공하는 측정기준이 아니므로 ‘맞춤 측정기준 만들기’를 통해 생성한 후 이용할 수 있습니다.
맞춤 측정기준 생성 방법은 아래 링크를 참고해 주시기 바랍니다.
URL 매개변수로 광고 유입 출처 확인하기
위에서 살펴본 것처럼 URL 매개변수는 다양한 용도로 활용될 수 있지만 이 게시물에서는 utm 매개변수를 이용해 GA4에서 광고의 유입 출처를 확인하는 방법에 대해서 자세히 알아보도록 하겠습니다.
utm 매개변수 종류
| utm 매개변수 | 사용될 값 | ValueTrack 매개변수 or 수동입력 | 예시 |
| utm_id | 캠페인 ID | ValueTrack {campaignid} | 33218531697[자동생성] |
| utm_campaign | 캠페인 이름 | ValueTrack {campaignid} or 수동 입력 | summer sale, mens outer, 건기식(홍삼) 인지도 |
| utm_source | 유입 소스 | 수동 입력 google | google, facebook, naver |
| utm_medium | 유입 매체 | 수동 입력 cpc | cpc, banner, referral |
| utm_term | 검색 광고의 키워드 | ValueTrack {keyword} | 휴대용 배터리, 분유포트 추천, 가성비 노트북 |
| utm_content | 광고 관련 정보 | ValueTrack {creative} or 수동 입력 | 642168551985[자동생성] or 페이지 상단 배너, 인지도 영상 광고 |
위 표를 참고해서 utm 매개변수와 구글에서 제공하는 ValueTrack 매개변수를 최대한 활용한 대표적인 활용 예시를 만들어 보면 아래와 같습니다.
https://marketology.co.kr?utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}&utm_content={creative}&utm_id={campaignid}
ValueTrack 매개변수
중간 중간에 중괄호 { } 로 감싼 단어들이 보이는데 구글 애즈에서 제공하는 ValueTrack 매개변수라고 하는 것으로 광고와 관련된 정보들이 담겨 있습니다. campaignid에는 현재 광고가 포함된 캠페인의 고유 ID가 담겨 있고 keyword에는 검색 광고 유입을 발생시킨 키워드가, creative는 유입을 발생시킨 광고의 고유 ID가 담겨 있습니다. 이 ValueTrack 매개변수를 URL 매개변수의 값으로 사용하면 ValueTrack이 담고 있던 정보가 URL 매개변수로 전달 되는 것입니다.
ValueTrack 매개변수에 대한 자세한 정보는 아래 링크를 참고하시기 바랍니다.
https://support.google.com/google-ads/answer/6305348?hl=ko
utm_source와 utm_medium은 바꿀 이유가 없고 광고 플랫폼마다 거의 고정값이어서 ValueTrack 매개변수를 제공하지 않습니다.
campaignid라는 캠페인 ID 매개변수는 제공하면서 캠페인 이름은 제공하지 않기 때문에 utm_campaign은 직접 수동으로 입력하거나 campaignid를 사용할 수밖에 없습니다.
utm_term의 경우 사용자가 검색에 사용한 ‘검색어’가 아닌 광고주가 캠페인의 키워드 목록에 등록한 ‘키워드’를 제공하기 때문에 키워드가 어떤 성과를 냈는지는 확인할 수 있으나 ‘검색어’의 성과는 확인할 수 없습니다. [keyword} ValueTrack 매개변수를 사용할 때는 이점을 혼동해선 안 됩니다. {keyword}는 검색어가 아니라 키워드입니다.
utm_content에 사용하는 {creative}는 보통 구글 애즈에서 제공하는, 그래서 ‘열’ 수정 화면에서 ‘광고 id’ 라는 열 이름으로 사용할 수 있는 값을 불러오는데 그외에도 광고 효과를 측정하기 위한 다른 ValueTrack 매개변수를 사용할 수도 있고 수동 입력을 통해 더 다양한 관점에서 측정할 수 있으므로 활용 범위가 넓다고 볼수 있습니다.
utm_content에 {creative} 대신 혹은 {creative}와 함께 아래와 같은 ValueTrack 매개변수들을 활용할 수 있습니다.
- {device} – 클릭이 발생한 사용자의 기기
- 반환 되는 값: m=모바일, c=컴퓨터, t=태블릿
- {network} – 광고 네트워크(검색, 디스플레이, 유튜브, 파트너 등등)
- 반환 되는 값: g=구글 검색, d=GDN, ytv=유튜브, s=검색 파트너
- {placement} – 디스플레이 캠페인의 타겟팅에서 광고가 게재된 위치
- 반환 되는 값: 콘텐츠 타겟팅 중 키워드 타겟팅에서는 클릭이 발생한 콘텐츠 사이트가 게재위치 타겟팅에서는 클릭이 발생한 사이트에 대해 일치하는 게재위치 타겟팅 기준
이 ValueTrack 매개변수들을 조합해서 여러 값을 URL 매개변수에 담을수도 있습니다.
예)
utm_content={creative}_{device}
utm_content={device}_{placement}
utm_content={network}_{device}_{creative}
지금까지 보신 것처럼 ValueTrack 매개변수를 활용하면 광고 관련 정보를 더 효과적으로 더 정확하게 수집할 수 있습니다.
페이스북, 네이버의 동적 매개변수
ValueTrakc 매개변수는 구글 애즈에서 제공하는 것이어서 구글 광고 추적시에만 사용할 수 있습니다. 하지만 다른 광고 플랫폼들도 이와 유사한 기능을 제공하므로 각 플랫폼에서 제공하는 매개변수를 활용하면 타 플랫폼의 광고 성과도 효과적으로 측정할 수 있게 됩니다.
ValueTrack은 구글 애즈에서 ‘동적으로 생성되는 매개변수’에 고유한 이름을 붙인 것인데 단어 앞에 대문자까지 사용해가며 고유명사화 한것이고 페이스북이나 네이버에서는 이런 고유명사를 만드는 대신 일반명사로 기능을 용어화 했습니다.
- 구글: ValueTrack
- 페이스북: URL 다이나믹 매개변수
- 네이버: URL 치환변수
정리하자면 URL 매개변수 혹은 URL 파라미터라는 것은 키&값 쌍으로 이뤄진 URL 뒤에 붙는 추가 정보 꾸러미이고 여기서 값에 동적으로 변환되는 값을 집어넣는 기능이 구글에서는 ‘ValueTrakc’, 페이스북에서는 ‘URL 다이나믹 매개변수’, 네이버에서는 ‘URL 치환 변수’로 불리는 것입니다
페이스북 URL 다이나믹 매개변수
페이스북에서 제공하는 다이나믹 매개변수
- {{ad.id}} – 광고 ID
- {{adset.id}} – 광고그룹 ID
- {{campaign.id}} – 캠페인 ID
- {{ad.name}} – 광고소재 이름
- {{adset.name}} – 광고그룹 이름
- {{campaign.name}} – 캠페인 이름
- {{placement}} – 게재위치 상세 정보(페이스 인스트림 릴스, 인스타그램 피드 등)
- {{site_source_name}} – 게재 사이트 이름(페이스북, 인스타, 오디언스 네트워크 등)
페이스북에서 광고를 집행하고 GA4에서 페이스북의 광고 유입 정보를 확인하고 싶으면 아래와 같은 URL 템플릿을 사용할 수 있는 것입니다.
https://marketology.co.kr?utm_source=facebook&utm_medium=banner&utm_campaign={{campaign.name}}&utm_content={{ad.id}}_{{placement}}
페이스북은 검색 기반이 아닌 잠재고객 타겟팅 기반 광고여서인지 {{keyword}} 매개변수는 제공하지 않는 것 같고 구글과 달리 캠페인 ID 와 함께 캠페인 이름 매개변수를 제공하고 있습니다.
페이스북의 다이나믹 매개변수에 대한 정보는 아래 링크를 참고해 주시기 바랍니다.
https://business.facebook.com/business/help/2360940870872492
네이버 치환 변수
네이버에서 제공하는 URL 매개변수용 치환변수
- {final_url} – 최종 URL
- {campaign} – 캠페인 ID
- {ad_group} – 광고그룹 ID
- {ad} – 광고(소재) ID
- {keyword_id} – 키워드 ID
- {keyword} – 등록 키워드
- {query} – 사용자가 실제 검색한 검색어
- {rank} – 광고 순위
- {media} – 매체 ID
- {network} – 네트워크(검색/콘텐츠)
- {match} – 매치 방식
- {campaign_type} – 캠페인 유형
- {ad_group_type} – 광고그룹 유형
페이스북에서 광고를 집행하고 GA4에서 페이스북의 광고 유입 정보를 확인하고 싶으면 아래와 같은 URL 템플릿을 사용할 수 있는 것입니다.
https://marketology.co.kr?utm_source=naver&utm_medium=cpc&utm_campaign={campaign}&utm_term={keyword}_{query}&utm_content={ad}_{network}
검색 광고 비중이 커서인지 구글과 달리 사용자의 실제 검색어와 광고 순위 치환변수도 제공하고 있네요.
utm_term에 {keyword}와 {query}를 같이 넣으면 GA4에서 검색어까지 확인할 수 있을 것 같습니다. utm_content에도 {ad}와 함께 {network}를 넣어 검색 유입인지, 콘텐츠 유입인지를 확인할 수 도 있겠습니다.
네이버 광고의 치환변수 대한 정보는 아래 링크를 참고해 주시기 바랍니다.
https://ads.naver.com/help/faq/1335?t=1780113646589
마무리
URL 매개변수와 동적 매개변수를 활용하면 광고 플랫폼에서 제공하는 광고 관련 정보들을 세부적으로 수집해서 광고 성과 측정을 보다 효율적이고 정확하게 할수 있습니다.
구글 애즈나 페이스북, 네이버에서는 자체 보고서를 통해 확인할 수 있지만 GA4에서는 확인하기 어려운 광고 관련 정보들을 수집할 수 있는 것이기 때문에 광고가 사이트에서 어떤 성과를 이끌어 냈는지 캠페인, 광고그룹, 광고소재, 키워드, 검색어, 네트워크, 게재위치 등 다양한 관점에서 정확히 평가할 수 있게 해주는 것입니다.
GA에서 기본적으로 제공하는 utm 매개변수의 종류가 너무 적다는 것이 아쉬운 부분인데 이 문제는 GA 속성의 관리자(특정 사이트로 GA를 이용중인 사이트 운영자)가 맞춤식 URL 매개변수를 만들고 그값을 GA로 보낸 후 맞춤 측정기준(예:실제 검색어)에 넣어주는 식으로 해결할 수 있을 것 같습니다. 이 방법에 대해서는 나중에 별도의 게시물을 작성해 보도록 하겠습니다.