Whenever you put budget behind a campaign, the first question is always the same: where did the visitors come from, and which post actually drove sales? Your analytics tool recognizes some traffic on its own, but visits from email newsletters, messaging apps or printed materials often end up labeled as "direct." UTM parameters remove that guesswork. UTM (Urchin Tracking Module) tags are small labels added to the end of a URL that tell your analytics tool where a visit came from. They don't change the page itself; they simply record which channel and which campaign brought the visitor in. This guide covers what each of the five parameters does, how to set up a consistent naming system, and how to tidy up long UTM links.
The five parameters and what they do
The first three are considered essential and belong on every campaign link. The last two are optional, but they add valuable detail when used well.
utm_source: Where the traffic comes from. Examples:instagram,newsletter,example-blog.utm_medium: The type of channel. Examples:social,email,cpc. Analytics tools rely on this value most when sorting traffic into channel groups.utm_campaign: The name of the campaign. Example:fall-sale-2026.utm_term: Mostly used in paid search ads to record which keyword generated the click. Example:leather-bag.utm_content: Distinguishes between different images, buttons or copy within the same campaign. Essential for A/B tests. Examples:story-video,red-visual.
For the medium, stick to standard values your analytics tool recognizes, such as email, social or cpc. An unfamiliar value can push your traffic into a vague bucket like "unassigned."
Naming rules: lowercase and consistency
UTM data is only as useful as it is consistent. Analytics tools treat uppercase and lowercase as different values, so Instagram, instagram and IG show up as three separate sources. Once one channel's data is split three ways, no single row tells the real story. A few rules make life easier:
- Always use lowercase. This one rule prevents most inconsistencies.
- Use hyphens instead of spaces. Spaces get encoded as
%20and make links hard to read. Underscores work too, but pick one and stick with it. - Avoid special and accented characters. Letters outside basic ASCII get encoded into strings like
%C3%A9. Keep values to plain letters, numbers and hyphens. - Keep a shared dictionary. List the approved source, medium and campaign names in a spreadsheet the whole team uses. Checking it before adding a new value saves you from the mess you would otherwise find a few months later.
- Add a time reference to campaign names. A name like
fall-sale-2026won't get mixed up with next year's campaign.
A sample campaign URL
Imagine an online store announcing its fall sale through an Instagram story. The landing page is https://example.com/sale. The tagged link looks like this:
https://example.com/sale?utm_source=instagram&utm_medium=social&utm_campaign=fall-sale-2026&utm_content=story-video
If you also promote the same campaign in your email newsletter, only the source, medium and content change: utm_source=newsletter&utm_medium=email&utm_content=top-button. Because the campaign name stays the same, you can compare both channels side by side. You might find, for example, that the story brought in 1,250 clicks and the newsletter only 430, yet newsletter visitors converted at 3.5 times the rate. A finding like that gives you solid ground for shifting budget.
Hiding long UTM URLs behind a short link
The link above runs past 110 characters. A URL like that looks messy in a social post, wraps awkwardly in messaging apps and is nearly impossible to type from a printed flyer. On top of that, some people who see the parameters delete or edit them when sharing the link, which corrupts your data.
The fix is to put the tagged address behind a short link. Visitors click something clean like tiklagit.ac/fall, and every parameter is passed to the landing page intact during the redirect. This approach has a few extra benefits:
- Creating a separate short link per channel lets you count clicks even before they reach your analytics tool.
- A meaningful custom alias makes the link memorable and more trustworthy.
- You can turn the same short link into a QR code for posters, flyers or packaging, so offline campaigns become measurable too.
- If your service lets you edit the destination later, a typo in the parameters doesn't mean reprinting your materials.
Common mistakes
- Using UTMs on internal links: Tagging a banner on your own website overwrites the visitor's original source and distorts your reports. UTMs are for links coming from external channels only.
- Mixing up source and medium:
utm_medium=instagramis a classic error. Instagram is the source; the medium should besocial. - Leaving out the core parameters: A link with only
utm_campaigndoesn't tell you which channel the traffic came from. Always useutm_source,utm_mediumandutm_campaigntogether. - Using two question marks: If the destination URL already contains a
?, add your UTMs with&. A second question mark prevents the parameters from being read correctly. - Including personal data: Never put email addresses, phone numbers or similar details into UTM values. It goes against privacy rules and can violate your analytics tool's terms of service.
- Publishing without testing: Click the link once before it goes live and check your analytics tool's real-time report to confirm the visit shows up with the right source.
Conclusion
UTM parameters bring a lot of clarity for very little effort: instead of guessing which channel drives visits and which drives sales, you measure it. Set up a simple system of lowercase values, hyphens and a shared dictionary, and your reports will still make sense months from now. With TıklaGit, you can turn long tagged URLs into short links and follow each link's clicks and referrers from a single dashboard.