이커머스 UTM 추적은 왜 이렇게 자주 깨지는 걸까?
이커머스 스토어는 거의 모든 업종보다 더 많은 채널에서 더 많은 캠페인을 운영한다. 바로 그래서 UTM 데이터가 엉망이 되기 쉽다. 2025년 Littledata 조사에 따르면 Shopify 스토어의 67%가 Google Analytics 4에서 최소 하나의 어트리뷰션 소스 설정 오류를 가지고 있었다. 3곳 중 2곳이다.
지난 Black Friday에 한 WooCommerce 스토어와 작업했다. Meta, Google Shopping, TikTok, 이메일(Klaviyo), 그리고 2개의 제휴 네트워크에서 동시에 캠페인을 운영하고 있었다. GA4 획득 보고서를 열어보니 Facebook 관련 utm_source만 23가지 변형이 있었다: facebook, Facebook, fb, meta, Meta, ig, instagram, facebook_ads, fb-ads... 그 외 14개. 매출 어트리뷰션? 의미 없었다. 그 주말 34만 달러 매출을 실제로 어느 채널이 만들어냈는지 전혀 파악하지 못하고 있었다.
문제는 UTM 파라미터 자체가 아니다. 이커머스 팀이 빠르게 움직이고, 여러 사람이 링크를 만들며, 아무도 표준을 강제하지 않는 것이 문제다. 이제 바로잡아보자.
온라인 스토어에 가장 적합한 UTM 구조는?
이커머스에 적합한 UTM 구조는 다른 비즈니스와 동일한 Clean Signal Method 원칙을 따르되, 대량 트래픽과 멀티채널 리테일에 특화된 패턴을 적용한다.
기본 템플릿은 다음과 같다:
| 필드 | 값 패턴 | 예시 |
|---|---|---|
utm_source | 플랫폼 이름 | meta, google, klaviyo, tiktok |
utm_medium | 채널 유형(GA4 호환) | paid_social, cpc, email, affiliate |
utm_campaign | 캠페인 식별자 | blackfriday_2026, spring_collection_launch |
utm_content | 광고 또는 링크 변형 | carousel_shoes, hero_banner, product_card_3 |
utm_term | 오디언스 또는 키워드 | lookalike_purchasers, running+shoes |
utm_id | 플랫폼 캠페인 ID | {{campaign.id}}, {campaignid} |
위에서 설명한 혼란으로부터 이커머스 팀을 구하는 3가지 규칙:
-
유료 채널에는 플랫폼 네이티브 동적 파라미터를 사용한다. Meta는
{{campaign.name}}, Google은{campaignid}. 하드코딩한 캠페인 이름은 광고 플랫폼에서 누군가 이름을 변경하는 순간 구식이 된다. 이커머스에서는 세일 기간에 캠페인명이 끊임없이 바뀐다. -
프로모션 정보는
utm_campaign에 넣는다. 여기저기 흩뿌리지 않는다. Black Friday 세일을 진행한다면 그 정보는 campaign 필드에 들어가야 한다:blackfriday_2026_meta_retargeting.utm_source도utm_content도 아니다. -
utm_content로 상품 카테고리를 구분한다. 하나의 캠페인이 신발, 가방, 액세서리를 동시에 프로모션하는 경우가 많다. 각 크리에이티브에 태그를 붙여라:utm_content=carousel_shoes_v2,utm_content=static_bags_new. 어떤 상품 카테고리가 광고에서 실제로 성과를 내는지 아는 유일한 방법이다.
Shopify 스토어는 UTM 파라미터를 어떻게 처리해야 할까?
Shopify는 인바운드 트래픽에 UTM 파라미터를 추가하지 않는다. 그건 광고 측의 일이다. 하지만 Shopify에는 주의하지 않으면 UTM을 깨뜨리는 기능이 있다: 바로 체크아웃 리다이렉트다.
고객이 상품 페이지에서 "지금 구매"를 클릭하면 Shopify는 checkout.shopify.com(또는 커스텀 체크아웃 도메인)을 경유해 리다이렉트한다. 이 리다이렉트가 URL에서 UTM 파라미터를 제거할 수 있다. GA4는 구매 세션을 실제로 유도한 유료 광고가 아닌 "직접" 트래픽으로 기록하게 된다.
해결법: GA4 추적이 체크아웃뿐만 아니라 최초 랜딩 페이지에서 실행되는지 확인한다. Shopify 관리자 패널에서 설치하는 기본 Google & YouTube 채널은 이를 올바르게 처리한다. Google Tag Manager를 통한 커스텀 GA4 설정의 경우, 리다이렉트 페이지를 포함한 모든 페이지에서 page_view 태그를 실행시킨다.
Shopify 스토어는 보통 4~6개 채널에서 동시에 캠페인을 운영한다. 바로 사용 가능한 템플릿을 소개한다:
Shopify + Meta Ads:
utm_source=meta-{{site_source_name}}-{{placement}}
utm_medium=paid_social
utm_campaign={{campaign.name}}
utm_content={{ad.name}}
utm_id={{campaign.id}}
Shopify + Google Shopping:
utm_source=google
utm_medium=cpc
utm_campaign={campaignname}
utm_content={adid}
utm_term={product_id}
utm_id={campaignid}
Shopify + Klaviyo 이메일:
utm_source=klaviyo
utm_medium=email
utm_campaign=abandoned_cart_step_1
utm_content=return_to_cart_button
Shopify의 2025년 연간 보고서에 따르면 플랫폼 GMV는 2,756억 달러에 달했다. 그런데도 대다수 판매자가 일관된 UTM 전략을 갖추지 못하고 있다. 월 5,000달러 이상의 광고비를 쓰고 있다면, 어트리뷰션 오류는 단순한 불편이 아니라 돈을 태우는 것과 같다.
팁: UTM Generator에서 광고 네트워크를 선택하면 해당 플랫폼에 맞는 올바른 동적 파라미터가 자동 입력된다. Meta가
{{double_braces}}를 쓰는지, Google이{single_braces}를 쓰는지 기억할 필요 없다. 올바른 구문이 자동으로 로드된다.
WooCommerce의 UTM 요구사항은 어떻게 다른가?
WooCommerce는 WordPress에서 실행되므로 UTM 파라미터가 랜딩 페이지부터 체크아웃까지 전체 사용자 여정에서 유지된다. Shopify의 호스팅 체크아웃처럼 리다이렉트로 인한 제거가 없다. 다행이다.
하지만 WooCommerce에는 다른 문제가 있다. 많은 WooCommerce 스토어가 URL에 자체 쿼리 파라미터를 추가하는 플러그인을 사용한다. 쿠폰 플러그인, A/B 테스트 도구, 제휴 추적 플러그인 등이다. 이것들이 UTM 파라미터와 충돌하면 이런 URL이 만들어진다:
https://store.com/product?utm_source=meta&utm_medium=paid_social&utm_campaign=summer_sale&ref=affiliate123&coupon=SAVE20&ab=variant_b
GA4는 이를 문제없이 처리한다. utm_ 접두사 파라미터만 읽기 때문이다. 하지만 일부 캐싱 플러그인은 캐시 페이지를 제공하기 위해 모든 쿼리 파라미터를 제거한다. WP Super Cache나 W3 Total Cache를 적극적으로 설정하면 페이지가 캐시에서 로드되는 순간 UTM 데이터가 사라진다.
해결법: 캐싱 플러그인 설정에서 utm_source, utm_medium, utm_campaign, utm_content, utm_term, utm_id를 "무시할 쿼리 파라미터" 목록에 추가한다. 캐시는 계속 캐시 페이지를 제공하지만, GA4의 JavaScript가 읽기 전에 파라미터를 제거하지 않게 된다.
WooCommerce Google Analytics Pro(SkyVerge 제작)를 사용하는 WooCommerce 스토어라면, 플러그인이 UTM 데이터를 GA4의 향상된 전자상거래 이벤트와 자동으로 통합한다. 클릭 → 랜딩 페이지 → 장바구니 추가 → 구매까지 모든 어트리뷰션이 원래 UTM 소스에 연결된다. WooCommerce에서 가장 깔끔한 설정이며 연간 79달러의 가치가 충분하다.
마켓플레이스 트래픽은 어떻게 처리할까 — Amazon, Etsy, eBay?
여기서부터 복잡해진다. Amazon, Etsy, eBay 같은 마켓플레이스는 플랫폼의 상품 리스팅 URL에 UTM 파라미터 추가를 허용하지 않는다. URL, 체크아웃, 분석 모두 마켓플레이스가 관리한다.
하지만 두 가지 시나리오에서는 UTM을 활용할 수 있다:
시나리오 1: 자체 스토어에서 마켓플레이스 리스팅으로 트래픽을 유도하는 경우.
Amazon 상품 페이지로 연결하는 광고나 이메일을 보내는 경우:
https://amazon.com/dp/B0XXXXXXXX?utm_source=meta&utm_medium=paid_social&utm_campaign=product_launch_2026
Amazon은 자체 분석에서 UTM 파라미터를 무시하고, 자체 웹사이트의 GA4도 이 트래픽을 보지 못한다(Amazon으로 향하니까). 그렇다면 무슨 의미가 있을까? Amazon Attribution이다. Amazon의 어트리뷰션 프로그램은 특정 URL 파라미터를 읽지만, UTM이 아닌 자체 태그 형식을 사용한다. UTM과 함께 또는 대신 Amazon의 어트리뷰션 태그를 사용하게 된다.
시나리오 2: 마켓플레이스에서 자체 스토어로 트래픽을 유도하는 경우.
여기서 UTM이 중요해진다. Etsy 쇼핑몰에서 커스텀 주문이나 브랜드 블로그를 위해 메인 웹사이트로 링크하는 경우:
utm_source=etsy
utm_medium=referral
utm_campaign=custom_orders_redirect
eBay 파트너 링크, Amazon Storefront의 "브랜드 웹사이트" 링크, Etsy 소개 페이지 링크 — 이 모든 것에 자체 GA4 속성을 가리키는 UTM 파라미터를 붙여야 한다.
시나리오 3: 멀티채널 리테일 — 같은 상품, 여러 플랫폼.
Shopify, Amazon, Etsy, eBay에서 판매한다. 유료 광고가 4곳 모두에 트래픽을 보낸다. 각 광고 채널에서 어떤 플랫폼이 가장 잘 전환되는지 추적한다:
utm_campaign=summer_sandals_shopify
utm_campaign=summer_sandals_amazon
utm_campaign=summer_sandals_etsy
또는 utm_content로 도착지를 구분한다:
utm_content=shopify_landing
utm_content=amazon_listing
utm_content=etsy_listing
시즌 세일과 프로모션을 UTM으로 어떻게 추적할까?
Black Friday, Cyber Monday, 홀리데이 세일, 플래시 딜, 클리어런스 이벤트. 이커머스는 프로모션으로 먹고살며, 프로모션의 UTM 추적이 바로 대부분의 스토어가 실패하는 지점이다.
반복적으로 보이는 실수: 연중 모든 프로모션에 동일한 utm_campaign=sale을 사용하는 것. 12월이 되면 GA4에서 "sale"이 47,000 세션으로 최상위 캠페인으로 표시되고, Black Friday 성과와 여름 클리어런스를 비교할 방법이 전혀 없다.
프로모션 이름은 구체적으로. 항상.
| 프로모션 | 나쁜 utm_campaign | 좋은 utm_campaign |
|---|---|---|
| Black Friday 2026 | sale | blackfriday_2026 |
| 여름 클리어런스 | clearance | summer_clearance_2026_jul |
| 상품 출시 | launch | product_launch_sandals_2026-q2 |
| 플래시 세일(4시간) | flash | flash_4h_electronics_2026-05-15 |
| 로열티 할인 | loyalty | loyalty_vip_20percent_2026-q2 |
그리고 이커머스 마케터의 90%가 놓치는 것: 구체적인 오퍼 자체를 추적하는 것이다. Black Friday 캠페인이 "사이트 전체 30% 할인", "신발 50% 할인", "액세서리 무료 배송"을 제공한다면, 이것은 하나의 캠페인 아래 3개의 서로 다른 오퍼다.
커스텀 파라미터 또는 utm_content로 구분한다:
utm_campaign=blackfriday_2026&utm_content=shoes_50off
utm_campaign=blackfriday_2026&utm_content=sitewide_30off
utm_campaign=blackfriday_2026&utm_content=accessories_freeship
팁: UTM Generator에는 팀 전체의 프로모션 이름을 표준화하는 오퍼 제너레이터가 내장되어 있다.
30percent_off,30%_off,30-off,discount30중 무엇을 쓸지 논쟁하는 대신, 오퍼 제너레이터가 일관된 포맷을 생성한다:blackfriday_30percent. 6가지 오퍼 유형 지원 — 금액, 퍼센트, 무료, 선물, 리드 마그넷, 트립와이어. 언제 어디서나 동일한 포맷.
제휴사와 인플루언서 트래픽을 어떻게 태그할까?
제휴사와 인플루언서는 특수한 케이스다. 다른 사람에게 공유할 링크를 주는데, 상대방이 그것을 수정할지 여부는 통제할 수 없다.
제휴사 UTM 템플릿:
utm_source=affiliate
utm_medium=affiliate
utm_campaign={affiliate_network_name}
utm_content={affiliate_id_or_name}
실제 예시:
utm_source=affiliate
utm_medium=affiliate
utm_campaign=shareasale
utm_content=partner_287_shoeblog
인플루언서의 경우 접근 방식은 비슷하지만 소스가 달라진다:
utm_source=instagram
utm_medium=organic
utm_campaign=influencer_janedoe_spring2026
utm_content=story_swipeup
Influencer Marketing Hub의 2025년 보고서에 따르면 인플루언서 마케팅 산업은 241억 달러 규모에 도달했다. 하지만 조사 대상 브랜드의 38%가 인플루언서 ROI를 정확히 측정할 수 없다고 답했다. 해결책은 민망할 정도로 간단하다: 각 인플루언서에게 고유한 UTM 링크를 제공하면 된다.
이커머스 인플루언서 추적을 위한 2가지 실용적 팁:
-
URL 단축 서비스를 사용한다. 인플루언서는
https://store.com/collection/shoes?utm_source=instagram&utm_medium=organic&utm_campaign=influencer_janedoe_spring2026&utm_content=story_swipeup를 Instagram 프로필에 붙여넣지 않는다. 줄여야 한다. UTM Generator에는 단축 기능이 내장되어 있다. 링크 생성 후 클릭 한 번이면 된다. -
링크만이 아니라 템플릿을 공유한다. 20명의 인플루언서와 작업한다면, 제너레이터에서 플레이스홀더 값이 들어간 템플릿 하나를 만들고 템플릿 URL을 공유하면 된다. 각 인플루언서(또는 팀)가 이름 필드만 조정한다. 포맷 통일, 오타 없음.
실제 매출을 잃게 만드는 이커머스 UTM 실수는?
이론적인 얘기가 아니다. 잘못된 UTM 추적은 예산 배분 결정에 직접적으로 영향을 미친다.
실수 1: 사이트 내부 링크에 UTM을 붙인다. 홈페이지 배너에서 /sale로 가는 링크에 utm_source=homepage_banner&utm_medium=cpc를 붙인다. 고객이 3달러짜리 Google Ads 클릭으로 방문하고 배너를 보고 클릭한다. GA4는 이제 세션을 Google Ads가 아닌 "homepage_banner / cpc"로 귀속시킨다. 3달러짜리 유료 클릭이 보이지 않게 된 것이다. Black Friday에 이걸 대규모로 하면 유료 광고 매출을 15~25% 과소 집계하게 된다. Clean Signal Method 원칙 #6은 명확하다: 자기 집에 태그를 붙이지 마라.
실수 2: 유료 캠페인에 utm_id를 붙이지 않는다. Meta 캠페인 이름을 "Summer Shoes v1"에서 "Summer Shoes Final"로 중간에 변경한다. 모든 새 클릭에 다른 utm_campaign 값이 붙는다. 처음 2주간의 과거 데이터는? 단절된다. utm_id={{campaign.id}}는 이름 변경과 무관하게 절대 바뀌지 않는 숫자 ID를 사용한다. 이커머스 브랜드는 세일 기간에 캠페인명을 끊임없이 바꾼다. utm_id는 필수다.
실수 3: 상품 피드 트래픽을 무시한다. Google Shopping, Meta Catalog Ads, Pinterest Product Pins. 이들은 상품 피드에서 URL을 가져온다. 피드 URL에 UTM 파라미터가 없으면 쇼핑 트래픽이 태그 없이 도착한다. 대부분의 피드 관리 도구(DataFeedWatch, Feedonomics, GoDataFeed)는 피드 수준에서 상품 URL에 UTM 파라미터 추가를 지원한다. 한 번 설정하면 모든 상품에 적용된다.
실수 4: 이메일과 SMS에 같은 UTM을 사용한다. Klaviyo 이메일과 Klaviyo SMS로 같은 세일에 대해 동일한 UTM을 사용한다: utm_source=klaviyo&utm_medium=email. SMS 클릭이 이메일 트래픽으로 보인다. SMS에는 utm_medium=sms, 이메일에는 utm_medium=email을 사용한다. 다른 채널에는 다른 medium 값. 그것이 utm_medium의 역할이다.
FAQ
Shopify Analytics를 쓰면 UTM 파라미터가 필요 없을까?
Shopify Analytics는 트래픽 소스를 내부적으로 추적하지만 Shopify 생태계 내에서만 가능하다. GA4, Looker Studio 또는 외부 분석 도구도 사용한다면, 정확한 어트리뷰션을 얻는 유일한 신뢰할 수 있는 방법이 UTM 파라미터다. Shopify Analytics와 GA4는 세션 측정 방식이 달라 종종 다른 수치를 보여준다. UTM이 있으면 GA4 데이터가 캠페인 구조와 일치하게 된다.
상품 피드 URL에 UTM 파라미터를 추가할 수 있을까?
가능하다. 대부분의 상품 피드 관리 도구 — DataFeedWatch, Feedonomics, GoDataFeed, Channable — 가 피드 내 모든 상품 URL에 UTM 파라미터 추가를 지원한다. 피드 수준에서 utm_source=google&utm_medium=cpc&utm_campaign=shopping_feed를 설정하면 모든 상품 리스팅에 일관된 추적이 적용된다.
시즌 세일에 가장 좋은 utm_campaign 포맷은?
{event}_{year} 또는 {event}_{year}_{month} 패턴을 사용한다: blackfriday_2026, summer_clearance_2026_jul, flash_electronics_2026-05-15. 전년 대비 성과를 비교할 수 있도록 반드시 연도를 포함한다. sale이나 promo 같은 범용 값은 절대 사용하지 않는다. 개별 캠페인을 분석할 수 있는 능력을 잃게 된다.
UTM 데이터와 함께 쿠폰 코드 성과를 추적하려면?
쿠폰 또는 오퍼 이름을 utm_content에 추가하거나 sale=blackfriday_30percent 같은 커스텀 파라미터를 사용한다. GA4에서 UTM 캠페인과 쿠폰 사용 이벤트를 교차 참조하면 어떤 트래픽 소스가 가장 많은 쿠폰 사용을 유도했는지 알 수 있다. utmgenerator.io의 내장 오퍼 제너레이터가 팀 전체에서 이러한 이름을 표준화한다.
리타겟팅과 프로스펙팅에 다른 UTM을 사용해야 할까?
당연하다. 리타겟팅과 프로스펙팅은 비용, 전환율, ROAS가 다르다. utm_campaign으로 구분한다: blackfriday_2026_prospecting_lookalike vs blackfriday_2026_retargeting_cart_abandoners. 또는 utm_term으로 오디언스 유형을 지정한다: utm_term=prospecting_lookalike, utm_term=retargeting_180d.
헤드리스 커머스 플랫폼에서도 UTM 파라미터가 작동할까?
작동한다. 헤드리스 플랫폼(Shopify Hydrogen, BigCommerce + Next.js, commercetools)은 JavaScript 프레임워크로 페이지를 렌더링하지만, GA4의 gtag.js나 GTM은 렌더링 방식에 관계없이 페이지 로드 시 URL에서 UTM 파라미터를 읽는다. 분석 스크립트가 클라이언트 사이드 라우팅으로 쿼리 문자열이 제거되기 전에, 최초 랜딩 페이지에서 실행되는지만 확인하면 된다.
일반적인 이커머스 스토어에 필요한 UTM 템플릿 수는?
34개 플랫폼에서 광고를 운영하고, 하나의 ESP로 이메일을 보내며, 오가닉 소셜을 운영하는 중간 규모 스토어라면 보통 812개 템플릿이 필요하다. 플랫폼-채널 조합당 하나씩. 예: Meta 프로스펙팅, Meta 리타겟팅, Google Search, Google Shopping, Klaviyo 캠페인, Klaviyo 플로우, 오가닉 Instagram, 오가닉 TikTok. UTM Generator에서 한 번 만들고, 팀과 공유하고, 무한히 재사용한다.