Instagram Automation for Digital Products
Instagram automation for digital products overlaps lead magnets — GUIDE then PDF owns the free file. This article owns paid SKUs and course checkouts from comments: templates, presets, cohorts, Notion kits, sample packs. Teach a paid keyword, send checkout, collect email only if you will deliver by email, and disclose what they buy.
Do not pretend every commenter is a checkout. FREE and BUY are different jobs. Do not mix them in one DM. Education businesses that run cohorts also have a dedicated education playbook — stay here if the product is a file or an evergreen course page, not a campus.
Free versus paid keywords
FREE or GUIDE delivers the magnet. BUY, ENROLL, or the product nickname (PRESETS, NOTION, PACK) delivers checkout. If the Reel demonstrates a Lightroom preset, teach PRESETS for the paid pack and GUIDE only if you also have a free three-pack. One DM that contains both a free download and a $89 checkout trains people to ignore both.
- PRESETS: checkout URL, what is in the zip, which app versions you support in writing, refund policy link.
- NOTION: template gallery checkout, “this is a duplicate-into-your-workspace file, not a managed workspace.”
- ENROLL: evergreen course page. If the cohort is full, that word should send WAITLIST, not a dead checkout.
- SAMPLE: a free slice if you actually have one. Do not teach SAMPLE and send only a sales page.
Fulfilment that Instagram will not eat
Send the checkout URL. Do not attach a 200MB file if Instagram will eat it. Do not promise the zip inside the first private reply. Paid delivery happens on the shop, Drive you control, or email after payment — say which in the DM. If you collect email first, say so in the caption so people are not surprised by COLLECT_EMAIL.
Version support is a handoff: “Does this work with Premiere 2018?” should not get a generic BUY loop. Put supported versions in the DM as a sentence you will update, and take older-version threads human. Refunds stay human. Chargebacks stay human. “I paid and the file is a 404” is not a second checkout link.
A preset pack and a Notion kit, written out
PRESETS first DM: “Here’s checkout for the 40-colour street pack (Lightroom Classic 12+ / Lightroom mobile as listed on the page). If you need the older desktop pack, reply VERSION and I’ll pick it up — this chat will not invent compatibility. Refunds: reply REFUND after purchase; a person handles those.” NOTION first DM: “Here’s the dashboard template. You’ll duplicate it into your workspace. I don’t log into your Notion. If you wanted a done-for-you build, reply CUSTOM and I’ll read it.”
Those handoff words (VERSION, REFUND, CUSTOM) only work if you read them. If you will not, say “email support@…” instead of teaching a keyword you will ignore. Do not automate legal advice about licences. A one-line licence summary plus a URL is enough.
Caps, Requests, and launch day
A launch Reel will queue. People who do not follow you will find the DM in Requests. Put that in the caption. If you also run a waitlist, use a separate word — see waitlists — and pause BUY when the product is gone instead of sending a 404 with a live price.
Do not claim a Shopify catalog will populate the DM. Paste the checkout you already have. Do not claim CommentLink will fulfil the zip. The shop does that. Your job in Instagram is the keyword, the honest description, and the human exceptions.
Public comments are not your receipt thread
Do not post order confirmations on the comment thread. Do not ask people to comment their email. Collect in the DM if you collect at all. Public “I didn’t get the file” should get a one-line public pointer and a human in the inbox, not an automated second checkout.
What not to promise
Income claims, “replace your 9–5,” fake student counts, guaranteed results from a template. If the product is a course, the education article’s honesty rules apply here too. If the product is a file, describe the file. Comment-to-DM will send what you wrote. It will not make a thin pack feel like a career.
PRESETS versus VERSION — compatibility is a human thread
Street-pack Reel. Comment: “PRESETS.” First DM: “Checkout for the 40-colour street pack (Lightroom Classic 12+ / Lightroom mobile as listed on the page). Refunds: reply REFUND after purchase; a person handles those. I will not attach a 200MB zip in this chat — Instagram will eat it. Fulfilment is on the shop after payment.” Their reply: “Does this work with Premiere 2018?” That is VERSION, not another BUY loop. You pick it up. The automation must not invent compatibility.
NOTION kit: “You’ll duplicate this into your workspace. I don’t log into your Notion. Done-for-you builds: reply CUSTOM.” SAMPLE must send a real free slice. Teaching SAMPLE and sending only a sales page is bait. FREE/GUIDE and BUY/PRESETS stay different keywords on different captions. One DM with a free download and an $89 checkout trains people to ignore both.
Launch day: queue, Requests, and a dead checkout
A launch Reel will queue. Non-followers find the first private reply in Message Requests. Put that in the caption. When the cohort or pack is gone, pause BUY and send WAITLIST — not a 404 with a live price. Do not claim a Shopify catalog will populate the DM. Paste the checkout you already have. CommentLink does not fulfil the zip. The shop does that.
Public comments are not your receipt thread. Do not ask people to comment their email. Do not post order confirmations on the Reel. Public “I didn’t get the file” gets a one-line pointer and a human in the inbox, not an automated second checkout. Chargebacks stay human.
Licence one-liner, not legal advice in a loop
- One sentence you will update: commercial use for client work yes/no, resale of the files no.
- URL to the full licence. Do not automate a custom licence negotiation.
- Income claims, “replace your 9–5,” fake student counts: do not put them in the DM.
- ENROLL on an evergreen course page. If the live cohort is full, that word sends WAITLIST, not a dead classroom login.
Education businesses that run campus-style cohorts have a separate playbook. Stay here when the product is a file or an evergreen page. Recorded course versus live cohort should not share ENROLL.
Copyable digital-product first DMs
PRESETS: checkout, app versions in writing, refunds human, no zip in the bubble. NOTION: duplicate-into-your-workspace, no login to their account, CUSTOM is human. ENROLL: live page or waitlist, no fake seat count. SAMPLE: the slice file or it is not SAMPLE.
We will not run a native Shopify catalog, will not be your LMS, will not guarantee results from a template, and will not silent-hop commenters to WhatsApp. Official Meta private reply after a matching comment. You wrote the sentence. Stand behind it.
FAQ
How do I sell digital products with comment-to-DM?
Teach a paid keyword, send checkout, collect email only if you will deliver by email, and disclose what they buy.
Should FREE and BUY be the same DM?
No. Split the keywords. Mixing a magnet and a checkout trains people to ignore both.
Can I attach the zip in the first DM?
Don’t rely on Instagram for large files. Send checkout or a fulfilment email you actually run.
What about refunds?
Human. Do not loop the checkout URL on unmatched “I want my money back” replies.
Do I need a new keyword per SKU?
Per offer you will honour. Two presets can share PRESETS if one checkout lists both. A course and a template should not share BUY.
Can CommentLink manage my Gumroad or Shopify catalog?
No catalog integration. You paste the checkout URL you already use.
They paid and the Drive folder is 404. Send checkout again?
No. Human. A second cart is how you look like a thief. Fulfilment is the shop’s job; the inbox is yours.
Can I teach BUY for a preset pack and a Notion kit on the same Reel?
Only if one checkout lists both and the caption said so. Otherwise two words, two pieces of media.
Will CommentLink email the zip after collect-email?
Only if you built that fulfilment. Collection is a string. Deliverability and the file are yours.
Related reading
Send the link in a private DM
Connect Instagram with Meta login and send a private DM when someone comments a keyword.
See comment-to-DM