How to Shorten Links in Shopify (With Tracking)

Illustration: a long Shopify URL shortened to yourstore.com/fall, with a dashed path leading to a storefront with an OPEN sign

Shopify doesn't have a link shortener built in. The closest native feature, URL redirects, can point a short path like /fall at a long one, but it doesn't count clicks, has no QR code, and only works on paths that don't already exist on your store. For a link that's going into an Instagram bio, an email or onto a printed card, you usually want three more things: a short key you choose, a QR code, and a count of who actually used it.

This guide walks through doing exactly that with Short Links, the link shortener we build at Pasilobus. Your links stay on your own store domain, so they read as yourstore.com/fall rather than a generic shortener's address. Every screenshot below is from the app running on our own store.

The short version

  1. Install Short Links from the Shopify App Store. It has a free plan.
  2. Open the app and click Create Short Link.
  3. Paste the page you want to share into Destination URL.
  4. Optionally choose your own key (like fall) and an expiry date.
  5. Click Generate Short Link, then copy the link or download its QR code.

The link works the moment it's created. There's nothing to publish or switch on.

Short link options on Shopify

Shopify URL redirects General-purpose shorteners Short Links
Link lives on your domain Yes Usually only on a paid branded-domain plan Yes, always
Counts clicks No Yes, in their own dashboard Yes, inside your Shopify admin
QR code for each link No Varies Yes, PNG and SVG
Links straight to a product, collection, page or article You type the path You paste the URL Picked from your store
Price Free Free tier, paid plans Free plan; Premium $5/month

If you only need to tidy up one old URL and don't care who uses it, a Shopify redirect is fine. Once you want to know whether the link in your bio beats the one in your newsletter, you need a shortener that counts.

What happens on a click

A short link is a short key on your store's primary domain that points at a destination. The key is either one you chose or a five-character one the app generates, such as yourstore.com/k4m2p. When someone follows it, four things happen in a few milliseconds:

What happens when someone clicks a Shopify short link Four steps: a shopper taps yourstore.com/fall, your store hands the short key to Short Links, the click is recorded with time, referrer and device, and the shopper lands on the destination page with its UTM tags intact. 01 · TAP A shopper taps your link store.com/fall 02 · HAND-OFF Your store passes it on /fall SHORT LINKS 03 · COUNT The click is recorded +1 /fall WHEN Oct 3 · 14:02 FROM instagram.com DEVICE Mobile · iOS 04 · LAND They reach the right page …/collections/fall-sale ?utm_source=instagram
What happens when someone clicks a Shopify short link: tap, hand-off, count, land 01 · TAP A shopper taps your link store.com/fall 02 · HAND-OFF Your store passes it on /fall SHORT LINKS 03 · COUNT The click is recorded +1 /fall WHEN Oct 3 · 14:02 FROM instagram.com DEVICE Mobile · iOS 04 · LAND They reach the right page …/collections/fall-sale ?utm_source=instagram
The redirect is invisible to the shopper. They tap a short link and land on the full page, and the click is counted on the way through.

For each click the app records the time, the referring site (when the browser sends one), the device type and the platform. QR code scans go through exactly the same redirect, so they're counted the same way as taps.

How to create a short link in Shopify

Open Short Links from Apps in your Shopify admin and click Create Short Link. This is the form, filled in for a fall sale link that will go in an Instagram bio:

The Create Short Link form in Shopify admin, filled in with a link name, destination URL, custom key 'fall' and an expiry date of 31 October
The Create Short Link form. Only the destination is required.
  1. Link Name. Only you see this. It's what you'll search for later in the links table and in Analytics, so describe the placement, not the page. A pattern like Campaign — Channel (“Fall sale — Instagram bio”) keeps things findable.
  2. Destination URL. The only required field: the full address, including https://. You can include UTM tags here if this link will only ever live in one place (more on that below).
  3. Custom URL. The part after your domain: up to 20 characters, using letters, numbers and dashes, and unique on your store. fall, vip and winter-sale all read well in print. Choosing your own key is a Premium feature. On the free plan, every link gets a generated key.
  4. Expiration date. Optional, and also Premium. Times follow your store's timezone. You can only set the date here, while creating the link, so decide it now.
  5. Generate Short Link. The link is live immediately.

You don't have to go looking for URLs in your own store. On any product, collection, page or blog article in your Shopify admin, use that page's Create Short Link action and the form opens with the destination already chosen. Product links can also skip the product page entirely: they can add the item to the cart with a quantity and an optional discount code, and even go straight to checkout.

