To find out which marketing channel actually brings customers, tag every campaign link with UTM parameters (utm_source, utm_medium and utm_campaign at minimum), use a tool that records the source of every visit and ties it to conversions, and then compare channels on conversions and cost per conversion — not on visits. The channel that sends the most traffic is very often not the one that sends the most customers. This guide covers how UTM tags work, a naming system that stays clean, the mistakes that break attribution, and how to read the results with a real worked example.
Key takeaways
- Put utm_source, utm_medium and utm_campaign on every external campaign link; add utm_content and utm_term to compare ads or keywords.
- Keep values lowercase, hyphenated and from a fixed list — inconsistent values split one source into several.
- Never tag links between pages of your own site; it overwrites the visitor’s real source.
- Compare channels on conversions and cost per conversion, not on visits.
- For longer sales cycles, keep the original source on the lead so awareness channels get credit.
What are UTM parameters?
UTM parameters are short tags added to the end of a link that tell your analytics where a visitor came from. When someone clicks example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=black-friday, your analytics records that visit as coming from your Black Friday newsletter — instead of lumping it into "direct" or a vague "email" bucket.
| Parameter | Answers | Example values | Required? |
|---|---|---|---|
utm_source | Which site or platform sent the visit? | google, facebook, instagram, newsletter, partner-name | Yes |
utm_medium | What kind of channel was it? | cpc, paid-social, social, email, referral, affiliate | Yes |
utm_campaign | Which campaign or promotion? | black-friday-2026, spring-launch, webinar-oct | Yes |
utm_content | Which ad, link or creative? | video-ad-a, header-button, carousel-2 | Optional |
utm_term | Which keyword or audience? | running-shoes, lookalike-1pct | Optional |
Source and medium answer "where did they come from?"; campaign answers "which effort brought them?"; content and term let you compare ads and audiences inside a campaign.
A naming system that stays clean
UTM data is only as good as its consistency. "Facebook", "facebook" and "fb" become three separate sources in your reports, and you'll spend reporting time stitching them back together. Agree on these rules once and document them:
- Always lowercase. Most tools treat values as case-sensitive.
- Hyphens, not spaces. Spaces become
%20and are easy to mistype. - A fixed list of mediums. For example:
cpc,paid-social,social,email,referral,affiliate,display. Never invent a new one per campaign. - Campaign names that sort well. Include the year or quarter:
black-friday-2026, notbf. - One shared sheet. Keep a simple spreadsheet of every tagged link — destination, the five values and the date — so anyone on the team builds links the same way.
| Where the link goes | utm_source | utm_medium | utm_campaign | utm_content |
|---|---|---|---|---|
| Monthly newsletter | newsletter | nov-2026-newsletter | hero-button | |
| Instagram story ad | paid-social | winter-jackets-2026 | story-video-a | |
| Organic LinkedIn post | social | case-study-acme | post-1 | |
| Partner blog mention | partner-blog | referral | q4-partnerships | inline-link |
How to tag each channel
| Channel | How to tag | Watch out for |
|---|---|---|
| Email newsletters | source = newsletter, medium = email, campaign per send; content per link | Your email tool may add its own tags — check they don't conflict |
| Paid social ads | source = platform, medium = paid-social, content per creative | Many ad platforms support dynamic values in URL parameters; keep them lowercase |
| Organic social posts | source = platform, medium = social | Bio links stay up for months — use an evergreen campaign name |
| Influencers and affiliates | source = partner name, medium = affiliate or influencer | Give each partner a unique link so you can compare them |
| QR codes and print | source = flyer or event name, medium = offline or qr | Use a short link that redirects to the tagged URL, so the QR code stays simple |
| Podcasts and video | A memorable short URL that redirects to a tagged link | Listeners can't click — keep the spoken URL easy |
| Google Ads | Use auto-tagging | Don't mix manual source/medium tags that contradict it |
How to build UTM links quickly — and keep them consistent
You don't need special software. A shared spreadsheet with one column per parameter and a formula that joins them into the final URL keeps everyone consistent:
- Column A: destination URL. Columns B–F: source, medium, campaign, content, term.
- A formula column joins them: the URL, then
?utm_source=, the source,&utm_medium=, the medium, and so on. - Use dropdowns (data validation) for source and medium so nobody can type "Facebook" when the standard is "facebook".
- Add a date and owner column, so you know who created each link and when.
Google also offers a free Campaign URL Builder if you only need a link occasionally. Whichever you use, the rule is the same: decide the values once, then copy them — never retype them from memory.
The mistakes that break attribution
- Tagging internal links. Never put UTM tags on links within your own site (for example, a homepage banner linking to a product). In many tools this starts a new session or overwrites the real source, so a visitor who came from Google suddenly looks like they came from "homepage-banner".
- Tagging organic search. You can't add UTMs to your organic Google listings, and you don't need to — organic search is detected from the referrer.
- Mixing manual tags with ad-platform auto-tagging. Google Ads auto-tagging already identifies paid clicks; adding conflicting manual tags creates duplicate or mismatched data. Pick one approach per platform and stick to it.
- Forgetting the links you don't control. Untagged links in email signatures, PDF downloads, QR codes and app links all collapse into "direct". Tag them.
- Redirects that drop the query string. Some link shorteners and redirect rules strip everything after the
?. Click your tagged link and check the final URL still carries the tags.
From tags to answers: a worked example
Here's 30 days of traffic for a demo store, broken down by source in Clicktics. Every visit's source is captured automatically — from UTM tags where they exist, and from the referrer where they don't — and each source is shown with the outcomes that matter:

