Google 购物 feed 校验器
赶在 Google 之前先找出会被拒登的地方。把你的商品 feed 拖进来,拿到每一个可修复的问题 —— 对照 28 条有据可查的规则,每条都附官方依据。
🔒 你的 feed 不会离开浏览器。
这个工具查什么 —— 以及它查不了什么
这里的一切都在你的浏览器里、对着 feed 文件本身运行,所以它覆盖的是数据里面的问题:属性缺失、价格格式不对、GTIN 无效、标识符设置互相矛盾、枚举取值错误、id 重复。
凡是需要访问你网站才能判断的,它都查不了 —— feed 里的价格与落地页是否一致、图片 URL 是不是真的能加载、商品页在不在。这些都是真实存在的拒登原因,所以这里报告干净并不等于一定过审;它的含义是:文件层面的问题已经清干净了。
本工具执行的全部检查(28 条规则)
文件与结构
GMC-F01 没有数据行
GMC-F02 缺表头行
GMC-F03 重复的列
GMC-F04 不认识的列
这个列名不是 Google 购物的属性。自定义列会被 Google 忽略 —— 本身无害,但它常常是某个属性名拼错了的信号。
修复: 如果这本来想写成一个标准属性,对照规范核一下拼写。
GMC-F05 这一行的列数与表头不一致
必填属性
GMC-R01 缺 id
GMC-R02 缺 title
GMC-R03 缺 description
GMC-R04 缺 link
GMC-R05 缺 image_link
GMC-R06 缺 availability
GMC-R07 缺 price
GMC-R08 缺 condition
二手与翻新商品必须填 condition,其余情况也建议填。不填时 Google 会当作 "new" —— 而如果商品并不是全新的,这就构成政策违规。
修复: 把 condition 设为 new、refurbished 或 used。
商品标识符
GMC-I01 GTIN 无效
gtin 的取值通不过 GS1 校验(校验位错、位数错、含非数字字符,或者被表格软件弄坏成科学计数法之类)。Google 会拒收它无法核验 GTIN 的商品。
修复: 核对条码下面印的那串数字。在表格里把该列设为文本格式,免得它继续被弄坏。
GMC-I02 identifier_exists 是 "no",却又给了 GTIN
把 identifier_exists 设为 no,等于声明这个商品没有厂商标识符;同时又填上 gtin(或 mpn)是自相矛盾,Google 会拒收。
修复: 要么删掉这一行的 identifier_exists 列,要么清空 gtin / mpn 的取值。
GMC-I03 identifier_exists 是 "no",却没有 brand 或 mpn
声明为没有标识符的商品,仍然需要足够的信息才能被识别 —— Google 期望这些行上有 brand(通常还要有 mpn)。
修复: 填上你的品牌名。真正无品牌的定制商品,用你的店名作为品牌。
GMC-I04 完全没有商品标识符
这一行既没有 gtin,也没有 brand + mpn 这一对,而且没有声明 identifier_exists=no。大多数类目要求有标识符;少数类目(定制品、艺术品、古着)豁免 —— 所以这里是警告而不是错误。
修复: 补上 gtin,或者补上 brand + mpn 这一对;商品确实没有厂商标识符的话,把 identifier_exists 设为 no。
GMC-I05 重复的 id
格式与枚举取值
GMC-M01 price 格式无效
price 必须是「数字 + 一个空格 + 三个字母的 ISO 4217 货币代码」,例如 "9.99 USD"。用逗号当小数点("9,99 EUR")或者带货币符号("$9.99")都会被拒收。
修复: 价格写成 9.99 EUR —— 小数点用句点,不要千分位,不要符号。
GMC-M02 availability 取值无效
availability 只接受 in_stock、out_of_stock、preorder、backorder。像 "In Stock"、"available"、"yes" 这样的写法会被拒收。
修复: 一字不差地用小写加下划线的写法。
GMC-M03 condition 取值无效
GMC-M04 URL 无效
link 与 image_link 必须是以 http:// 或 https:// 开头的绝对 URL。相对路径("/products/x")和光秃秃的域名都会被拒收。
修复: 写完整 URL,含协议和域名。
GMC-M05 title 过长
GMC-M06 description 过长
GMC-M07 identifier_exists 取值无效
内容质量
GMC-Q01 标题全是大写
GMC-Q02 标题里有促销文字
title 属性里不允许出现促销用语("free shipping"、"sale"、"best price"、"!!!")—— 它们属于促销活动,不属于商品名。
修复: 把标题里的促销措辞去掉。
GMC-Q03 占位符或模板残留文字
这个取值看着像没清理干净的模板内容(lorem ipsum、"N/A"、"TBD"、"{{product_name}}"、"test")。它们进到线上 feed 的频率高得出人意料,而在买家眼里就是坏掉的数据。
修复: 换成真实的商品数据。
关于这些规则。 每一条都有编号、严重级别和通俗解释。每个来源链接都已登记在案,并对线上页面实际复验过,而不是凭印象写上去的. 规则如何编写、测试与保持更新 →
造成大多数拒登的三个错误
1. Google 核验不了的 GTIN
一位数字写颠倒,校验位就不对,商品随即被拒。更糟的是表格软件会悄悄毁掉条码:一个 13 位的数字变成 8.71E+12,一个 0 开头的 UPC 出来只剩 11 位。本校验器对你的 gtin 列跑完整的 GS1 检查,所以这些问题出现在这里,而不是出现在一封拒登邮件里。
2. identifier_exists 与数据自相矛盾
把 identifier_exists 设为 no,等于声明这个商品没有厂商标识符。同一行上又提交 gtin 与这个声明矛盾,Google 会拒收。反过来,不写这个属性、又既不给 GTIN 也不给 brand+MPN,则意味着这个商品完全没有身份。
3. 价格按欧洲写法写了
Google 要的是 9.99 EUR:句点作小数点,一个空格,然后是 ISO 货币代码。9,99 EUR 与 €9.99 都会被拒收 —— 而这正好把大多数从逗号小数点区域设置导出的卖家绊倒。