Where the term comes from
UTM stands for Urchin Tracking Module, named after Urchin, the web analytics tool Google bought in 2005 to build Google Analytics. The five parameter names survived that acquisition and became the closest thing digital marketing has to a shared standard. That is the whole reason they work across tools: GA4, Meta Ads Manager, HubSpot, and link-in-bio platforms like Raydar all know to look for the same five keys in a URL's query string.
What a UTM parameter actually is
A UTM parameter is a key and value pair appended to a URL after a question
mark, separated from other parameters by an ampersand. A link like
example.com/sale?utm_source=instagram&utm_medium=bio&utm_campaign=summer
loads exactly the same page as example.com/sale. Nothing about
the destination content changes. The parameters exist purely as labels that a
receiving system can read and log, and that single fact explains most of the
confusion people have about them.
A UTM parameter does not track anything by itself. It is inert text in a URL. Tracking only happens when something on the other end, an analytics script on the landing page, or a link tool like Raydar's link decoder, actually parses the query string and writes it down. Paste UTMs onto a link and send it to a site with no analytics installed, and you have decorated the URL for nobody. UTM tagging and destination tracking are one system, not two separate steps, no matter how often people treat them that way.
The five UTM parameters
There are five standard UTM parameters. Only two are required for most reporting to make sense; the rest add precision as a campaign grows.
| Parameter | What it identifies | Example value | Required |
|---|---|---|---|
| utm_source | Where the click originated | instagram, newsletter, google | Yes |
| utm_medium | The channel type | bio, email, cpc, social | Yes |
| utm_campaign | The specific initiative | summer-launch, black-friday | Recommended |
| utm_term | Paid search keyword | running-shoes-sale | Paid search only |
| utm_content | Distinguishes near-identical links | story-link, grid-post, header-cta | Optional |
utm_content is the parameter most people skip, and it is the one that answers the question source and medium cannot. If the same campaign link sits in an Instagram story, a grid post, and a bio link on the same day, utm_source and utm_medium will look identical across all three. Adding utm_content=story, utm_content=grid, and utm_content=bio to each version is what lets a report separate them later. Skip it and a campaign that performed unevenly across placements just looks like one average number. Whichever placement actually worked disappears into that average.
utm_source vs utm_medium
These two get mixed up constantly, and the mix-up is what wrecks a reporting dashboard. utm_source answers "where did this person come from," a specific platform or publication: instagram, tiktok, mailchimp. utm_medium answers "what category of channel is that," a broader bucket: social, email, cpc, referral. Source is the noun, medium is the category the noun belongs to. Set utm_source=instagram and utm_medium=bio on a link-in-bio click, and GA4 can correctly group it under social while still letting you filter down to Instagram specifically. Get the two backwards, or leave utm_medium blank, and GA4's default channel grouping logic often files the traffic as "unassigned" or "referral" instead. That single mix-up is often enough to make a campaign's numbers look worse than reality.
UTM vs URL parameters
UTM parameters are a subset of URL parameters, not a separate technology. Any query string, the part of a URL after the question mark, is a URL parameter. UTMs are simply the five reserved names that analytics platforms agreed to read consistently. The rest of the URL parameter world is wider and messier. Click identifiers like gclid (Google Ads), fbclid (Meta), and ttclid (TikTok) are also URL parameters, but a platform appends them automatically when someone clicks a paid ad, and they carry an opaque ID meant for that platform's own conversion matching, not a human-readable label. You would not hand-type a gclid the way you would hand-type a utm_campaign value. If you want to see exactly what a given parameter on a link is doing before you trust it, a link decoder breaks every parameter down individually.
Where UTM tags actually break
Three failure modes account for almost every "my UTMs disappeared" complaint. Some platforms strip or rewrite query strings during their own redirect chains, particularly link shorteners layered on top of other link shorteners. In-app browsers on Instagram and TikTok sometimes alter or drop parameters when a user backs out and re-enters a link. But the most common cause, by a wide margin, is people mistyping the values themselves. One team member tags a campaign utm_source=IG, another types utm_source=instagram, and a third writes Instagram with a capital letter. GA4 treats all three as different sources, and a single campaign fragments into three rows nobody can total up. None of that is really a technology failure. It is a habit, and it is the reason a shared, prebuilt link is worth more than everyone typing their own tags from memory.
Building UTM links without breaking your own reporting
The fix for tag drift is removing manual typing from the process. Raydar's free UTM builder generates the parameter string from dropdowns instead of a blank text field, so utm_source=instagram is always spelled the same way twice. On the tracking side, every click through a Raydar bio link is logged with its UTM values, referrer, and first-touch and last-touch cookies. That is what turns "someone clicked" into "this specific caption on this specific date drove this click." That link-level view is different from full ad platform reporting. It will not tell you what happened after someone left the page. But for the question most creators and small teams actually have, which post or campaign sent this traffic, it answers it without a spreadsheet. Understanding campaign tracking as a whole, beyond just the five UTM fields, is covered in more depth in what is campaign tracking.