sociallinks.dev

ブログ / ハウツー

きれいな状態を保てるインフルエンサーデータベースの作り方(スプレッドシートまたはCRM)

インフルエンサーリストの多くは手早く作ったスプレッドシートから始まり、四半期もたたないうちに混乱します。同じクリエイターが別々のハンドルで3回登場し、フォロワー数は1年前のまま、なぜ「保留」と書いてあるのか誰も覚えていません。このガイドでは、Google Sheets、Airtable、CRM、本格的なデータベースのいずれでも、成長しても使いやすさを保てるインフルエンサーデータベースの作り方を紹介します。1人につき1レコード、SNSアカウントは個別に保存、すべてのリンクを正規化し、各情報をいつどうやって知ったかを記録します。

まずデータベースの目的を決める

列を追加する前に、データベースで支えたい判断を1文で書きましょう。「スキンケアのキャンペーン向けにクリエイターを探し、誰に報酬を払ったかを管理する」と「市場調査のためにドイツのフィットネス系クリエイターをすべて洗い出す」では、設計が変わります。目的が決まれば、必要な項目、更新の頻度、集めないものが見えてきます。

誰が使い、何で絞り込むかも決めておきます。使う人が増えるほど編集ルールは厳しくする必要があり、絞り込みに使う項目(ジャンル、国、プラットフォーム、ステータス)は、自由記述ではなく決まった選択肢を持つ専用の列にします。

アカウントごとではなくクリエイターごとに1行

最も役に立つ設計上の判断は、人とアカウントを分けることです。たとえば「Maya Okafor」というクリエイターが、Instagramで@mayabakes、TikTokで@mayabakes_、YouTubeでMaya in the Kitchenというチャンネルを運営しているとします。それぞれを1行にすると、彼女に3回メールを送り、リーチを3回数えることになります。

表を2つ使いましょう(スプレッドシートなら2つのタブ、CRMなら2つのオブジェクト)。1人1行のcreators(クリエイター)と、SNSのプロフィールごとに1行のaccounts(アカウント)です。accountsの各行は、すべてのハンドルが変わっても変わらない固定のクリエイターIDを参照します。

creators表

列例メモ
creator_idCR-000142固定で、再利用しない。ハンドルをIDにしない。
display_nameMaya Okafor本人が公に名乗っている名前。
primary_nicheお菓子作り決まったリストから選ぶ。
countryGBISO 3166の2文字コードにすると絞り込みがぶれない。
business_emailhello@example.com仕事の問い合わせ用に公開されている場合のみ。
status連絡済み後述のパイプラインを参照。
ownerPriyaチーム内でその関係を担当する人。
updated_at2026-10-23ツールが対応していれば自動で設定する。

accounts表

列例メモ
account_idAC-000387アカウント行の固定ID。
creator_idCR-000142creators表とつなぐ。
platforminstagram決まったリスト:instagram、tiktok、youtube、xなど。
handlemayabakes正規化済み:小文字、@なし。
platform_user_idUCxxxxxxxxxxxxxxxxxxxxxx取得できる場合に。ハンドルが変わっても残る。
canonical_urlhttps://www.instagram.com/mayabakes/ハンドルから1つの決まった形式で作る。
followers48200「48.2K」ではなく数値で。
followers_as_of2026-10-20その数値を確認した日付。
link_confidencehighこのアカウントがこのクリエイターのものだという確信度。
link_evidence本人のYouTubeの概要ページからリンクありそう判断した理由。

CSVでインポートやエクスポートをするなら、途中で名前が変わらないよう、ヘッダーを列名とまったく同じにしておきます。

creators.csvとaccounts.csvのヘッダー

creator_id,display_name,primary_niche,country,languages,business_email,status,owner,notes,created_at,updated_at
account_id,creator_id,platform,handle,platform_user_id,canonical_url,followers,followers_as_of,link_confidence,link_evidence,source

プロフィールURLとハンドルをすべて正規化する

重複の多くは、1つのプロフィールが別々の書き方をされたものです。https://instagram.com/MayaBakes?igsh=abc123、instagram.com/mayabakes/、@mayabakesは1つのアカウントですが、スプレッドシートには3つの値に見えます。入力するたびに必ず正規化しましょう。

  1. Step 1空白を除いて小文字にする

    値の前後の空白を取り除き、小文字に変換します。Instagram、TikTok、Xのハンドルは大文字と小文字を区別しないので、MayaBakesとmayabakesは同じアカウントです。

  2. Step 2トラッキングなどの余分な部分を削る

    ?や#以降をすべて削り(共有リンクにはigsh、utm_source、is_from_webappなどのパラメータが付くことがよくあります)、末尾のスラッシュも取り除きます。

  3. Step 3ハンドルを取り出す

    ハンドルだけを取り出し、先頭の@を外してhandle列に保存します。プロフィールではなく投稿、リール、動画を指すリンク(たとえば/p/、/reel/、/video/)は受け付けないか、先に投稿者のプロフィールを調べます。

  4. Step 4正規URLを作り直す

    プラットフォームごとに1つの決まった形式で、ハンドルからURLを生成します。元の共有リンクを正規URLの列に貼り付けてはいけません。

  5. Step 5既存のレコードと照合する

    accounts表で同じプラットフォームとハンドル(またはプラットフォームのユーザーID)を検索します。すでにあれば、その行を更新します。

