UTM parameters

Also called UTM tags, UTM codes, campaign parameters

UTM parameters are tags added to the end of a link, like ?utm_source=newsletter&utm_medium=email, that tell analytics tools where a visit came from. Always set source, medium and campaign. Shopify, GA4 and attribution tools all read them to decide which channel gets credit for a visit and, later, a sale.

Sailesh B · Last updated

https://yourstore.com/products/linen-shirt?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale&utm_content=hero_button

Everything after the ? is for tracking. The page loads exactly the same with or without it. When the visitor lands, your analytics tools read the tags and record the visit as: from the newsletter, by email, for the spring sale, via the hero button.

UTM stands for Urchin Tracking Module. Urchin was the analytics company Google bought in 2005 and turned into Google Analytics. The name stuck, and today almost every analytics and attribution tool reads the same tags.

The parameters

Google lists nine (GA4 help):

ParameterWhat it recordsExample
utm_sourceWho sent the visitnewsletter, instagram, google
utm_mediumThe type of trafficemail, social, cpc
utm_campaignThe promotion or launchspring_sale
utm_contentWhich link or creativehero_button, video_15s
utm_termThe paid search keywordlinen shirt
utm_idA campaign ID that matches your cost datasp26_001
utm_source_platformThe platform that bought the trafficdv360
utm_creative_formatThe kind of creativevideo
utm_marketing_tacticThe targeting approachprospecting

Google says to always set source, medium and campaign. A visit missing them shows (not set) in GA4. The last two aren't reported in GA4 yet, so most stores can skip them.

Values are case-sensitive. utm_source=Instagram and utm_source=instagram become two separate sources in your reports. Use lowercase for everything.

How each tool reads them

The same link gets read three different ways.

GA4 sorts every visit into a channel (Email, Paid Social, Organic Search and so on) using source and medium. It matches the medium against a fixed list, so utm_medium=email lands in Email, but a made-up medium like newsletter usually lands in Unassigned (channel rules).

Shopify reads the UTMs on the page a visitor lands on and uses them in its marketing reports, alongside the referring site for visits without tags. Shopify reorganised these reports in September 2026: Performance by marketing campaign replaced the old UTM campaign report, and Performance by marketing channel now includes organic and referral traffic, so its totals may be higher than before (Shopify Help).

Attribution tools like Prism read the UTMs on every landing visit, store them with the visitor's journey, and use them to credit the order when it comes in. Here the medium matters most: it's usually what separates a paid click from an organic one.

Ad platforms add their own tags

You don't always type UTMs by hand.

  • Google Ads adds a gclid to every ad click when auto-tagging is on. By default GA4 uses the gclid and ignores manual UTMs on those clicks, so your Google Ads campaign names come through anyway (Google Ads Help). A gclid only means something to Google, though. It tells other tools the click was a Google ad, not which campaign, so add UTMs (or a campaign ID) to Google Ads too if you want them to see it.
  • Meta has a URL parameters field on each ad where you can use dynamic values like {{campaign.name}} and {{ad.name}}. Meta fills them in on every click. Meta also adds its own fbclid, which tells you a visit came from Facebook or Instagram but not whether it was an ad.
  • TikTok supports macros like __CAMPAIGN_NAME__ and __CID_NAME__ in the URL (TikTok Help).

Dynamic names are filled in from the ad's current name, so renaming a campaign mid-flight can split its reporting. Many teams pass IDs ({{campaign.id}}) as well as names for that reason.

Mistakes that move sales to "direct"

A bad UTM doesn't throw an error. It quietly changes where your sales are counted.

  • No UTMs on an email, SMS or influencer link. Mobile apps often hide the referrer, so the visit shows up as direct.
  • A redirect or link shortener that drops the tags before the page loads. Click your own link and check the address bar.
  • UTMs on your own internal links. A homepage banner tagged utm_source=newsletter relabels every visitor who clicks it, halfway through their visit.
  • Inconsistent naming. Facebook, facebook and fb become three sources, and none of them looks big enough to matter.
  • Personal data in a tag. Never put an email address in a UTM value.

Our free UTM builder lowercases values, keeps your existing link parameters, and won't add a second set of tags.

How this shows up in Shopify

Untagged traffic is the main reason Shopify shows a large share of orders as direct or unattributed. Each Meta or Google ad, email or text message without tags is a sale Shopify can't credit to its channel. Tagging every link you send is the single cheapest fix for messy Shopify attribution. Our UTM setup guide lists the exact values to use on each ad platform.

How Prism handles it

Prism reads UTMs and click IDs on every landing visit and keeps them with the visitor's journey, so a Shopify order is credited to the tagged visits that led to it, even when the buyer comes back days later without tags.