Ad Intelligence Skill
A two-phase competitive ad intelligence skill for marketing companies and ecommerce owners
to research how competitors run ads across Meta, Google, and LinkedIn.
Quick Reference: What Data Is Available
| Field | Meta (FB/IG) | Google Transparency | LinkedIn |
|---|
| Ad copy / headline | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Creative (image/video URL) |
✅ Both phases | ✅ Both phases | ✅ Both phases |
| Ad format type | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Date first/last shown | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Platform / placements | ✅ Both phases | ✅ (Google Search, YT, Display, etc.) | ✅ Both phases |
| Active / inactive status | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| CTA button | ✅ Phase 1 scrape | ❌ | ✅ Both phases |
| Destination / landing URL | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Total ads running | ✅ Phase 2 | ✅ Phase 2 | ✅ Phase 2 |
| Impression range | ✅ Phase 2 (EU/political only) | ❌ | ✅ Phase 2 (some scrapers) |
| Spend range | ✅ Phase 2 (EU/political only) | ❌ | ❌ |
| Demographic breakdown | ✅ Phase 2 (EU only) | ❌ | ❌ |
| Targeting info | ❌ | ❌ | ✅ Phase 2 (partial — language, location) |
| Advertiser ID | ✅ Phase 2 | ✅ Phase 2 | ✅ Phase 2 |
⚠️ No platform exposes: exact spend, CTR, conversion rates, ROAS, or detailed audience targeting.
Workflow
Step 1: Understand the Request
Gather from the user (ask if not provided):
- - Competitor name or domain (e.g., "Nike" or "nike.com")
- Target platform(s): Meta / Google / LinkedIn (default: all three)
- Phase: Phase 1 (quick, no API keys) or Phase 2 (deeper, requires API keys)
- Country/region filter (optional, e.g., "US", "IN", "EU")
- Date range (optional, e.g., "last 30 days")
- Ad format filter (optional: image / video / carousel / text)
If the user hasn't said which phase they want, ask. If they're just exploring, start with Phase 1.
Step 2: Execute the Right Phase
Read the platform reference files for code, endpoints, and examples:
- - Meta: INLINECODE0
- Google: INLINECODE1
- LinkedIn: INLINECODE2
Each reference contains:
- - Phase 1: Python scraping code (no API key needed)
- Phase 2a: Official/free API instructions
- Phase 2b: Third-party paid API options (SerpAPI, SearchAPI, Adyntel, Apify)
- Sample output JSON
- Known limitations
Step 3: Format the Output
Always deliver both:
A. Human-Readable Summary Report
CODEBLOCK0
B. Raw Structured Data (JSON)
Return normalized JSON with this schema for each ad:
CODEBLOCK1
Step 4: Provide Next Steps
After presenting results, always suggest:
- - Which Phase 2 option would give more depth for this use case
- What API keys/accounts are needed to upgrade
- Whether the data is sufficient or the user should broaden/narrow their search
Important Limitations to Always Communicate
- 1. No private performance data: CTR, conversions, ROAS, exact spend — these are never public.
- Meta API geographic restriction: The official Meta Ad Library API only returns impression/spend data for EU-delivered ads and political/social cause ads globally. For general ecommerce ads in non-EU regions, Phase 1 scraping often gives broader coverage.
- Google has no official public API: All Google Transparency Center data is accessed via scraping (Phase 1) or third-party wrappers like SerpAPI/SearchAPI (Phase 2).
- LinkedIn targeting data is partial: Only language and location hints are sometimes visible — not job title, seniority, or company size targeting.
- Rate limits apply: All platforms rate-limit requests. Use pagination and add delays (1–2s between calls).
Phase Decision Guide
| Situation | Recommended Phase |
|---|
| Quick competitive overview | Phase 1 |
| No API keys available |
Phase 1 |
| Need date-range filtering | Phase 2 |
| EU market + want spend/impressions | Phase 2 (official Meta API) |
| Need 500+ ads at scale | Phase 2 (paid third-party API) |
| B2B competitor research on LinkedIn | Phase 2 |
| Need creative image/video downloads | Phase 2 |
Reference Files
- -
references/meta.md — Meta (Facebook/Instagram) scraping + API code - INLINECODE4 — Google Ads Transparency scraping + SerpAPI/SearchAPI
- INLINECODE5 — LinkedIn Ad Library scraping + third-party APIs
广告情报技能
一项面向营销公司和电商所有者的两阶段竞争性广告情报技能,用于研究竞争对手如何在Meta、Google和LinkedIn上投放广告。
快速参考:可用数据概览
| 字段 | Meta (FB/IG) | Google透明度 | LinkedIn |
|---|
| 广告文案/标题 | ✅ 两个阶段 | ✅ 两个阶段 | ✅ 两个阶段 |
| 创意素材(图片/视频URL) |
✅ 两个阶段 | ✅ 两个阶段 | ✅ 两个阶段 |
| 广告格式类型 | ✅ 两个阶段 | ✅ 两个阶段 | ✅ 两个阶段 |
| 首次/末次展示日期 | ✅ 两个阶段 | ✅ 两个阶段 | ✅ 两个阶段 |
| 平台/投放位置 | ✅ 两个阶段 | ✅(Google搜索、YouTube、展示等) | ✅ 两个阶段 |
| 活跃/非活跃状态 | ✅ 两个阶段 | ✅ 两个阶段 | ✅ 两个阶段 |
| 行动号召按钮 | ✅ 第一阶段抓取 | ❌ | ✅ 两个阶段 |
| 目标/落地页URL | ✅ 两个阶段 | ✅ 两个阶段 | ✅ 两个阶段 |
| 运行中广告总数 | ✅ 第二阶段 | ✅ 第二阶段 | ✅ 第二阶段 |
| 展示量范围 | ✅ 第二阶段(仅限欧盟/政治类) | ❌ | ✅ 第二阶段(部分抓取工具) |
| 花费范围 | ✅ 第二阶段(仅限欧盟/政治类) | ❌ | ❌ |
| 人口统计细分 | ✅ 第二阶段(仅限欧盟) | ❌ | ❌ |
| 定向信息 | ❌ | ❌ | ✅ 第二阶段(部分——语言、位置) |
| 广告主ID | ✅ 第二阶段 | ✅ 第二阶段 | ✅ 第二阶段 |
⚠️ 没有任何平台公开:精确花费、点击率、转化率、广告支出回报率或详细受众定向信息。
工作流程
第一步:理解需求
从用户处收集信息(如未提供则询问):
- - 竞争对手名称或域名(例如:Nike或nike.com)
- 目标平台:Meta / Google / LinkedIn(默认:全部三个)
- 阶段:第一阶段(快速,无需API密钥)或第二阶段(更深入,需要API密钥)
- 国家/地区筛选(可选,例如:US、IN、EU)
- 日期范围(可选,例如:最近30天)
- 广告格式筛选(可选:图片/视频/轮播/文字)
如果用户未说明所需阶段,请询问。如果用户仅做探索性查看,从第一阶段开始。
第二步:执行相应阶段
查阅平台参考文件以获取代码、接口和示例:
- - Meta:references/meta.md
- Google:references/google.md
- LinkedIn:references/linkedin.md
每个参考文件包含:
- - 第一阶段:Python抓取代码(无需API密钥)
- 第二阶段a:官方/免费API说明
- 第二阶段b:第三方付费API选项(SerpAPI、SearchAPI、Adyntel、Apify)
- 示例输出JSON
- 已知限制
第三步:格式化输出
始终提供两者:
A. 人类可读摘要报告
广告情报报告:[公司名称]
搜索平台: Meta, Google, LinkedIn
日期: [今天]
阶段: 1(抓取)/ 2(API)
国家: [地区]
📊 概览
- - 发现广告总数:X
- 活跃广告:X | 非活跃:X
- 格式:X% 图片,X% 视频,X% 轮播
🎯 平台细分
[每个平台:数量、日期范围、显著趋势]
✍️ 创意主题与信息模式
[总结重复出现的钩子、行动号召、优惠、语气]
📅 时效性与发布节奏
[他们发布新广告的频率、季节性模式]
⚠️ 数据限制
[说明哪些数据不可用及原因]
B. 原始结构化数据(JSON)
为每个广告返回按此模式规范化的JSON:
json
{
platform: meta|google|linkedin,
ad_id: 字符串,
advertiser_name: 字符串,
advertiserpageurl: 字符串,
status: active|inactive,
format: image|video|carousel|text|document,
headline: 字符串|null,
body_text: 字符串|null,
cta_text: 字符串|null,
destination_url: 字符串|null,
creative_url: 字符串|null,
platforms_served: [facebook, instagram, messenger],
datefirstshown: YYYY-MM-DD|null,
datelastshown: YYYY-MM-DD|null,
country: 字符串|null,
spend_range: 字符串|null,
impression_range: 字符串|null,
targeting_summary: 字符串|null,
source_phase: 1
}
第四步:提供后续步骤
呈现结果后,始终建议:
- - 哪个第二阶段选项能为该用例提供更深入的数据
- 需要哪些API密钥/账户才能升级
- 数据是否足够,或者用户应扩大/缩小搜索范围
始终需说明的重要限制
- 1. 无私有效果数据:点击率、转化率、广告支出回报率、精确花费——这些从不公开。
- Meta API地理限制:官方Meta广告库API仅返回欧盟投放广告以及全球政治/社会公益广告的展示量和花费数据。对于非欧盟地区的一般电商广告,第一阶段抓取通常覆盖范围更广。
- Google无官方公开API:所有Google透明度中心数据均通过抓取(第一阶段)或第三方封装工具如SerpAPI/SearchAPI(第二阶段)获取。
- LinkedIn定向数据不完整:仅有时可见语言和位置提示——无法获取职位、资历或公司规模定向信息。
- 速率限制适用:所有平台均对请求进行速率限制。请使用分页并添加延迟(每次调用间隔1-2秒)。
阶段选择指南
第一阶段 |
| 需要日期范围筛选 | 第二阶段 |
| 欧盟市场 + 需要花费/展示量数据 | 第二阶段(官方Meta API) |
| 需要大规模获取500+条广告 | 第二阶段(付费第三方API) |
| LinkedIn上的B2B竞争对手研究 | 第二阶段 |
| 需要下载创意图片/视频 | 第二阶段 |
参考文件
- - references/meta.md — Meta(Facebook/Instagram)抓取 + API代码
- references/google.md — Google广告透明度抓取 + SerpAPI/SearchAPI
- references/linkedin.md — LinkedIn广告库抓取 + 第三方API