Skip to main content
本页是策略编辑器背后的完整目录:每个触发条件及其接受的运算符、每个动作、全局筛选器,以及策略的评估方式。它是构建策略演练的配套页面——当你需要某个特定选项的详尽细节时可以查阅。 一条规则将触发条件(何时)与动作(然后)配对,你可以在一个 AND / OR 开关下组合最多五个触发条件:选择 AND 时每个触发条件都必须匹配,选择 OR 时任意一个匹配即可。下面的各部分遵循这一结构——先介绍触发条件和动作,然后介绍适用于所有规则的策略级控制:规则顺序、全局筛选器和 Catch all。

触发条件

触发条件决定规则何时触发。可用的触发条件类型:

产品触发条件

基于上下文中的产品(购物者的购物车、刚完成的订单或正在查看的产品)进行定向:
  • Specific product(s) - 按 ID 匹配特定的 Shopify 产品
  • Collection - 匹配属于特定系列的产品
  • Tag(s) - 匹配带有特定标签的产品(例如 “sale”、“summer”)
  • Title - 匹配产品标题
  • Vendor - 匹配供应商/品牌名称
  • Type - 匹配产品类型字段(例如 “Apparel”、“Electronics”)
  • Handle - 匹配产品 URL 别名
  • Metafield - 匹配自定义元字段的 namespace/key/value 组合
  • Selling plan - 匹配 “subscription” 或 “one-time” 产品。仅当请求上下文为该产品提供了销售计划时才会评估——Aftersell 的 checkout 和购后 upsell 触点不会发送此信息,因此除非自定义集成明确提供,否则该触发条件在这些触点上不会匹配

客户触发条件

基于购物者的身份进行定向:
  • Customer tag - 例如 “VIP”、“loyalty-gold”
  • Country code - 账单国家
  • Province code - 账单省份/州
  • Locale - 客户区域设置(例如 “en-US”)
  • Accepts marketing - 营销订阅状态
  • Order count - 以往订单数量
  • Total spent - 累计消费金额

购物车触发条件

基于购物车的整体状态进行定向:
  • Cart subtotal - 例如小计大于 $50
  • Item count - 购物车中商品的总数量
  • Line count - 不同行项目的数量
  • Cart attribute - 通过 Shopify 购物车 API 设置的自定义购物车属性
  • Cart note - 购物车备注字段

位置触发条件

基于购物者的配送目的地以及商店货币进行定向:
  • Shipping country - 配送目的地国家
  • Shipping province - 配送目的地省份/州
  • Shipping method - 所选配送方式
  • Store currency - 当前生效的商店货币代码

营销触发条件

基于购物者到达时的页面 URL 进行定向:
  • URL - 匹配着陆 URL 中的子字符串,因此你可以通过匹配 URL 中嵌入的参数(例如 utm_source=newsletter)来定向特定的营销活动或渠道

时间触发条件

基于请求被评估的时间(商店时间)进行定向:
  • Day of week - 当天是星期几
  • Hour of day - 当前小时

动态触发条件

  • Always match - 一个没有条件、始终触发的触发条件。用它让规则在每个请求上都运行(这与策略级的 Catch all 不同,后者只在没有其他规则匹配时才触发)。
并非每个触发条件在每个触点上都有数据。例如,Checkout 只发送产品和购物车上下文——客户、位置和营销触发条件在那里不会匹配。关于每个触点发送哪些数据,请参阅实施策略指南。

运算符

每个触发条件都使用一个运算符来定义如何匹配值。可用的运算符取决于触发条件类型。 并非每个运算符都适用于每个触发条件:
  • 列表运算符(Contains any / all 及其否定形式)适用于多值字段,例如标签、系列、客户标签和特定产品。
  • 文本运算符(Equals、Contains 及其否定形式)适用于单值文本字段,例如标题、供应商、handle、区域设置、国家和 URL。
  • 数值运算符适用于购物车小计、商品数量、行数、订单数量、累计消费和小时等字段。数值运算符没有 “does not” 变体。
  • 少数字段仅支持 Equals 和 Does not equal——销售计划、星期几和营销订阅状态。

动作

动作创建你希望向客户呈现的体验。你可以在这里决定展示哪些产品、如何展示,以及随产品一起传递的任何附加数据。一条规则可以同时配置多个动作,以构建完整的体验。 在每条规则中,所有配置的动作都会汇入同一个组合产品池。例如,一条包含特定产品动作、系列动作和基于标签动作的规则,会同时返回来自这三个来源的产品。如果某个产品匹配多个来源,会被去重。

