Storefront 触发器,分步指南
这些触发条件源于购物者在您网店中的行为,而非您管理后台的更改。当第一个触发条件被启用时,该应用会为您安装一个网络像素,并通过它收集这些数据。
请先阅读 Storefront 触发器:该文章解释了“同意”、数据量以及像素会发送和不会发送哪些信息。每个事件都会计入您的套餐额度,而一家繁忙的店铺一天产生的产品浏览量,甚至比一整年的订单更新量还要多。
本页面内容:浏览了商店商品页面, 浏览了商店商品系列页面, 将商店商品加入购物车, 从购物车中移除商店商品, 浏览了商店购物车, 开始商店结账流程, 商店搜索, 商店搜索未返回结果, 浏览了缺货变体, 已登录客户访问了, B2B 买家访问了、自定义商店前端触发器

网店已浏览商品
当购物者打开商品页面时触发。该事件会将商品及其显示的变体作为引用传入,并包含商品编号(SKU)和价格。
| 火灾源于 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | 商店前端行为访问 + 产品、变体及系列数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 统计消费者对某产品的兴趣,以此指导采购或商品陈列。
- 将浏览量数据导入未集成Shopify的推荐或分析工具中。
“Storefront 查看的产品”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 已查看的产品。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。 |
viewedVariant |
对象 | 所示型号及其SKU和价格 |
viewedVariant.variantId |
ID | |
viewedVariant.variantTitle |
文本 | |
viewedVariant.sku |
文本 | |
viewedVariant.price |
金额 (金额, 货币代码) | |
viewedVariant.vendor |
文本 | |
viewedVariant.productType |
文本 | |
viewedVariant.productUrl |
文本 | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:统计产品元字段中的浏览量
- 选择**“商店前端查看过的产品**”作为触发器。
- 添加一段运行代码,该代码从
product引用中读取产品元字段custom.view_count的当前值,并返回该值加一的结果。 - 使用返回的数字更新产品元字段。
- 启用该工作流。
已查看的“Storefront”系列
当购物者打开一个系列页面时触发。该事件携带该系列的 ID 和标题。
| 火灾源于 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | Storefront 行为访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 查看哪些活动合集获得了流量。
- 将集合视图转发到外部分析端点。
“查看过的商店前端商品集合”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
collection |
对象 | 已浏览的系列 |
collection.id |
ID | |
collection.title |
文本 | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:活动集合的前向视图
- 选择**“店面商品集合查看**”作为触发器。
- 添加一个条件:
collection.title等于Summer Sale。 - 向您的分析端点添加**“发送 HTTP 请求”操作**。
- 启用该工作流。
网店商品已加入购物车
当购物者将商品添加到购物车时触发。该事件携带商品、变体、数量和行小计信息。
| 火灾源自 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | 商店前端行为访问 + 产品、变体和系列数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 尽早发现异常大宗的订单,例如在面向消费者的商店中出现B2B买家。
- 跟踪待测产品的“加入购物车”操作。
Storefront 中的“产品已加入购物车”事件会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 已添加的产品。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。 |
cartLineEvent |
对象 | 款式、数量和行小计 |
cartLineEvent.variantId |
ID | |
cartLineEvent.variantTitle |
文本 | |
cartLineEvent.sku |
文本 | |
cartLineEvent.quantity |
数字 | |
cartLineEvent.lineTotal |
金额 (金额, 货币代码) | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:提醒销售部门注意大宗订单
- 选择**“商店前端产品已加入购物车**”作为触发器。
- 添加条件:
cartLineEvent.quantity大于20。 - 添加**“发送内部邮件”选项**:
{{cartLineEvent.quantity}} x {{product.title}} / {{cartLineEvent.variantTitle}} was added to a cart。 - 启用该工作流。
网店商品已从购物车中移除
当购物者将商品从购物车中移出时触发。
| 火灾源于 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | 商店前端行为访问 + 产品、变体和系列数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 找出那些被频繁添加又移除的产品:这可能涉及价格、运费或商品变体方面的问题。
Storefront 中的“从购物车中移除商品”操作会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 已被移除的产品。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。 |
cartLineEvent |
对象 | 款式、数量和行小计 |
cartLineEvent.variantId |
ID | |
cartLineEvent.variantTitle |
文本 | |
cartLineEvent.sku |
文本 | |
cartLineEvent.quantity |
数字 | |
cartLineEvent.lineTotal |
金额 (金额, 货币代码) | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:记录待测产品的移除情况
- 选择**“商店前端产品已从购物车中移除**”作为触发器。
- 添加条件:
product.tags包含watch。 - 使用
{{product.title}}和{{cartLineEvent.sku}},向电子表格或分析端点发送 HTTP 请求。 - 启用该工作流。
已查看商店购物车
当购物者打开购物车页面(/cart)时触发。该事件包含购物车 ID、商品数量和总金额。
| 火灾源于 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | Storefront 行为访问 |
| 已开启 | 启用使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 注意高价值购物车。
“Storefront 购物车浏览”会向您的工作流发送哪些信息
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
cartSnapshot |
对象 | 查看时购物车中的商品 |
cartSnapshot.cartId |
ID | |
cartSnapshot.totalQuantity |
数字 | |
cartSnapshot.total |
金额 (金额, 货币代码) | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:当购物车金额超过1,000时触发提醒
- 选择**“商店首页已查看商品**”作为触发器。
- 添加**“运行代码**”并返回
big: Number(input.cartSnapshot.total.amount) > 1000,因为金额是以文本形式输入的。 - 在
big上添加一个条件,然后发送内部邮件。 - 启用该工作流。
实体店结账已开始
当购物者进入结账流程时触发 - - 是在流程开始时,而不是在他们放弃结账时。
| 火灾源于 | 该应用在购物者浏览器中的展示界面像素 |
| 权限 | Storefront 行为访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 结账统计以订单为单位开始计算。
- 在发生时,请注意那些金额非常大的结账交易。
Storefront Checkout 会向您的工作流发送哪些内容
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
checkoutSnapshot |
对象 | 结账凭证、行数和总计 |
checkoutSnapshot.checkoutToken |
文本 | |
checkoutSnapshot.lineItemCount |
数字 | |
checkoutSnapshot.total |
金额 (金额, 货币代码) | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:大额结账提醒
- 选择**“在线商店结账开始**”作为触发器。
- 添加条件:
checkoutSnapshot.lineItemCount大于15。 - 添加“使用
{{checkoutSnapshot.total.amount}} {{checkoutSnapshot.total.currencyCode}}**发送内部邮件”**功能。 - 启用该工作流。
店铺搜索
当商店搜索返回至少一个结果时触发。该事件包含搜索词、结果数量、最多十个匹配项,以及作为产品引用项的第一个匹配项。
| 火灾源于 | 该应用在购物者浏览器中的展示界面 |
| 权限 | 商店前端功能访问 + 产品、变体和系列数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 了解购物者搜索了什么,以及他们首先看到的是什么。
- 请确认重要关键词能引导用户找到正确的产品。
Storefront Search 向您的工作流发送的内容
| 流量中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 搜索返回的第一个产品,作为可进行分支操作的完整产品。这是一个完整的 Shopify 产品,因此其所有字段以及 Flow 自身的产品操作均可使用。 |
storefrontSearch |
对象 | 搜索词、结果数量以及最多10条匹配结果(包括第一条) |
storefrontSearch.query |
文本 | 购物者输入的关键词。 |
storefrontSearch.resultCount |
数字 | 搜索返回了多少种产品变体。 |
storefrontSearch.results |
对象列表 | 这些匹配结果按最新相关性排序,上限为10条,以确保数据量较小。 |
storefrontSearch.results (each).productId |
ID | |
storefrontSearch.results (each).title |
文本 | |
storefrontSearch.results (each).vendor |
文本 | |
storefrontSearch.results (each).url |
文本 | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:查看某个关键搜索词显示的第一个结果是什么
- 选择**“商店搜索**”作为触发器。
- 添加条件:
storefrontSearch.query包含gift card。 - 添加第二个条件:
product.title不包含Gift Card,然后发送内部邮件:{{storefrontSearch.query}}的第一个匹配结果是{{product.title}}。 - 启用该工作流。
商店搜索未找到任何结果
当店铺搜索未找到任何结果时触发。这是一份购物者预期您会销售的商品列表,或是您的搜索系统无法识别的词汇。
| 火灾源于 | 该应用在购物者浏览器中的商店展示区像素 |
| 权限 | Storefront 行为访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 收集缺失的产品和同义词。
- 在更换主题或应用后发现搜索功能出现故障:突然激增就是一种征兆。
“Storefront 搜索未返回任何结果”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
searchQuery |
对象 | 搜索词及其结果条数 |
searchQuery.query |
文本 | |
searchQuery.resultCount |
数字 | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:将未找到结果的搜索记录汇总到工作表中
- 选择**“商店搜索未找到结果**”作为触发器。
- 使用
{{searchQuery.query}},向Google Sheets或Airtable的webhook添加**“发送HTTP请求**”功能。 - 每周查看该表格:在Shopify的“搜索与发现”应用中添加同义词或重定向链接,或者根据用户需求补充相关内容。
- 启用该工作流。
已查看缺货的变体
当购物者进入某商品页面,而该页面显示的款式在所有地区均已售罄时,该事件会被触发。这是一种需求信号:有人想要你无法出售的商品。
| 火灾源于 | 该应用的商店展示页面,位于购物者的浏览器中 |
| 权限 | 前端功能访问权限 + 库存数据访问权限 + 产品、变体及系列数据访问权限 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 根据实际需求确定补货优先级。
- 为“补货”活动标记商品。
“查看缺货变体”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 该缺货变体所属的产品。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。 |
outOfStockVariant |
对象 | 该变体及其可用数量 |
outOfStockVariant.variantId |
ID | |
outOfStockVariant.variantTitle |
文本 | |
outOfStockVariant.sku |
文本 | |
outOfStockVariant.availableQuantity |
数字 | |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:为那些虽然已售罄但顾客仍会浏览的产品添加标签
- 将**“已查看的缺货变体**”设为触发条件。
- 使用
restock-demand添加产品标签。 - 添加“向采购部门**发送内部邮件”**选项:
{{product.title}} / {{outOfStockVariant.variantTitle}} ({{outOfStockVariant.sku}}) was viewed while sold out。 - 启用该工作流。
已登录客户到访
当已登录的客户访问您的网店时触发。在您设定的时间范围内(从每次访问到每月一次),同一客户的重复页面浏览将合并为一次访问。
| 火灾源于 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | 店面行为访问 + 客户数据访问 |
| 已开启 | 启用使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 告诉客户经理,一位重要客户回来了。
- 针对久未光顾后重新回来的客户,启动重新互动环节。
“已登录客户访问了哪些页面”会向您的工作流发送哪些信息
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
customer |
客户(Shopify) | 已登录的客户,包含其完整的分支记录。这是一个完整的Shopify客户,因此其所有字段以及Flow自身的客户操作均可使用。 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:告诉客户经理,一位VIP正在浏览
- 在应用中,点击**“已登录客户到访**”旁边的设置图标,然后选择访问时间段,例如每天一次。
- 在“流程”中选择**“已登录客户访问**”。
- 添加条件:
customer.tags包含vip。 - 添加“使用
{{customer.displayName}}发送内部电子邮件”功能。 - 启用该工作流。
B2B 买家到访
当已登录的B2B买家访问您的网店时,系统会触发该事件,并记录其所属公司及代表该公司进行采购的地点。在您选择的时间范围内,访问数据将按公司进行汇总。
| 火灾源于 | 该应用在购物者浏览器中的展示界面 |
| 权限 | 企业及企业位置数据访问(B2B)+ 门店行为数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 当某公司的采购人员处于活跃状态时,通知该公司的销售代表。
- 统计批发客户回购的频率。
“B2B 买家访问”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
purchasingCompany |
对象 | 买方购买的公司及地点 |
purchasingCompany.companyId |
ID | |
purchasingCompany.companyName |
文本 | |
purchasingCompany.companyLocationId |
ID | |
purchasingCompany.companyLocationName |
文本 | |
eventId |
文本 | 此事件的ID。请在应用的“事件历史记录”中搜索该ID,以查看具体发送了什么内容。 |
示例:当某公司的采购人员处于活跃状态时,通知销售代表
- 在应用中,点击“B2B 买家已访问”旁边的设置图标,设置访问时段。
- 在“流程”中选择**“已访问的B2B买家**”。
- 添加**“发送内部邮件”选项**:
A buyer of {{purchasingCompany.companyName}} ({{purchasingCompany.companyLocationName}}) is on the store。 - 启用该工作流。
自定义商店前端触发器
当您的主题发布您定义的事件时触发:例如购物车抽屉打开、尺码指南被使用、测验完成等。您在应用中创建该触发器,为其指定一个事件名称,然后通过一行 JavaScript 代码从主题中发布该名称。
| 火灾源于 | 该应用在购物者浏览器中的商店页面像素 |
| 权限 | Storefront 行为访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。其专属开关位于应用的**“触发器**”页面上。 |
用于
- Shopify 未报告的所有内容:下拉菜单、模态窗口、变体切换器、配置器。
- 将您自己的数据传递过去,并在 Flow 中使用它。
“自定义店面触发器”会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
eventName |
文本 | 您发布的事件名称,例如 cart_drawer_opened。通过此条件进行筛选,仅让其中一个事件触发。 |
triggerName |
文本 | 您为该店面触发器指定的名称。 |
output |
对象 | 在您的转换代码运行后,您随事件发布的数据。 |
output.fields |
对象列表 | 按定义顺序列出的每个键。 |
output.fields (each).key |
文本 | 密钥,即转换函数所返回或输出的原始值(例如“itemCount”)。 |
output.fields (each).value |
文本 | 该值已转换为字符串。对象和数组以 JSON 文本形式返回。 |
output.json |
文本 | 整个有效载荷以 JSON 格式呈现,供希望一次性解析的商家使用。 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:对“成品测验”的反馈
- 在应用中打开**“触发器**”,创建一个**“自定义商店前端触发器**”,并将其事件名称设置为
quiz_completed。复制显示的代码片段。 - 在您的主题中,请在测验结束时调用该代码片段,并传递测验结果,例如:
{ result: "dry-skin" }。 - 在“流程”中选择**“自定义商店前端触发器”,并添加一个条件**:
eventName等于quiz_completed。 - 在**“运行代码**”步骤中,从
output.fields读取数据(键值对),或解析output.json。 - 启用该工作流。
下一步
它们都需具备**“商店前端行为”访问权限**。其中,涉及产品的角色还需具备“产品数据”访问权限;“已登录客户访问”还需具备“客户数据”访问权限;而“B2B买家访问”还需具备“公司”访问权限。
- 触发器完整参考指南 - 所有触发器都集中在一个页面上。
- 选择合适的扳机 - 哪一种适合您的情况。
- 自定义触发器 - 如果没有合适的内置触发器,请自行编写一个。
- 事件历史记录和故障排除 - 看看它发射了什么,以及它携带了什么。

