Qurly
URL Shortening

10 Short URL best practices that actually move click-through rate

Most "best practices" lists are generic checkboxes. Here are the ten that materially shift CTR — with examples and a checklist you can ship today.

TQ
The Qurly team
7 min read

You’ve probably seen ten variations of “10 Short URL Best Practices” floating around. Most of them are interchangeable — be descriptive, use HTTPS, keep it short. True, useful, but not actionable.

This isn’t that list. These are the ten things our highest-CTR customers do that the average customer doesn’t. We pulled the patterns out of a few hundred million scans and clicks, and we ranked them by the lift they actually produce.

1. Use a branded short domain

A acme.li/spring link gets clicked 25–35% more than a generic short link pointing to the exact same destination. Why: trust. Generic shorteners are routinely abused by spammers, and your audience knows it. A branded domain that matches your sender domain — link.acme.com, acme.li, go.acme.io — is the single highest-leverage change you can make.

2. Make the slug human-readable

acme.li/x7Ap2 and acme.li/spring-sale lead to the same place. The second one always wins. Your audience reads the URL before they click — especially on email and SMS. A slug that telegraphs the destination removes friction.

A good slug is:

  • 3–5 words
  • All lowercase
  • Hyphenated, not camelCased
  • Action- or content-flavoured (/spring-sale, /q3-roadmap, /event-rsvp)

Don’t bolt UTMs onto a printed QR code or a SMS link “later.” Bake them in at creation time, including:

  • utm_source — the channel (newsletter, twitter, billboard)
  • utm_medium — paid/organic/email/print
  • utm_campaign — the campaign name (consistent across every link in that campaign)
  • utm_contentwhich placement (header_button, footer_link, page_2)

The fourth one is where most teams fall down — and it’s the one that lets you say “the header button outperformed the footer link by 4×.“

4. Set an expiration on time-bound campaigns

If your spring sale ends April 15, set the link to redirect to a fallback after that date — not to 404. A live, expired link that says “this campaign has ended, here’s our current promo” recovers a meaningful chunk of clicks that would otherwise be lost.

5. A/B test the slug, not just the destination

Two slugs pointing to the same page is a free experiment: acme.li/spring-sale vs acme.li/save-30. Run them side-by-side on the same channel and let the click data tell you which framing works for your audience. Spoiler: it varies wildly by industry.

6. Always preview-render the destination

If you’re sending a short link in email or SMS, generate a Twitter Card / OpenGraph preview that matches the destination, not your domain root. A link that previews “Acme — Welcome” instead of “Save 30% on Acme Spring Collection ends tonight” gets clicked half as often.

Sharing a roadmap with a customer? Sending pricing to a procurement contact? Use a password-protected short link instead of a plain unguessable URL. It feels heavier (one more friction step) but it gives you:

  • Proof of access (you know who actually opened it)
  • Revocability (kill the link, kill the access)
  • Plausibility on legal asks (“we restricted this to authorised parties”)

Your printed marketing collateral has a QR code on it that points at acme.li/q3-launch. Q3 is over. Don’t reprint — just change where q3-launch redirects. The whole point of using short links is the redirect layer in the middle. Use it.

If you’ve never updated a destination on a live link, our redirect guide walks through it in 90 seconds.

9. Measure clicks against opens, not against sends

A 4% CTR sounds bad until you compare it against your open rate. If 25% of recipients open and 16% of those click, your engagement rate is healthy — your delivery rate is the problem. Don’t waste a quarter optimising the link when the issue is upstream.

A link working today is not the same as a link working in 12 months. URLs change, redirects chain, sites get redesigned. If you’re running campaigns with a 3-month-plus tail (print, packaging, podcast back-catalog, evergreen content), set up a monthly broken-link sweep. We have a longer post on link rot if this is a sore spot.

The 10-point checklist

If you only do five things this week:

  1. Set up a branded short domain
  2. Convert random slugs to human-readable ones
  3. Standardise your UTM utm_campaign and utm_content taxonomy
  4. Add expiration handlers to anything time-bound
  5. Run one A/B slug test on your highest-traffic channel

The rest are quarterly hygiene. The first five compound every campaign you ship from now on.

Tagged short links CTR best practices branded links
TQ

The Qurly team

We write about the things we learn building Qurly — short links, QR codes, landing pages, and analytics. Subscribe to the changelog or follow along on the blog.

We use cookies to keep the site working and to understand how it's used. Functional cookies are always on; analytics and marketing are optional. See our Privacy Policy and Cookie Policy.