Short links for an online store — promotions, categories and campaigns
Short links for an online store: replaceable promotion targets, separate suffixes for channels, QR codes on print, and statistics without customer profiling.
I'll tell you how it usually looks. Black Week is a week away, the banner is done, the mailing is in the queue, and you paste the same monster into every single place: twojsklep.pl/promocje/2026/black-week?ref=mail&utm_source=.... It works. Until the moment someone from above says "let's change what's under this link" or you yourself want to check which channel actually drove sales. And then you have a problem.
A short link is not just about aesthetics here. It is a layer that sits between your campaign and the catalog, allowing you to control the first, second, or tenth one without tinkering with the shop. That is what this text is about.
Address ages, a link doesn't have to
In e-commerce, a link lives for a very long time. It ends up on a flyer, on packaging, in an Instagram bio, in an offer description on Allegro. And then life happens:
- the category "/zimowe-kurtki" gets a new name after migrating to another engine,
- the promotion ends and the address leads to an empty collection,
- you move the store to a new platform and all old addresses fail with a bang.
A bare URL is as stiff as a board. A short link with a replaceable destination is not. And this is the one thing worth understanding for links for an online store: link.twojsklep.pl/zima leads to jackets today, and to clearance sales in March. You print it once. You control it for as long as you want.
Three things that will actually take the work off your hands
Promotions that don't break themselves. You create a "weekend -30%". Instead of pasting a long landing page address, you use twojsklep.pl/weekend. The promotion ends, and you don't want someone to land on a dead link a month later and leave frustrated. So, you redirect that same link to "current promotions". A customer from a tab opened weeks ago still lands where it makes sense. Not on a 404.
One category, three channels, three counters. You have the "running shoes" category and you promote it in several places at once. You create three endings, clear, not random:
/bieganie-ig → Instagram
/bieganie-news → newsletter
/bieganie-ulotka → druk
Each leads to the same category, but each counts separately. And suddenly it's visible: flyer 200 entries, Instagram 1500. You know where to add more budget, and you don't have to glue UTMs together in a spreadsheet at midnight for that purpose.
Print and offline. Packaging, receipt, package insert, window sticker. Everywhere there, a long address is unreadable, and a single typo means a lost sale. A short link plus a QR code solves the problem. The customer scans the package insert and lands on "add to your next order -15%". Campaign changing? You just change the target. You don't reprint the boxes.
Watch out for one thing: mess in names
This is the moment where most people fail. At the link shop, there is a lot going on. Really a lot. After six months, you look at the list and have no idea what is what.
Keep a simple convention. For me, [kanał]-[akcja]-[miesiąc] works well:
ig-blackweek-11
mail-powrot-09
qr-paczka-stale
It sounds banal. I know. But it is precisely the lack of such a system that makes people quietly give up on measuring campaigns because "I won't figure it out anyway." The mess costs more than a minute spent coming up with a naming scheme.
Numbers yes, customer records no
Here I will touch upon a topic that few people will raise out loud. Most free shorteners and campaign pixels profile your buyers, and you are endorsing it with your brand. As a store owner, you already have enough responsibilities regarding data. Why add another entity that collects a trail of your customers?
It makes more sense to count clicks in a way that provides numbers (how many visits, from which link, when the peak occurred), but without building a profile of a single person. Cutty keeps everything in the EU and hashes IPs, so what you get at the output is data for decision-making, not a dossier. For a business that already operates on order data, it is simply one less worry when an audit or an inquiry about processing arrives. (cutty.dev, if you want to take a look.)
What to do this week
- Set aside 3–5 permanent redirects for the channels you actually manage. Not 20 just in case.
- Each seasonal campaign = a separate link. It is easier to disable or redirect later.
- Everything going to print gets a link with a replaceable destination. Print is forever, campaigns are not.
- Once a month, review the statistics and cut the redirects that aren't delivering anything.
A store is not a single campaign, but a continuous stream of actions. Short links are the lever with which you control this stream. No developers, no waiting for deployment. Start with one promotion and one branded suffix; you can add the rest along the way.