KOLens
全部文章
·KOLens 团队Watchlist自动刷新竞品监控

从 Facebook ad spy 到「达人间谍」:带自动刷新的 watchlist

Meta Ad Library 告诉你今天在跑什么广告。更难回答的问题——「自上次查看以来什么变了?」——才是一个带自动刷新的 watchlist 真正在解决的事。

为什么有这篇

搜「Facebook ad spy」的运营要的是一份循环的竞品检查,不是一份静态的广告库。 KOLens 不卖 Facebook 广告库,但底下那套模式——watchlist + 自动刷新 + delta 展示面——正是我们为 TikTok 达人合作发布的能力。同样的工作流,不同的平台。

「ad spy」到底解决什么

Meta Ad Library 展示此刻在跑的广告创意。这回答了「现在在跑什么?」, 但没回答「什么变了?」——而后者才是大多数竞品研究工作流真正在问的问题。 真正有用的那一步,是底下的循环任务:每天重新检查每一个广告主、存下快照, 下次人类打开仪表盘时只展示 delta。

这种循环检查的模式是可移植的。只要 (a) 平台公开每个实体的数据、 (b) 数据按人在意的时间尺度变化、(c) 轮询成本可控,就能用。TikTok 上的达人合作三项全中。

TikTok 版的同一套工作流

在 TikTok 上,「我的竞品在跑什么新广告?」对应的问题是: 「我的竞品在投哪些新赞助贴,通过哪些达人?」KOLens 的 watchlist 条目跟踪达人 (或者反过来用,跟踪一个竞品品牌的合作方)。每条目有一列 next_refresh_at;watchlist refresh 调度器每分钟 tick 一次, 挑出到期的条目,通过 Apify TikTok actor 重抓,写一条新的 KOLSnapshot,把计时器推后 24 小时。

三个被监控的竞品卡片,带 NEW 徽章,下方是 7 天刷新时间线,最底下一行展示「3 个监控广告主共 14 条新创意」
带自动刷新的 watchlist 长什么样:每个实体的卡片、上次刷新时间戳、一个「自上次查看以来新增」的 delta 条。

信号基于事实触发,不是关键词

Google Alerts 和大多数「ad spy」RSS 订阅在文本上匹配。一个跑在底层平台数据上的 watchlist 能做得更好——它知道真实的数字,所以它触发的信号是确定的, 不是模糊的:

  • rising_kol —— 粉丝增量越过增长检测器的阈值 (workspace 内可配)。
  • trending_video —— 单条视频的播放速度超过该达人 90 天基线。
  • new_sponsored —— 近 14 天至少一条 #ad / #sponsored 贴。
  • new_contact —— 加星后浮出来一个商务邮箱。
  • dormant —— >14 天没发帖。用来抓那些品牌合作结束后停更的达人。
  • no_outreach —— 你的 CRM 线程空着或者上次 >30 天前。Watchlist 在这种情况下会催你。

刷新循环具体怎么跑

  1. 调度器 tick —— API 进程里一个 in-process asyncio loop 每 60 秒醒一次。整个部署内单 owner(这个 loop 由 WATCHLIST_REFRESH_SCHEDULER_ENABLED 守门, 以便未来多副本部署可以选举出一个 owner)。
  2. 挑出到期条目 —— 一条索引查询:SELECT * FROM watchlist_entries WHERE next_refresh_at <= now(), 按每 tick 的上限(当前 20)截断,把 Apify 花费控制住。
  3. 提前扣 credits —— 每个 handle 的 helper 通过共享的 charge_for_scrape 计费路径扣费。Apify 失败时自动退款。
  4. Apify 重抓 —— 对这个 handle 跑 clockworks/tiktok-scraper actor, 默认 max_videos=10。结果落入 DBAuthor + DBVideo,URL 是新鲜的。
  5. 写一条快照 —— 在 KOLSnapshot 里写一行,含粉丝数、平均播放、互动率。 增长检测器下个 tick 读这条,越过阈值就触发预警。
  6. 推后计时器 —— next_refresh_at = now() + 24h。这条目从挑选窗口里掉出去直到明天。