プラットフォーム整っていない入力ハンドル正規形
Instagramhttps://Instagram.com/MayaBakes/?igsh=abc123mayabakeshttps://www.instagram.com/mayabakes/
TikTokhttps://www.tiktok.com/@MayaBakes_?lang=enmayabakes_https://www.tiktok.com/@mayabakes_
Xhttps://twitter.com/MayaBakesmayabakeshttps://x.com/mayabakes
YouTubehttps://youtube.com/@MayaInTheKitchen/videos@mayainthekitchenhttps://www.youtube.com/@mayainthekitchen

YouTubeには特に注意が必要です。チャンネルには@ハンドル、恒久的なチャンネルIDを含む/channel/UC...のURL、古い/c/や/user/のURLのいずれからでもアクセスできます。チャンネルIDはハンドルが変わっても残るので、platform_user_idに保存し、YouTubeの行のキーとして扱いましょう。

Google Sheetsなら、InstagramとTikTokのハンドルの抽出を数式でできます。A列に元のリンクがある場合、次の数式は小文字のハンドルを返し、リンクが一致しなければ空欄を返します。

Google Sheets:InstagramやTikTokのURLからハンドルを取り出す

=IFERROR(LOWER(REGEXEXTRACT(A2, "(?i)instagram\.com/([a-z0-9._]+)")), "")
=IFERROR(LOWER(REGEXEXTRACT(A2, "(?i)tiktok\.com/@([a-z0-9._]+)")), "")

次の列で正規URLを作ります。たとえば="https://www.instagram.com/" & B2 & "/"です。Instagramの数式は投稿のリンクにも一致してpを返すので、p、reel、explore、storiesなどの値で絞り込み、その行は手で直しましょう。

重複を排除し、統合し、根拠を記録する

同じ人物、別のハンドル

MayaはInstagramでは@mayabakes、TikTokでは@mayabakes_なので、ハンドルだけで照合してもつながりません。アカウント同士を結びつける根拠を探しましょう。プロフィールのリンク、両方を載せたリンクインバイオのページやWebサイト、同じ仕事用メールアドレス、一方のアカウントがもう一方に言及していることなどです。一致を確認できたら、両方のアカウント行を同じcreator_idに紐づけます。

同じハンドル、別の人物

Instagramの@jordanrunsとXの@jordanrunsは、無関係の2人かもしれません。ハンドルの一致は確認すべき手がかりとして扱い、決して証拠とはみなさないでください。

2つのクリエイターレコードを統合するときは、次のようにします。

  1. 既存の参照が使えるよう、古いほうのcreator_idを残します。
  2. 重複側のアカウント行、メモ、案件をすべて残す側に移します。
  3. 古いエクスポートをたどれるよう、重複側のIDはすぐに削除せず、merged_into列(または小さな統合ログ)に残します。
  4. 値が食い違う場合は、日付が最も新しい値を残します。

すべてのリンクに根拠と確信度を記録する

人物とアカウントの結びつきは1つの主張であり、主張は間違うことがあります。1年後のチームメンバーは、なぜそのTikTokアカウントをMayaのものだと判断したのかを知る必要があります。各アカウント行にlink_confidenceとlink_evidenceの2列があれば足ります。

確信度根拠になるもの対応
高クリエイター本人が、認証済みまたは定着した別のプロフィールや自身のWebサイトからそのアカウントにリンクしている。アプローチとレポートに使う。
中名前、写真、ジャンルが同じで、リンクインバイオのページが一致するか相互に言及しているが、直接のリンクはない。使ってよいが、契約前に確認する。
低ハンドルや名前が似ているだけ。確認できるまでレポートから外す。

根拠は「本人っぽい」ではなく、「YouTubeの概要ページからリンクあり、2026-10-20に確認」のように、他の人が検証できる形で書きましょう。ツールで見つけた一致なら、そのスコアと理由を保存し、確信度の低い一致は自分でも確認します。

管理する項目、更新日、ステータス

フォロワー数やエンゲージメント、ハンドルさえも変わるので、指標の列にはすべて対応する_as_ofの日付を付けます。項目の種類ごとに更新ルールを決めましょう。

項目変わる頻度おすすめの更新タイミング
フォロワー数/チャンネル登録者数常にアプローチやレポートの前、そして検討中の候補なら毎月など決まった周期で。
エンゲージメント率や平均再生数投稿のたびにキャンペーンの候補に絞り込んだとき。計算方法も記録する。
ハンドルと正規URLときどきリンクが使えなくなったときと、指標を更新するたび。プラットフォームのユーザーIDが役立つ。
ジャンル、国、言語、メールまれに年に1〜2回。メールは毎回のアプローチの前に。
ステータスと案件の履歴やり取りのたびにその場で更新する。

