UTM parameters explained, with a naming scheme that survives a team
UTM tags are five query parameters your analytics tool reads to work out where a visitor came from. They are trivial to add and famously easy to ruin: within a year most workspaces contain Newsletter, newsletter and news-letter as three separate sources.
The five parameters
utm_sourcenewsletter, github, conference-badge. Required; without it the rest is unusable.utm_mediumemail, social, print, referral. Keep this list to under ten values forever.utm_campaignlaunch-2026-09. Date-prefixing makes it sortable and stops name reuse across years.utm_contentheader-cta versus footer-link. Optional, and the one that makes A/B results readable.utm_termFive rules that prevent the mess
%20 or a plus sign depending on who encoded it, and you end up with both.How short links and UTMs fit together
They answer different questions and are not alternatives. The short link tells you how many people followed it. The UTM tells your site's analytics what to attribute the resulting visit to. Use both and you can see the drop-off between the two, which is usually the most interesting number in the whole exercise.
The practical arrangement: put the UTM parameters on the destination, stored with the link, so the ugly tagged URL never appears anywhere a human sees it. What you share is c1k.me/launch; what the browser lands on carries the full tagging. This also means you can correct a mistyped campaign name after the link has been shared, which is impossible if the tags live in the shared URL.
shared c1k.me/launch destination https://example.com/pricing ?utm_source=newsletter &utm_medium=email &utm_campaign=launch-2026-09 &utm_content=header-cta
Query forwarding, and why it is off by default
Forwarding passes query keys from the short URL through to the destination, so c1k.me/launch?ref=alice can reach your page with ref=alice intact. Useful for referral codes and per-recipient tokens.
It is off unless you name the keys to forward, because forwarding everything is an open redirect parameter hazard and a quiet way to leak whatever someone appends to your link into your own analytics. Name the two or three keys you need; anything else is dropped.
A checklist before you send
That last one catches the failure nobody expects: a site that redirects to add a locale prefix and strips the query string on the way, silently discarding every tag you set.