How to track a sale back to a comment or DM
Put UTM tags on every DM link, give chat sales their own code, and match orders to the post and keyword. The 2026 platform rules that decide where links go.
By Reach Weekly staff8 min read
To track which comment or DM led to a sale, put UTM tags on every link you send, give sales that close inside the chat their own coupon code, and match each order to the post and keyword once a week. Where the link can travel depends on each platform's rules. BetterSocials fits a business answering comments and DMs on several platforms at a flat price. Manychat fits multi-step flows, and Meta Business Suite's free keyword automation covers basic Instagram and Facebook use.
Give every comment and DM its own link or code
Instagram, Facebook, TikTok and YouTube each decide where your link can travel, and that decides what you can track. We took the rules angle for this piece. Each limit below names the platform, the rule and the month we read it.
A UTM tag is a short label added to the end of a link that tells your store or analytics where the click came from. Send a link without one and the sale lands as direct or social traffic with no origin. CreatorFlow's UTM setup guide makes the same point, and it's the right starting rule.
The plan has three steps:
- Tag every DM link with the platform, the post and the keyword, so each click carries its source.
- Give sales you close in the chat a code tied to that post, so DM orders keep their source too.
- Match orders to tags once a week, then post more of what sold.
Track each link and you know which post brings buyers. Skip it and every sale reads as direct, and you guess what to post next.
How do you tag a DM link so the sale keeps its source?
Instagram, Facebook and TikTok all accept a tagged link in a reply, so the same four tags work across them. Keep every value lowercase and spell it the same way every time. One typo splits one post's sales into two rows.
Use this naming scheme:
- utm_source is the platform, such as instagram, facebook or tiktok.
- utm_medium is where the link went, either dm or comment.
- utm_campaign is the post, named by format and date.
- utm_content is the keyword the person commented.
A link sent in an Instagram DM after someone commented GUIDE on a Reel would end like this: ?utm_source=instagram&utm_medium=dm&utm_campaign=reel-oct-28&utm_content=guide.
The platform rule decides the medium. On Instagram and Facebook a keyword comment can trigger a private DM, so the medium is dm. A TikTok comment can't trigger a private DM on any tool, outside TikTok's limited rollout in Vietnam, Thailand and Indonesia, as of October 2026. YouTube has no DM API for any tool. On both, the link goes in the public reply, so the medium is comment.
That split matters when you read the report. A public reply link can be clicked by anyone reading the thread, so a comment-medium sale tells you which post sold, and a dm-medium sale tells you which person asked.
Unique links, coupon codes or a CRM: which tracks social sales best in 2026?
Manychat, Meta Business Suite and BetterSocials can all send the tagged link for you, but the tracking method is your choice. Use a tagged link for buyers who click and check out online. Add a code for buyers who pay in the chat, in person or on the phone.
The table compares the four common methods by what each catches and who should use it.
| Method | Catches | Misses | Best for |
|---|---|---|---|
| Tagged link | Online checkouts from a click | Sales closed in the chat | Shops selling on a website |
| Coupon code | Sales with no link clicked | Buyers who skip the code | Salons, gyms, in-person sales |
| Checkout question | Buyers who remember the source | Buyers who forget or guess | A backup check on the others |
| CRM | Deals that take several calls | Small, fast sales | High-ticket sales with a pipeline |
Codes get shared outside the DM, so treat a code count as a floor for that post, never an exact number. The checkout question ("How did you hear about us?") is worth keeping as a check. People forget where they saw you, so the tagged link or the code is the record.
A CRM earns its place when one sale takes several calls. For a salon, a gym, a restaurant or a creator selling one product, a tagged link, a code per post and a lead tag on the conversation answer the question without a second system.
What do Instagram and Meta's own tools show about a DM sale?
Meta Business Suite gives you an inbox for Facebook and Instagram comments and DMs, and its rules set the clock on every tracked link you send. Three rules matter most.
First, in Meta Business Suite's inbox, "You can't send a message in response to comments posted more than 7 days ago," per Meta's help page on comment actions, read October 2026. A commenter you reach on day eight gets no DM and no tracked link.
Second, Instagram only lets a business reply to a DM within 24 hours of the person's last message, as of October 2026. After that, the conversation is closed until they write again.
Third, Meta Business Suite lets you assign conversations to the people on your team across Messenger, Instagram, WhatsApp and comments, per Meta's help page on assigning conversations, read October 2026. Assigning shows who handled a buyer. The tag on the link shows what they bought.
Instagram also doesn't tell senders which folder a DM landed in. So the tracking has to live in your links and codes, where your store records the order.
How do you track a sale that closes inside the DM?
Instagram DM sales that close in the chat leave no website visit behind, so the code does the work there. Give each post its own code, and send that code in the DM with the offer.
If you take payment or bookings through a link, tag that link the same way as the first one. A booking link with utm_medium=dm and the post's campaign name keeps the source even when the person books two days later.
Then mark the conversation itself. A lead tag on the chat (a label for anyone asking about price, booking or availability) lets you count how many chats from one post turned into orders. Divide orders by tagged chats and you have a close rate per post.
Watch the reply windows while you do it. TikTok DMs are reply-only for business accounts, with at most 10 replies within 48 hours of the person's last message, as of October 2026. A sale that needs a long back and forth on TikTok has to close inside that window.
Why clicks undercount DM delivery, and why that's the safer number
Instagram routes a keyword DM to a person who doesn't follow you into their message requests instead of their main inbox. So clicks per DM run lower on a viral post, because more of the commenters are strangers. In a June 2026 thread on r/Manychat, a creator reported that fewer than half of their comment-triggered DMs were reaching commenters.
That gap is a platform rule, and every tool on the official API lives with it. Instagram doesn't publish its routing and filtering rules, so no vendor can verify delivery.
Clicks still prove the full chain: delivered, opened and acted on. A sent counter overstates what arrived. Clicks understate it slightly, which is the safer error when you decide which post to make again.
Pair each keyword DM with a public reply under the comment, such as a line telling the person to check their DMs. Non-followers then know to look in their requests.
How BetterSocials does this
BetterSocials sends the tagged link for you when someone comments your keyword. On Instagram and Facebook, your account posts a public reply under the comment and sends a DM with the link. On TikTok, YouTube, Threads and LinkedIn Company Pages, the keyword posts a public reply with the link instead.
Tracked links and a contacts list, both in beta, show which comment or DM led to a click. The sale itself is still matched in your store or analytics, using the tags above. Every new comment and DM gets a tag when it arrives, and Lead marks anyone asking about price, booking or availability. A new lead sends a push notification to your phone.
The price is flat. Creator is $29 a month, or $24 billed yearly, for four social accounts and one login. Pro is $49 a month, or $39 billed yearly, for six accounts. Every plan has unlimited contacts and a 7-day free trial, card required.
Manychat bills by contact. Pro is $39 a month with 2,500 active contacts, then $0.05 for each extra contact, billed monthly, as of October 2026. So a Pro account that reaches 4,000 people in a month pays well over a hundred dollars. Meta Business Suite's keyword automation is cheaper still, at no charge as of July 2026, and covers basic Instagram and Facebook keyword DMs. The BetterSocials price adds TikTok, YouTube, Threads and LinkedIn Company Page replies, AI replies in your voice, and lead tags in one inbox.
For more tools on the TikTok side, see our list of 8 comment tools where ManyChat stops on TikTok.
FAQ
How do I track which Instagram DM led to a sale?
Send every DM link with UTM tags that name the platform, the post and the keyword. Then filter your store or analytics orders by those tags. For sales you close inside the chat, give that post its own coupon code, so each order keeps the post and keyword that brought the buyer.
What UTM parameters should I use for comment-to-DM links?
Use utm_source for the platform, utm_medium for where the link went (dm or comment), utm_campaign for the post and utm_content for the keyword. Keep the names lowercase and the same every time. One report then groups every sale from one post together.
Are coupon codes or unique links better for tracking social sales?
Use both. A tagged link tracks buyers who click and check out on your site. A code tracks buyers who pay in the chat, in your shop or on the phone, where no link gets clicked. Codes get shared, so treat a code count as a floor for that post.
Do I need a CRM to track sales from DMs?
Not to start. A CRM pays off when one sale takes several calls and a pipeline. For a salon, a gym, a restaurant or a creator selling a product, a tagged link, a code per post and a lead tag on the conversation answer which comment or DM sold.
Why do my DM link clicks look low on a viral post?
More of the commenters on a viral post don't follow you, and Instagram sends their DMs to message requests instead of the main inbox. Clicks run lower there. They still prove the chain from delivered to opened to acted on, which a sent counter can't.