If an automated DM sent fine and the follow-up silently did not, you are almost certainly on the wrong clock. Instagram does not have "a messaging window". It has three, they are different lengths, they start at different moments, and only one of them governs a comment-to-DM campaign.
The short version: you get 7 days from the comment to send one private reply. After that, you get nothing more unless the person answers you, and if they do, you get 24 hours from their answer. The seven-day Human Agent tag that competitor guides keep citing is a third thing entirely, and it is not available to automation.
The three clocks
| Window | Length | Starts at | What it covers |
|---|---|---|---|
| Private reply | 7 days | the comment | one reply to someone who commented on your post or reel |
| Standard messaging | 24 hours | the fan's last message to you | any normal DM in an open conversation |
| Human Agent tag | 7 days | the user's message | a human answering a support case, after App Review |
Confirmed fact. Meta's Instagram messaging documentation states plainly: "Your app has 24 hours to respond to any message sent from an Instagram user to your app user." The private reply documentation adds that "the message must be sent within 7 days of the comment was made on the post or reel" and that "only one message can be sent to the commenter".
The interlock that trips everyone up
Read those two rules together and the real constraint appears, because it is not either one on its own.
A comment starts a 7-day clock, but spends your entire allowance on a single message. Meta's private reply page states it directly: "Follow-up messages can only be sent if the recipient responds, and must be sent within 24 hours of the response."
So the sequence is:
- Fan comments. You may send one private reply, any time in the next 7 days.
- You send the reward. Your allowance is now spent.
- If they reply, a normal 24-hour conversation window opens from their message.
- If they never reply, there is no second message. Not a delayed one, not a gentler one.
This is why "add a nudge two hours later" is a plan that quietly fails. Most people who receive a reward link do not reply to it. They tap the link. From Meta's point of view the conversation never became two-sided, so there is nothing to continue.
If you want the strategy side of that, what to do with the one reply you get is a separate question from the mechanics here.
The Human Agent tag is not a loophole
This is the part currently being reported wrongly, including by pages published this month.
Meta's own feature reference says the Human Agent feature "allows your app to have a human agent respond to user messages using the human_agent tag within 7 days of a user's message". The stated allowed usage is to "provide human agent support in cases where a user's issue cannot be resolved in the standard messaging window", with examples like a business being closed for the weekend.
Two things follow, and both are easy to miss if you only read the seven-day figure:
- It is scoped to a human replying to a support issue. It is not a longer runway for scheduled or promotional automation.
- It requires successful App Review and business verification before your app can touch live data. It is not a flag you set.
Inference, clearly labelled: a tool that offers you "7 days to follow up" on comment-to-DM without mentioning App Review is either describing the private reply window and calling it the wrong name, or describing something it should not be doing. Worth asking which.
What this looks like when it is enforced properly
We hold both windows as explicit constants and check every queued message against its own clock before sending, rather than letting the send fail at Meta and guessing why afterwards. A private reply carries a 7-day expiry, a standard DM carries 24 hours, and a public comment reply carries none at all, because a comment is not a message.
The practical difference is what happens to a message that has outlived its window. It is refused locally with a reason attached, so the record says "outside the 7-day private reply window, queued 190h ago" instead of an opaque API error three steps removed from the cause. A silent failure here is worse than a loud one, because the campaign looks like it is running.
That distinction between a policy window and a technical failure also matters when you are diagnosing a campaign that half worked. The full list of reasons a comment-to-DM does not arrive covers the other seven.
Two edge cases worth knowing
Instagram Live has its own rule. Meta's documentation states that for Instagram Live, private replies can only be sent during the live broadcast, and once the broadcast ends private replies cannot be sent. Comments on a Live do not get the usual seven days. If you run keyword campaigns during Lives, that is a hard stop at the end of the stream, not a slow expiry.
Windows are not rate limits. These are separate systems and people conflate them constantly. A window says whether you are allowed to send at all; a rate limit says how many calls you may make in an hour. You can be comfortably inside every rate limit and still be making a policy violation, which is the more expensive mistake. We have written separately about the per-hour figure that circulates without a source.
Message tags are a third separate system again, and mostly a Messenger concern rather than an Instagram one. If you arrived here because tagged sends started erroring, the 2026 message tag deprecation is the page you want.
The rule to actually remember
One comment buys one message inside seven days. Everything after that has to be earned by the fan replying, and then it is 24 hours from their reply, not from yours. Design the first DM as though it is the only one you will ever send, because for most recipients it is.
Sources checked
All three windows verified against Meta's own documentation on 2026-09-11. Meta revises these pages without notice, so re-check before relying on any figure here.
- Instagram Messaging API, private replies (7-day limit, one message per commenter, Live restriction)
- Instagram Messaging API overview (24-hour standard window)
- Human Agent feature reference (7-day human agent window, App Review requirement)
UnlockDM checks every queued DM against its own window before sending, and records the reason when one expires, so a campaign that stops delivering tells you why instead of going quiet.



