Transactional & pinned links
Every link in e-sat.ly is one of two kinds, and the difference decides whether the link is kept. It's the most important idea in the product, so it's worth two minutes.
The two kinds
Transactional links are the default, and the overwhelming majority. A transactional link is generated on the fly to do one job — the survey invitation sent to one customer in one SMS. Once that message has been opened, or ignored, the link has served its purpose. Millions of these are created; keeping every one of them forever would mean storing a vast amount of dead weight.
Pinned links are the opposite: the ones you re-use and cannot afford to lose. The link in a social media bio. A QR code on a poster, a receipt, or packaging that's already been printed. These are created deliberately, by a person, and they must keep working indefinitely.
| Transactional | Pinned | |
|---|---|---|
| Created by | The suite or your API calls, automatically | You, by hand in the console |
| Typical volume | Millions | A handful |
| Kept | Until it ages past the project's retention window | Forever |
| Redirects | Until it's deleted or expires | Forever — a pinned link never expires |
What pinning actually means
Pinning means one thing: this link is kept. It's the only thing that exempts a link from the data-retention clean-up. Because a link that's kept forever but had stopped working would be pointless, pinning also guarantees the link never expires.
The reverse is not true. A link that never expires is not automatically pinned — in fact almost none of them are. Every transactional link also never expires by default, and every one of them is still cleaned up at retention. Never assume a link is safe because it has no expiry date. The only thing that keeps a link is the pin.
When to pin
Pin a link when losing it would cost you something you can't easily fix:
- It's printed on something physical — a QR code on a poster, menu, receipt or package.
- It's published somewhere you don't fully control — a social bio, a partner's site, a press release.
- It's re-used across a long campaign rather than sent to one person once.
Don't pin the links the suite generates for individual survey sends. They're transactional by design, there are a great many of them, and retention exists precisely to clear them.
Pinning and unpinning
Both list screens — Short Links and Pinned Links — have a pin toggle on each row.
Pinning is instant. It only ever adds protection, so there's nothing to confirm. If the link had an expiry date, pinning removes it: the link now never expires.
Unpinning asks you to confirm, and the two directions are deliberately not equal and opposite.
Unpinning can queue a link for permanent deletion
Unpinning doesn't change any dates and doesn't stop the link redirecting. What it does is make the link eligible for the retention clean-up again — and if the link is already older than its project's retention window, the next clean-up run will delete it permanently, along with its click history.
The short code is never reissued, so that link is gone for good, including on anything already printed. Re-pinning only saves you if you notice in time. That's why unpinning is a confirmation dialog and not a quiet toggle.
Setting an expiry unpins a link
A pinned link never expires — so a pinned link with an expiry date is a contradiction. Rather than silently ignoring one of your two instructions, e-sat.ly resolves it openly:
- In the console, setting an expiry date on a pinned link unpins it, and tells you so before you save.
- In the API, asking for
pinnedand an expiry in the same request is rejected with an error rather than guessed at.
If you want a link that stops working on a date, don't pin it. If you want a link that works forever, pin it and leave the expiry alone.
The Pinned Links screen
Analytics → Pinned Links shows every pinned link in your organization. It's the same table as Short Links, filtered to pinned links only, with two differences that follow from what pinned means:
- There's no date filter. A pinned link is long-lived by definition, so a date window could only hide the very links this screen exists to show.
- It's where you create links by hand. The Create pinned link button asks for a project and a destination — and nothing else. There's no expiry field, because a pinned link never expires.
This is the console's only link-creation surface. Every other link is created by the suite or through the API.