Do UTM Parameters Survive Link Shorteners? SMS Short Link Tracking Explained

UTMs survive link shorteners when they sit on the destination URL. How SMS short links redirect, where to put UTMs, segment math and how to test.

Blue UTMCraft banner with the title Do UTM Parameters Survive Link Shorteners beside a phone showing a short link in a text message that redirects to a tagged URL in a GA4 report
Table of Contents
  1. How redirects carry query strings
  2. Where to put UTMs with a shortener
  3. Branded vs platform short links
  4. Character-count math
  5. Watch the redirect chain
  6. How to test a short link, step by step
  7. What to do now
  8. FAQ

Yes, UTM parameters survive a link shortener when they are part of the destination URL the shortener stores. The short link redirects to that full URL, UTMs included. They get lost when you add UTMs to the short link itself, when the shortener stores an untagged URL, or when a later redirect on your own site drops the query string. The only way to know is to tap the short link and look at where you land.

Short links matter more in SMS than anywhere else because every character counts. This post explains how the redirect works, where UTMs go, and how to test it. For the full picture, see our complete guide to SMS UTM tracking in GA4.

How redirects carry query strings

A link shortener is a lookup table. It stores a short code and a destination URL. When someone taps the short link, the shortener answers with an HTTP redirect (usually a 301 or 302) and a Location header that holds the destination. The phone browser then loads that destination.

