UTM Parameters Explained: How to Track Where Your Traffic Really Comes From
You send a newsletter, post on three social platforms and pay for a small ad. Visits go up. Which of the three did it? Open your analytics and a large share of those visitors are filed under "Direct" or a vague "Social", and you are left guessing. UTM parameters are the small, free fix: a few labels on the end of a link that tell your analytics exactly where each click came from.
UTM parameters are tags added to the end of a URL, such as ?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. When someone clicks the link, analytics tools such as Google Analytics read the tags and record the visit under that source, medium and campaign. Use three every time: source (where the link is), medium (the type of channel) and campaign (the promotion). Keep them lowercase and consistent, and never put them on links inside your own site.
Why UTM tracking matters
Analytics tools work out where a visitor came from mainly by reading the referrer, the address of the page that held the link. That works for a click from another website. It fails more often than people realise:
- Email apps and many mobile apps pass no referrer, so the visit is often counted as Direct.
- Messaging apps and documents (chat tools, PDFs, QR codes) behave the same way.
- Social platforms are identified, but every post, profile link and ad from that platform is lumped together.
The result is a report that tells you traffic rose and not why. UTM parameters replace the guess with a label you wrote yourself. That lets you answer the questions that decide where your time goes: which newsletter brought readers, whether the pinned post or the weekly thread works better, and whether the paid campaign earned its cost.
- UTM stands for Urchin Tracking Module, after Urchin, the analytics software Google acquired in 2005 and built Google Analytics on.
- The parameters are a convention, not a Google-only feature. Most analytics platforms read them.
- They are free, need no code and work on any link you control.
- Values are case-sensitive:
Emailandemailare reported as two different things.
The five standard parameters
| Parameter | Answers | Examples | Use |
|---|---|---|---|
utm_source |
Where is the link? | newsletter, facebook, linkedin, partner-site | Always |
utm_medium |
What kind of channel? | email, social, cpc, referral, qr | Always |
utm_campaign |
Which promotion or reason? | spring_sale, weekly_digest, product_launch | Always |
utm_content |
Which link or version? | header_button, footer_link, image_a | When one message has several links or you are testing versions |
utm_term |
Which keyword? | running+shoes | Mainly for manually tagged paid search |
Google Analytics 4 also recognises utm_id for a campaign ID, plus utm_source_platform, utm_creative_format and utm_marketing_tactic. Most small sites never need them.
Source and medium: the pair people mix up
Think of medium as the kind of road and source as the specific road. email is a medium; newsletter or welcome_series is a source. social is a medium; linkedin is a source. If you find yourself writing a brand name in medium, the two are swapped.
How a tagged URL is built
The parameters go after a question mark, joined by ampersands:
https://www.example.com/pricing/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale
If the URL already has a question mark, the UTM tags are added with an ampersand instead. If it has a fragment (a #section at the end), the tags must come before the hash, or they will be ignored. The builder below handles both cases.

How to use UTM parameters, step by step
- Agree a naming convention before tagging anything. Lowercase only. One separator, underscore or hyphen, used everywhere. A fixed short list of mediums.
- Take the exact landing-page URL, including https and any trailing slash your site uses.
- Add source, medium and campaign. Add content only when you need to tell links apart.
- Test the link. Click it, confirm the right page loads, and check the visit appears in your analytics real-time view with the labels you expect.
- Record it. Keep a simple sheet with the date, the link, where it was used and the values. This is what keeps names consistent six months later.
- Use it only in the place it describes. A link tagged for the newsletter must not be pasted into a social post.
- Read the results. In Google Analytics 4, open Reports → Acquisition → Traffic acquisition and switch the dimension to Session source / medium or Session campaign.
Write campaign names so they still make sense to someone else in a year. 2026_10_black_friday sorts by date and explains itself. bf_final_v2 does neither.
Free UTM link builder
Enter your landing page and the three required labels. The builder validates the address, cleans the values, keeps any existing parameters and fragment in the right place, and gives you a link ready to paste.
UTM Link Builder
Free mini tool
Builds the link in your browser. It does not shorten links, does not connect to your analytics account and stores nothing.
Worked examples by channel
| Where the link goes | utm_source | utm_medium | utm_campaign | utm_content |
|---|---|---|---|---|
| Weekly email newsletter, main button | newsletter | weekly_digest | main_button | |
| Same email, text link in the footer | newsletter | weekly_digest | footer_link | |
| LinkedIn post | social | product_launch | post_1 | |
| Link in an Instagram bio | social | profile | bio_link | |
| Paid social advert | paid_social | product_launch | video_ad_a | |
| Guest article on another site | partner-site.com | referral | guest_post | |
| QR code on a printed flyer | flyer | qr | autumn_event |
If you want traffic to land in Google Analytics 4's built-in channel groups, such as Email, Organic Social and Paid Social, use the medium values Google lists in its default channel group documentation. For example, a medium of email is grouped as Email, and mediums such as cpc or ones beginning with paid are treated as paid traffic. Invented mediums end up in "Unassigned".
One article usually becomes several posts across channels. If you follow our content repurposing guide, tag each version so you can see which format earned the click.

Advantages and disadvantages
Advantages
- Free, and works with almost every analytics tool
- Shows which email, post or advert brought visits
- No code or plugin required
- You control the labels
Disadvantages
- Depends on people tagging consistently
- Long, untidy links
- Anyone can see and edit the values
- Tags travel with the link if it is shared elsewhere
Who should use them: anyone who promotes a website through email, social media, partners, ads or print. Who can skip them: a site whose traffic comes almost entirely from search. Organic search visits are identified automatically, and you cannot tag links in search results.
Common mistakes
- Tagging internal links. A UTM link from your homepage to your pricing page overwrites the visitor's real source with a fake one. Use UTMs only on links that bring people to your site from somewhere else.
- Inconsistent capitals.
Facebook,facebookandFBbecome three rows. - Swapping source and medium.
- Spaces in values. They turn into
%20or+and make reports hard to read. Use underscores or hyphens. - Leaving out medium. Without it, visits can fall outside the standard channel groups.
- Putting personal data in a tag. Never include names, email addresses or customer IDs. URLs are logged, shared and visible, and Google's policies prohibit sending personally identifiable information to Analytics.
- Tagging Google Ads by hand when auto-tagging is on. Google Ads can pass campaign data automatically; mixing the two causes mismatches. Check the Ads documentation before adding manual tags.
- No record. Without a shared sheet, every campaign invents new names.
- Reusing one tagged link everywhere. The label then describes the first place, not the real one.
Tagged URLs are extra addresses for the same page. Search engines normally handle this through the canonical tag, which WordPress SEO plugins add by default and which should point to the clean URL. Keep UTM links off your own internal navigation and the risk is minimal. For clean base addresses, see our guide to SEO-friendly URLs.
Advanced tips
- Shorten or brand long links for social posts and print. The UTM tags survive behind a short link or a redirect on your own domain, as long as the redirect passes the query string through.
- Use
utm_contentfor simple tests. Two buttons, two values, one clear answer about which gets clicked. - Generate QR codes from tagged links so offline material shows up in reports.
- Build a controlled vocabulary. A dropdown list of allowed sources and mediums in your tracking sheet prevents drift.
- Connect clicks to outcomes. Visits are a start. Set up key events, such as a sign-up or purchase, so reports show which campaign produced results.
- Automate the routine parts. If you build the same five links every week, a template sheet does it in seconds. Our guide to which tasks are worth automating helps you decide.

UTM checklist
FAQ
Urchin Tracking Module. Urchin was a web analytics product that Google bought in 2005 and developed into Google Analytics. The parameter names have been kept ever since.
Technically only utm_source is needed for a visit to be attributed, but you should always set source, medium and campaign together. Content and term are optional.
Yes. "Email" and "email" are recorded as different values, which splits your data. Use lowercase everywhere.
Yes. They are a widely adopted convention read by most analytics platforms, including privacy-focused and self-hosted ones. Check your tool's documentation for how it reports them.
No. They replace the visitor's original source with the internal one, which corrupts your acquisition reports. To measure clicks inside your site, use event tracking.
Not when the page has a canonical tag pointing to its clean URL and the tagged links are used only off-site. They are tracking labels, not ranking signals.
Open Reports, then Acquisition, then Traffic acquisition. Change the primary dimension to Session source / medium or Session campaign. New data can take a day or so to appear in standard reports; the Realtime report shows it sooner.
Yes. They are plain text in the address bar. Anyone can read, edit or remove them, so never put private information in them and treat the data as a strong guide, not an audit trail.
Medium is the type of channel, such as email, social or cpc. Source is the specific origin within it, such as newsletter, linkedin or google.
Final recommendation
UTM parameters turn "traffic went up" into "the Tuesday newsletter brought 40 percent of it". Decide a simple lowercase naming convention, tag every link you place outside your own site with source, medium and campaign, keep a record, and review the acquisition report once a month. Start with your next email or social post, using the builder above. Within a few weeks you will know which channels deserve more of your time.
Official references
- Google Analytics Help: collect campaign data with custom URLs
- Google Analytics Help: default channel group
- Google Analytics Demos & Tools: Campaign URL Builder
- Google Search Central: canonical URLs
Related articles
WordPressSEO-friendly URLs and clean slugs
ProductivityWhich tasks are worth automating?
Next step
Build a tagged link above for the next thing you share, and start a tracking sheet with that one row. If the thing you are sharing is a new article, write its opening so people finish it: see our guide to readability scores.



