返信(自動?)キャンペーンをGASなどでやるために、仕様をドキュメントから調べてみました。
Instagramを使ったプレゼント企画やキャンペーンでよく見かけるのが「この投稿にコメントしてくれたらDMでクーポンを送ります」といった仕組みです。最近は生成AIや自動化ツールの話題とあわせて、「本当にInstagram公式APIでできるのか?」という疑問を持つ方も多いのではないでしょうか。そこで2025年8月時点のMeta公式ドキュメントを読み込み、実際の仕様や制約をまとめてみました。
とてもシンプルに考えてみると
- 自分の ビジネス/クリエイターアカウントの投稿 にコメントが付く
- Webhook
commentsでコメントIDと本文を受信 - 指定キーワードを含んでいれば処理を実行
- Private Reply API を使い、そのコメントに紐づけて1回だけDM送信(7日以内)
- ユーザーが返信すれば、以後は 24時間ウィンドウ内で通常DM が続けられる
👉 この「コメント起点 → Private Reply → その後の会話」の流れだけが、現時点で公式に許可されている自動DMパターンです。
コメントをトリガーにできるか?
結論から言えば、可能です。ただし対象は自分のアカウント(ビジネス/クリエイターアカウントに限る)の投稿のみ。Instagram Graph API の Comment Moderation 機能と Private Replies 機能を組み合わせる形になります。
- コメントの取得方法
- APIで定期的に
/media_id/commentsを叩く - または Webhook の
commentsイベントを購読する(推奨)
- APIで定期的に
Webhookで受信した場合は、コメント本文だけでなく「コメントID」「ユーザー名」「ユーザーのスコープID」などが含まれるので、より柔軟に処理できます。
自動DMの仕組み
ポイントは Private Replies という仕様です。
これは「ある投稿に付いたコメントに対して、そのコメントを書いたユーザーに一度だけ送れるDM」のことです。
- 送信可能回数:コメント1件につき1通のみ
- 有効期限:コメントが付いてから7日以内
- その後:ユーザーがDMに返信してきた場合、24時間の通常メッセージングウィンドウが開き、継続的にやり取りできる
つまり「コメント → 自動DM(クーポンや詳細案内) → ユーザーが返信 → 以後は通常DM」という流れを想定しています。広告や懸賞企画の定番パターンですね。
できないこと
- ストーリーのリポストを検知してDM
→ APIには「誰がリポストしたか」を取得する機能がありません。 - フォロー/フォロワーのID一覧取得
→ 数は取れますが、誰なのかリストは返りません。 - 無条件でのDM送信
→ きっかけ(コメント、DM、@メンション等)がなければ送れません。
つまり「ユーザーのアクションをトリガーにする」という原則が厳しく守られています。
実装の流れ(概要)
- Metaアプリを作成
Instagramビジネスアカウント+Facebookページを連携し、instagram_manage_messagesなどの権限を付与。 - Webhookサーバーを用意
commentsを購読し、コメントが付いたら即時通知を受け取る。 - コメントを解析
キーワード(例:「応募」「参加」)を含んでいるか判定。 - Private Replyを送信
/{PAGE-ID}/messagesにrecipient: { comment_id: ... }を渡してDMを送る。 - ユーザーが返信してきたら
通常のDM APIで24時間以内に会話を続ける。
GASでの自動化サンプル
Google Apps Script(GAS)をWebアプリ公開してWebhookの受け口にするのが手軽です。Webhook検証は doGet で hub.challenge を返し、doPost でコメントイベントを受信。条件を満たす場合には UrlFetchApp.fetch でGraph APIにPOSTし、Private Replyを送ります。
これで「コメントが来たら即DM」の流れを自前で組むことが可能です。
ただしMetaの審査を通す必要があるので、テストユーザーでの動作検証 → スクリーンキャスト提出、が実務では壁になります。
キャンペーン設計上の注意点
- DMは自動で送りっぱなしにせず、必ずユーザーの応答を促す
→ 応答があって初めて24時間のウィンドウが開く - 文面に「このメッセージは自動送信です」と明記する
→ 誤解を避け、スパム判定リスクを下げる - Webhookの冪等性管理
→ 同じコメントイベントが複数回飛んでくることがあるので、comment_idで重複排除
まとめ
- Instagram公式APIで「コメントをきっかけにDMを送る」ことは可能
- 制約:7日以内に1回だけ/その後は24時間ウィンドウ
- ストーリーのリポスト検知やフォロー一覧取得は不可
- GAS+Webhookで簡単な自動返信ボットを組める
Instagramを利用したキャンペーン設計は、利用規約や技術的な制限を理解しておくことが不可欠です。サードパーティ製ツールに頼るだけでなく、公式仕様を押さえた上で「どういうユーザー体験を設計するか」を考えるのが、今後のマーケティング施策の鍵になりそうです。