Expiring links — expiration date and click limit in practice
Sometimes you want a link to stop working—after a certain date or after a specific number of visits. We show you what expiring links and click limits are for, and when it is truly worth using them.
Friday, 16:50. You send a discount code to the company Slack that is valid "only until Sunday". On Monday morning, a client who clicked the link at eight in the morning calls and asks why the discount isn't working. And the link still works. The offer does not.
Do you know this? Most links are made to live forever. But sometimes you want exactly the opposite. For the link to turn itself off. After a certain date or after a certain number of clicks, whichever comes first.
This is not a toy. This is one of those expiring links that truly save your nerves.
Term or counter
In cutty.dev you can apply two constraints to a link, completely independent of each other.
The first is the expiration date. The link lives until a specific day and time. After this moment, instead of redirecting, it shows information that it has expired.
Second is the click limit. The link works up to the N-th entry and then closes. Let's say: the first hundred. The hundredth person passes through, the one hundred and first already sees the message.
You can enable one of them. You can enable both at once. In that case, the condition that occurs first decides. If you set "until Sunday, max 200 entries", and the two-hundredth person clicks on Saturday afternoon, then it is all over on Saturday afternoon.
Why an expiration date exists
The most common case is this promotion from the beginning. Is the code valid until Sunday? Let the link to it die on Monday, instead of letting latecomers into an offer that is no longer available.
The second is time-sensitive materials. Registrations for an event that no longer make sense after its conclusion. A webinar that has already taken place.
The third is my favorite, because it concerns laziness. You share something with someone for a week and you don't want to remember to manually turn it off next Tuesday. You set a date and forget. Your future self doesn't have to click anything.
And why a click counter
"The first 50 people with this link get a bonus." A classic. The link closes itself after the fiftieth entry, so you don't have to sit there watching the clock.
It also happens that you send something to a narrow group and don't want the link to go further into the world. A strict limit won't stop someone who copies the destination address (more on that in a moment), but it will curb a situation where one link suddenly takes on a life of its own and half the internet is knocking on its door.
And there is also purely technical caution. You perform a test, you don't know how hard something will shoot out. The limit is a fuse. If it "explodes" harder than you are ready to handle, it will simply stop.
This won't solve it for you
Pay attention here, because a misunderstanding is easy to occur. An expiring link stops redirecting. That's it. It does not hide or encrypt the destination.
If someone managed to enter before the link failed and peeked at or copied the destination address, that address still exists and still works. Expiration controls access to the redirect, not the content itself on the other side.
To protect what is at the end, you need something else, for example password link. These are two different tools for two different problems and it is worth not confusing them.
Setup takes a moment
You do this either immediately when shortening, or later in the link editing in the panel. You enter the expiration date, the number of clicks, or both. That is all on your part.
The rest is handled by cutty.dev. When the condition is met, the link politely tells the visitor that it has expired, instead of leading them to some old, outdated place.
Before you send your next "valid only until...", ask yourself one question: what is supposed to happen when this deadline passes? If the answer is "the link should just stop working," then it takes you ten seconds of work to set that up.