广告库周度差异分析 是做什么的?
从公开广告库中提取每个竞争对手当前可见的广告,与上周的快照进行比较,并撰写一份简短的报告,说明新增内容、已停止内容以及新广告的传播要点。
公开广告库能告诉你什么,不能告诉你什么
在每份报告中声明这些限制。不要让读者过度推断。
- 公开广告库不显示普通商业广告的支出、曝光量或转化数据。Google仅针对选举广告发布支出和曝光量范围;Meta仅对部分欧盟投放广告和政客广告展示触达细分数据;LinkedIn仅对部分广告展示曝光量和定向信息。切勿根据广告数量估算预算或效果。
- “不在库中”不等于“未投放广告”:广告库按国家范围划分,可能滞后一天或更长时间。
- TikTok的广告库仅覆盖在欧盟/欧洲经济区、英国和瑞士展示的广告。在这些国家之外,请说“TikTok:未覆盖”——不要报告为零广告。
- 广告的首次/最后展示日期为日历日,而非精确时间。
首先收集的输入
- 竞争对手:品牌名称,如果已知还需要其Meta页面URL、Google广告客户名称和LinkedIn公司名称。
- 国家(两位字母代码)。默认值:
US。如果涉及TikTok,请添加一个欧盟/英国国家,例如GB或DE。 - 快照文件路径。默认值:工作目录中的
ad-library-snapshot.json。 - 是否拉取新广告的详细信息和文案(消耗更多积分,但报告更优质)。
积分估算——运行前展示
每个竞争对手、每个国家:
| 步骤 | 端点 | 积分 |
|---|---|---|
| 查找Meta页面 | /v1/ad-library/facebook/search-companies | 2 |
| Meta广告 | /v1/ad-library/facebook/company-ads | 2 |
| 查找Google广告客户 | /v1/ad-library/google/advertiser-search | 1 |
| Google广告 | /v1/ad-library/google/company-ads | 2 |
| LinkedIn广告 | /v1/ad-library/linkedin/search-ads | 2 |
| TikTok广告(仅欧盟/欧洲经济区/英国/瑞士) | /v1/ad-library/tiktok/search | 2(备用路径最多5) |
即每个竞争对手每个国家约11积分(TikTok未覆盖时为9积分)。通过将页面ID和广告客户ID保存在快照中,后续运行可跳过查找步骤。
可选,仅针对新广告:详细信息(.../ad-details,每项2积分)和Meta广告文案(/v1/ad-library/facebook/ad-transcript,每项2积分)。对这些进行上限限制——例如每个竞争对手5条新广告——并在估算中说明。
打印估算值(竞争对手数 × 国家数 × 11,加上详情上限),并通过 GET /v1/account/balance(免费)检查余额。在消费前要求用户确认。
如何调用Captapi
两种方式均可;使用环境中可用的方式。
- MCP: 以端点命名的工具,例如
facebook_ad_library_company_ads、google_ad_library_company_ads、linkedin_ad_library_search_ads、tiktok_ad_library_search。 - REST:
GET https://api.captapi.com<path>?<params>,附带请求头Authorization: Bearer $CAPTAPI_API_KEY。
失败的调用不消耗积分。retryable: true的错误可在短暂等待后重试一次;retryable: false为最终答案——记录下来,不要循环。
步骤
- 加载快照(如果存在)。该快照映射
competitor → country → library → {ids: [...], meta: {...}}以及保存的查找ID。 - 解析ID仅当快照中没有对应ID时:
- Meta:
facebook/search-companies?q=<brand>&country=<cc>→ 选择名称匹配的页面;保留其pageId。如果多个看起来正确,请询问。 - Google:
google/advertiser-search?q=<brand>&country=<cc>→ 保留匹配结果的广告客户ID。
- Meta:
- 拉取当前广告针对每个竞争对手和国家:
facebook/company-ads?url=<pageId或页面URL>&country=<cc>&status=activegoogle/company-ads?advertiser=<广告客户ID或名称>&country=<cc>linkedin/search-ads?company=<名称>&country=<cc>tiktok/search?q=<brand>&country=<cc>— 仅用于欧盟/欧洲经济区/英国/瑞士。
- 按广告ID与快照进行差异对比:
new(现在有,之前没有)、stopped(之前有,现在没有)、continuing。 - 丰富新广告信息,不超过约定的上限:
.../ad-details获取日期和媒体信息,facebook/ad-transcript获取Meta标题/正文/CTA/落地页URL。 - 编写报告(格式如下)并保存新快照——仅在报告编写完成后执行,这样失败的运行不会覆盖上周的快照。
报告格式
针对每个竞争对手:
- 每个广告库一行:
新增 N · 停止 N · 运行中 N,或说明缺失原因(此国家未覆盖、查找失败、未找到广告)。 - 新广告: 标题或文案第一行、格式(图片/视频/轮播)、首次展示日期、落地域名以及来源端点,例如
(来源: /v1/ad-library/facebook/company-ads)。 - 主题: 新广告共有的角度(优惠、受众、产品)的2–4条要点。每条标记为
[需人工审核]——此为解读性内容。 - 已停止广告: 数量,以及停止运行时间最长的广告。
以以上限制部分、本次运行的总积分概览以及快照路径作为结尾。
需要人工审核的地方
- 当查找结果返回多个选项时,哪个页面或广告客户是“那个”竞争对手。
- 每个关于主题或策略的声明——广告库展示的是创意,而非意图。
- 任何关于预算或效果的结论:没有相关数据;报告必须明确说明这一点,而不是猜测。