Read it top to bottom and three conclusions jump out:
- Google (organic + paid) is the workhorse. 17 visitors, 3 conversions — a 17.6% conversion rate and the lowest bounce rate apart from direct.
- Facebook converts, barely. 14 visitors, 1 conversion (7.1%), with a 50% bounce rate.
- Instagram and the newsletter send traffic but no buyers. 18 visitors combined, zero conversions. Instagram visitors also bounce the most (57%).
Now add cost — the step most teams skip. Suppose this month's spend was $300 on Facebook ads and $250 on Instagram ads, with organic Google and the newsletter costing nothing extra:
| Channel | Spend | Visitors | Conversions | Cost per visitor | Cost per conversion |
|---|---|---|---|---|---|
| Facebook ads | $300 | 14 | 1 | $21.43 | $300 |
| Instagram ads | $250 | 7 | 0 | $35.71 | no conversions |
| Google (organic) | $0 extra | 17 | 3 | — | — |
The numbers in this demo are deliberately small — a real decision needs more data, at least a few weeks and dozens of conversions per channel. But the method scales: visitors tell you about reach; conversions and cost per conversion tell you about value. A channel that looks great on traffic can be your most expensive source of customers.
Go one level deeper: what each source actually did
Source tables tell you which channel under-performs. To find out why, look at the visits themselves. The visitors view shows each person's source next to their landing page, exit page and time on site:

In this example, social visitors land on the homepage and leave after one page. That's a strong hint the campaign is sending people to a generic page instead of the product they saw in the ad. Watch a few of those session recordings to confirm, then send the campaign to the relevant product page and compare the next month's conversion rate for that source. Our guide on what a good bounce rate is covers how to read bounce rate by source.
First touch, last touch and the limits of attribution
Real buyers often visit several times from different channels before converting — an Instagram ad on Monday, a Google search on Thursday, a newsletter click on Saturday. Which channel "gets the credit" depends on the model:
- First touch credits the channel that introduced the visitor. Good for judging awareness channels.
- Last touch credits the channel just before the conversion. Good for judging closing channels, and the most common default.
- Multi-touch splits credit across the journey. More complete, but needs more data and more trust in the model.
Practical advice for most small and mid-size businesses: start with session-level source and conversion data (as in the example above), be aware that awareness channels like social are usually under-credited by last-touch views, and look at returning visitors' journeys before cutting a channel entirely. If your sales process involves leads rather than instant purchases, combine source data with lead quality — our guide to scoring leads by search intent shows how.
UTM tracking when the sale happens later
Many businesses don't sell on the first visit. A visitor clicks a LinkedIn ad, reads two pages, leaves — then comes back a week later from a Google search and fills in a contact form. If you only look at the session that converted, LinkedIn gets no credit and may look like wasted money.
Three habits keep longer sales cycles visible:
- Keep the original source on the lead. When someone becomes a lead, record where they first came from as well as where they converted. Sales can then report closed deals back by original channel.
- Look at visitor journeys, not just sessions. A visitor history that shows every visit and its source makes multi-touch paths obvious. In Clicktics, a lead stays connected to the visitor's earlier sessions, so you can see the full path that led to the enquiry.
- Judge awareness channels on assisted results. Social and display often introduce people who convert later through search or direct visits. Before cutting them, check how many converting visitors first arrived from them.
A monthly channel review in 30 minutes
- Pull the source table for the last 30 days: visitors, conversions, conversion rate, bounce rate.
- Add spend per paid channel and calculate cost per conversion.
- Pick the weakest paid channel and watch five of its visitors' recordings.
- Make one change: a better landing page, different targeting, or a budget shift to the best-performing source.
- Note it in your UTM sheet so next month's comparison knows what changed.
Done monthly, this turns marketing spend from a hopeful budget line into a feedback loop. And if overall traffic suddenly changes between reviews, our traffic drop checklist starts with exactly this source breakdown.
Frequently asked questions
What are UTM parameters used for?
They tag links so your analytics knows exactly which campaign, platform and ad sent each visitor. Without them, much of your paid and email traffic is grouped into vague buckets like "direct" or "referral".
Which UTM parameters are required?
Use utm_source, utm_medium and utm_campaign on every tagged link. Add utm_content to compare ads or links within a campaign, and utm_term for keywords or audiences.
Should I use UTM tags on internal links?
No. Tagging links between pages on your own site can overwrite the visitor's real source and break attribution. Use UTMs only on links pointing to your site from elsewhere.
How do I know which marketing channel is best?
Compare channels on conversions and cost per conversion, not on traffic. Track every visit's source, tie it to conversions or leads, add spend, and review monthly. Make decisions on a few weeks of data, not a few days.
Do UTM parameters affect SEO?
Not when used on external campaign links. Avoid adding them to internal links and make sure your pages have proper canonical tags, so tagged URLs don't compete with the clean versions in search.
See which channels bring customers — not just clicks
Clicktics captures the source, medium and campaign of every visit, classifies it automatically, and shows conversions, leads, bounce rate and session recordings per channel — so "which marketing works?" has an answer you can act on. Install one ~24 KB script and test it on your own campaigns for 14 days, free.
Start your 14-day free trial → or look at source and campaign reporting.
Tomás García
Tomás García writes for the Clicktics blog about session replay, analytics engineering, and building privacy-first products that agencies love. Reach the team at [email protected].