Compliance · 5 min read

Affiliate Links in Instagram DMs: Disclosure Comes First

The PostEngage teamEngineering and support ·

The stub this post replaces promised a passive commission engine that earns while you sleep. It is worth saying what that sentence would require, because we do not have any of it.

There is no affiliate tracking in this product. No link tracking, no click counting, no UTM handling, no attribution, no commission dashboard, no partner accounts, no payouts. If you send an affiliate link in a reply and somebody buys, nothing here knows. Your affiliate network knows, because that is its job, and you will read that dashboard the same way you did before.

So this is not a post about building a commission engine. It is a post about the one thing that actually changes when you put an affiliate link into an automated reply, which is that you have started making the same commercial statement to a large number of people without being in the room.

The disclosure, plainly

An affiliate relationship must be disclosed. If you earn when someone buys through your link, the person reading the message is entitled to know that before they click, and in most markets an advertising regulator says so in writing.

An automated DM that pushes an affiliate link with no disclosure is a problem. Not a grey area, not a stylistic preference. A problem — for the reader, who thought they were getting a recommendation from a person, and for you, because you have now made it at volume with a timestamped record.

The exact wording is set by the advertising rules where you operate and by your affiliate network's own terms. We are not going to draft it for you and you should be suspicious of any software company that does. Look up what your regulator requires, write the line once, and put it in the template.

Why this pushes you toward templates and away from AI-written replies

Here is a genuinely useful product detail rather than a moral one.

Templated replies are free and unlimited. They say exactly the words you typed, every time, to everyone. A credit is spent only when the AI writes a new reply — one credit, one reply — and an AI-written reply is composed fresh for that conversation.

For an affiliate message, that difference is the whole decision. A disclosure is a fixed legal sentence that has to appear intact. A fresh composition is, by construction, not guaranteed to reproduce a fixed sentence. So affiliate replies belong in templates, where the disclosure is part of the text and cannot be paraphrased away.

It is also free, which is a pleasant coincidence between the careful choice and the cheap one.

The ten checks that run in a fixed order before any reply is sent, each able to stop the send.
None of these checks read your disclosure. They stop sends for windows, duplicates, cooldowns and safety — the wording is yours, and only yours.

The volume problem, which is the real risk

One affiliate recommendation to one person who asked is a recommendation. The same link fired automatically at everyone who typed a common word is something else, and the line between them is not moral philosophy, it is just count.

Three practical guards, all of which are settings rather than intentions:

  1. Trigger on a word people type on purpose. Put a specific word in the caption and match that. Do not match link, which everybody types for everything.
  2. Turn on first-time senders only, under Advanced. It stops the same follower being handed the same affiliate link on every post you make.
  3. Use negative keywords hard. already bought, not interested, stop. An audience that has already been sold to and gets sold to again remembers it.

There is a fourth guard that is not a setting: do not put affiliate links on posts about topics where the recommendation is a bad idea. Health, money, anything where a stranger acting on your link has a real downside. That is a judgement call and no product setting substitutes for it.

The follow-up you are imagining does not exist

Most affiliate DM plans have a step two. Send the link, wait three days, ask if they bought, send a reminder.

That step cannot happen. A DM thread stays open for twenty-four hours, and the clock restarts only when they message you. Not when you do. There is no reopening it from your side on the official API, so there is no drip, no reminder, no cart-recovery nudge on an affiliate link. There are also no sequences and no broadcasts in this product at all.

A comment can be replied to for seven days. That is the longer of the two clocks and it still does not give you a step two.

What you actually get to keep

A record of who asked, which post they asked on, and which word they typed.

A single lead record showing the contact, the post, the matched keyword and the timestamp.
What is stored is narrow on purpose. Nothing here is a click, a conversion, or a rupee — those live with your affiliate network, and always will.

That exports as a CSV. There is no CRM sync and no one-click integration. If you want to reconcile it against your network's report, you will do it in a spreadsheet, by hand.

The short version

If your model is "recommend things I genuinely use, to people who asked, with the disclosure attached", automation removes the retyping and nothing else. That is worth having and it is what this does.

If your model is "blast a link at volume and let the commissions accumulate", the honest news is that the tooling here will not get you there, the DM window will not let you follow up, and the disclosure requirement applies to every single one of those messages anyway.

The ethics post covers the wider version of this line, the checks cover what stops a send and why, and the ambassador post covers the same missing-attribution gap from the brand's side of the deal.

One email when we publish.

No drip sequence, no “quick question” follow-up. Unsubscribe is one click and we honour it immediately.

Try it on your own posts

Free forever. Three minutes to set up.

Start free