レポートに使う項目は、上書きせずに小さなmetrics_history表(アカウントID、日付、フォロワー数、再生数)に追記していけば、成長を示せます。

シンプルなステータスのパイプラインを使う

短いリストのドロップダウンを使い、status_changed_atの日付を加えると、放置されたレコードが分かります。多くのチームで使えるパイプラインの例です。

ステータス意味
候補条件に合うが、まだ審査していない。
審査済みコンテンツ、オーディエンス、ブランドセーフティを確認済み。
連絡済み最初のメッセージを送った。
交渉中条件を話し合っている。
契約済み合意書に署名した。
公開中コンテンツが公開された。
完了納品と支払いが済んだ。
不適合/辞退理由を添えてクローズ。
連絡禁止連絡しないよう求められた。その希望を守るのに必要な情報だけを残す。

クリエイターデータのプライバシーの基本

クリエイターは人であり、すべての項目が公開プロフィールから得たものであっても、インフルエンサーデータベースは個人データの保管場所です。ここに書くのは一般的な情報で、法的助言ではありません。ご自身の状況については専門家に確認してください。EUと英国のGDPRやカリフォルニア州のCCPAを含む、多くのプライバシー法に共通する原則がいくつかあります。

スプレッドシート、CRM、データベース:移行のタイミング

選択肢向いている用途卒業のサイン
スプレッドシート小さなチームと数千人規模のクリエイター。IDでタブをつなぐのがつらくなる、または互いの編集を上書きしてしまう。
ノーコードのデータベース(Airtableなど)コードなしで、リンクされた表、ドロップダウン、ビューを使える。レコード数や自動化の上限に達する。
CRMチームでのアプローチ、メールの記録、タスク、案件の段階管理。独自の分析が必要になる、またはCRMが人とアカウントの分離に合わない。
SQLデータベース(Postgresなど)大規模なデータ、調査、アプリ、APIアクセス。卒業することはまれだが、保守する人が必要。

どれを選んでも、同じ2つの表とIDを使い続けましょう。そうすれば、後でCRMやデータベースに移るときも作り直しではなくインポートで済みます。

accounts表を速く埋める

accounts表を作るうえで最も時間がかかるのは、たいてい各クリエイターの別アカウントを探す作業です。sociallinks.devは、Instagram、TikTok、YouTube、XのプロフィールURLを1つ受け取り、そのクリエイターの他のプラットフォームのアカウントを、確信度スコアと一致ごとの根拠付きで返します。これは上のlink_confidence列とlink_evidence列にそのまま対応します。一括モードでは最大500件のプロフィールリンクを受け付け、スプレッドシートで返します。

よくある質問

インフルエンサーデータベースにはどんな列が必要ですか?

最低限、固定のクリエイターID、名前、ジャンル、国、連絡手段、ステータス、担当者を持つcreators表と、プラットフォーム、正規化したハンドル、正規URL、フォロワー数とその記録日を持つaccounts表です。アカウントの紐づけごとに確信度と根拠の列も加えましょう。

スプレッドシートでインフルエンサーの重複を防ぐには?

追加する前にすべてのプロフィールリンクを正規化します。小文字にし、クエリ文字列と末尾のスラッシュを削り、ハンドルを取り出して1つの正規URLを作り直します。そのうえで、行を追加する前にaccounts表で同じプラットフォームとハンドルを確認します。同じ人物が別のハンドルを使っている場合は、プロフィールのリンクなどの根拠に基づいて、アカウントを1つのクリエイターIDに紐づけます。

インフルエンサー管理にはスプレッドシートとCRMのどちらを使うべきですか?

IDを使い、クリエイターとアカウントのタブを分けていれば、小さなチームと数千人規模のクリエイターならスプレッドシートで十分です。チームでメールの記録や案件の段階を共有する必要が出たらCRMに、大規模な分析やAPIアクセスが必要ならデータベースに移りましょう。

フォロワー数はどのくらいの頻度で更新すべきですか?

アプローチやレポートの前に更新し、本格的に検討しているクリエイターについては毎月など定期的に更新します。数値の横には必ず日付を保存しましょう。「いつ時点」の日付がないフォロワー数は、レポートでは信頼できません。

インフルエンサーのデータを保存するのは合法ですか?

一般に、クリエイターの公開された仕事上の情報は保存できますが、GDPRやCCPAなどのプライバシー法は個人データとしてそれにも適用されます。通常は法的根拠が必要で、必要なものだけを集め、求められる場合は本人に知らせ、削除の請求に応じる必要があります。これは法的助言ではないので、自社に適用されるルールを確認してください。

クリエイターがハンドルを変えたらどうすればよいですか?

クリエイターIDとアカウントIDはそのままにし、既存のアカウント行のハンドルと正規URLを更新します。YouTubeのチャンネルIDなど、プラットフォームのユーザーIDを保存していれば、それで同じアカウントかどうかを確認できます。古いエクスポートの意味が通るよう、以前のハンドルを履歴の項目に残しておきましょう。

クリエイターのアカウントを探す