产品动作

触发条件一侧可用的产品属性,在定义动作时同样可用。你可以基于以下内容返回产品:
  • Specific products - 从你的 Shopify 产品目录中手动挑选单个产品。
  • Collection - 返回属于特定系列的所有产品。
  • Product attributes - 返回符合标签、供应商、产品类型或元字段等条件的产品——与触发条件中使用的属性类型相同。

动态动作

动态动作根据实时信号而非固定的产品列表来改变返回内容。可用的动态动作类型包括:
  • Most popular - 按销量计算的商店最佳表现产品,可以是全店范围,也可以限定在某个系列内。
  • Recently purchased - 全店近期被购买的产品。
  • Inherit from when - 复用规则自身的触发条件(“when”)作为产品选择器,使返回的产品与规则触发时所依据的条件一致。
  • AI Recommendations - 由 Aftersell 推荐模型生成的个性化建议。

筛选动作

产品池组装完成后,你可以配置返回多少产品以及按什么顺序返回:
  • Sort - 控制选择哪些产品:
    • Random - 随机选择。
    • Price: high → low - 最贵的产品最先返回。
    • Price: low → high - 最便宜的产品最先返回。
  • Amount/Limit - 设置返回产品的最大数量。
  • Type - 将组装好的产品池缩小到单一 Shopify 产品类型。选择 Equals 进行精确匹配,或选择 Contains 进行子字符串匹配(两者都不区分大小写)。只保留产品类型与你输入的值匹配的产品;其余产品会在应用 Amount/Limit 之前被移除。
Type 筛选器会精简由你的产品动作组装出的产品池——它不同于 Product type 产品动作,后者会返回给定类型的产品。当你想限制更宽泛的动作(例如系列或动态动作)可以返回的内容时,请使用该筛选器。
先应用 Sort,再应用 Amount/Limit。例如,如果你的排序设置为 Random,完整的产品池会在应用限制之前被随机打乱——因此你总是得到一个随机子集,而不是以随机顺序排列的相同产品。

键值动作

你可以选择为规则附加键值对。当规则匹配时,这些键值对会与产品结果一起在 API 响应的 meta.data 中返回。常见用途包括:
  • 促销横幅文本
  • 用于分析的营销活动标签
如果多条规则匹配并输出相同的键,则以第一条匹配规则的值为准——后面的规则无法覆盖它。

规则优先级与评估顺序

策略中的规则按顺序逐步评估。先评估第 1 步,依此类推。你可以在策略编辑器中通过拖放来重新排序规则。评估引擎会:
  1. 根据提供的上下文评估每条规则的触发条件。
  2. 收集所有匹配规则中的产品。
  3. 去重并将结果限制在配置的最大数量以内(默认:20 个产品)。

全局筛选器

全局筛选器会在策略的所有规则中将产品排除在可选范围之外。你可以通过策略编辑器左上角策略名称旁的筛选器图标访问它们。 可用的全局筛选器:
  • Exclude out of stock - 自动排除当前无法购买的任何产品。
  • Exclude input products - 排除触发规则的产品(例如购物者当前在 PDP 上查看的产品),这样你就永远不会推荐购物者正在查看的同一产品。
  • Exclude by product tag - 排除带有特定标签的产品。
  • Exclude by metafield - 排除与特定元字段 namespace/key/value 匹配的产品。
  • Exclude by product ID - 按 ID 排除特定产品。
  • Require stock at location - 仅保留在所选位置有可用库存的产品(需要库存和位置读取权限)。

Catch all

Catch all 是一条特殊规则,作为每次策略评估的最后一步。它没有触发条件;如果策略中没有其他规则与当前请求匹配,它会自动触发。 启用后,Catch all 可确保你的推荐位永远不会为空。它的动作可以使用常规规则可用的任意动作类型进行配置——特定产品、系列、动态动作等。
  • 启用/禁用 - 为该策略开启或关闭 Catch all 规则。禁用时,未匹配任何规则的请求将返回空结果。
  • 配置动作 - 使用可用动作类型的任意组合来定义返回内容,与其他规则相同。
当 Catch all 触发时,API 响应会显示 resolution.fallbackUsed: true。