大多数信息流问题看起来不像信息流问题。它们看起来像是无法解释的 Google Merchant Center 审核不通过,或是 Advantage+ 广告系列预算全部花在一件黑色 T 恤上,又或是购物广告将寻找 42 码鞋子的顾客引导到只剩下 38 码鞋子的页面。
几乎所有这些事物的本质都是一样的:变体。
变体是指产品的任何版本,只要它与标准版在某个可见且可购买的方面有所不同——例如尺寸、颜色、材质、容量或表面处理。它们在零售业中很常见,但在信息流中却异常棘手,因为每个渠道对它们的建模方式都不同,而且一旦出错,后果往往悄无声息。表面上看,广告效果不佳,但实际上却悄无声息地隐藏在数据文件的第四层,根本无人问津。
本指南涵盖了整个主题:什么才算变体,item_group_id 的工作原理以及人们在哪里误用它,每个变体定义属性及其真正的限制,XML、CSV 和 JSON 中的工作 feed 示例,Google、Meta、TikTok、Pinterest、Amazon 和区域市场各自期望的变体结构,以及最常出现的错误的诊断表。
篇幅较长是因为主题本身就很长。请使用目录跳转到相应部分。
1. 什么是变体?
变体是指产品的可购买版本,它与同系列产品至少在一个客户可以选择的属性上有所不同,但产品本身仍然是相同的。
最后那句话起着至关重要的作用。一件蓝色中号T恤和一件黑色大号T恤是同一种产品。而一件蓝色T恤和一件蓝色连帽衫则不是,即使是同一品牌、同一面料的商品也不一样。
大多数渠道的标准模型是父子模型:
- 此 亲 这是概念产品——“美利奴羊毛圆领毛衣”。它通常不单独出售。
- 此 孩子 就是各种变体——每个变体都有自己的 SKU、库存水平,有时还有自己的价格和图片。
在产品信息流中,这种结构几乎总是扁平化的:每个变体都单独占一行或一个<item>,并通过一个共享的分组键关联起来。不存在嵌套。例如,一件毛衣有4种颜色和5个尺码,它会占用20行,所有行都使用相同的分组ID。
什么是 不会 变体
这是在写入任何一行 XML 之前,数据源出错的地方。
| 不是变体 | 应该用什么代替 | |
|---|---|---|
| 多件装 ——6瓶装对比单瓶装 | 同一单位的不同数量,而非选定的属性 | 多包属性(Google) |
| 套装 相机+镜头+相机包 | 一种独特的、可销售的复合材料 | is_bundle 属性;单独产品 |
| 相关产品 配套上衣和裙子 | 搭配效果好的不同产品 | 分开存放物品;参考推荐。 |
| 翻新机与新机 | 条件,而非变化 | 条件属性 |
| 不同零售商的商品列表 | 同一产品,不同卖家 | 独立账户/信息源 |
| 个性化 — 刻上名字 | 按需定制,非现货供应 | 通常只有一件物品;请在描述中注明。 |
将这些项分组到共享的 item_group_id 下,会生成一个成员不可互换的组——这会使目标页面上的变体选择器感到困惑,并且在某些渠道上,会触发不匹配的拒绝。
2. 决定一切的决定
在编写任何信息流逻辑之前,请针对您销售的每种产品类型回答一个问题:
当顾客选择不同的选项时,他们会进入不同的页面,还是进入同一页面但状态不同的页面?
这是实际测试,它直接关系到你应该如何构建信息流。
方案 A — 每个款式使用单独的 URL。每种颜色都有自己的产品页面(例如 /merino-sweater-navy,/merino-sweater-charcoal)。将每个款式作为单独的一行,并附上单独的链接。这种设置最简洁,广告相关性最高,也是各渠道更倾向的选择。
案例 B — 单个 URL,页面上选择变体。所有内容都位于 /merino-sweater,客户使用选择器选择颜色和尺寸。您仍然可以发送所有变体,但应附加一个深度链接参数,以便广告跳转到正确的预选状态:
https://example.com/merino-sweater?colour=navy&size=m如果没有这个参数,点击海军蓝中号广告的顾客看到的默认页面却是炭灰色小号。这种颜色不匹配是变体广告中最大的隐形转化杀手之一,在谷歌上,它还会触发“值不匹配(页面抓取)”的错误,因为爬虫会发现页面上的可见颜色与提交的颜色不符。
情况 C——不值得单独投放广告的变体。有些变体对购买决策的影响不足以支持单独投放广告,例如充电器线缆的长度。在这种情况下,您可以特意发送一个具有代表性的变体。第 7 部分将介绍何时应该这样做。
变体定义属性与描述性属性
信息流中的每个属性都属于以下两个类别之一,混淆这两个类别是导致分组格式错误的一个常见原因。
定义变体的属性必须在组内成员之间有所不同。这些属性由客户选择:颜色、尺寸、材质、图案,以及产品特定的尺寸,例如容量或表面处理。
分组常量属性在所有成员中必须完全相同:品牌、性别、年龄组、商品组标题、谷歌产品类别。如果两行数据共享同一个商品组 ID 但性别值不同,则说明您要么分组错误,要么标签错误。
行特有的属性(但并非定义变体的属性)会因行而异,但并不定义变体:id、price、availability、gtin、image_link、link。两个变体可以拥有不同的价格——例如,3XL 码通常价格更高——但价格并非区分它们的主要因素。
3. item_group_id:基础
item_group_id 是一个共享键,它告诉渠道“这些行代表的是同一个产品”。所有其他关于变体处理的操作都依赖于它的正确性。
规格
| 特性 | 元 | TikTok | |
|---|---|---|---|
| 字段名称 | item_group_id | item_group_id | item_group_id |
| 最长长度 | 50字符 | 100字符 | 150字符 |
| 允许的字符 | Unicode;推荐使用 ASCII — 字母数字、下划线、短横线 | 串 | 串 |
| 区分大小写 | 不区分大小写(ABC123 = abc123) | 区分大小写 | 区分大小写 |
| 需要? | 免费商品信息发布以及在巴西、法国、德国、日本、英国和美国发布的购物广告(提交商品变体时)均需提交此信息。 | 用于变异分组 | 用于变异分组 |
| 重复字段 | 否——每个项目只有一个值 | 没有 | 没有 |
由于 Google 对数值大小写不区分,而 Meta 和 TikTok 则区分,因此所有平台都应统一使用小写(或大写)。例如,如果目录中同时出现 SWTR-001 和 swtr-001,Google 会将其正确归类,而 Meta 则会将其拆分为两个产品。
选择值
最佳的 item_group_id 是您 ERP 或 PIM 系统中已有的父 SKU。它存在、稳定且唯一。
好:
SWTR-MERINO-CREW
12345
parent-8891不好,原因如下:
| 价值 | 市场问题 |
|---|---|
| 美利奴羊毛圆领毛衣 | 包含空格和大小写混合;标题过长时超出限制;市场营销部门更改产品名称时也会进行更改。 |
| 毛衣 | 并不独特——它将你所有的毛衣系列合并成一个系列。 |
| SWTR-MERINO-CREW-NAVY-M | 包含变体维度,因此每一行都有一个唯一值,并且没有任何分组。 |
| 每次导出都会重新生成行号或哈希值 | 出口渠道发生变化;渠道失去群体连续性,需要从零开始重新学习 |
最后一点尤其值得强调。item_group_id必须保持稳定。渠道会根据分组累积业绩历史记录。如果你的导出操作会重新生成 ID,那么每次同步都会重置这些历史记录,任何出价优化都无法弥补这一点。
三条规则
- 同一组中的每个成员都共享同一个 item_group_id。
- 每个成员都有一个唯一的ID。 Feed 中任何位置出现重复 ID 都会导致后面的行被静默删除。
- 每个成员至少在一个定义变体的属性上有所不同。 两行数据具有相同的组 ID 和 颜色和尺寸相同的是重复项,而不是变体。
满足这三者要求的约定:
item_group_id: SWTR-MERINO-CREW
id: SWTR-MERINO-CREW-NAV-M
id: SWTR-MERINO-CREW-NAV-L
id: SWTR-MERINO-CREW-CHR-M可读、可调试,且源自您已掌握的数据。
项目组标题
这是谷歌最近新增的一个属性,虽然是可选的,但建议在提交 item_group_id 时填写。它包含父产品的名称(最多 150 个字符),并且在同一产品组中的所有变体中必须完全相同。
XML
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>注意以下模式:title 是变体特有的,而 item_group_title 则不是。如果两者都发送相同的字符串,则会浪费信号。
变体选项
谷歌方面也有一项新举措:提供了一种结构化的方式来声明哪些属性定义了变体,而不是让渠道自行推断。它最多接受 30 个名称/值对(每个子属性最多 250 个字符,总共 5,000 个字符)。
XML
<g:variant_option>
<g:name>Colour</g:name>
<g:value>Navy</g:value>
</g:variant_option>
<g:variant_option>
<g:name>Size</g:name>
<g:value>M</g:value>
</g:variant_option>这对于产品而言尤其有用,因为其规格参数并未涵盖在标准服装属性中——例如存储容量、处理器级别、功耗、座位数等。与其强制将“256GB”写入容量,不如正确地声明容量。
4. 变体定义属性详解
颜色
规范中最受规则约束的属性,也是最常被拒绝的属性。
| 特性 | 价值 |
|---|---|
| 最大长度(谷歌) | 总共100个字符,每种颜色40个字符。 |
| 最大长度(Meta/TikTok) | 200字符 |
| 多种颜色 | 用斜杠 / 分隔,主色在前 |
| 其他要求 | 以上国家/地区的服装;所有服装及配饰免费刊登 |
不接受:
- 编号 — 颜色 42,RAL 5013
- 十六进制代码 — #001F5B
- 单个字母——N代表海军蓝
- 图片引用——见照片
- 字母数字或组合单词——Navy1、NavyBlue(写成Navy Blue)
处理营销颜色命名。时尚品牌很少直接把颜色命名为“海军蓝”,而是会用“午夜帆船”之类的名字。渠道需要一个消费者会搜索的颜色;你的品牌需要在页面上拥有专属的名称。
可行的折衷方案:
color: Navy
description: ...available in Midnight Regatta (navy)...将营销名称映射到信息流中的标准名称,并在着陆页和描述中保持品牌名称可见。不要指望用颜色标记营销名称就能获得高转化率——这会降低与颜色相关的搜索查询的匹配度,而这类搜索在服装领域往往是意向最高的搜索之一。
多色产品:
color: Navy/White/Grey主色优先。谷歌会将第一个值解读为主色。
尺寸
| 特性 | 价值 |
|---|---|
| 最大长度(谷歌) | 100字符 |
| 最大长度(Meta/TikTok) | 200字符 |
| 其他要求 | 在所列国家/地区发布服装和鞋类商品;免费刊登 |
| 均码产品 | 均码 (one_size)、OS 或 OSFA |
最重要的原则是:要足够具体,确保含义清晰,并且在整个产品目录中保持一致。如果所有产品都使用 M 码,那么 M 码就足够了。如果同一概念的产品在产品目录中混用 M、Medium、med 和 M/L 等尺码,就会造成产品变体分组混乱,并且无法进行基于尺寸的细分。
对于单一维度不足以描述的产品,应将区分维度包含在其值中:
size: 32/34 (waist/inseam)
size: 15.5/34 (neck/sleeve)
size: 9.5 Wide (shoe width)
size: 200x140cm (rugs, bedding)尺寸类型和尺寸系统
可选的、仅限服装的、以及未充分利用的——这两个条件都能显著改善使用这些限定词进行搜索的购物者的匹配结果。
size_type — 最多 2 个值,包括:常规、娇小、孕妇、大码、高个、加大码。
size_system — 可选值:US、UK、EU、DE、FR、JP、CN、IT、BR、MEX、AU。如果省略,渠道将默认使用目标国家的尺码体系,这会导致一个代价高昂的错误:例如,一家土耳其零售商如果向德国销售欧盟尺码的商品,但未声明 size_system,则可能导致尺码被错误地解读。
XML
<g:size>10</g:size>
<g:size_system>UK</g:size_system>
<g:size_type>regular</g:size_type>材料
在谷歌搜索中,最多只能输入 200 个字符。先输入主要内容,然后最多输入两个次要内容,用斜杠 (/) 分隔。
material: Cotton
material: Leather/Suede
material: Merino Wool/Nylon/Elastane仅当材质能区分您的产品变体时才需要填写——例如,一款包同时出售皮革和帆布两种材质。其他情况下为可选信息,但建议提交;材质是常用的搜索限定词。
模式
最多 100 个字符。自由文本描述印花或图案:条纹、波点、佩斯利花纹、花卉、人字纹。规则相同——如果图案各不相同,则必须填写。
年龄组和性别
两者都是组常量。同一组内的每个变体必须具有相同的值。
年龄组:新生儿、婴儿、幼儿、儿童、成人——每个产品一个值。
性别:男、女、男女通用。
如果一件衣服确实提供男款和女款,那么它们属于两个独立的商品类别,而不是男女混搭的类别。它们的版型不同,尺码也不同,消费者是在不同的产品之间进行选择,而不是在不同的选项之间进行选择。
参考表
| 属性 | 谷歌限制 | 必须不同 | 必须与组内其他成员匹配 |
|---|---|---|---|
| item_group_id | 50 个字符 | - | ✅ |
| 项目组标题 | 150 个字符 | - | ✅ |
| id | 50 个字符 | ✅(始终独一无二) | - |
| 标题 | 150 个字符 | 首推最高性价比 | - |
| 颜色 | 100 个字符(每种颜色 40 个字符) | 如果变化轴 | - |
| 尺寸 | 100 个字符 | 如果变化轴 | - |
| 尺寸类型 | 2个值 | 可选 | - |
| 大小系统 | 枚举 | - | 通常 ✅ |
| 材料 | 200 个字符 | 如果变化轴 | - |
| 模式 | 100 个字符 | 如果变化轴 | - |
| 性别 | 枚举 | - | ✅ |
| 年龄组 | 枚举 | - | ✅ |
| 品牌 | 70 个字符 | - | ✅ |
| google_产品_类别 | - | - | ✅ |
| 车资 | - | 可能有所不同 | - |
| 可用性 | 枚举 | 可能有所不同 | - |
5. 实际饲料示例
XML(Google RSS 2.0)
六个变体组中的两个变体。注意哪些部分发生了变化,哪些部分保持不变。
XML
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Example Store — Product Feed</title>
<link>https://example.com</link>
<item>
<g:id>SWTR-MERINO-CREW-NAV-M</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=navy&size=m</link>
<g:image_link>https://cdn.example.com/swtr-merino-navy-1.jpg</g:image_link>
<g:additional_image_link>https://cdn.example.com/swtr-merino-navy-2.jpg</g:additional_image_link>
<g:availability>in_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678900</g:gtin>
<g:mpn>SW-MC-NAV-M</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Navy</g:color>
<g:size>M</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>full-size-run</g:custom_label_1>
</item>
<item>
<g:id>SWTR-MERINO-CREW-CHR-L</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Charcoal, Large</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=charcoal&size=l</link>
<g:image_link>https://cdn.example.com/swtr-merino-charcoal-1.jpg</g:image_link>
<g:availability>out_of_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678931</g:gtin>
<g:mpn>SW-MC-CHR-L</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Charcoal</g:color>
<g:size>L</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>broken-size</g:custom_label_1>
</item>
</channel>
</rss>有四点值得指出:
- item_group_id 和 item_group_title 相同;id 和标题不是。
- 链接携带深度链接参数 这样广告就能投放到正确的预选状态。& 符号会被转义为 &——这是 XML 中必需的,也是解析失败的常见原因。
- image_link 是特定于变体的。 两行海军蓝都指向海军蓝照片。发送一张全色主图是仅次于漏填组 ID 的第二大常见错误。
- 缺货行已标记 通过 custom_label_1,可以将其排除或降低出价,而无需将其从信息流中移除。
CSV / TSV
相同的数据,已扁平化。包含标题行及其两个变体:
CSV
id,item_group_id,item_group_title,title,description,link,image_link,availability,price,brand,gtin,condition,google_product_category,color,size,size_system,material,gender,age_group,custom_label_0
SWTR-MERINO-CREW-NAV-M,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Navy, Medium","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=navy&size=m,https://cdn.example.com/swtr-merino-navy-1.jpg,in_stock,89.00 EUR,Example,5012345678900,new,1604,Navy,M,EU,Merino Wool,male,adult,core
SWTR-MERINO-CREW-CHR-L,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Charcoal, Large","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=charcoal&size=l,https://cdn.example.com/swtr-merino-charcoal-1.jpg,out_of_stock,89.00 EUR,Example,5012345678931,new,1604,Charcoal,L,EU,Merino Wool,male,adult,coreCSV 格式是实际应用中出现问题最常见的地方,因为标题和描述中的逗号必须用引号括起来,而带引号字段中的引号又必须进行转义。如果您的标题包含逗号(而包含颜色和尺寸的产品标题几乎总是包含逗号),请改用 TSV 格式。制表符几乎不会出现在产品数据中,因此可以避免一整类解析错误。
JSON
对于基于 API 的数据摄取:
JSON
{
"products": [
{
"id": "SWTR-MERINO-CREW-NAV-M",
"item_group_id": "SWTR-MERINO-CREW",
"item_group_title": "Merino Crew Neck Sweater",
"title": "Merino Crew Neck Sweater — Navy, Medium",
"link": "https://example.com/merino-crew-sweater?colour=navy&size=m",
"image_link": "https://cdn.example.com/swtr-merino-navy-1.jpg",
"availability": "in_stock",
"price": { "value": "89.00", "currency": "EUR" },
"brand": "Example",
"gtin": "5012345678900",
"condition": "new",
"google_product_category": "1604",
"variant_attributes": {
"color": "Navy",
"size": "M",
"size_system": "EU",
"material": "Merino Wool"
},
"gender": "male",
"age_group": "adult"
}
]
}完整尺码系列
六种款式——两种颜色×三种尺寸——ID图案清晰可见:
| id | item_group_id | 颜色 | 尺寸 | 可用性 |
|---|---|---|---|---|
| SWTR-MC-NAV-S | SWTR-MERINO-CREW | 蓝色 | S | 有存货 |
| SWTR-MC-NAV-M | SWTR-MERINO-CREW | 蓝色 | M | 有存货 |
| SWTR-MC-NAV-L | SWTR-MERINO-CREW | 蓝色 | L | 有存货 |
| SWTR-MC-CHR-S | SWTR-MERINO-CREW | 木炭 | S | 缺货 |
| SWTR-MC-CHR-M | SWTR-MERINO-CREW | 木炭 | M | 有存货 |
| SWTR-MC-CHR-L | SWTR-MERINO-CREW | 木炭 | L | 缺货 |
木炭还剩下三种尺寸中的一种。第 9 节将介绍如何处理这种情况。
6. 逐个频道
这个概念是通用的,但具体实现方式却不尽相同。以下列出了各个主要目的地对不同版本的要求,以及它们之间的差异。
Google购物/商家中心
最具指导意义的,也是其他大多数频道借鉴的参考实现。
- item_group_id 是 必须 对于免费列表,以及在巴西、法国、德国、日本、英国和美国发布的购物广告,只要提交了变体,即可享受此优惠。
- 必须填写变体定义属性:在这些市场中,服装需要颜色和尺寸。
- 服装的性别和年龄组必须一致,并且在同一组内必须保持一致。
- 着陆页必须在视觉上与提交的变体值相符,否则您将面临风险。 值不匹配(页面爬取) 不赞成。
- 每个变体都在竞价中独立竞争。谷歌会根据搜索查询选择一组变体中的哪一个进行展示,因此,不完整的变体组意味着候选词库的强度较低。
- 服装类图片的 image_link 尺寸必须至少为 500×500 像素——这是强制执行的最低要求。 31 January 2027 值得现在就进行审计,而不是匆忙行事。
实用提示: Merchant Center 的报告级别是变体(id),而不是组级别。要正确评估产品,您必须自行按 item_group_id 进行汇总——如果组 ID 清晰稳定,这将容易得多。
Meta(Facebook 和 Instagram)
Meta 使用相同的字段名称,但具有不同的约束条件和截然不同的显示模型。
- item_group_id 最多允许 100字符 提供美容纤体, 区分大小写.
- 颜色和尺寸最多允许 200字符.
- 可用性值使用 空格,而不是下划线:是 in stock,不是 in_stock。这一个区别比其他任何区别都更容易导致 Meta feed 出错,尤其是在直接重用 Google feed 时。
- 在商店和产品详情页面上,正确分组的集合会渲染成 一款带有变体选择器的产品而不是几个几乎完全相同的列表。
- Advantage+ 目录广告使用分组功能,避免在一个轮播图中向用户展示同一件毛衣的六个版本——未分组的目录会产生明显重复的广告和浪费的展示机会。
- Commerce Manager 中的变体级别报告取决于正确的分组。
实用提示:不要直接将 Meta 指向未经修改的 Google Feed。至少,应检查转换是否可用,并检查字符限制。大多数 Feed 平台(包括 Feedance)都会将此操作作为频道级别的转换来处理,因此源数据不会受到影响。
TikTok
- item_group_id 最多允许 150字符.
- sku_id 是每个变体的唯一标识符——每个变体行都需要一个不同的值。
- 颜色和尺寸最多允许 200 个字符。
- 标题最多允许 255 个字符;描述最多允许 10,000 个字符;需要 google_product_category。
- TikTok 是监管最严格的平台之一。 特定变体图像产品卡片会显示变体选择器,而使用同一张通用图片的变体产品性能明显更差。如果要在图片制作流程中偷工减料,千万不要在这里也偷工减料。
- 与谷歌的模型非常相似;item_group_id 将变体分组。
- Pinterest 会在单个产品 Pin 图中显示多个变体,并提供多种可选选项。
- 图片质量和垂直宽高比至关重要——Pinterest 是一个视觉发现平台,不够独特的图片根本不会被保存。
Amazon
亚马逊不使用 item_group_id,假设它使用会造成大量工作浪费。
亚马逊采用明确的父子关系模型:
- A 父 ASIN 创建为不可购买商品。
- 每 子 ASIN 通过 parent_sku / parent_child 字段引用父级。
- A 变奏主题 必须声明——SizeColor、Size、Color、SizeName-ColorName 等,因类别而异。
- 主题必须适用于特定类别;同一个主题名称并非在所有地方都可用。
如果您要从同一来源同时导出到 Google 和 Amazon,请将其视为真正的数据转换,而不是字段重命名。您的 Feed 层必须构建父级列表、分配主题,并将子级列表映射到该父级列表。
区域市场和比价引擎
土耳其和更广泛的中东及北非地区的频道都有自己的惯例,而这些惯例往往决定了这些市场中节目目录的成败。
- 趋势醇 它采用独特的父子模型,并包含一组必填的类别特定属性。颜色和尺寸是独立的结构化字段,不同类别的必填属性列表也不同。
- 阿卡奇 和 财迷 价格比较引擎通常要求每个可购买的 SKU 对应一行数据,并且会过滤掉重复的、几乎相同的行——因此,发送没有差异化数据的全尺寸数据可能会降低而非提高曝光率。
- Hepsiburada 和 N11 它们各自定义自己的变体分组键和所需属性。
这是通用全球信息流工具最常出现不足的地方,也是属性映射错误导致整个类别悄无声息地从市场中消失的地方。
对比
| 元 | TikTok | Amazon | |||
|---|---|---|---|---|---|
| 分组键 | item_group_id | item_group_id | item_group_id | item_group_id | 父 ASIN |
| 最长长度 | 50 | 100 | 150 | 50 | 不适用 |
| 区分大小写 | 没有 | 是 | 是 | 没有 | 不适用 |
| 可用性语法 | 有存货 | 库存 | 有存货 | 库存 | 数量 |
| 变体图像 | 首推最高性价比 | 首推最高性价比 | 危急 | 危急 | 其他要求 |
| 需要明确的主题 | 没有 | 没有 | 没有 | 没有 | 是 |
| 变体级别报告 | 是 | 是 | 是 | 有限 | 是 |
7. 分裂还是崩溃?
默认建议发送所有变体,但这并非绝对正确。真正的问题在于,变体是否会改变购物者的需求。
发送所有变体时……
- 差异在于购买决策。 服装、鞋类,凡是尺码不合适的商品,都不予出售。
- 不同型号的股票价格差异显著。 广告宣传的产品只剩下 3XL 码可选,这是浪费钱。
- 价格因型号而异。 当所选选项价格为 119 欧元时,显示 89 欧元会导致价格不匹配,从而激怒顾客。
- 搜索需求具有变体限定性。 人们搜索“海军蓝美利奴羊毛衫(中号)”。不提交商品信息,就无法获得排名。
当……时,简化为一个代表性变体。
- 目录非常庞大,而且大多内容同质化。 一家拥有 200,000 万个 SKU 的硬件零售商,其中 60% 是微不足道的长度差异,全面扩张带来的收益甚微,反而会增加信息流处理和营销活动的复杂性。
- 该频道会对近似重复的内容进行惩罚。 一些比较引擎会过滤掉重复的行;完整的运行可能会降低可见性。
- 变体不影响价格、图片或供货情况。 如果所有十二个变体在所有商业相关方面都相同,那么十二行产生的就是噪声而不是信号。
折叠商品时,务必仔细挑选代表商品:选择销量最好的现货商品,而不是按字母顺序排列的第一行商品。这正是业绩数据在信息流中发挥作用的地方——GA4 或平台数据可以自动选择代表商品,而不是依赖排序。
一条中间道路
沿着驱动决策的轴线分裂;沿着不驱动决策的轴线崩溃。
对于鞋类产品,通常的做法是每种颜色占一行,尺码信息合并显示——颜色是吸引顾客的视觉焦点,尺码则是页面上的合身度检查。如果产品的价格取决于产能,则按产能拆分,颜色信息合并显示。
8. 12种最常见的变异错误
| # | 症状 | 原因 | 固定 |
|---|---|---|---|
| 1 | 变体以独立且不相关的产品形式出现。 | item_group_id 缺失或每行唯一 | 填充父 SKU;验证其在整个组中是否重复。 |
| 2 | 频道中完全缺少一些变体。 | 重复的 ID 值——后续行被静默删除 | 强制导出唯一性;添加重复项检查 |
| 3 | “值不匹配(页面爬取)” 表示不赞成 | 登录页面显示的颜色/尺寸/价格与提交的信息不符。 | 添加深度链接参数;确保页面在服务器端渲染所选状态。 |
| 4 | 所有版本都显示同一张照片。 | 单个英雄图像链接重复使用 | 地图变体专属图像;仅当不存在变体图像时才回退到英雄图像。 |
| 5 | 广告点击指向缺货选项。 | 每个变体的可用性未同步 | 提高更新频率;将缺货商品从正在进行的促销活动中排除。 |
| 6 | 颜色被拒绝 | 十六进制代码、数字、单个字母或组合单词 | 映射到纯色名称;多个名称之间用 / 分隔 |
| 7 | 尺寸筛选器不起作用;尺寸查询不匹配。 | 目录中尺寸值不一致(M / Medium / med) | 在饲料级别应用映射表进行规范化 |
| 8 | Meta 上的群组分裂,但 Google 上的群组分裂 | item_group_id 中存在大小写不一致问题 | 强制对整个字段使用单一案例 |
| 9 | Meta拒绝了整个信息流。 | in_stock 用于 Meta 期望的 in stock 值。 | 按渠道转换可用性 |
| 10 | 该组因属性不一致而被拒绝 | 组内性别或年龄组别有所不同 | 这些是群体恒定的;将男性和女性的样本分别切割成不同的组。 |
| 11 | 每次同步都会重置性能历史记录 | 每次导出都会重新生成 item_group_id | 派生自稳定的源字段,绝不能从行顺序或哈希表派生。 |
| 12 | XML 源解析失败 | 未转义的 & 在深度链接 URL 中 | 转义为 &;发布前请验证 XML |
错误 1、2、4 和 11 占实际审计中绝大多数。这些错误都不难发现;它们都难以察觉,直到有人仔细查找才会被发现。
9. 破损尺寸和库存状况
尺码不全的产品系列是指技术上仍在销售但实际上无法销售的产品系列——例如,一件毛衣只有 XS 和 3XL 两个尺码,一双鞋九个尺码中只剩下两个尺码。
这比表面看起来更重要。当顾客点击产品广告却发现没有合适的尺码时,你不仅为一次无法转化的点击付费,还损害了品牌声誉。规模化来看,缺货产品会消耗相当一部分预算,却几乎不贡献任何收益。
检测到它
按 item_group_id 计算:
size_availability_ratio = in_stock_variants / total_variants然后根据阈值采取行动。一个可行的起点是:
| 长宽比 | 解释 | 操作 |
|---|---|---|
| > 0.7 | 健康 | 广告正常 |
| 0.4 - 0.7 | 细化 | 降低出价;密切关注 |
| 0.2 - 0.4 | 破 | 排除在潜在客户开发之外;仅限重定向 |
| <0.2 | 实际上已经售罄 | 完全排除 |
要根据需求量来衡量,而不仅仅是数量。减少 XXS 和 XXL 码的影响远小于减少 M 和 L 码的影响,因为 M 和 L 码通常占销量的大部分。如果将所有尺码一视同仁,那么对核心尺码的减少反应就会不足。
付诸行动
最简洁的实现方式是在信息流中标记条件,而不是删除产品:
XML
<g:custom_label_1>broken-size</g:custom_label_1>标记而非删除可以保留产品在渠道中的历史记录,并在库存恢复后立即重新激活。移除并重新添加会重置学习数据。
还有两项值得改进的地方:
- 反馈意见可用于商品销售。 反复出现尺码不全的商品清单是一种购买信号,而不仅仅是广告问题。
- 每次同步后都要重新检查。 库存会变动,标签也必须随之更新。静态的断码商品清单比没有清单更糟糕,因为它会遗漏已经补货的商品。
10. 使用变体进行广告系列细分
一旦变体结构正确,数据就变成了一个分割层——可以说是干净的变体源回报最高的用途。
Google 提供了五个 custom_label 字段(0-4)。它们可以接受任意值,完全用于您自己的广告系列逻辑。变体数据是理想的输入字段。
一个可行的方案
| 标签 | 维度 | 示例值 |
|---|---|---|
| 自定义标签_0 | 利润层级 | 高利润、标准、清仓 |
| 自定义标签_1 | 牲畜健康状况 | 全尺寸运行,稀疏,破碎尺寸 |
| 自定义标签_2 | 性能等级 | 畅销书,稳定,长尾效应 |
| 自定义标签_3 | 季节性 | ss26、aw25、核心、结转 |
| 自定义标签_4 | 价格带 | 50岁以下、50-100岁、100-200岁、200岁以上 |
有了这些,营销逻辑就变得简单明了:
- 竞价购买畅销书 + 全尺寸印刷 + 高利润
- 排除破碎尺寸的矿石
- 为清关制定一套独立的策略,并采取积极的tROAS策略。
- 赛季开始时隔离 ss26
Performance Max 和 Advantage+
两者都高度自动化,这使得信息流层面的细分变得更加重要。你不再能控制关键词级别的出价,因此信息流成为你引导广告支出的主要手段。
在 Performance Max 中,自定义标签驱动资产组和上市组的结构。将单一的综合资产组拆分为基于保证金或股票健康状况的组是为数不多的剩余结构调整手段之一,而这完全取决于标签是否由真实数据填充。
在 Advantage+ 目录广告中,正确的分组可以防止轮播图显示六种不同色调的同一款毛衣——基于变体属性构建的产品集定义可以将潜在客户开发与再营销库存分开。
利用性能数据丰富标签
静态标签会失效。上季的畅销书信息在本季可能失效。
更完善的实现方式会在每次信息流同步时,根据实时效果数据(例如 GA4 收入、转化率和浏览量)重新计算标签。销量下滑的产品会自动从畅销榜单中移除;销量上升的产品则会进入畅销榜单。这正是信息流优化在实践中的核心意义所在,也是真正能够指导预算分配的标签与仅仅描述上个季度业绩的标签之间的区别所在。
11. 衡量变体性能
变体级别的数据是大多数报告悄然失效的地方。
聚合问题。Merchant Center 和 Ads 的报告级别是 ID。一件毛衣有 20 个款式,却显示为 20 行,每行的销量都很少,没有哪一行单独来看具有意义。任何基于单个款式行得出的结论都可能是噪声。
始终从两个层面进行分析:
- 集团层面 (item_group_id)——执行此操作 产品展示 工作?汇总所有会员的支出、转化率和收入。
- 变体级别 (id)——哪个 选项 哪些颜色畅销,哪些尺码最先售罄,哪些组合始终滞销?
第二部分才是真正有趣的发现所在。它回答了商品销售人员关心的问题:海军蓝的销量是否是炭灰色的三倍?L码的商品是否因为始终有货而转化率更高?是否有某种颜色拉低了整体的平均销量?
每个群体值得追踪的指标:
| 米制 | |
|---|---|
| 尺寸可用性比率 | 浪费支出的领先指标 |
| 通道中的变异覆盖率 | 提交与实际批准——问题往往隐藏在这个差距中。 |
| 按变体划分的展示份额 | 揭示了该频道实际倾向于哪些选项 |
| 按颜色划分的转化率 | 商品销售和购买信号 |
| 各群体的不赞成率 | 及早发现系统性属性错误 |
关于归因分析的说明。消费者经常会看到某个款式的广告,但最终购买的是另一个款式——比如点击了海军蓝的广告,却买了炭灰色。因此,如果直接使用款式级别的广告支出回报率(ROAS)数据,就会造成归因错误。评估产品时,应该从产品组层面入手;利用款式数据来了解消费者行为,而不是基于少量样本数据来制定竞价决策。
12. 上线前检查清单
在将变体源上线之前以及任何结构更改之后运行此命令。
结构
- 每个变体都有一个唯一的ID
- 组中的每个成员都拥有相同的 item_group_id
- item_group_id 源自一个稳定的源字段,在导出过程中不会改变。
- item_group_id 在整个数据源中采用一致的大小写形式。
- 每个成员至少在一个定义变体的属性上有所不同
- item_group_title 存在且在整个组中相同
Attributes
- 颜色使用纯色名称——不使用十六进制代码、数字或单个字母。
- 多种颜色之间用斜杠“/”分隔,主色在前
- 整个目录中的尺寸值已进行标准化处理。
- 如果您跨尺码区域销售产品,则需要声明 size_system。
- 每个组内的性别和年龄组均相同
- 材料和图案在它们定义变化的地方得以体现
链接和图片
- 每个变体的链接都解析到正确的预选状态
- 在 XML 中,& 会被转义为 &。
- image_link 是特定于某个变体的,并非共享的主图。
- 图像符合各通道的最小尺寸要求
通道变换
- 库存信息语法已根据渠道调整(in_stock 与 in stock)
- 每个频道遵守字符限制
- 亚马逊导出构建父商品信息并声明有效的变体主题
- 按类别映射的区域市场属性集
营运部
- 更新频率与股票实际变动速度相匹配。
- 每次同步都会运行破损大小检测。
- 导出前会运行重复 ID 检查
- 发布前,信息源会验证其是否为格式良好的 XML/CSV 文件。
- 已配置警报机制,以便在产品数量突然下降时发出警报。
13。 常问问题
我需要提交所有款式吗?并非总是如此,但对于服装和鞋类来说通常是需要的,因为尺码和颜色是影响购买决策的关键因素。对于非常庞大的同质化产品目录,或者会过滤掉近似重复商品的渠道,每个类别提交一个精心挑选的代表性款式可能效果更好。选择代表性款式时,应根据销售业绩和库存情况,而不是按字母顺序排列。
如果我省略 item_group_id 会怎样?每个变体都会被视为一个独立的产品。这样一来,目标页面上的变体选择器就会丢失,广告内容会变得重复,变体级别的报告也会失效,而且在 Google 上,您可能无法满足一项要求——在一些主要市场,提交变体时,免费商品信息和购物广告都需要 item_group_id。
不同款式的价格可以不同吗?可以。价格并非款式定义属性,但不同款式的价格可以有所不同——通常来说,尺寸越大价格越高。提交的价格必须与该款式在落地页上显示的价格一致。
缺货商品是否应该保留在商品信息流中?通常情况下是应该的。与其删除它们,不如保留并添加“库存状态:缺货”的标签。删除后再重新添加会重置该商品在渠道中的历史记录。建议使用规则或自定义标签将它们从正在进行的推广活动中排除。
一个产品可以同时属于两个类别吗?不可以。`item_group_id` 属性每个产品只能指定一个值。如果一个产品确实同时属于两个概念类别,那么你需要从源头解决商品分类问题。
我需要为每个渠道分别设置 item_group_id 值吗?不需要,也不应该这样做。所有地方都使用相同的逻辑分组。不同渠道之间的区别在于应用的转换:字符限制、大小写、语法。保持一个数据源,并在导出时进行调整。
如何处理真正意义上的均码产品?请将尺码提交为 one_size、OS 或 OSFA。对于在需要填写尺码的市场销售的服装,请勿将尺码栏留空。
同一设计推出男款和女款——归为一组还是两组?两组。同一组内的男女款必须完全相同。不同的剪裁和尺码,从消费者的角度来看,就意味着它们是不同的产品。
实际应用中最常见的问题是什么?根据我们的审核,问题包括:不同颜色版本之间共享的首页图片、每次导出时重新生成的 item_group_id 值,以及从 Google Feed 直接复制到 Meta 中的可用性语法。这三点在界面中都不可见,只会表现为无法解释的性能下降。
这让你身处何方?
变体推送机制以大多数数字营销方式所不具备的方式奖励精准投放。item_group_id 中不存在创意判断——它要么稳定且共享,要么就不是。颜色值要么符合规范,要么被拒绝。图片要么与变体匹配,要么点击无效。
好消息是:这是一个可以解决的问题,而且有明确的答案。难点在于如何维护——因为产品目录每天都在变化,库存每小时都在变动,而且每个渠道都会根据自己的节奏调整规格。
那些真正懂得如何正确处理这种做法的企业,会将变体数据源视为基础设施而非文件。他们会从稳定的源数据中提取分组 ID,在源端对属性进行一次规范化处理,在导出时按渠道进行转换,在每次同步时重新计算库存健康状况,并在出现异常变动时发出警报。
Feedance正是为此而生的——源属性规范化馈送规则、每次同步时重新计算的损坏大小检测、保持性能标签最新的GA4 增强功能,以及无需触及源数据即可为 200 多个目标应用正确转换的通道导出功能。
如果您想在更改任何内容之前了解自己的变异结构现状,我们的免费 feed 审核工具可以免费对现有 feed 的完整性、数据质量和技术健康状况(包括变异分组)进行评分。