元字段触发器,分步指南
关于在产品、变体、订单、客户以及另外八种所有者类型上修改元字段(并保留其先前值)的Shopify Flow分步教程。
元字段是商店用来存储Shopify中没有对应字段的数据的地方,而Shopify Flow无法对这些字段的变更做出响应。这五个触发器可以做到这一点 - - 而且它们会携带previousValue,因此工作流程可以区分数值上升与下降。
根据定义,它们全都有效:您可以在应用的**“元字段触发器**”页面上选择要监视的元字段。如果您未在此处添加某个元字段,则该元字段不会触发任何操作。有关设置方法,请参阅 元字段触发器。

元字段更新
当被监视的元字段发生变化时触发,适用于任何所有者类型:产品、变体、产品系列、客户、订单、订单草稿、公司、公司地点、博客、博客文章或页面。
| 火灾源于 | Shopify Webhook 结合变更检测。会按计划检查变体、博客、博客文章和页面的元字段 |
| 权限 | 产品、变体和产品系列数据的访问 |
| 已开启 | 根据元字段的定义,在应用的**“元字段触发器**”页面上 |
用于
- 没有类型化触发器的所有者类型:产品系列、公司、页面、博客文章。
- 一个监听多个元字段并在
metafieldKey上进行分支的工作流程。
元字段更新会向您的工作流程发送什么
| Shopify Flow中的变量 | 类型 | 内容简介 |
|---|---|---|
metafieldKey |
文本 | 已更新的元字段的 namespace.key(用于在 Shopify Flow 中进行筛选) |
resourceType |
文本 | 资源类型(PRODUCT、PRODUCTVARIANT、产品系列、客户、订单、公司、公司所在地、ARTICLE、BLOG、PAGE) |
resourceId |
文本 | 被更新的资源的 GID |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:响应集合元字段的变更
- 在应用中打开**“元字段触发器**”,点击**“添加触发器**”,选择所有者类型**“产品系列**”及其定义,然后保存。
- 在“Shopify Flow”中,选择**“元字段更新**”作为触发器。
- 添加条件:
metafieldKey等于custom.banner_text,且resourceType等于COLLECTION。 - 添加“使用
{{metafield.previousValue}} -> {{metafield.value}}和{{resourceId}}发送内部邮件”这一项。 - 启用该工作流程。
产品元字段更新
当被监视的产品元字段发生变化时触发,此时该产品作为原生 Shopify Flow 引用。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 产品、变体和产品系列数据的访问 |
| 已开启 | 启用一个使用该功能的 Shopify Flow 工作流程即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 直接对产品进行操作:为其添加标签、发布、更新另一个元字段。
- 数值元字段的阈值:评分、库存预测、供应商交货期。
“产品元字段更新”会向您的工作流程发送哪些内容
| Shopify Flow中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 元字段发生变化的产品。这是一个完整的Shopify产品,因此其所有字段以及Shopify Flow自身的产品操作均可使用。 |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Shopify Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:为评分低于3的产品添加标签
- 在应用的**“元字段触发器**”页面中添加该产品元字段。
- 在 Shopify Flow 中选择**“产品元字段更新**”。
- 添加一个条件:
metafieldKey等于reviews.rating。 - 添加运行代码来比较数字,因为元字段的值以文本形式返回:return
dropped: Number(input.metafield.value) < 3 && Number(input.metafield.previousValue) >= 3。 - 在代码的
dropped输出处添加一个条件,然后添加产品标签low-rating。 - 启用该工作流程。


产品变体元字段更新
当被监视的变体元字段发生变化时触发。父产品以引用形式传入,变体则以resourceId的形式传入。
| 火灾源于 | 按计划进行检查,因为 Shopify 不会为此发送 Webhook |
| 权限 | 产品、变体和产品系列数据的访问 |
| 已开启 | 启用一个使用该功能的 Shopify Flow 工作流程即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 将变体数据汇总到产品层面,例如所有变体中最短的交货期。
- 将变体级别的属性同步到数据源。
“产品变体元字段更新”会向您的工作流程发送哪些内容
| Shopify Flow中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 元字段发生变化的变体的父产品(用于编写产品元字段)。这是一个完整的Shopify产品,因此其所有字段以及Shopify Flow自身的产品操作均可使用。 |
resourceId |
文本 | 元字段发生变化的产品变体的 GID |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Shopify Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:将变体元字段复制到其对应的产品上
- 在**“元字段触发器**”页面上添加“变体”元字段。
- 在Shopify Flow中选择**“产品变体元字段更新”**。
- 在
product上添加**“Update product元字段”字段**,并将其值设为{{metafield.value}}。 - 启用该工作流程。
元字段更新顺序
当被监视的订单元字段发生变化时触发,此时订单作为原生引用。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 订单数据访问 |
| 已开启 | 启用一个使用该功能的 Shopify Flow 工作流程即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 根据应用程序写入订单中的数据做出响应:交货日期、风险评分、ERP编号。
- 当批准元字段状态发生变化时,启动发货步骤。
“元字段更新”会向您的工作流程发送什么指令
| Shopify Flow中的变量 | 类型 | 内容简介 |
|---|---|---|
order |
订单(Shopify) | 元字段发生变化的订单。这是一个完整的Shopify订单,因此其所有字段以及Shopify Flow自带的订单操作均可用。 |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Shopify Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。若元字段刚创建,则为空 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:当订单的“批准”元字段变为“true”时,发布该订单
- 在**“元字段触发器**”页面上添加订单元字段。
- 在 Shopify Flow 中更新拣货顺序元字段。
- 添加条件:
metafieldKey等于custom.approved,且metafield.value等于true。 - 添加一个“针对
order.fulfillmentOrders的For each循环”,并启用**“释放发货订单保留”功能**。 - 启用该工作流程。
客户元字段更新
当被监视的客户元字段发生变化时触发,此时将客户作为原生引用。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 客户数据访问 |
| 已开启 | 启用一个使用该功能的 Shopify Flow 工作流程即可将其开启。该功能的专属开关位于应用的**“触发器**”页面上。 |
用于
- 保存在元字段中的会员等级、信用额度或生日信息。
- 将表单或应用程序写入的客户属性同步到 CRM 中。
“客户元字段更新”会向您的工作流程发送哪些内容
| Shopify Flow中的变量 | 类型 | 内容简介 |
|---|---|---|
customer |
客户(Shopify) | 元字段发生变化的客户。该客户是Shopify的完整版用户,因此其所有字段以及Shopify Flow自身的客户操作均可使用。 |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Shopify Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:给达到黄金级别的客户添加标签
- 在**“元字段触发器**”页面上添加“客户”元字段。
- 在“Shopify Flow”中选择**“客户元字段更新**”。
- 添加条件:
metafieldKey等于loyalty.tier,且metafield.value等于gold。 - 添加客户标签
gold,并向VIP团队发送内部邮件。 - 启用该工作流程。
下一步
除了通用触发器**之外,**类型化触发器也会被触发,并且与通用触发器共享同一事件,因此同时启用这两者不会在您的计划中被重复计数。
- 触发器完整参考指南 - 所有触发器都集中在一页上。
- 选择合适的触发器 - 哪一种适合您的情况。
- 自定义触发器 - 如果没有合适的内置触发器,请自行编写。
- 事件历史记录和故障排除 - 看看它发射了什么,又携带了什么。