成本算给你看

一次刷新 = 一次 Apify actor run = 1 个 credit(默认 max_videos=10)。30 条目的 watchlist 每天全刷一次 = 30 credits/天,约 900/月。按当前 $0.01/credit,一份 100% 监控、30 个 handle 的竞品列表是 $9/月。相对它替代掉的运营工时来说很便宜——而且开销有上限, 因为调度器每分钟最多挑 20 条目,不管列表有多大。

什么时候不该用这个

  • 你真的需要 Meta 付费广告创意(Facebook 信息流里跑的展示广告 / 视频广告)。直接用 Meta Ad Library—— KOLens 不接入。
  • 你需要 实时(分钟级,不是 24 小时)的预警。 Watchlist 刷新节奏是每天;按事件触发的逻辑由 alerts/webhook 子系统负责(它在增长预警计算出来时触发),但只针对已经在 watchlist 上的 handle。
  • 你只想 一次性 关心一个达人(外联前的尽调)。 用 dossier 页面(/k/{handle})—— 没有 watchlist 的刷新成本,从缓存数据渲染。

怎么搭一个

把一个竞品品牌的 TikTok handle 丢进 dossier,点开「合作达人」标签, 给你想跟踪的 handle 加星。或者跳过品牌、直接把达人 handle 贴进 /watchlist/add。无论哪种方式,每个条目的 next_refresh_at 都被设置成「现在」,所以第一次刷新会在下一个 scheduler tick 触发。周一早上回来看;那些挂着鲜亮信号徽章的行, 就是周末真正动过的。

准备好了?

立即试用 —— 注册即送 50 credits。

打开你的 watchlist

常见问题

KOLens 有 Facebook Ad Library 的对标产品吗?
Facebook 本身没有——KOLens 聚焦在 TikTok / Instagram / X / 抖音。我们具备的是 ad-spy 工具普及起来的那种工作流形态:监控一组竞品、自动刷新、只展示 delta。我们把这套用在达人合作上(TikTok 品牌如今在这里投钱,而不是纯粹买信息流广告),而不是用在信息流广告创意上。
Watchlist 多久自动刷新一次?
默认每条目每 24 小时一次。调度器挑出 next_refresh_at 已过的行,通过 Apify 流水线重抓,写一条新的 KOLSnapshot,跑增长检测器,把 next_refresh_at 推后 24 小时。如果你想让某些广告主刷得更勤,可以按 watchlist 单独设置节奏。
刷新时什么算「新」?
你打开 watchlist 时会计算六类信号:rising_kol 和 trending_video 来自增长检测器,dormant 表示 >14 天没更新,new_sponsored 表示近 14 天有 is_ad / is_sponsored 贴出现,new_contact 表示加星后才浮出来的邮箱,no_outreach 表示 CRM 会话空着或 >30 天没动。带高严重度信号的行自动排到最上面。
怎么把竞品品牌加进 watchlist?
两种方式:直接按 handle 加(把达人 URL 贴进 /watchlist/add),或者反过来从竞品入手——把竞品 TikTok handle 丢进 dossier,调出「谁跟他合作」的列表,给你想跟踪的合作方加星。Watchlist 行是长期观察岗位;dossier 是一次性查询。
和设置 Google Alert 有什么区别?
Google Alerts 在文本匹配上触发——对追新闻有用,对「某达人今早是不是又挂了 TikTok Shop 链接」无用。Watchlist 跑在真实平台数据上:播放量、粉丝增量、赞助比例、联系方式元数据、最近发帖时间。信号基于事实触发,不是关键词。

继续阅读

从 Facebook ad spy 到「达人间谍」:带自动刷新的 watchlist · KOLens | KOLens