DM templates · Instagram
Send a discount code in an Instagram DM
A simple way to send discount codes on Instagram is a comment keyword: people comment a word like CODE on a post, and each of them gets the code by DM. A code is plain text, so it can go in the very first message, while a link to the shop has to wait until they reply. Below are 13 templates for that and for what comes after, from Story replies to codes that fail at checkout.
Updated 6 October 2026 · 13 templates
13 messages to copy
Tap a card to copy the message. Swap anything in braces, like {name}, for your own words before you send it.
Code in the first DM after a Reel comment
Thanks for commenting on the Reel! This DM is sent automatically. Your code is {code}, good for 20% off until {time}. Want the link to the pieces from the video? Reply LINK and I'll send it.
A code is only text, so Instagram lets it travel in the first private reply. The question at the end does the other job: their answer is what allows the shop link to follow.
Code held back until they reply
Hey, thanks for the comment! This message is automatic. Your code is ready and waiting. Shall I send it over? Reply YES and it's yours.
Every YES opens 24 hours in which the code, the shop link and anything else can follow. The catch: anyone who doesn't answer never gets the code, so hold it back only when the link matters as much.
The code and the shop link, after their reply
Here you go: {code}. Type it in at checkout, or shop straight from this link: {link}. It's valid until {time}, and you can ask me anything here before you order.
If your shop can make a link that applies the code by itself, as Shopify's shareable discount links do, use it for {link} and tell them there's nothing to type.
Yes, there's a code for first orders
There is! New customers get 10% off a first order with {code}. It works once per person and can't be used on items that are already reduced. Can I help you pick something?
Give the limits in the same message as the code. A code that fails at checkout costs more goodwill than having no code at all.
No code running right now
Not at the moment, sorry! When we run one, it goes in our Stories first, so that's the place to watch. Is there anything I can help you choose in the meantime?
An honest no keeps the chat open. Don't invent a code on the spot unless your shop can create it properly, with an end date and a use limit.
Code for a reply to your sale Story
Thanks for replying to the Story! Here's the code from it: {code}. It runs until {time} and works on everything in the sale: {link}
A Story reply is already a message from them, so the code and the link can go out together, with no YES step in between.
Code for people who watched your Live
Thanks for watching the Live! Here's the code we mentioned: {code}. It's valid until {time}, so take your time; there's no need to decide during the broadcast.
Ask viewers to DM you a word such as LIVE rather than comment it. A private reply to a comment made during a Live can only be sent while you're live; a DM can be answered afterwards too.
When the code won't work at checkout
Sorry about that! The usual culprits are a space before or after the code, an item that's already reduced, or a basket under the minimum spend. Could you send me a screenshot of the checkout? I'll work out what's going on.
A screenshot shows the basket, the code and the error message in one go, which saves three rounds of questions.
Code that has already ended
That code finished on {time}, I'm afraid, and I can't switch it back on. I'm happy to check sizes or stock for you, though, if you'd still like to order.
If you'd rather make an exception, create a fresh single-use code instead of reopening the old one, and be ready to do the same for the next person who asks.
A make-up code after a problem
Sorry again that your parcel arrived late. As a thank-you for your patience, here's {code} for your next order. It's single-use and valid until {time}.
Send it by hand, once the problem itself is sorted. A code is a kind gesture, but it doesn't stand in for the refund or new parcel they asked for.
Code for followers only
One step left: this code is a thank-you for our followers. Follow us, tap “I followed” below, and the code comes straight after.
In DMFast this is the “Only send to followers” option, which works on Instagram only. It checks for the follow first, so people who already follow you never see this message.
A creator sharing a brand's code
Hey! My code for {brand} is {code}, and it takes 15% off. Just so you know, I earn a small commission when you use it.
Mention the commission in the same message as the code, so nobody feels misled when they find out later.
Email first, then the code
Happy to send it! Before I do, what's the best email for you? We only write when there's a new collection or a sale, and you can unsubscribe whenever you like.
In DMFast, “Ask for their email first” collects the address before the code goes out and turns away throwaway inboxes. Say what they're signing up for, so the emails don't come as a surprise.
Set it up in DMFast
Comment CODE, get the discount by DM
Someone comments on your post
CODEPublic reply under their comment
Sent! Your code is waiting in your DMs 🎟️First DM (plain text)
Hi! This DM is automatic, because you commented CODE on our post. Your code is {code} and it's valid until {time}. Would you like the link to the shop as well? Reply YES and I'll send it.Yes pleaseShop the sale with your codeShop nowThe code is plain text, so it can sit in the first DM and nobody has to jump through a hoop to get it. The question at the end does the second job: a YES opens 24 hours in which the card with the shop link can follow.
Pick a post
Connect your Instagram account, then choose the post or Reel it runs on, or every post.
Set the word: CODE
Anyone who comments CODE gets a reply under their comment and a DM. Capitals don't matter.
Paste the message
Add the public reply and the first DM shown here. Once they answer, your link follows as a card.
Free plan, no card. Instagram professional accounts and Facebook Pages.
Rules to know
- A comment can get one private reply, sent within 7 days of the comment. Until the person answers, nothing else can follow, so the code or the question has to fit in that one message.
- Comments left during an Instagram Live can only get their private reply while the broadcast is still running.
- Through Meta's API, offers such as discount codes can only go out within 24 hours of the person's last message. The human agent tag, which allows 7 days, is for support from a real person, not for promotions.
- No official tool can DM a code to all your followers. Meta's API only reaches people who messaged you, commented, answered your Story or tagged you in one of theirs.
- Instagram allows at most 750 private replies to comments per hour for each account, so a popular sale post can build a queue that takes a while to clear.
- Automated messages must make clear that they come from an automated service.
Sources
Code in the first DM, or after a reply?
Both fit Instagram's rules; they trade off different things. A code in the first message reaches everyone who comments. Holding it back until they answer means fewer codes go out, but every answer opens a 24-hour window for the shop link, a product carousel or a question about sizes.
| Question | Code in the first DM | Code after they reply |
|---|---|---|
| Who gets the code | Everyone who comments the word | Only people who answer your first DM |
| Can the shop link follow? | Only if they happen to reply | Yes, straight after their reply |
| How it feels | A gift with no strings | One extra tap before the gift |
| Good for | Codes meant to spread, like a launch | Sales where the link, sizes or products matter |
Tip: Pick a keyword nobody types by accident. SALE would fire on every “is this on sale?”, while CODE rarely turns up in ordinary comments.
Questions that follow a code
Most replies to a discount DM are about the small print. Answer it in the message with the code and the chat gets much shorter.
- “Does it work on sale items?” Say yes or no right next to the code.
- “Can I use it twice?” Say whether it's one use per person or open to anyone.
- “Does it cover delivery?” If it's for products only, say so, and give your free-delivery threshold if you have one.
- “Can I add another code?” Check whether your shop lets codes combine, and say so before they try.
- “When does it end?” Give a date and a time zone, not “soon”.
A code sent by DM travels further than the DM
A code sent to everyone who comments is a shared code. The same words go to every person, and anyone can screenshot it or post it on a coupon site. That's fine for a launch you want talked about. For anything else, set the limits in your shop instead of hoping the DM stays private.
- Set an end date, a use limit, a minimum order or one use per customer, whichever your shop supports.
- Give each post or Live its own code, such as REEL20 and LIVE15, so your shop's discount report shows which one sold.
- Leave out characters that look alike. O and 0, or I and 1, are easy to mix up on a phone keyboard.
- Keep it short and in capitals. A code people can remember is one they can type without switching apps.
- If every customer needs a code of their own, it has to come from your shop or a loyalty app: an auto-reply sends identical words to everyone.
Mistakes that make a code backfire
- A countdown that resets. “Ends tonight” every night teaches people to ignore you.
- The code only inside an image. Text in a DM can be copied with a long press; text in a picture has to be retyped.
- Promising a reminder before the code ends. Tools can't send an offer more than 24 hours after someone's last message, so post a reminder Story instead.
- Stacking hoops. A follow, an email and a reply before the code turns a gift into a toll; one step is plenty.
- Leaving the auto-reply running after the sale. Switch it off or change the message, or new commenters get a code that fails.
What to measure
Count redemptions, not DMs. Your shop's discount report shows how many orders used each code, and when every post has its own code, you can see which post sold. Compare that with how many people received it: if 300 people got the code and 6 used it, look at the offer, the products or the checkout before you blame the message.
For the shop link, a tracked link shows how many people tapped it from each message, which tells you whether the code or the link is doing the work.
Questions people ask
Can I DM a discount code to all my followers?
No. Official tools can only message people who wrote to you, commented, replied to your Story or mentioned you in theirs, so there's no way to send a code to every follower. Post it where they already look instead: a post with a comment keyword, a Story, or a broadcast channel if you run one.
Can the first DM after a comment include the code?
Yes. The first message to a commenter has to be plain text, with no link or button, and a code is just text. End it with a question so they reply, because the link to the shop can only follow once they do.
How long after someone comments can I still send the code?
Up to 7 days after the comment, as one private reply. Comments left during an Instagram Live are the exception: they can only be answered while the Live is running. Once someone replies to your DM, you have 24 hours from that reply for anything else.
Can I remind people the day before the code ends?
Only those who messaged you in the last 24 hours. Automated messages can't go out after that, and the 7-day human agent tag is for support by a real person, not offers. A Story or a post is the way to remind everyone else.
Should every person get a different code?
Only if you need to stop codes being shared. An auto-reply sends the same message to everyone, so unique codes have to come from your shop or a loyalty app. A shared code with an end date and a use limit is enough for most sales.
Related templates
Set-ups by business
More DM templates
Send these messages automatically
DMFast replies under the comment, sends the first DM in seconds and your link once they answer, day and night. Free plan, no card.
Start free