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.

By Tomas Aldea March 10, 2026 5 min read
track-utm-parameters-short-urls hero illustration

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
Email lnky.click/acme/q4-email acme.com/launch?utm_source=email&utm_medium=newsletter&utm_campaign=q4
Twitter lnky.click/acme/q4-tw acme.com/launch?utm_source=twitter&utm_medium=social&utm_campaign=q4
LinkedIn 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_source lowercase, hyphen-separated). Tools like the Google Campaign URL Builder help.
  • Forgetting utm_medium. Some teams set utm_source=facebook but skip utm_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 Launch becomes Q4%20Launch in the URL — GA dedupes on the raw string, so Q4 Launch and Q4-Launch count 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:

  1. Lnky dashboard: raw clicks per short URL (real-time, per-channel since you have one URL per channel).
  2. 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_campaign set 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