批量降价后折扣码算出来的金额反而更高
现象#
把 200 个变体统一降 20% 后,原本 9 折的折扣码在结账页优惠金额没变,折后价接近原价,客户投诉比活动前还贵。
原因#
- 折扣按 compare_at_price 或价格表原价计算,price 改了分母没改
- Markets 的 price list 固定价优先于百分比调价,批量改的只是基础价
- productVariantsBulkUpdate 不传 compareAtPrice 时会保留旧值
- 折扣 Function 读的是 cart line 的 cost,价格快照可能还没刷新
处理步骤#
- 改价时同时写
price与compareAtPrice,保持折扣基准一致 - 查
priceListPrice是否对该市场设了固定价,有就先改价格表 - 用
productVariantsBulkUpdate分批提交,逐批检查userErrors - 用一个测试折扣码走完整结账,核对返回的
discountAllocations - 活动期间避免同时改基础价和自动折扣,分成两次发布
验收标准#
结账页折扣金额按新价计算,discountAllocations.allocatedAmount 与手算结果一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。