How to track Instagram DM clicks

To track Instagram DM clicks, send a tracked short link instead of a plain URL. The link redirects to your destination and records a click count and a click-through rate against the DM that sent it, so you can tell how many people who received the message actually tapped.

By pratieee, indie founder of dmpilotUpdated 2026-09-05

Steps

  1. 1
    Create a tracked link for the destination
    Inside your DM tool, create a tracked short link pointing at the page you want people to reach. You get back a short address that redirects to the real one. Name it after the automation that will use it, not the destination, because the same page will often be promoted by two or three different rules and you want their numbers separated from the start.
  2. 2
    Put the tracked link in the automated message
    Use the tracked link as the target of a DM link button, or paste it as the message's only URL. Do not send both a tracked link and a plain version of the same address in one message, because the untracked taps will not be counted and your click-through rate will read lower than reality. One link, one destination, one message.
  3. 3
    Let the automation run long enough to mean something
    Click-through rate on twelve sends is noise. Wait until the automation has reached at least a few dozen people, or a week of normal posting, before you read anything into the number. Check that the click count is above zero within the first day, though: a flat zero after twenty sends usually means a broken link or a message nobody understood, not a bad offer.
  4. 4
    Read the click-through rate against the send count
    Click-through rate is clicks divided by messages delivered. Look at both numbers together. Fifty per cent of six sends tells you nothing; twelve per cent of three hundred tells you a lot. Record the pair somewhere each week, because the direction of travel after you edit a message is far more useful than any single reading in isolation.
  5. 5
    Change one thing, then compare
    Rewrite the message body or change the button label, leave everything else alone, and let it run for a comparable period. Testing two changes at once means you learn nothing from the result. Keep a short log of what the message said and what the click-through rate was, since after a month of edits you will not remember which version produced the number you are looking at.

What you can and cannot measure in an Instagram DM

Tracked links give you two things: how many people tapped, and what share of the people who received the message that represents. That is genuinely useful and it is also the limit. A tracked link tells you a tap happened; it does not tell you who the person was, what they did on the page, or whether they came back later.

Anything beyond the tap belongs to your website analytics or your checkout, not to your DM tool. Keep the two questions separate in your head. The DM number answers "is this message working". The site number answers "is this page working". Conflating them is how people end up rewriting a good DM because a landing page was broken.

  • Available from the DM: click count, click-through rate per tracked link
  • Not available from the DM: identity of the clicker, time on page, purchases, repeat visits
  • Where the rest lives: your own site analytics and your checkout or booking tool

Why a plain URL tells you nothing

When you paste a normal address into a DM, the tap goes straight from Instagram to your site and nothing in between records it as a DM click. Your site sees a visit with an Instagram-shaped referrer at best, mixed in with taps from your bio link, your stories and your Reels.

A tracked short link inserts one hop. The tap hits the short link, gets counted against that specific link, and is redirected on. The person experiences a normal link. You get a number attached to a specific message rather than a general Instagram bucket.

This is the whole reason to use one, and it is why creating a separate link per automation matters more than the link being short. Short is cosmetic; separable is the point.

Reading click-through rate without fooling yourself

Click-through rate is the share of delivered messages that produced a tap. Published benchmarks for DM click-through vary widely and depend heavily on audience size, offer and how the person entered the conversation, so treat any figure you read elsewhere as a rough baseline rather than a target.

The number that matters is your own, measured against itself over time. A rate that climbs after you rewrite the message is a real signal. A rate compared against a stranger's screenshot is not.

Watch the sample size at every reading. Small denominators swing violently, and the temptation to declare a winner after fifteen sends is strong and almost always wrong.

What moves the number

Three things dominate: how specific the message is about what is on the other side, how clearly the promise matches what the person asked for, and whether the link is one obvious action or buried among alternatives.

  • Vague promise ("check this out") — low click-through, almost always
  • Two competing links in one message — both underperform
  • Message longer than about fifty words — the link stops being the point

Using click-through rate to tell copy problems from offer problems

This is the most valuable thing the two numbers do together. A low click-through rate means people read your message and did not want to tap. That is a copy problem: the message did not make the destination sound worth the tap, or it was unclear what the tap would do.

A healthy click-through rate followed by nothing — no sign-ups, no sales, no bookings — points the other way. People wanted what you described enough to tap, then met the page and stopped. That is an offer or landing page problem, and rewriting the DM will not fix it.

The diagnosis only works if the promise in the DM matches the page. If your message promises a pricing sheet and the link opens a sales page, a high click rate followed by silence tells you about the mismatch, not about the offer.

  • Low clicks, low conversions — rewrite the DM message first
  • High clicks, low conversions — the landing page or the offer is the problem
  • High clicks, high conversions — leave it alone and copy the pattern elsewhere
  • Zero clicks on meaningful volume — check the link works before changing anything

Set up one link per automation, not one per page

The instinct is to make one tracked link for each destination and reuse it everywhere. Resist it. If a comment-to-DM rule, a story reply rule and a keyword trigger all send people to the same guide, one shared link pools three very different audiences into one meaningless average.

Separate links let you see that the comment automation converts and the story one does not, which is an actionable finding. Pooled links let you see a middling number and nothing else. The cost of separating is thirty seconds per link.

The same logic applies over time. When you significantly rewrite a message, consider a fresh link so the before and after do not blend into a single running total that hides the improvement you just made.

Weekly routine that takes five minutes

Open your tracked links, write down the click count and click-through rate for each active automation, and compare them with last week. Look for anything that fell sharply, which usually means a broken link or a changed landing page rather than a sudden shift in audience taste.

Then pick the single worst performer and change one thing about it. Over a couple of months this beats any amount of upfront optimisation, because you are editing against real numbers from your own audience instead of guessing.

What you need in a tool to do this

You need automated DMs that can carry a link, tracked short links with click counts and click-through rate attached to them, and the ability to create as many links as you have automations. Anything more elaborate is usually your website analytics doing a job the DM tool should not be trying to do.

DMPilot includes tracked links with click counts and click-through rate alongside its comment-to-DM, story reply and keyword automations, free for up to 100 people a month with no card, then $9 per month flat. If you are still deciding how to get links into the message in the first place, sending links in Instagram DMs covers the formats.

Frequently asked questions

How do you track clicks in Instagram DMs?

Send a tracked short link instead of a plain URL. The link redirects to your destination and records a click count and a click-through rate against the message that sent it.

Can Instagram itself show me DM link clicks?

No. Instagram Insights does not report clicks on links inside direct messages, which is why tracked short links exist.

What is a good click-through rate for an Instagram DM?

Published figures vary widely by audience and offer, so treat any benchmark as a rough baseline. Compare your own rate against itself over time rather than against someone else's number.

Can I see who clicked my link?

Yes, for links sent in a DM. Every DM carries its own tracked link, so the activity feed shows who tapped it, alongside click counts and click-through rate. What they do after the tap belongs to your site analytics.

Why is my click count zero?

On meaningful volume, a zero almost always means a broken link or a message that did not make clear what the link was for. Test the link from a phone before changing the copy.

Should I use one tracked link for every automation?

No, create one per automation. Sharing a link across rules pools different audiences into a single average and hides which automation is actually working.

Does a high click-through rate mean the automation is working?

It means the message is working. If clicks are high but sign-ups or sales are not, the problem is the landing page or the offer rather than the DM copy.

Keep reading

Try it on your next post.

Connect Instagram, pick a trigger, write one message. Free for up to 100 people a month with no card. Pro is $9 a month.

Try it for free →