誰かがあなたの商品の写真をInstagramに投稿します。キャプションに商品名を書き、ハッシュタグをいくつか付けますが、あなたのアカウントはタグ付けしません。通知は届きません。ダッシュボード上では、その投稿は存在しなかったのと同じです。
これが、Instagramでブランドのメンションを調べるときの根本的な問題です。通知で知らされるメンションは少数派です。残りはキャプションやハッシュタグの中にあり、自分で探しに行く必要があります。
このガイドでは、両方の探し方を解説します。Instagramに用意されている手動の方法とその限界、そしてメンションAPIで検索を自動化する方法です。ブランドやマーケティングのチーム、自社ツールにモニタリング機能を組み込みたい開発者、そしてスポンサー案件を提案する前に、すでに話題になっているブランドを知りたいクリエイターに向けて書いています。
Instagramで「ブランドメンション」に含まれるもの
メンションとは、そのブランドに触れている公開投稿のことです。実際には3種類に分かれ、それぞれ見つけ方が異なります。
| メンションの種類 | 例 | 見つけ方 |
|---|---|---|
| タグ付けまたは@メンション | @yourbrand をタグ付けした投稿 | 通知とプロフィールのタグ付けされた投稿 |
| ハッシュタグ | #yourbrand を使ったキャプション | ハッシュタグのページ、またはハッシュタグ検索 |
| タグなしのテキスト | 「Yourbrandの新しいオーツラテをやっと飲んでみた」 | キャプション本文のフレーズ検索 |
1つ目は最も見つけやすく、最も少ない種類です。3つ目は最も見つけにくく、多くの場合いちばん正直な声です。タグ付けしない人は、あなたに見せるために投稿しているわけではないからです。
手動での方法:Instagramで確認できること
どの機能が何をカバーしているかを理解していれば、アプリだけでも意外と多くのことがわかります。
通知
誰かがあなたのアカウントをタグ付けしたり@メンションしたりすると、通知が届きます。すばやく返信したりコンテンツをシェアしたりするには便利ですが、対象はあなたのアカウントが直接関わるアクティビティだけです。リンクせずにあなたの名前を書いたキャプションでは、通知は届きません。
プロフィールのタグ付けタブ
あるアカウントをタグ付けした投稿は、そのプロフィールのタグ付けされた投稿のセクションに集まります。誰がそのブランドをタグ付けしているかをすばやく確認でき、自分のプロフィールだけでなく、どの公開プロフィールでも使えます。そのため、競合や一緒に仕事をしたいブランドを最初にチェックするのに便利です。
ハッシュタグのページ
ハッシュタグを検索すると、Instagramはそのハッシュタグを使った投稿を表示します。ブランドハッシュタグ、キャンペーンハッシュタグ、そしてブランド名そのものをタグにしたものを確認しましょう。ブランド名は人気のハッシュタグになりやすいので、たまたま同じ言葉を使った無関係な投稿が混ざることを想定しておいてください。
手動での追跡が限界を迎えるところ
- タグなしのキャプションは見えません。 商品名を書いただけのキャプションには、通知もタブもありません。
- 規模を広げられません。 ハンドル名、ハッシュタグ3つ、商品名2つを毎日チェックするのは、1ブランドでも手間で、複数のクライアントを抱えていれば不可能です。
- 何も記録されません。 見えるのはフィードであって、データセットではありません。エクスポートも履歴もなく、週ごとに比較できる件数もありません。
- 競合を調べるには同じ手間がもう一度かかります。 チェックするブランドが増えるたびに、手作業も増えていきます。
小規模なブランドを1つだけ追跡していて、主にタグ付けを気にしているなら、手動でも十分です。タグなしのメンション、複数のブランド、報告できる数字が必要になったら、自動で動く検索が必要です。
自動化する方法:ハッシュタグ、タグ付け、フレーズの検索
メンション追跡ツールは、同じ3種類の調べ方をまとめて実行し、構造化された結果を返します。姉妹サービスのMonitor Mentionsは、まさにこのために作られています。ハンドル名、ハッシュタグ、フレーズを渡すと、次の検索を実行します。
- ハンドル名では3つの検索が追加されます。アカウントの照会、ハンドル名をハッシュタグとした検索、そしてそのアカウントのタグ付けタブです。
- 1語のワードはハッシュタグとして検索されます。
- 2語以上のワードはフレーズとして検索されます。これが、タグ付けせずにブランドについて書いている投稿を拾う方法です。
各投稿は、投稿者、日付、キャプション、いいね数、そして一致した検索とともに返されます。最後の項目は見た目以上に重要です。誰かが意図的にハッシュタグを付けた投稿と、たまたまその言葉を含むキャプションとでは証拠としての意味が異なり、重み付けを変えたくなるはずです。
まずはブラウザで試せます。1日の最初の実行は登録不要で無料で、結果はCSVまたはJSONでダウンロードできます。
ステップ1:検索ワードのリストを作る
良い結果は、人々が実際に使う言葉から始まります。ブランドごとに次のものを書き出しましょう。
- Instagramのハンドル名(ある場合)。
- ブランドハッシュタグとキャンペーンハッシュタグ。
- 商品名、特に複数語のもの。
- 人々が引用するキャンペーンのスローガンやキャッチコピー。
- 創業者がブランドの顔になっている場合は、その名前。
ハンドル名はなくても構いません。空欄にしてハッシュタグとフレーズだけで検索すれば、商品、キャンペーンのフレーズ、イベント、人物を追跡できます。
ステップ2:APIキーを取得する
Monitor Mentionsのダッシュボードにサインインして、キーを作成します。キーは mm_mon_ で始まり、一度しか表示されないので、環境変数など安全な場所に保管してください。キーは Authorization: Bearer ヘッダーまたは x-api-key ヘッダーのどちらでも送れます。
ステップ3:メンション検索を実行する
APIはエンドポイント1つだけです:POST /api/v1/mentions/search。ハンドル名、1つ以上のワード、またはその両方を送ります。APIドキュメントにある例は次のとおりです。
curl -X POST https://www.monitormentions.com/api/v1/mentions/search \
-H "Authorization: Bearer $MM_KEY" \
-H "Content-Type: application/json" \
-d '{"handle": "liquiddeath", "keywords": ["murder your thirst", "deathwish"]}'
リクエストボディには、省略可能な3つのフィールドがあります。
| フィールド | 型 | 役割 |
|---|---|---|
| handle | string | Instagramのハンドル名(@の有無は問いません)、またはプロフィールURL。照会、そのハッシュタグ、そのタグ付けタブを追加します。 |
| keywords | string[] or string | 単語やフレーズ。1語はハッシュタグとして、2語以上はフレーズとして検索されます。カンマ区切りの文字列も使えます。 |
| hashtags | string[] | 常にハッシュタグとして検索されます。スペースは削除されます。 |
1回の呼び出しで送れるワードは最大5つです。それ以上を追跡するには、呼び出しを増やします。
同じリクエストをPythonで書くと次のようになります。
import os
import requests
resp = requests.post(
"https://www.monitormentions.com/api/v1/mentions/search",
headers={"Authorization": f"Bearer {os.environ['MM_KEY']}"},
json={"handle": "liquiddeath", "keywords": ["murder your thirst", "deathwish"]},
timeout=120,
)
resp.raise_for_status()
data = resp.json()
for post in data["posts"]:
found = post["found_by"]
print(post["author"], post["url"], found["method"], found["term"])
for miss in data["failed"]:
print("failed:", miss["method"], miss["term"])
ステップ4:レスポンスを読む
レスポンスは、必要な情報をいくつかのブロックにまとめています。
- entity と account:問い合わせたハンドル名と、そのプロフィール情報(名前、フォロワー数、認証済みかどうかなど)。
- credits:この呼び出しで消費したクレジット数、残りのクレジット数、毎月の上限。
- summary:投稿数、クリエイター数、動画数、最新と最古の投稿、ワードごとの投稿数。
- posts:投稿ごとに1件のエントリで、id、url、author、caption、thumbnail、is_video、taken_at、likes、comments、found_by を含みます。
- failed:結果が返ってこなかった検索と、その method と term。
これをもとに開発する前に知っておきたい点がいくつかあります。
- found_by には hashtag、tagged、phrase のいずれかの method と、一致した term が入ります。2つの検索で見つかった投稿は、最初に見つけた検索の下に1回だけ返されます。
- サムネイルは期限切れになります。 InstagramからのURLなので、後で必要なら画像をダウンロードして保存してください。
- likes と comments はInstagramが報告した件数で、非表示の場合は null になります。
- リーチや感情分析のフィールドはありません。 summary が数えるのは投稿数、アカウント数、ワードごとの投稿数だけです。このサービスはどちらも測定していないためです。レポートにリーチが必要なら、自分で定義して計算する必要があります。
ステップ5:定期的に実行して履歴を残す
Monitor Mentionsの検索は、検索ごとにInstagramが返すものを返します。これは過去の履歴ではなく最近の投稿が中心で、ワードによって異なります。過去分の取り込みはありません。実務上の結論は、履歴は追跡を始めた日から始まるということです。必要になる前に始めましょう。
多くのチームで使えるシンプルな構成は次のとおりです。
- 毎日のジョブが、ブランドごとにハンドル名とワードを付けて検索エンドポイントを1回呼び出します。
- 新しい投稿をデータベースに保存します。重複してカウントしないよう、投稿の id をキーにします。
- サムネイルを自分のストレージにコピーします。
- ワードごとの件数を週ごとにグラフ化し、新しい投稿はSlack、スプレッドシート、またはデータウェアハウスに送ります。
代理店なら、毎朝クライアントごとに1回呼び出し、その結果をすでに送っているレポートに流し込めます。同じUTCの日に同じ検索を再実行するのは無料なので、日中に更新しても追加料金はかかりません。
残高は GET /api/v1/mentions/usage でいつでも確認できます。これは無料で、plan、monthly、used、remaining、resets_on を返します。すべての検索レスポンスには x-credits-remaining ヘッダーも付きます。
料金
料金は検索1回につき1クレジットで、送信前に実行される検索が一覧表示されます。
| 検索 | クレジット |
|---|---|
| ハンドル名(アカウントの照会、そのハッシュタグ、そのタグ付けタブ) | 3 |
| キーワードまたはハッシュタグ1つごと | 1 |
| 同じUTCの日に同じ検索を再実行 | 無料 |
つまり、ハンドル名とキーワード2つなら5クレジットで、WebページでもAPIでも同じです。存在しないハンドル名は照会分の1クレジットがかかり、ほかの検索は実行されません。上流で失敗した検索もカウントされ、レスポンスの failed に表示されます。
APIのプランは料金ページのとおりです。
| プラン | 料金 | 月間クレジット | 目安 |
|---|---|---|---|
| Free | $0 | 100 | カード不要 |
| Starter | $19/月 | 2,500 | フル検索約400回 |
| Growth | $79/月 | 12,000 | フル検索約2,000回 |
| Scale | $249/月 | 50,000 | フル検索約8,000回 |
クレジットは毎月1日(UTC)にリセットされます。Webでは、無料のGoogleサインインで1日20ポイントがもらえます。これはAPIクレジットとは別枠です。
対処すべきエラー
エラーはすべて {"error": "...", "status": 400} という形式のJSONです。想定しておくべきものは次のとおりです。
| ステータス | 意味 |
|---|---|
| 400 | 検索対象がない、ハンドル名が不正、またはワードが5つを超えている。どれに該当するかはメッセージに表示されます。 |
| 401 | キーがない、無効、または取り消されている。 |
| 404 | そのハンドル名がInstagramに存在しない。照会分の1クレジットがかかります。 |
| 429 | 今月の残りクレジットがこの検索に足りない。課金はされません。 |
| 502 / 503 | 上流または台帳が応答しなかった。少し待ってから再試行してください。 |
502と503は短い間隔を空けて再試行してください。429はループで再試行するものではなく、リセットまで止めるか、プランをアップグレードする合図として扱いましょう。
クリエイター向け:提案する前にブランドを見つける
YouTube動画を作っているなら、同じ検索でスポンサー案件の疑問に答えられます。自分のジャンルでどのブランドが話題になっていて、誰が話題にしているのか、です。すべての投稿に投稿者が付いているので、ブランドのハンドル名と商品名で検索すれば、すでにそのブランドについて投稿しているクリエイターがわかります。そこから、そのブランドが自分と同じ規模のクリエイターと組んでいるか、どんなコンテンツが作られているか、人々が実際にどのキャンペーンのフレーズを繰り返しているかがわかります。
提案内容の妥当性を確かめる方法としても使えます。キャンペーンハッシュタグの投稿は多いのにスローガンがキャプションにほとんど出てこなければ、どちらがオーディエンスに響いているかがわかります。スポンサー収入をほかの収入源とどう組み合わせるかは、YouTubeで収益化する方法のガイドで解説しています。
キャプション検索では埋められない穴
テキストを読むツールには共通の限界があり、Monitor Mentionsもそれをはっきり書いています。読むのはキャプションとハッシュタグで、音声は読みません。誰かがブランド名を口にしていても文字で書いていないリールは検出されず、動画の画面上にだけ表示される名前も同様です。
動画の場合、本当のメンションは話し言葉の中にあることがよくあります。それを担うのが文字起こしです。YouTube動画の中のブランドメンションを追跡するなら、文字起こしによって話されたブランド名がすべて検索可能なテキストになります。私たちのAPIはYouTube動画の文字起こしを返すので、キャプションと同じ方法で検索できます。
クイックチェックリスト
- ブランドごとにハンドル名、ハッシュタグ、商品名、スローガンを書き出す。
- Instagram標準の通知、タグ付けタブ、ハッシュタグのページで基準を把握する。
- 複数語の名前やスローガンをフレーズ検索して、タグなしのメンションを見つける。
- 各投稿を見つけた method と term を残す。
- 検索を定期的に実行し、投稿の id で重複を除き、サムネイルは自分で保存する。
- キャプションは音声ではないことを忘れない。話し言葉のメンションには文字起こしが必要。
よくある質問
Instagramはブランドへのメンションをすべて通知してくれますか?+
いいえ。通知されるのは、@メンションやタグ付けなど、あなたのアカウントが直接関わるアクティビティだけです。リンクせずにブランド名を書いたキャプションや、タグ付けなしで使われたハッシュタグは通知に届かず、実はそれがメンションの大半を占めることもよくあります。
自分が所有していないブランドのメンションも調べられますか?+
はい。ハッシュタグのページ、公開プロフィールのタグ付けされた投稿、フレーズ検索はいずれも公開コンテンツが対象なので、競合や一緒に仕事をしたいブランドもチェックできます。Monitor Mentionsは、検索にアカウントの所有は一切不要だと明記しています。
タグ付けせずにブランドに言及している投稿はどう見つけますか?+
ハンドル名だけでなく、人々が実際に使う言葉で検索します。商品名、スローガン、キャンペーンのフレーズをフレーズ検索すると、ブランド名は書いているのにタグ付けしていないキャプションが見つかります。ハンドル名だけの設定では、これらをすべて見逃します。
Instagramのブランドメンション用のAPIはありますか?+
Monitor Mentionsには POST /api/v1/mentions/search というエンドポイントが1つあり、ハンドル名、キーワード、ハッシュタグを受け取って、一致する公開投稿を、それぞれを見つけた検索の情報付きで返します。無料のキーには毎月100クレジットが含まれます。
メンション追跡ツールはリールの中で口頭で言われたブランド名も拾えますか?+
通常は拾えません。Monitor Mentionsが読むのはキャプションとハッシュタグで、音声は読みません。そのため、ブランド名を口にしているのに文字で書いていないリールは検出されません。話し言葉のメンションには動画の文字起こしが必要です。
Instagramのメンションはどこまでさかのぼって検索できますか?+
Monitor Mentionsでは、検索ごとにInstagramが返す範囲までです。これは過去の履歴ではなく最近の投稿が中心で、ワードによって異なります。過去分の取り込みはないため、履歴が必要になる前に追跡を始めてください。