Worth knowingYou can't change a link's key or destination once it exists; only its name and private note are editable. That's on purpose: the short URL may already be printed on packaging or sitting in someone's inbox, and quietly repointing it would change where those people end up. If you need a different destination, create a new link.

Share it and track it

Generating a link takes you to its own page, which is also where you'll come back to check on it:

A short link's page in Short Links showing the original and shortened URL with Copy buttons, a QR code with Download PNG and Download SVG buttons, and a chart of clicks over the last seven days
Every link has its own page with the short URL, a QR code and recent clicks.
  1. Copy. Copies the full short URL, domain included. Always copy from the app rather than retyping it: one wrong character in the key looks exactly like a link that doesn't exist.
  2. QR code. It encodes the short URL, so a scan goes through the same redirect and counts as a click.
  3. Download SVG or PNG. Use the SVG for anything printed or resized (packaging, posters, shelf signage) because it stays sharp at any size. Use the PNG for slides, social posts and email.
  4. Clicks. Every plan shows each link's lifetime click total. On Premium you also get this seven-day chart, plus a full report with referrers, devices and a breakdown by country.

Before a link goes in front of a big audience, and especially before anything goes to print, open it once in a private browser window and check where you land.

One link for every channel

UTM parameters are the tags on the end of a URL (utm_source, utm_medium, utm_campaign and so on) that tell Google Analytics where a visitor came from. There are two ways to use them with short links.

Tag the destination. Build the tagged URL first and shorten that. This works on every plan and suits a link that only ever lives in one place, but it means one link per channel: fall-ig, fall-email, fall-flyer.

Tag the short link as you share it. With UTM passthrough, you leave the destination plain and add the tags to the short URL itself. The app carries them through the redirect, so one link can serve every channel:

One short link, tracked separately on every channel with UTM passthrough The same short link yourstore.com/fall is shared on Instagram, in an email newsletter and on a printed flyer, each with its own utm_source. Short Links forwards the tags to the destination, so Google Analytics reports each channel separately. YOU SHARE ONE LINK Instagram bio yourstore.com/fall ?utm_source=instagram Email newsletter yourstore.com/fall ?utm_source=newsletter Printed flyer QR yourstore.com/fall ?utm_source=flyer yourstore.com/fall TAGS FORWARDED LANDS ON /collections/fall-sale ?utm_source=instagram ANALYTICS · SESSIONS BY SOURCE instagram newsletter flyer FORWARDED utm_source utm_medium utm_campaign utm_term utm_content utm_id Anything else on the short link is dropped. If the destination already has a tag, the destination’s value wins.
One short link shared on Instagram, email and a printed flyer, each with its own utm_source, reported separately in analytics YOU SHARE Instagram bio yourstore.com/fall ?utm_source=instagram Email newsletter yourstore.com/fall ?utm_source=newsletter Printed flyer QR yourstore.com/fall ?utm_source=flyer yourstore.com/fall TAGS FORWARDED LANDS ON /collections/fall-sale ?utm_source=instagram ANALYTICS · SESSIONS BY SOURCE instagram newsletter flyer FORWARDED utm_sourceutm_mediumutm_idutm_campaignutm_termutm_content Anything else on the short linkis dropped. If the destination already has a tag,the destination’s value wins.
One short link, three channels. Each keeps its own utm_source, so your analytics reports them separately.
Where it goes What you share
Instagram bio yourstore.com/fall?utm_source=instagram&utm_medium=social
Newsletter yourstore.com/fall?utm_source=newsletter&utm_medium=email
Printed flyer QR yourstore.com/fall?utm_source=flyer&utm_medium=print

Passthrough is a Premium feature and is switched on by default. You'll find it in the app under Settings → UTM Passthrough:

The UTM Passthrough settings page in Short Links with the Pass UTM parameters to destination checkbox enabled and the list of forwarded parameters
The UTM Passthrough setting and the exact list of parameters it forwards.
  1. The switch. On by default. Turn it off and any tags on a short URL are ignored.
  2. Six parameters are forwarded: utm_source, utm_medium, utm_campaign, utm_term, utm_content and utm_id. Anything else on the short URL, including misspellings like utm_sorce, is dropped.
  3. The destination wins. If the destination already carries a tag, the one on the short URL isn't applied. This works per parameter, so a destination tagged with only utm_campaign still picks up utm_source from the short link.

That last rule is the one that catches people: don't tag both. Keep destinations plain and let passthrough do the work, or tag destinations and skip passthrough. Doing both means the destination's tags quietly win and your per-channel tagging disappears.

