很多开发者第一次接触 Amazon Advertising API 的时候,脑子里想的流程很简单:
拿 Campaign → 拿报表 → 展示数据
但真上手开发,你会发现完全不是那么回事。报表里全是 ID,你拿到一个 keywordId,根本不知道它对应哪个关键词;targetId 也不知道是哪个商品投放;adGroupId 属于哪个 Campaign?全靠猜。UI 上想展示完整的广告结构?做不到。自动规则?没法关联实体。做数据分析?JOIN 到怀疑人生。
最后,几乎所有正经的广告系统都会走到同一个架构上:元信息树 + 报表仓库。
简单说就是:广告元信息树(Metadata Tree)+ 广告报表数据仓库。而元信息树,是整个系统的基础设施。
什么是 Metadata Tree
说白了,它就是 Amazon SP 广告各个对象之间的结构关系:
- 这个 Campaign 是什么?
- 哪个 AdGroup 属于谁?
- 这个 Keyword 挂在哪个广告组下面?
- ProductAd 投的是哪个商品?
- Target 又是什么类型的投放?
它不是统计数据,就是一张广告对象的关系图谱。
SP 广告的完整结构
下面是 Sponsored Products(SP)完整的元信息树结构。

(图片里画的就是 Campaign → AdGroup → Keyword / Target / ProductAd 这样的层级关系)
每个实体是干什么的
Campaign(广告活动)
SP 广告的最高层级。主要负责预算、投放时间、状态、策略这些。
比如你可能有:
- SP-自动广告
- SP-精准词广告
- SP-竞品 ASIN 广告
一个 Campaign 下面可以挂多个 AdGroup。
AdGroup(广告组)
广告组织单元。按匹配方式、按商品、按投放策略来分组。
例如:
- Exact / Phrase / Broad
- 高价词 / 低价词 / 防守词
一个 AdGroup 下面可以有多个 Keyword、多个 Target、多个 ProductAd。
Keyword(关键词投放)
就是关键词本身,比如 wireless mouse、bluetooth mouse。
关键字段:keywordText、matchType、bid、state。它是广告优化的核心对象,比如“ACoS > 40% → 降低 bid”。
Target(商品/类目投放目标)
注意不是关键词。它可以是:
- ASIN 投放(如 B0XXXX)
- 类目投放(如 Electronics)
- 自动广告的 close-match
核心字段是 expression,像这样:
{
"type": "asinSameAs",
"value": "B0XXXXX"
}
现在很多 SP 广告优化,其实已经变成 Product Targeting 驱动了,而不是 Keyword。
ProductAd
这就是真正展示给用户的那个商品广告。它关联 ASIN、SKU 和 AdGroup。
Keyword 和 Target 本质上都是给这个 ProductAd 引流的。
为什么元信息树这么重要
很多第一次做广告系统的开发者,会直接奔着报表去:SearchTerm Report、Keyword Report、Campaign Report……
然后你拿到一条数据:
{
"campaignId": 111,
"adGroupId": 222,
"keywordId": 333,
"clicks": 10,
"cost": 5
}
问题来了:333 是什么?
没有元信息树,你根本解释不了这些 ID。报表只给你统计数字——impressions、clicks、cost、sales——但它永远不会告诉你 keywordId 对应哪个词,targetId 对应哪个 ASIN。这些都得靠元信息树。
一个成熟广告系统的真实架构
真正能打的广告系统,一定是这样的分层:
元数据层 Campaign → AdGroup → Keyword / Target → ProductAd
报表层 Campaign Report、Keyword Report、SearchTerm Report、Target Report
分析层 ACoS、ROAS、CTR、CVR、利润
自动化层 自动调价、自动暂停、自动预算、自动规则
元信息树到底值钱在哪
1. 支撑报表 JOIN
有了元信息树,你才能写这样的 SQL:
SELECT *
FROM SPSearchTermReport r
JOIN SPKeyword k ON r.KeywordId = k.KeywordId
这样你才知道,哪个搜索词对应了哪个投放词。
2. 支撑 Dashboard
没有元信息树,Dashboard 只能显示 CampaignId = 123;有了它,你才能显示 SP-精准词广告。
3. 支撑自动规则
比如“如果 Keyword 的 ACoS > 50%,就降低 bid 10%”——这里必须依赖 Keyword 的元数据。
4. 支撑 SearchTerm 分析
广告优化的核心其实是搜索词挖掘:从用户真实搜索词里找出高转化词、垃圾词、否定词。所有这些都离不开元信息树来做关联。
元信息不是拉一次就完了
很多人以为“Metadata 拉一次就行”。不,它会动态变化。卖家随时可能:
- 新建 Campaign
- 删除 Keyword
- 修改 bid
- 暂停广告
- 新增 Product Target
所以元信息也需要持续同步。
推荐的同步策略
元信息同步(Campaign、AdGroup、Keyword、Target、ProductAd):每 5~30 分钟。
报表同步(CampaignReport、SearchTermReport、KeywordReport):每天一次。因为 Amazon Attribution 本身有延迟,今天点击明天才归因订单,这很正常。
数据库结构建议
分三块:
- 元数据表:SPCampaign、SPAdGroup、SPKeyword、SPTarget、SPProductAd
- 报表表:SPCampaignReportDaily、SPKeywordReportDaily、SPSearchTermReportDaily
- 原始表:保留 Amazon 返回的原始 JSON(SPCampaignReportRaw 等)。这是后续重算指标、修 bug、加字段、做 AI 分析的重要底子。
最后总结
Metadata Tree 不是什么“辅助功能”,它是 Amazon 广告系统的基础设施。
一个真正成熟的广告系统,本质上一定是:
元信息树 + 报表仓库 + 分析引擎 + 自动化引擎
元信息树负责告诉你“这些广告对象是谁”,报表负责告诉你“它们表现怎么样”。只有两者结合,才能搭建一个完整的 Amazon 广告 ERP 系统。






