Shopify 商品与变体

批量降价后折扣码算出来的金额反而更高

现象#

把 200 个变体统一降 20% 后,原本 9 折的折扣码在结账页优惠金额没变,折后价接近原价,客户投诉比活动前还贵。

原因#

  • 折扣按 compare_at_price 或价格表原价计算,price 改了分母没改
  • Markets 的 price list 固定价优先于百分比调价,批量改的只是基础价
  • productVariantsBulkUpdate 不传 compareAtPrice 时会保留旧值
  • 折扣 Function 读的是 cart line 的 cost,价格快照可能还没刷新

处理步骤#

  1. 改价时同时写 price 与 compareAtPrice,保持折扣基准一致
  2. 查 priceListPrice 是否对该市场设了固定价,有就先改价格表
  3. 用 productVariantsBulkUpdate 分批提交,逐批检查 userErrors
  4. 用一个测试折扣码走完整结账,核对返回的 discountAllocations
  5. 活动期间避免同时改基础价和自动折扣,分成两次发布

验收标准#

结账页折扣金额按新价计算,discountAllocations.allocatedAmount 与手算结果一致。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。