想象你在卖一盏小台灯,标价60欧元,旁边划掉一个80欧元。顾客看到的第一反应是:省了20欧。可那个80欧到底是什么?是你之前的售价,是厂商建议零售价,还是页面设计时随手留下的一个数字?这三种含义,差别很大。
![]()
这件事现在值得重新看一眼,因为划掉的价格不只会停在商品页上,它还可能被购物助手读走,当成"这件商品正在促销"的证据。一个被夸大的划线价,本来就不该只为了让优惠看起来更划算。
划线价正在变成购物助手的数据
2026年10月9日,Shopify 宣布 Catalog API 会把符合条件的变体 Compare-at 价格作为 list_price 返回,同时不改变 price 本身。变体是顾客真正下单的那个组合——特定颜色、尺码或配置。白色台灯的参考价,解释不了哑光黑台灯的折扣。
Global Catalog 支持买家上下文,包括国家、地区和货币,所以核对价格时要把变体和买家地区一起记录。返回 list_price 需要满足几个条件:开启 Catalog Mapping 共享、参考价高于买家上下文中的价格、以及地区展示。多数店铺默认开启;MSRP/参考价用途则默认关闭。字段缺失只意味着该配置在该上下文中没有可展示的参考价,不等于没有历史降价。
主题控制的是店面展示,而每个 AI 渠道自己决定要不要显示收到的参考价。这个设置共享的是 Compare-at 参考价,并不控制商品整体的可发现性。
先弄清80欧是什么,再决定怎么展示
如果80欧只是厂商建议零售价,它表达的是厂商的建议,并不能证明你的店以前真卖过80欧。把优惠写成"原价80欧,现价60欧",等于把一个外部基准包装成了你自己的降价故事。
欧盟委员会关于不公平商业行为的指引提到,建议零售价对比应当加以说明;不切实际的高参考价和误导性呈现可能误导消费者,判断要视具体情况而定。加一个"MSRP"标签,并不会自动让对比变得合规。
就算你以前真卖过80欧,也要问清楚:在哪里、哪个变体、什么时候。后台截图只能说明现在填了什么,说明不了这件商品的销售历史。
实际操作里常见的混乱是:运营把80欧叫"常规价",设计标成"原价",开发把它当成所有渠道的折扣基准。同一个数字被反复复用,但对顾客做出的说法已经变了。改页面之前,先用一句话把这个字段的业务含义写清楚,这比先挑划线样式更重要。
2026年10月21日查看 Taylor Stitch 的 The California Shirt(Breaker Gingham)页面,选中 M/40,价格区显示 94.50美元,旁边划掉135美元,并标注"30% off"。加购按钮附近还写明 Last Call 商品为最终销售,不支持退货或促销折扣。值得借鉴的展示细节是:价格、所选尺码和购买限制都放在同一个决策区域里,而不是让顾客自己去推断优惠怎么适用。
这张截图只能说明页面当时展示了什么,不能证明135美元是该变体真实的原售价、MSRP,还是过去30天的最低价,也不能证明该店铺定价是否合规。
欧洲市场的30天规则
面向欧盟消费者销售实体商品并发布降价公告时,第6a条的一般规则要求采用商家在至少过去30天内的最低价格。成员国对新品、易腐商品和逐步加大的折扣有各自的监管选择,需要核对适用的国家规则。这不是放之四海皆准的价格对比规则。
把台灯放到德国继续算。假设一般规则适用:常规价80欧,但在降价前30天里曾以70欧出售,现在卖60欧。按80欧宣传"25% off",就忽略了那个更低的价。从70欧降到60欧,约为14.3%。在2024年 Aldi Süd 案的裁决中,欧洲法院确认,百分比降幅和强调价格优势的促销表述,必须使用至少过去30天内的最低价。
所以 list_price 字段不会自动变成"过去30天最低价"字段。它承载的是商家提供的定价数据,而不是价格历史审计得出的结论。运营团队需要相关地区、变体、日期和促销的记录,才能选定参考价和措辞;开发没法从今天的两个数字反推出那段历史。
先查后台数据,再看实际展示
从一个正在促销的变体开始,而不是改动整个商品目录。把它的 SKU、目标地区、货币、当前价格、参考价含义和相应历史证据整理出来,然后逐项排查依赖关系。
- 查商品数据:进入 Products → 商品 → Variants → 选中变体 → Price,核对 Price、Compare-at 以及目标市场的固定价格,后者会覆盖基础价格和 Compare-at。
- 查共享设置:进入 Sales channels → Agentic → Sources → Shopify Catalog → Review product data mapping,检查 Compare-at 开关,并在 Preview 中选中该商品。之后修改字段用途,不会自动改变默认的共享选择;Preview 也不保证 AI 渠道的最终呈现。
- 查地区展示:对需要核查的欧洲经济区市场,进入 Markets → 相关市场 → More Settings → Compare-at price,检查 Hide compare-at。不要假设所有店铺用同一个默认值,开关位置本身不能替代价格主张的证据。
这些检查确认的是源数据、共享意图和地区配置。接下来要确认顾客看到什么:选中同一变体和地区,依次检查商品卡片、商品页、购物车和结账。如果能拿到 Catalog 响应或 AI 渠道的实际展示,也一并比对;拿不到外部结果,就记为未核实。后台预览不是变更已经到达渠道的证明。
把连续的调价记在同一份记录里:哪个变体、哪个市场、起止时间、公开售价和促销条件、谁核对了参考价证据。可验证的业务记录能支撑价格历史,手工维护的表格不该被描述成 Shopify 自动出具的历史证明。
如果80欧的依据仍然不明,就别让设计去替它定含义。在证据清楚之前,先暂停那个"省了20欧"的说法。字段缺失也不该用全店统一乘数去填——一致的百分比,证明不了每件商品都有它所暗示的销售历史。
两个容易漏掉的实现细节
一是金额单位,二是变体身份。UCP 的金额使用货币最小单位并附带明确的货币代码:这里的60欧就是 amount: 6000、currency: EUR。变体 ID 标识的是结账商品,Catalog 响应带上下文,而结账才是交易的权威来源。
跟着这盏哑光黑台灯走一遍真实流程:选中它,确认页面没有残留其他颜色的参考价;加入购物车,检查选项、数量和商品价格;切换到目标市场,再核对一次货币和地区定价。如果页面显示60欧,购物车里却是另一个变体,数字对上了,流程也是错的。
结账不必保留划线价——Shopify 表示结账显示售价,而商品页和集合页可以两者都显示。要跟踪同一件商品的价格和条件,运费、税费或额外折扣单独排查,不要拿订单总额直接对比商品页单价。
促销结束后再走一遍流程。如果后台价格已经恢复,横幅还在承诺"省25%",或者某个变体因缓存旧值仍挂着过期的参考价,顾客收到的信息依然是矛盾的。改一个字段,不等于事情做完了。
留好一组对应证据:变更前后的数据、所选变体和市场、关键店面步骤和核对时间。出现不一致时,这些记录能帮你分清是源数据出错、映射过期,还是页面仍在读旧值。否则你可能一直在改价格,却始终找不到问题在哪。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.