客户触发器,分步指南

客户记录变更的11个触发条件。其中7个涉及每家门店均可自由使用的数据(标签、备注、账户状态、营销同意)。另外4个涉及个人数据 - - 姓名、电子邮箱、电话、地址 - - 在获得授权的基础上,还需用户主动选择同意。

本页内容:客户更新添加了客户标签移除了客户标签客户备注已更改客户状态已更改客户电子邮件营销同意状态已更改客户短信营销同意状态已更改客户姓名已更改客户电子邮件已更改客户电话已更改客户地址已更改

Shopify Flow
查找位置:在Shopify Flow中选择“Select a trigger”,打开Workflow Trigger Extensions,然后搜索“Customer”。

客户更新

在每次保存客户记录时触发。它会传递一个changes:其中包含发生变化的受追踪字段(标签、备注、账户状态)及其变更前后的值。

火灾源于 Shopify Webhook 与变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 一个用于处理多种客户编辑操作的工作流,在changes.fields上进行分支。
  • 将每项客户变更同步到 CRM。

“客户更新”会向您的工作流发送什么内容

流中的变量 类型 内容简介
customer 客户(Shopify) 客户。这是一个完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可使用。
payload 文本 包含已更新客户 GID 的 JSON 对象(例如:{"id":"gid://shopify/Customer/123"})
changes 对象 哪些受监控字段发生了变化(标签、备注、账户状态),以及每个字段的旧值和新值
changes.fields 文本列表 已发生变化的受监控字段名称
changes.items 对象列表 每个已更改字段的新旧值
changes.items (each).field 文本 发生变化的字段:标签、备注或状态
changes.items (each).oldValue 文本 更新前的值。长数值会被截短。
changes.items (each).newValue 文本 更新后的值。长数值将被截断
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:将跟踪到的客户变更转发至 CRM

  1. 选择**“客户更新**”作为触发器。
  2. 添加条件changes.fields 既不为空,又存在
  3. 使用 {{customer.id}} 向您的 CRM 发送 HTTP 请求,并循环处理 changes.items 中的内容(fieldoldValuenewValue)。
  4. 启用该工作流。

已添加客户标签

当向某位客户添加至少一个标签时触发。addedTags 仅包含新增的标签。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 当员工或其他应用将客户标记为 wholesalevip 时,即可开始入职流程。
  • 对由会员、订阅或评论应用生成的标签做出响应。

“已添加的客户标签”会将什么内容发送至您的工作流

流中的变量 类型 内容简介
customer 客户(Shopify) 标签发生变化的客户。该客户是Shopify的完整客户,因此其所有字段以及Flow自身的客户操作均可使用。
addedTags 文本 以逗号分隔的、已添加到该客户的标签列表
removedTags 文本 在同一条更新中从该客户处移除的标签列表(以逗号分隔,可能为空)
currentTags 文本 该客户当前所有标签的逗号分隔列表
previousTags 文本 本次更新之前该客户的所有标签的逗号分隔列表
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:欢迎新批发客户

  1. 选择**“添加的客户标签**”作为触发器。
  2. 添加条件addedTags 包含 wholesale
  3. 添加“通过 {{customer.displayName}} 向客户经理发送内部邮件”或“向您的邮件工具发送 HTTP 请求”以启动欢迎系列邮件。
  4. 启用该工作流。

已删除客户标签

当客户身上至少有一个标签被移除时触发。removedTags 中保存了被移除的标签。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 当会员标签消失时,撤销相关权益。
  • 当订阅型应用移除了其active-subscriber标签时,请通知团队。

“已删除的客户标签”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 标签发生变化的客户。这是一位完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可使用。
addedTags 文本 在同一条更新中添加到该客户的标签列表(以逗号分隔,可以为空)
removedTags 文本 从客户处移除的标签的逗号分隔列表
currentTags 文本 该客户当前所有标签的逗号分隔列表
previousTags 文本 本次更新之前该客户所有历史标签的以逗号分隔的列表
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:当订阅者标签被移除时进行跟进

  1. 选择**“客户标签被移除**”作为触发器。
  2. 添加条件removedTags 包含 active-subscriber
  3. 使用winback添加客户标签,并向retention发送内部邮件
  4. 启用该工作流。

