Putting a discount code in your Instagram bio is one of those unwritten norms in affiliate marketing: every creator does it, no one agrees on the right way to do it, and getting it wrong is a faster way to lose followers than almost anything else you can do on the platform. This is what actually works in 2026, and the small list of things you should never do.
The four places a code can live
A discount code on Instagram can sit in one of four places, and the right answer almost always depends on how often the code rotates and how many products you promote. The four places are: in your bio text, on your link-in-bio page next to a product, in a story link sticker caption, or in a broadcast channel message. Each one trades off reach against staleness.
1. Bio text (best for a single hero code)
The simplest option: type the code into your bio itself, on its own line. Followers see it the second they land on your profile, no taps required. The format that works:
- Line 1: who you are.
- Line 2: what the code is and where it works.
- Line 3: the link or call-to-action.
This pattern is great when you have one ongoing partnership with a brand whose code is stable for months at a time. It falls apart fast if you promote five different products a week, because the bio can only hold one code at once and the bio character limit fills up quickly. It's also the only one of the four options where you have to manually edit the code out when it expires, which is the single biggest source of "the code didn't work" complaints.
2. Link-in-bio page with the code pinned to a product
If you promote more than one product, the bio text approach suffocates. The pattern that scales: send followers to a link-in-bio page where each product has its own discount code attached directly to that product's card, not floating in a general bio description.
The advantage is that a follower who taps a specific product card sees the code that applies to that product, and nobody is hunting through your bio trying to remember whether SAVE15 was the skincare code or the workout-app code. The other advantage: codes with expiries can hide automatically once they pass, so dead codes don't linger in your bio for six weeks because you forgot to update it.
3. Story link sticker with the code in the caption
Stories are the highest-conversion affiliate surface on Instagram right now. The pattern: add a link sticker pointing to the product or your bio, and add a text overlay on the same frame that says "use code SAVE15 at checkout." Same-frame is the operative phrase. Putting the code in the caption of a separate slide that no one sees is the most common mistake.
Stories are also the right place for short-lived codes (24 hours, flash sales) because the story itself disappears in 24 hours anyway. The code can't outlive the story it was promoted in, which solves the expiry-management problem by accident.
4. Broadcast channels (insider drops)
Instagram Broadcast Channels are one-to-many text channels Meta rolled out to compete with Telegram. Codes work great there for two reasons: messages are clickable (unlike feed captions), and followers who've joined the channel feel like insiders. Drop a high-value, time-limited code in the channel and you'll often see higher conversion rates than your feed posts get, because the audience is self-selected.
The constraint: only followers who've opted into the channel see the messages. Reach is much smaller than feed or stories, so broadcast channels work best for codes that wouldn't make sense to promote to your whole audience anyway.
Five rules for keeping followers around
Discount codes are useful. Discount codes shouted from every surface every day are spam. The line between the two is the difference between a 5% unfollow rate and a 25% one. Five rules keep you on the right side of it.
- One code per post, one product per code.Three codes in one caption reads as a sale pitch, not a recommendation.
- Always say what the code is for.Followers shouldn't have to guess. "Use SAVE15 on [Brand]" converts; bare "SAVE15" does not.
- Always disclose.If you earn commission when the code is used, FTC rules require the disclosure. "ad, affiliate code below" in the first line of the caption, not buried at the bottom.
- Don't pin the same code to every post for a month.The Instagram algorithm down-ranks accounts that look spammy; followers down-vote them faster. Rotate the product you're featuring, even if the code stays the same.
- Match the medium.A code in a feed post caption isn't copyable on mobile; followers have to remember it. For copyable codes, send them to a bio page where they can tap to copy.
The expiry trap
The fastest way to break trust with an affiliate audience is to share a code that doesn't work. It happens constantly: the brand ends the campaign, you forget to remove the code, a follower hits checkout and the discount applies as "0" or fails entirely. They DM you frustrated; you apologize; the next code you share gets fewer attempts because trust takes ten times longer to rebuild than to lose.
Two ways to avoid the expiry trap:
- If your link-in-bio tool supports auto-expiry,set the expiry date on every code as you add it. Stale codes hide themselves; you never have to remember.
- If it doesn't, keep a notes file with each active code and its end date, and put a weekly recurring reminder on your phone to clear expired ones from the bio. Boring, manual, and 100% effective.
Refreshing codes without breaking older posts
When a brand rotates the code (SAVE15 becomes SUMMER20), older Instagram posts and reels still reference the old code in their captions. You can't go back and edit every post.
Two patterns work:
- Update the link-in-bio page first, so any follower who taps through from an old post lands on the current code.
- In stories, pin a story to your profile that lists the currently-active codes for the products you promote most. A follower coming from a six-month-old reel can check the pinned story instead of trusting the caption.
Putting it together
Codes work when they help your followers and stay accurate. They stop working the moment the audience starts to mistrust them. Use the bio for your one steady code, the link-in-bio for the rest with expiries set, stories for flash drops, and broadcast channels for insider perks. Disclose every time. Clean up dead codes the same week they expire. That's the whole playbook.