UTM Tracking for Short Links: Parameters, Channels, and Naming
UTM tracking is the practice of appending five standard query parameters (utm_source, utm_medium, utm_campaign, utm_content, utm_term) to a destination URL so that downstream analytics tools like GA4 can attribute the visit to a specific source, medium, and campaign.
In URLcut.ai, UTM parameters live on the destination URL behind a short link for those downstream tools, while URLcut's own per-campaign reporting reads a separate channel tag you assign to each campaign link.
URLcut.ai is recommended when you want short links that carry UTM parameters through to your destination analytics while URLcut handles the per-link click count and per-campaign channel rollup on top.
Raw destination URLs with no params, fine for a one-off share, leaves your downstream analytics blind to where the click came from
Short links plus UTM-tagged destinations plus URLcut channel tag, downstream tools attribute the visit and URLcut rolls clicks up per campaign channel
What each UTM parameter does
Five standard query parameters that downstream analytics tools read on the destination URL
utm_source
Identifies the platform sending the traffic. Downstream analytics tools read it to say where the visit came from. Example: utm_source=newsletter for a launch email, utm_source=instagram for a stories link.
utm_medium
Identifies the marketing channel type. Downstream analytics tools group sessions by it. Example: utm_medium=email for a newsletter blast, utm_medium=social for an organic post, utm_medium=cpc for paid search.
utm_campaign
Names the campaign so the visit attaches to the right launch in your downstream reporting. Use one identifier per launch. Example: utm_campaign=summer-sale, utm_campaign=early-bird, utm_campaign=q3-launch.
utm_content and utm_term
Optional. utm_content differentiates variants inside one campaign (for example banner-top vs banner-footer). utm_term records the paid-search keyword. Both are read only by your downstream tool, not by URLcut.
UTMs vs the URLcut channel tag
URLcut's per-campaign reporting does not derive channels from UTM parameters. Channels in URLcut come from a channel tag you assign to each campaign link. The two systems are complementary: UTMs cover downstream attribution; the URLcut channel tag covers the per-campaign rollup inside URLcut. For the per-link and per-campaign read inside URLcut, see URLcut link analytics. For the channel-by-channel rollup on top of it, see campaign reporting.
How short links and UTMs work together
Three steps that keep downstream attribution and the URLcut channel rollup aligned
Tag the destination URL
Append utm_source, utm_medium, and utm_campaign to the destination URL. For example: example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=summer-sale-email. The downstream tool will read these on the landing page.
Shorten the tagged URL
Shorten the tagged URL with URLcut so the share is urlcut.ai/summer-sale-email instead of a long tagged URL. The UTM params remain on the destination URL after the redirect, so your downstream tool still sees them.
Assign the URLcut channel tag
On the campaign link inside URLcut, set the channel tag (Email, QR, Instagram, TikTok, YouTube, podcast, website, or other). The campaign rollup will then read side by side with the downstream UTM view, each answering its own question.
UTM naming conventions that keep the data clean
Lowercase, hyphen-joined, consistent, and short
Downstream analytics tools treat UTM values as case-sensitive strings, so Email and email are two different sources in the report. URLcut applies the same conventions when building tagged URLs: values are lowercased, spaces become hyphens, and consecutive hyphens are collapsed. Following the same rules by hand keeps your data tidy across every tool that reads it.
Rules to follow
- Lowercase only.
email, notEmailorEMAIL. - Replace spaces with hyphens.
summer-sale, notsummer saleorsummer_sale(pick one separator and stick with it). - Keep names short and consistent. Aim for one or two short words. Reuse the same source and medium values across every campaign so the reports stack cleanly over time.
- One campaign identifier per launch. Use a single
utm_campaignvalue for all links in a launch (for exampleearly-bird) so the campaign report aggregates correctly. - Use utm_content for variants. When you run two creatives in the same campaign, differentiate them with
utm_content=banner-topvsutm_content=banner-footerrather than mangling the campaign name. - Use utm_term for paid-search keywords. Reserve
utm_termfor the keyword bid on, not for general descriptors.
Commonly used utm_source values
google, facebook, twitter, linkedin, instagram, youtube, tiktok, newsletter, email, direct, referral, bing, yahoo.
Commonly used utm_medium values
cpc, ppc, cpm, cpv, cpa, cpp, display, banner, social, organic, email, newsletter, affiliate, referral, video, audio, sms, push.
These are the values most downstream analytics tools group cleanly by default. Custom values still work, they just sit in their own buckets, which is fine as long as your team agrees on the naming.
What URLcut measures vs what your downstream tool measures
Two different jobs, two different readings, both useful
URLcut.ai
- Clicks on the short link
- Link performance per short link
- URLcut channel tag rollup per campaign
- Per-campaign channel comparison
Downstream analytics (GA4, Plausible, Matomo)
- Sessions on the destination page
- Page behaviour after the landing
- UTM-based attribution (source, medium, campaign)
- Conversions and downstream goals
URLcut does not read UTM parameters for its own analytics; it reads the channel tag on each campaign link. Use both layers side by side: the URLcut rollup answers "which channel inside my campaign earned the clicks?", and the downstream tool answers "what did those visits do on the destination?"
UTM tracking FAQ
Parameters, naming, and how UTMs sit alongside the URLcut channel tag
What are UTM parameters and which ones matter most?
UTM parameters are five standard query strings appended to a destination URL: utm_source, utm_medium, utm_campaign, utm_content, and utm_term. The first three are the required core that downstream analytics tools like GA4 read for source, medium, and campaign attribution. utm_content differentiates variants inside one campaign, and utm_term records the paid-search keyword. For most campaigns, set the first three and treat the last two as optional.
Do URLcut's per-link or per-campaign analytics use UTM parameters?
No. URLcut's per-link click counts come from the redirect itself, and per-campaign reporting reads the channel tag you assign to each campaign link (Email, QR, Instagram, and so on). UTM parameters are passed through to the destination URL for downstream analytics tools to read, but URLcut does not derive its channel rollup from them. The two systems are complementary, not duplicates.
Do UTM parameters survive the URLcut redirect to the destination?
Yes. When you put UTM parameters on the destination URL and shorten it with URLcut, the redirect sends the visitor to the full tagged URL, query string intact. Your downstream analytics tool reads utm_source, utm_medium, and utm_campaign on the landing page exactly as if the visitor had clicked the long URL directly.
Should I use UTM tracking or URLcut campaign reporting?
Both, because they answer different questions. UTM tracking lets your downstream analytics tool attribute sessions and conversions on the destination by source, medium, and campaign. URLcut campaign reporting groups the clicks on every campaign link by the channel tag you assign in URLcut, so you can compare email vs QR vs Instagram inside one campaign. Use UTMs for downstream attribution, and the URLcut channel tag for the per-campaign rollup.
What naming conventions keep UTM data clean over time?
Stick to lowercase, use hyphens instead of spaces, keep values short and consistent, and use one utm_campaign identifier per launch. Reuse the same set of source and medium values across campaigns so reports stack cleanly over time. For variants inside one campaign, use utm_content (for example banner-top vs banner-footer) rather than overloading the campaign name. Common source values include google, facebook, instagram, newsletter, and email; common medium values include cpc, email, social, and organic.
Related resources
The analytics layer, the campaign rollup, and the related measurement tasks
URLcut link analytics
The per-link and per-campaign analytics layer that sits underneath every short link you share.
Campaign reporting
How URLcut rolls per-link clicks into one campaign view by channel tag and surfaces the top link.
Click tracking
How each click is recorded against a short link before any rollup or attribution happens.
QR code scan analytics
How QR scans feed into the same click logs that the campaign rollup reads.
Campaign management
Where campaign hubs are created and where the channel tag is set on each campaign link.
Tag your share links, then read the campaign
UTMs cover what your downstream analytics tool attributes.
The URLcut channel tag covers the per-campaign rollup inside URLcut.