sociallinks.dev

博客 / 操作指南

如何建立一个始终整洁的达人数据库(表格或 CRM)

大多数达人名单一开始只是一张随手做的表格,不到一个季度就乱成一团:同一位创作者用不同账号名出现了三次,粉丝数是一年前的,没人记得某一行为什么写着“待定”。本指南教你建立一个随规模增长仍然好用的达人数据库,无论用 Google Sheets、Airtable、CRM 还是真正的数据库:每人一条记录,每个社交账号单独存放,每个链接都经过规范化,并记下每条信息是何时、如何得到的。

先想清楚数据库的用途

在添加任何一列之前,先用一句话写下这个数据库要支持哪些决策。“为我们的护肤品活动寻找创作者,并记录付费给了谁”和“为一项市场研究梳理德国所有健身创作者”会得出完全不同的设计。用途决定了你需要哪些字段、多久更新一次,以及哪些东西不该收集。

还要决定谁会使用它,以及你会按什么筛选。用的人越多,编辑规则就要越严格;凡是要用来筛选的内容(领域、国家、平台、状态)都需要单独一列,并使用固定的可选值,而不是自由填写。

每位创作者一行,而不是每个账号一行

最有用的设计决策,是把人和其账号分开。像“Maya Okafor”这样的创作者,可能在 Instagram 上运营 @mayabakes,在 TikTok 上运营 @mayabakes_,还有一个叫 Maya in the Kitchen 的 YouTube 频道。如果每个账号都是一行,你就会给她发三封邮件,并把她的覆盖面算三次。

使用两张表(表格里的两个标签页,或 CRM 里的两个对象):创作者表,每人一行;账号表,每个社交主页一行,并指向一个稳定的创作者 ID。这个 ID 永远不变,即使所有账号名都改了。

创作者表

列示例说明
creator_idCR-000142稳定,永不复用。不要用账号名当 ID。
display_nameMaya Okafor对方公开展示的名字。
primary_niche烘焙从固定列表中选择。
countryGB用 ISO 3166 两位字母代码,筛选更一致。
business_emailhello@example.com仅限对方公开用于商务咨询的邮箱。
status已联系见下文的流程状态部分。
ownerPriya团队中负责维护这段关系的人。
updated_at2026-10-23工具支持的话就自动填写。

账号表

列示例说明
account_idAC-000387账号这一行的稳定 ID。
creator_idCR-000142关联到创作者表。
platforminstagram固定列表:instagram、tiktok、youtube、x 等。
handlemayabakes规范化:小写,不带 @。
platform_user_idUCxxxxxxxxxxxxxxxxxxxxxx能拿到就记。账号名变了它也不变。
canonical_urlhttps://www.instagram.com/mayabakes/由账号名按一种固定格式生成。
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

规范化每个主页链接和账号名