The important part: the browser loads exactly what is in the Location header. So:

  • If the stored destination includes ?utm_source=...&utm_medium=sms..., the UTMs arrive on your site.
  • If the stored destination has no UTMs, nothing adds them later. GA4 sees a click with no referrer and reports it as Direct.
  • If you add UTMs to the short link (https://go.yourstore.com/bf26?utm_medium=sms), they only reach your site if the shortener is set to pass query strings through to the destination. Many are not. Check your tool.

301 versus 302 does not change this. Both carry whatever is in the Location header. The difference is caching: browsers can cache a 301, so if you edit the destination of a permanent redirect, some phones may keep going to the old one.

Where to put UTMs with a shortener

Build the full tagged URL first. Then shorten it. The UTMs live on the long destination URL behind the short link.

SetupExampleResult
UTMs on the destination, then shortenedhttps://go.yourstore.com/bf26 → https://yourstore.com/collections/holiday-gifts?utm_source=klaviyo&utm_medium=sms&utm_campaign=2026-11_bfcm-early-access&utm_content=link-1Works. UTMs arrive on your site.
Untagged destination, shortenedhttps://go.yourstore.com/bf26 → https://yourstore.com/collections/holiday-giftsFails. Session shows as Direct.
UTMs added to the short linkhttps://go.yourstore.com/bf26?utm_medium=smsOnly works if the shortener passes query strings through.
UTMs on bothTagged short link pointing to a tagged destinationRisky. Can produce duplicate parameters.

The last row is a real problem. If the shortener appends the short link's query string to a destination that already has UTMs, you get two utm_medium values in one URL. You cannot be sure which value GA4 records. See duplicate UTM parameters for how that plays out.

Use the medium value sms in lowercase. GA4's default channel group only assigns the SMS channel when source or medium exactly matches sms. Our SMS UTM naming templates cover the rest of the fields.

There are three common ways SMS links get shortened:

TypeHow it worksUTM handlingWhat to check
Platform auto-shorteningYour SMS tool (Klaviyo, Attentive, Postscript and others) replaces links in the message with its own short link when it sends.The platform usually adds its UTM settings to the destination first, then shortens.Which UTMs it adds by default, and whether a manual UTM on your link is kept, replaced or duplicated.
Platform link on your branded domainThe same platform shortener, served from a subdomain you own, such as go.yourstore.com.Same as platform auto-shortening.That DNS is set up correctly and the domain is verified in the platform.
Third-party shortenerYou shorten the URL yourself in a separate tool and paste the short link into the message.Only what you put on the destination before shortening.That the platform does not shorten your short link again, creating a chain.

Platform shortening is the easiest to keep consistent because the UTMs come from one global setting. Attentive, for example, applies global link tracking defaults and lets you add custom parameters per link in its shortlink editor (Attentive docs). Klaviyo adds UTMs from its account-level UTM tracking settings, with per-message overrides (Klaviyo docs).

A branded domain mostly helps trust. Recipients see your name instead of a random domain, and links on shared public shortener domains may be more likely to be filtered. Check your SMS platform's guidance on which domains it recommends. Tracking-wise, a branded domain behaves the same as any other redirect.

The risk with a third-party shortener is double shortening. If your SMS platform shortens every link automatically, a pasted bit-style link becomes a short link to a short link. That is two redirects, and two chances for something to drop the query string.

Character-count math

SMS length rules decide how many message segments you pay for:

EncodingSingle messagePer segment when split
GSM-7 (standard Latin characters)160 characters153 characters
UCS-2 (any emoji, curly quote or other non-GSM character)70 characters67 characters

Here is a real example. The message copy is:

Yourstore: Early access is live. 25% off sitewide until midnight. Shop now: [link] Reply STOP to opt out.

Without the link, that copy is 98 characters plus one space before the opt-out line. Now compare the link options:

Link in the messageLink lengthTotal messageSegments (GSM-7)Segments with one emoji (UCS-2)
Full tagged URL: https://yourstore.com/collections/holiday-gifts?utm_source=klaviyo&utm_medium=sms&utm_campaign=2026-11_bfcm-early-access&utm_content=link-113923824
Short link: https://go.yourstore.com/bf262912812

The tagged URL more than doubles the message. With an emoji, the whole text switches to UCS-2 and the long version needs four segments. The short link keeps the plain version in one segment. This is why brands use short links: the UTM stays on the long destination behind the short link, and the recipient never sees it.

Two small habits help:

  • Type straight quotes and apostrophes. A curly apostrophe pasted from a doc switches the message to UCS-2 just like an emoji.
  • Count the short link your platform will actually insert, not the one in your draft. Platform short links can be longer or shorter than you expect.

Watch the redirect chain

The shortener is only the first hop. Your own site can strip UTMs after that. Common culprits:

  • http to https redirects that rebuild the URL without the query string.
  • Non-www to www (or the reverse) rules that do the same.
  • Trailing-slash redirects.
  • Geo or language redirects that send mobile visitors to a localized page.
  • Old product or collection URLs that redirect to a new page.

Always use the final, canonical destination URL when you build the tagged link. Then you skip most site redirects entirely. For fixes, see redirects removing UTMs and common redirect UTM mistakes.

Test the short link itself, not the long URL. The long URL working tells you nothing about the redirect.

  1. Send a real test message to your own phone from the SMS platform. Use the same flow or campaign settings as the live send, so the platform applies the same UTMs and shortening.
  2. Tap the link on the phone. Let the page load fully.
  3. Check the address bar. Tap it to see the full URL. Confirm utm_source, utm_medium=sms and utm_campaign are there, spelled exactly as planned, with no duplicates.
  4. Check the redirect chain from a computer. Run curl -sIL "https://go.yourstore.com/bf26" | grep -i "^location". Each line is one hop. The last one should be your final page with UTMs intact.
  5. Check GA4 Realtime. Within a minute or two, look for the session source and medium in the Realtime report. You can also use DebugView if you have debug mode enabled.
  6. Confirm the channel the next day. In Traffic acquisition, check that the session landed in the SMS channel rather than Direct or Unassigned.
  7. Repeat for every unique link. Each flow step and each campaign link has its own short link and its own destination.

Use a test product or a test segment if you do not want a real order. Avoid testing by clicking from inside the SMS platform's preview pane; previews may use a different link than the one sent. Our how to test UTMs guide covers GA4 checks in more detail.

What to do now

  • Build every SMS link as a full tagged URL to the final page, with utm_medium=sms.
  • Shorten after tagging. Do not add UTMs to the short link.
  • Find out whether your SMS platform auto-shortens links and which UTMs it adds. Check your account settings.
  • Avoid pasting third-party short links into a platform that shortens again.
  • Count message length with the real short link and keep copy GSM-7 safe where you can.
  • Send a test text, tap it, check the address bar, then check GA4.

Build the tagged destination URL in UTMCraft, then shorten it in your SMS tool.

FAQ

Do 301 and 302 redirects keep UTM parameters?

Both keep whatever query string is on the destination URL the redirect points to. Neither one adds UTMs that were not stored there.

Can I add UTMs to a bit-style short link?

Only if your shortener passes query strings through to the destination. Many do not, so the safe approach is to put UTMs on the long URL before shortening.

Why does my shortened SMS link show as Direct in GA4?

Usually because the destination stored behind the short link had no UTMs, or a redirect on your site dropped them. SMS clicks carry no referrer, so untagged visits look like Direct. Read why SMS traffic shows as Direct or Unassigned.

Does a branded short domain improve tracking?

Not directly. It redirects the same way as any other short link. Its benefit is that recipients see your brand name.

For the broader setup, read SMS UTM Tracking: The Complete Guide to Measuring Text Message Campaigns in GA4. Browse the SMS & Messaging Tracking guides to choose another troubleshooting task.

References