How to Track UTM Parameters with Short URLs
A practical guide to combining UTM tags with short URLs so click attribution flows cleanly into Google Analytics — without the URL itself looking like a barcode.
UTM parameters are the standard way to tell Google Analytics (or any analytics tool that respects them) where a visit came from. The catch: a URL with five UTM tags glued on the end looks like a barcode, and nobody wants to paste that into a tweet.
Short URLs solve the visual problem — but they also raise a question: do UTM parameters survive the redirect? (Answer: yes, when done right.) This post walks through the pattern in detail.
What a UTM parameter looks like
A standard UTM-tagged URL has five parameters:
https://acme.com/landing
?utm_source=email
&utm_medium=newsletter
&utm_campaign=q4-launch
&utm_content=cta-button
&utm_term=annual-plan
Google Analytics reads these and attributes the visit. utm_source = where the click came from, utm_medium = how (email, social, cpc), utm_campaign = which campaign, utm_content = which creative, utm_term = which keyword.
Most teams use the first three (source, medium, campaign). The other two are optional but useful for fine-grained A/B testing.
How short URLs handle query strings
When a user clicks a short URL like lnky.click/q4-launch, the server does a 302 redirect to the destination URL. The redirect preserves the destination's query string — so if the destination is https://acme.com/landing?utm_source=email&utm_campaign=q4-launch, the user lands on that exact URL, UTM tags intact, and Google Analytics sees them.
There are two patterns for adding UTM tags:
Pattern 1 — UTM tags in the destination URL
You store the destination URL with the UTM tags baked in. Example in your Lnky dashboard:
- Short URL:
lnky.click/q4-launch - Destination:
https://acme.com/landing?utm_source=email&utm_medium=newsletter&utm_campaign=q4-launch
Pros: the short URL is clean, you only set the UTM tags once, every click is attributed.
Cons: if you want different UTM tags for different channels, you need a different short link per channel.
Pattern 2 — one short URL per channel (the only clean pattern)
If you want per-channel attribution, the right move is one short URL per channel, each pointing at a destination with channel-specific UTM tags baked in. Lnky does NOT forward query parameters appended to the short URL itself onto the destination — store the UTMs in the destination URL, not on the short URL.
Per-channel short URL pattern
For a Q4 launch campaign across email, Twitter and LinkedIn:
| Channel | Short URL | Destination |
|---|---|---|
lnky.click/acme/q4-email |
acme.com/launch?utm_source=email&utm_medium=newsletter&utm_campaign=q4 |
|
lnky.click/acme/q4-tw |
acme.com/launch?utm_source=twitter&utm_medium=social&utm_campaign=q4 |
|
lnky.click/acme/q4-li |
acme.com/launch?utm_source=linkedin&utm_medium=social&utm_campaign=q4 |
|
| Paid | lnky.click/acme/q4-paid |
acme.com/launch?utm_source=meta&utm_medium=cpc&utm_campaign=q4 |
Now you can:
- See per-channel click counts in Lnky's dashboard (which channel drove the most clicks).
- See per-channel conversions in Google Analytics (which channel actually converted).
- Run a retargeting pixel on each link to rebuild the click audience in Meta or Google Ads.
Common mistakes
- Inconsistent naming. "email" vs "Email" vs "newsletter" all show up as different sources in GA. Pick a convention and document it (
utm_sourcelowercase, hyphen-separated). Tools like the Google Campaign URL Builder help. - Forgetting
utm_medium. Some teams setutm_source=facebookbut skiputm_medium. GA then groups the visit under "(not set)" medium, which makes attribution reports ugly. Always set all three of source / medium / campaign. - Using spaces.
utm_campaign=Q4 LaunchbecomesQ4%20Launchin the URL — GA dedupes on the raw string, soQ4 LaunchandQ4-Launchcount as separate campaigns. Pick hyphens, stick with them. - Tagging internal links. If you tag a link on your own site with UTM parameters, you'll overwrite the user's original attribution. Tag only links that come from outside your site.
How Lnky helps
Lnky tracks every click on a short URL with country, device, referer and timestamp. Combined with UTM-tagged destinations, you get a two-layer attribution view:
- Lnky dashboard: raw clicks per short URL (real-time, per-channel since you have one URL per channel).
- Google Analytics: sessions and conversions per UTM source/medium/campaign.
If the two diverge — e.g. Lnky says 1,000 clicks but GA only sees 600 sessions — that's a signal worth investigating (bots, GA cookie consent, ad blockers, slow page-load drops).
A quick checklist before launching a campaign
- One short URL per channel.
-
utm_source,utm_medium,utm_campaignset on each destination. - Naming convention consistent (lowercase, hyphens).
- Retargeting pixel attached to each short URL if you plan a follow-up.
- OG title/description/image set on each short URL for the channel's preview.
- Short URL tested manually (paste in browser, confirm UTM tags arrive at destination, confirm GA sees the session).
That last item is worth a 30-second sanity check. Nothing burns campaign budget faster than discovering, three days in, that the redirect was dropping the query string.
Subscribe to the Lnky Blog
Get new posts on link analytics, SEO and short-URL tactics — about one email a month.
Related posts
Short URL Slug Best Practices: How to Pick Names That Stick
The slug (the bit after the slash) is the most underrated part of a short URL. Here's how to pick slugs that are memorable, scannable, and won't bite you later.
ReadURL Shortener for Marketers: Track Every Click with Real-Time Analytics
How performance marketers use short URLs to attribute clicks across email, social and paid — and the features that separate a real link analytics tool from a glorified redirect service.
ReadHow to Create a Branded Short Link in 5 Minutes
Step-by-step guide to setting up a branding in Lnky and shipping your first branded short link — no DNS, no waiting on infrastructure.
Read