大多数重复记录其实是同一个主页的不同写法。https://instagram.com/MayaBakes?igsh=abc123、instagram.com/mayabakes/ 和 @mayabakes 是同一个账号,但表格会把它们当成三个值。每次录入时都要做规范化。

  1. Step 1去空格并转小写

    去掉值前后的空格,并全部转成小写。Instagram、TikTok 和 X 的账号名不区分大小写,所以 MayaBakes 和 mayabakes 是同一个账号。

  2. Step 2去掉追踪参数和多余部分

    删掉 ? 或 # 之后的所有内容(分享链接常常带有 igsh、utm_source 或 is_from_webapp 之类的参数),并去掉结尾的斜杠。

  3. Step 3提取账号名

    只取出账号名,并去掉开头的 @,存入 handle 列。如果链接指向的是帖子、Reel 或视频(例如 /p/、/reel/ 或 /video/)而不是主页,就拒绝录入,或者先查到作者的主页。

  4. Step 4重建规范链接

    按每个平台的一种固定格式,由账号名生成链接。不要把原始分享链接粘贴到规范链接那一列。

  5. Step 5检查是否已有记录

    在账号表中搜索相同的平台和账号名(或平台用户 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... 链接,或旧式的 /c/ 和 /user/ 链接访问。频道 ID 在改名后依然不变,所以把它存进 platform_user_id,并作为 YouTube 记录的主键。

在 Google Sheets 中,可以用公式提取 Instagram 和 TikTok 账号名。把原始链接放在 A 列,下面的公式会返回小写的账号名;链接不匹配时返回空白:

Google Sheets:从 Instagram 或 TikTok 链接提取账号名

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

在下一列生成规范链接,例如 ="https://www.instagram.com/" & B2 & "/"。Instagram 的公式也会匹配帖子链接并返回 p,所以要筛选出 p、reel、explore 和 stories 这类值,手动修正这些行。

去重、合并并记录证据

同一个人,不同账号名

Maya 在 Instagram 上是 @mayabakes,在 TikTok 上是 @mayabakes_,所以只按账号名匹配是连不起来的。要找能把这些账号联系在一起的证据:简介里的链接、同时列出两个账号的 link-in-bio 页面或网站、相同的商务邮箱,或者一个账号提到了另一个。确认匹配后,把两条账号记录都关联到同一个 creator_id。

同一个账号名,不同的人

Instagram 上的 @jordanruns 和 X 上的 @jordanruns 可能是两个毫不相干的人。账号名相同只是需要核查的线索,绝不是证据。

真正合并两条创作者记录时:

  1. 保留较早的 creator_id,这样已有的引用仍然有效。
  2. 把重复记录上的所有账号行、备注和合作都移到保留的记录上。
  3. 不要直接删除重复的 ID,而是把它记在 merged_into 列(或一份简单的合并日志)里,方便追溯旧的导出文件。
  4. 遇到冲突时,保留日期最新的值。

为每个账号关联记录证据和置信度

人和账号之间的关联是一种判断,而判断会出错。一年后的同事需要知道,你当初为什么认为那个 TikTok 账号是 Maya 的。每条账号记录加两列就够了:link_confidence 和 link_evidence。

置信度什么算证据怎么做
高创作者从另一个已认证或成熟的主页,或从自己的网站链接到这个账号。可用于外联和报告。
中名字、头像和领域相同,并有匹配的 link-in-bio 页面或互相提及,但没有直接链接。可以使用,但签约前要核实。
低只有账号名或名字相似。确认之前不要放进报告。

写下别人也能核查的证据,例如“YouTube 简介页有链接,2026-10-20 核实”,而不是“看起来像她”。如果是工具找到的匹配,就记下它给出的分数和理由,低置信度的匹配仍要自己复核。

要记录的字段、更新日期和状态

粉丝数、互动甚至账号名都会变,所以每个数据列都要配一个对应的 _as_of 日期。为每类字段设定更新规则:

字段变化频率建议更新方式
粉丝数 / 订阅数随时在变每次外联或出报告前更新,对正在跟进的候选人按固定周期(例如每月)更新。
互动率或平均播放量每发一条帖子都会变把创作者列入活动候选名单时更新,并记录计算方法。
账号名和规范链接偶尔链接失效时更新,每次更新数据时也检查一下。平台用户 ID 在这里很有帮助。
领域、国家、语言、邮箱很少每年一到两次;每轮外联前检查邮箱。
状态和合作历史每次互动都会变发生时立即更新。

对于要出报告的字段,不要直接覆盖,而是追加到一张小的 metrics_history 表(账号 ID、日期、粉丝数、播放量)里,这样就能展示增长。

使用简单的流程状态

用下拉菜单配一份简短的列表,再加一个 status_changed_at 日期,方便发现长期没动的记录。下面这套流程适合大多数团队:

状态含义
候选符合需求,尚未审核。
已审核内容、受众和品牌安全已检查。
已联系已发出第一条消息。
沟通中正在商谈条款。
已签约协议已签署。
已上线内容已发布。
已完成已交付并付款。
不合适 / 已拒绝已关闭,并注明原因。
请勿联系对方要求不再联系。只保留履行这一要求所需的信息。

创作者数据的隐私基础

创作者是真实的人。即使每个字段都来自公开主页,达人数据库仍然是一个个人数据库。以下是一般性信息,不构成法律建议;具体情况请咨询你自己的法律顾问。大多数隐私法规(包括欧盟和英国的 GDPR 以及加州的 CCPA)下都适用以下几条原则:

表格、CRM 还是数据库:何时迁移

方案适合已经不够用的信号
表格小团队,几千位创作者。按 ID 关联标签页越来越痛苦,或者大家互相覆盖修改。
无代码数据库(Airtable 等)不写代码也能用关联表、下拉菜单和视图。碰到记录数或自动化的上限。
CRM团队的外联、邮件记录、任务和合作阶段。你需要自定义分析,或者 CRM 很难支持人和账号分开的结构。
SQL 数据库(Postgres 等)大型数据集、研究、应用和 API 访问。很少会不够用,但需要有人维护。

无论选哪种,都保留同样的两张表和 ID。这样以后迁移到 CRM 或数据库只是一次导入,而不是推倒重来。

更快地填好账号表

找到每位创作者的其他账号,通常是建立账号表最慢的一步。sociallinks.dev 接收一个 Instagram、TikTok、YouTube 或 X 主页链接,返回该创作者在其他平台上的账号,并为每个匹配给出置信度分数和证据,可以直接对应上文的 link_confidence 和 link_evidence 列。它的批量模式一次最多接收 500 个主页链接,并返回一份表格。

常见问题

达人数据库应该有哪些列?

至少要有一张创作者表,包含稳定的创作者 ID、名字、领域、国家、联系方式、状态和负责人;再加一张账号表,包含平台、规范化的账号名、规范链接、粉丝数以及记录日期。每个账号关联再加上置信度和证据两列。

怎样避免表格里出现重复的达人?

每个主页链接在录入前都先规范化:转小写,去掉查询参数和结尾斜杠,提取账号名,再重建一个规范链接。插入新行之前,在账号表里查一下有没有相同的平台和账号名。对于同一个人用不同账号名的情况,根据简介链接等证据,把这些账号关联到同一个创作者 ID。

管理达人该用表格还是 CRM?

小团队、几千位创作者,用表格就够了,只要使用 ID,并把创作者和账号分成不同的标签页。当团队需要共享邮件记录和合作阶段时迁移到 CRM;需要大规模分析或 API 访问时用数据库。

粉丝数应该多久更新一次?

每次外联或出报告前更新,对正在认真考虑的创作者按固定周期(例如每月)更新。数字旁边一定要记下日期。没有“截至”日期的粉丝数,在报告里是不可信的。

保存达人的数据合法吗?

一般来说,你可以保存创作者公开的职业信息,但 GDPR 和 CCPA 等隐私法规仍把它当作个人数据。你通常需要合法依据,只收集需要的信息,在规定情况下告知对方,并响应删除请求。这不是法律建议,请核查适用于你业务的规定。

创作者改了账号名怎么办?

保持创作者 ID 和账号 ID 不变,在原有的账号行上更新账号名和规范链接。如果你保存了平台的用户 ID(例如 YouTube 频道 ID),用它确认是同一个账号。在历史字段里记下旧账号名,这样旧的导出文件依然看得懂。

查找创作者的账号