关于 Shopify 的代理面,大多数团队搞错的一个结构性事实是:目录不是一个,是两个。
它们端点不同、字段不同、过滤能力不同、排名逻辑也不同。把同一套优化动作同时下到两边,结果是两边都没做对。
核心要点
- Global Catalog(
catalog.shopify.com/api/ucp/mcp)覆盖整个生态,按 UPID 聚合,接受九类过滤器。 - Storefront Catalog(
{你的域名}/api/ucp/mcp)只返回你的货,只接受三个过滤器:categories、price、available。 - 按 UPID 聚合意味着在标品类目里买盒之争回来了,只是裁判换成了代理。
ships_from按商家原产国过滤。跨境卖家可以被一次调用排除。attributes只认 Color、Size、Target gender 三个,其余属性名会被忽略并在messages里返回。

Global Catalog:跨店比价的战场
两个机制定义了它。
按 UPID 聚合。 官方原文:"Results are clustered by Universal Product ID (UPID) and include offers from multiple merchants." 相同商品被归成一簇,多个商家的报价在簇内并排竞争。如果你卖的是标品或广泛分销的商品,你呈现的就不再是一个商品,而是一份对着具名对手的报价——品牌、价格、评分与履约决定胜负。
它也已经开始索引根本不在 Shopify 上的商家的货,在返回里以 source: "external" 标记。
九类过滤器。 这才是真正的优化面:
过滤器 | 接受什么 | 对你意味着什么 |
|---|---|---|
| 标准分类 GID | 分类错的商品根本进不了候选集 |