Passthrough is at its best on print. A short URL on a box or a poster can't be changed, but the tagging on it can be different for every print run.

One more thing: Short Links counts the click as it passes through the redirect, while Google Analytics counts the session that follows. The two numbers won't match exactly. Bots, abandoned page loads and ad blockers all land on one side of that gap and not the other, and that's normal.

Links for campaigns that end

Most campaign links have a natural end: the flash sale closes, the early-access window shuts, the contest deadline passes. On Premium, give the link an expiry date when you create it. Once that moment passes:

  • the link gets an Expired badge and drops out of your Active links;
  • its page shows the date it expired;
  • its click history stays in Analytics;
  • if you've built a Shopify Flow workflow on the Short link expired trigger, it runs with the link's lifetime click total, which is handy for emailing yourself the final numbers.

Give yourself a buffer: if the sale ends at midnight, set the expiry an hour later so late clicks aren't marked finished before the offer really is. And say the deadline in the post itself. “Ends Friday at midnight” does more work than any expiry date.

Expiring and deleting are different. Deleting a link is immediate and permanent: the URL stops working, its click history goes with it, and the key becomes free to reuse. Check a campaign's numbers before you clean up.

Keep your reports clean

  • Stay lowercase. Instagram and instagram are two different sources to Google Analytics.
  • Pick one separator. fall_sale or fall-sale, never both.
  • No spaces in tags. Use underscores instead: instagram_bio, not instagram bio.
  • Always set source and medium. They do the most work. Campaign groups them; content and term refine them.
  • Name links consistently. “Fall sale — Hero banner”, “Fall sale — Email header” and “Fall sale — Social post” all surface together from one search.
  • Tag before you print. A QR code encodes the short URL exactly as it is. Tag the destination before you generate the code, or print a short URL that already carries its tags.

If a short link doesn't work

It's almost always one of these, roughly in this order:

  1. The URL was retyped. Copy it from the app and compare it character by character.
  2. The link was deleted. Search for it in the app. If it's gone, create a new one; the key is free to reuse.
  3. The destination is broken. Paste the original URL into a browser on its own. Unpublished products, moved pages and password-protected pages all look like a broken short link.
  4. Your browser remembers an old redirect. Try a private window or your phone on mobile data.
  5. The primary domain changed. Short links follow your store's primary domain (Settings → Domains). Keep the old domain connected so Shopify can redirect it.
  6. The app was uninstalled. Links are served by the app, so check it's still under Apps. Reinstalling brings your links and their history back.

If UTM tags aren't coming through, check that passthrough is switched on, that the destination isn't already carrying the same tag, and that the parameter is one of the six listed above.

Free vs Premium

Free Premium
Short links on your domain Unlimited Unlimited
Click limit None None
QR codes (PNG and SVG) Yes Yes
Lifetime click count per link Yes Yes
Shopify Flow triggers Yes Yes
Choose your own key — Yes
Expiry dates — Yes
UTM passthrough — Yes
Analytics: charts, referrers, devices, countries — Yes
Price $0 $5/month or $50/year, 7-day free trial

Clicks are recorded on the free plan even though you can't chart them, so if you upgrade later, the history is already there.

Common questions

Does Shopify have a built-in link shortener?

No. Shopify's URL redirects can send a short path to a longer one, but they don't count clicks, don't make QR codes, and only work on paths that don't already exist on your store.

Can I use a separate short domain, like brand.co?

Not with Short Links. Links always use your store's primary domain, which is why there's no DNS to set up. A custom domain, a subdomain such as shop.yourstore.com, or your .myshopify.com address all work.

Do QR code scans count as clicks?

Yes. The QR code encodes the short URL, so a scan goes through the same redirect as a tap and is counted the same way.

Why don't my click counts match Google Analytics?

They measure different things. Short Links counts the click as it passes through the redirect, and Google Analytics counts the session that starts on your page. Bots, abandoned loads and ad blockers make the numbers drift apart, and that's expected.

What happens to my links if I change my primary domain?

New links use the new domain straight away. For links you've already shared, keep the old domain connected to your store so Shopify can redirect it, especially if any of them are in print.

Can I edit where a link points?

No, and that's deliberate. Once a link exists you can change its name and private note, but not its key or destination. Create a new link instead.

Get started

Install Short Links from the Shopify App Store. It's free to start, with unlimited links. The Short Links help centre covers every setting in more detail, and if you'd like a hand planning links for a campaign, talk to us.