Shopify Plus 与 Flow

Flow 条件里 metafield 为空导致不触发

现象#

条件设成客户 metafield vip_level 等于 gold,测试客户在后台明明有值,运行记录却显示条件未通过,后续动作全部跳过。

原因#

  • metafield 必须先通过添加 metafield 加入工作流数据,否则条件读到的是空值。
  • namespace 与 key 写错,例如把 custom 写成应用自己的命名空间。
  • 定义类型是单行文本,条件却按数字或布尔值比较,求值结果恒为假。
  • 定义是列表或引用类型时,条件里拿到的不是可比较的标量值。

处理步骤#

  1. 到 设置 → 自定义数据 → 客户 找到该定义,确认 namespace.key 与字段类型。
  2. 在工作流里点 添加 metafield,按同一 key 起别名。
  3. 条件改用该别名比较,不要手写 customer.metafields 之类的路径。
  4. 先加一个 记录输出 (Log output) 打印该值,确认运行日志不是空。
  5. 类型不一致时改定义类型,或在 运行代码 里显式转换后再参与比较。

验收标准#

运行详情里条件步骤显示通过,Log output 打印出 gold,后续动作状态为成功。

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