Instagram does not make links in captions clickable. It never has, and it is not an oversight or a feature request that has been overlooked for a decade. It is a deliberate design decision, because every click that leaves Instagram is a session that ends, and session length is the metric the whole product is built around.
Understanding it as intentional matters, because it changes what you look for. There is no trick that makes captions clickable. What there is instead is a set of legitimate routes off the platform, each with different friction, and a measurement problem that almost everybody ignores.
Where Instagram actually allows links
There are fewer routes than people assume, and they are not equally useful. The bio link is the main one: one field on your profile that is clickable from anywhere. Instagram now allows multiple links in the bio for most accounts, which reduces the need for an external page but does not remove it, since the display is cramped and unlabelled.
Story link stickers work for all accounts now, no follower threshold, and they are the highest-intent placement on the platform because a story tap is a deliberate action from someone already paying attention. The cost is that stories expire, so this is a burst channel, not a durable one.
Beyond that: links in DMs work and are how the comment reply DM me the link pattern operates. Links in comments are not clickable. Links in captions are not clickable. Reels descriptions are not clickable. If someone tells you otherwise, they are describing an ad, which is a different product.
Build a bio-link page that converts
The standard answer is a link-in-bio page, and the standard implementation of it is bad. Most are a wall of twelve identical buttons in which the important one is buried in the middle, presented to someone who arrived with one specific intention from one specific post.
A page that converts does three things. It puts the destination that matches your most recent post at the top, because the majority of your traffic arrives from that post. It offers three or four options at most, so the choice is trivial. And it labels each with an outcome rather than a noun, because get the pricing calculator is a reason to click and resources is not.
- Top slot: whatever your latest post is about. Update it when the post changes.
- Second slot: your main product or trial. Always present.
- Third slot: the thing that captures people not ready to buy, usually an email list.
- Nothing else. Every extra option costs you clicks on the three that matter.
Say link in bio out loud in the caption too. It sounds obvious and it measurably matters, because a reader who is interested but not told what to do will keep scrolling. Instagram trained everyone to scroll.
The real problem is measurement, not clicking
Almost everyone solves the link problem and stops there, which leaves the harder problem untouched. A bio link is a single URL that every post, every story, and every profile visitor shares. When someone arrives at your site through it, you know they came from Instagram and nothing more.
You do not know which post sent them. That is the piece of information that would actually change your content, and the bio link destroys it by design, because it collapses every source into one entry point.
The consequence is that Instagram becomes the channel you cannot evaluate. You can see follower growth and engagement, which are the metrics Instagram gives you, and you cannot see whether any of it produced money. So people either overrate it because the engagement looks good, or abandon it because they cannot prove it works. Both are decisions made blind.
How to attribute Instagram traffic to individual posts
The fix is to stop using one link and start using one link per campaign or per post, all routed through a page or a redirect you control. Each carries its own tracking parameters, so the arrival is distinguishable.
The practical version: your bio points to a page you own. That page’s top slot changes with your latest post, and each slot is a tracked link with a UTM source of instagram and a campaign matching the specific post. Story link stickers get their own tracked link with a distinct campaign, since story traffic behaves very differently from bio traffic and should never be pooled with it.
Now the sequence is recoverable. A post drives profile visits, the profile drives a click on a specific tracked link, and that link identifies the post. It is not perfect, since someone might see one post and click three days later on a different top slot, but it is enormously better than one undifferentiated bucket.
Connect the clicks to revenue
Tracking clicks is halfway. A click is not a customer, and the post that generates the most clicks is frequently not the post that generates the most sales, because broad curiosity clicks and buying-intent clicks look identical in a click counter.
What closes the loop is matching the click through to the payment. When you can see that a quiet carousel about a specific problem produced three clicks and two customers, while a reel that got ten times the reach produced forty clicks and nothing, your Instagram strategy changes immediately and correctly.
This is the exact gap seenpaid is built to close. It provides a bio-link page where every destination is a tracked link, and it connects to your Stripe account read-only so payments are attributed back to the post that started the chain. Instagram stops being the unmeasurable channel and becomes as evaluable as anything else you do.
Reduce the number of hops
Every step between the post and the purchase loses people. Post to profile to bio link to link page to landing page to checkout is five hops, and a realistic drop-off at each one means very few make it through.
Cut what you can. Point the top bio slot directly at the relevant page rather than at a generic homepage. Use story link stickers for time-sensitive offers, since that route skips the profile and the link page entirely. And make the destination match the promise in the post exactly, because a mismatch is where most of the loss happens: someone clicked expecting the thing you described and landed on a general marketing page.
Instagram will keep making this awkward, because keeping people on Instagram is the business. The workaround is not clever, it is just deliberate: one clear route off the platform, as few hops as possible, every link tracked, and revenue tied back to the post. Do that, whether through seenpaid or through your own redirect service and a spreadsheet, and the link problem becomes a minor inconvenience instead of the reason you cannot tell whether Instagram is worth your time.