客户备注已更改

当客户的备注被添加、修改或清除时触发。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 由支持团队写给账户持有人的路线说明。
  • 从笔记中解析出一个关键词(#callback),并启动一项任务。

“客户备注已更改”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 该客户的备注内容已发生变化。这是一位完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可使用。
oldNote 文本 该客户之前的备注(如果之前未设置备注,则为空)
newNote 文本 客户的新备注(如果备注已被清除,则为空)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:从笔记中创建一个回调任务

  1. 选择**“客户备注已更改**”作为触发器。
  2. 添加条件newNote 包含 #callback
  3. 使用 {{customer.displayName}}{{newNote}},在您的任务工具中添加**“发送内部邮件**”或“发送请求”功能。
  4. 启用该工作流。

客户状态已更改

当客户的账户状态在disabledenabledinviteddeclined之间发生变化时触发。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 在客户激活账户时向其致意。
  • 查看谁拒绝了账户邀请。

“客户状态变更”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 账户状态发生变化的客户。该客户属于完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可使用。
oldState 文本 之前的账户状态(已禁用、已启用、已受邀或已拒绝)
newState 文本 新账户状态(已禁用、已启用、已邀请或已拒绝)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:给已激活账户的客户添加标签

  1. 选择**“客户状态发生变化**”作为触发条件。
  2. 添加一个条件newState 等于 enabled
  3. 使用 account-active 添加客户标签
  4. 启用该工作流。

客户电子邮件营销同意条款已变更

当客户的电子邮件营销同意状态发生变化时触发。consentState 表示新状态:subscribednot_subscribedpendingunsubscribedredacted

火灾源于 Shopify webhook
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上

用于

  • 确保外部电子邮件工具与Shopify保持同步,且双向同步。
  • 为符合合规要求,请记录退订情况。

“客户电子邮件营销同意项的变更”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 该客户的电子邮件营销同意状态已发生变化。该客户是Shopify的完整客户,因此其所有字段以及Flow自身的客户操作均可使用。
consentState 文本 新的电子邮件营销同意状态:已订阅、未订阅、待处理、已退订或已遮盖
optInLevel 文本 订阅方式:single_opt_in、confirmed_opt_in 或未知(可能为空)
consentUpdatedAt 文本 客户上次更新此同意时的 ISO-8601 时间戳(可能为空)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:从外部列表中移除已退订的客户

  1. 选择**“客户电子邮件营销同意状态发生变化**”作为触发条件。
  2. 添加一个条件consentState 等于 unsubscribed
  3. 使用 {{customer.id}} 向您的电子邮件工具的退订端点发送 HTTP 请求
  4. 启用该工作流。

客户短信营销同意条款已变更

当客户的短信营销同意状态发生变化时触发。

火灾源于 Shopify webhook
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 将短信同意信息同步至短信服务提供商。
  • 用户选择退订后,立即停止短信发送。

“客户短信营销同意项的变更”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 短信营销同意状态发生变化的客户。该客户是Shopify的完整客户,因此其所有字段以及Flow自身的客户操作均可用。
consentState 文本 新的短信营销同意状态:已订阅、未订阅、待处理、已退订或被屏蔽
optInLevel 文本 订阅方式:single_opt_in、confirmed_opt_in 或未知(可能为空)
consentUpdatedAt 文本 客户上次更新此同意时的 ISO-8601 时间戳(可能为空)
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:为短信订阅者添加标签

  1. 选择**“客户短信营销同意状态发生变化**”作为触发条件。
  2. 添加条件consentState 等于 subscribed。随后添加**“添加客户标签**”sms-subscriber
  3. 在**“其他**”下,添加**“删除客户标签**”sms-subscriber
  4. 启用该工作流。

客户名称已更改

当客户的姓或名发生变更时触发。该字段记录当前姓名。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。其专属开关位于应用的**“触发器**”页面上。

用于

  • 请确保 CRM、ERP 或客户忠诚度管理工具中的姓名信息保持最新。

“客户名称变更”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 名称已更改的客户。这是一个完整的Shopify客户,因此其所有字段以及 Flow 自身的客户操作均可使用。
firstName 文本 客户当前的名字
lastName 文本 客户当前的姓氏
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:将更改后的名称推送到ERP系统

  1. 在 Flow 中选择**“客户名称已更改**”作为触发器。
  2. 添加**“发送 HTTP 请求**”,网址分别为 {{customer.id}}{{firstName}}{{lastName}}
  3. 启用该工作流。

客户邮箱已变更

当客户的电子邮件地址发生变更时触发。该通知会包含当前的地址。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 在以电子邮件为依据的工具中更新地址。
  • 发送一份关于此变更的安全通知。

“客户邮件已更改”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 邮箱地址发生变更的客户。该客户是Shopify的完整客户,因此其所有字段以及Flow自身的客户操作均可使用。
email 文本 客户当前的默认电子邮件地址
eventId 文本 此事件的ID。请在应用的“事件历史记录”中搜索该ID,以查看具体发送了什么内容。

示例:向客服报告邮箱变更

  1. 在流程中选择**“客户电子邮件已更改”**。
  2. 添加“向支持团队**发送内部邮件”**功能,并附上 {{customer.displayName}} 以及管理员链接。在将 {{email}} 发布到许多人阅读的频道之前,请三思而后行。
  3. 启用该工作流。

客户电话号码已变更

当客户的电话号码发生变更时触发。该事件携带当前号码。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上

用于

  • 保持短信或电话工具处于最新状态。

“客户电话变更”会向您的工作流发送什么内容

流中的变量 类型 内容简介
customer 客户(Shopify) 电话号码发生变更的客户。该客户是完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可用。
phone 文本 客户当前的默认电话号码
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:将新电话号码同步到短信服务商

  1. 在流程中选择**“客户电话已更改**”。
  2. 使用 {{customer.id}}{{phone}} 向提供商添加**“发送 HTTP 请求**”操作。
  3. 启用该工作流。

客户地址变更

当客户的默认地址发生变更时触发。address 是一行格式化的地址,addressDetails 则是将同一地址拆分为单独的字段。

火灾源于 Shopify Webhook 结合变更检测
权限 客户数据访问
已开启 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。

用于

  • 当客户迁往其他国家时,请重新核对其税区或配送区的分配情况。
  • 更新ERP中的应收账款记录。

“客户地址变更”会向您的工作流发送什么

流中的变量 类型 内容简介
customer 客户(Shopify) 默认地址发生变更的客户。该客户是完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可用。
address 文本 客户当前的默认地址,以单行格式显示(可能为空)
addressDetails 对象 客户当前的默认地址(以结构化字段形式表示)(可能为空)
addressDetails.firstName 文本 地址上的名字
addressDetails.lastName 文本 地址上的姓氏
addressDetails.name 文本 全名,由 firstName 和 lastName 生成
addressDetails.company 文本 公司或组织名称
addressDetails.address1 文本 第一行 - - 街道地址或邮政信箱号码
addressDetails.address2 文本 第二行 - - 公寓、套房或单元
addressDetails.city 文本 市、区、村或镇
addressDetails.province 文本 地区 - - 省、州或区
addressDetails.provinceCode 文本 地区代码(例如 ON)
addressDetails.zip 文本 邮政编码
addressDetails.country 文本 国家名称
addressDetails.countryCode 文本 两位字母的国家代码(例如 US)
addressDetails.phone 文本 地址上的电话号码
eventId 文本 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。

示例:标记已移居他国的客户

  1. 在流程中选择**“客户地址已更改**”。
  2. 添加条件addressDetails.countryCode 不同于 DE(您的本土市场)。
  3. 使用 international 添加客户标签
  4. 启用该工作流。

下一步