> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 订阅 upsell 参考

本页汇总了订阅 Upsell 背后的机制和平台规则：订阅如何添加、计划和折扣如何解析、客户看到的内容、履约、Shopify 平台限制，以及完整的故障排查目录。关于如何构建订阅 Upsell，请参阅[购后优惠中的订阅](/zh/aftersell/subscriptions_in_post_purchase_offers)。

<div id="how-the-subscription-is-added">
  ## 订阅如何添加
</div>

订阅 Upsell 使用 Shopify 原生的 `add_subscription` 购后 changeset。在此流程中，Aftersell 不会直接调用你的订阅应用的 API：订阅由 Shopify 创建，你的订阅应用会通过其自身的 Shopify 集成获取该订阅。这就是为什么订阅 Upsell 可以与任何使用 Shopify 原生 Subscription API 的订阅应用配合使用。

订阅的第一个周期会作为普通行项目从**原始 Shopify 订单**中履约。后续续订由你的订阅提供商管理，与在常规 checkout 中创建的任何订阅相同。

<div id="compatible-subscription-platforms">
  ## 兼容的订阅平台
</div>

在 Aftersell 一侧，订阅 Upsell 完全不依赖特定提供商。Aftersell 通过 Shopify 原生的 `add_subscription` changeset 添加订阅，Shopify 会将登记路由到你在 Shopify Subscription API 上安装的任意订阅应用。任何使用 Shopify 原生 Subscription API 的订阅应用都无需额外设置即可使用，包括 Recharge、Skio、Loop、Stay.ai、Appstle、Smartrr、Bold Subscriptions（在 Shopify 原生订阅 API 上运行时），以及 Shopify 原生的销售计划。

你在订阅应用中创建的销售计划会自动导入 Aftersell。（订阅升级的兼容性则不同，且取决于具体提供商；请参阅[订阅升级](/zh/aftersell/subscription-upgrades)。）

<div id="how-selling-plans-resolve">
  ## 销售计划如何解析
</div>

<div id="allowed-subscription-plans">
  ### 允许的订阅计划
</div>

**Allowed subscription plans** 设置是一个允许列表，**按款式**应用。对于客户选择的款式，他们只会看到该款式可用的允许计划：

* 如果恰好有一个允许的计划适用，其名称会以静态文本显示，无需做出选择。
* 如果有多个适用，客户会在 **Purchase options** 下拉菜单中进行选择。
* 如果没有适用的计划，该款式会回退为显示其自身的所有计划。

这种按款式的范围意味着单个允许列表就能正确处理各款式带有不同销售计划的产品。如果某个款式没有任何允许的计划可用（因为某个计划在 Shopify 中被移除或停用），offer 会回退为显示该款式所有可用的计划，因此客户仍然可以完成购买。如果你将产品的购买选项更改为仅一次性购买，允许计划设置也会被自动清除，从而在移除订阅选项时防止配置错误。

<div id="which-selling-plan-is-shown-by-default">
  ### 默认显示哪个销售计划
</div>

当 **Allowed subscription plans** 中未选择任何计划时，offer 会预选 Shopify 中为该产品配置的**第一个销售计划**。如果该款式有多个可用计划，客户可以在 **Purchase options** 下拉菜单中更改。要控制客户看到哪个计划：

* **限制计划**（推荐）。使用 **Allowed subscription plans** 多选框。只允许一个计划，客户就只会看到该计划，没有下拉菜单。
* **在 Shopify 中重新排序销售计划。** 产品上销售计划的顺序决定了哪一个最先显示。
* **从产品中移除未使用的销售计划。** 如果你有多个频率但只想展示其中一个，请只在产品上保留相关的销售计划。

影响留存的最重要因素是让配送节奏与产品的实际使用情况相匹配。一瓶能用 60 天的洗发水若设置 30 天订阅，就会被取消；一瓶只能用 30 天的洗发水若设置 60 天订阅，就会被跳过。查看你的一次性复购数据，找出每个产品的自然节奏。

<div id="how-subscription-discounts-are-shown">
  ## 订阅折扣如何显示
</div>

订阅 Upsell offer 上的折扣**仅适用于第一个计费周期**；之后的循环订单按常规订阅价格扣款。购后 offer 会显示两个不同的价格：

* **Accept Offer 按钮**和行项目小计反映的是**首周期价格**，包含任何首周期折扣。
* **Recurring subtotal** 字段显示的是客户在**后续续订**时按常规订阅价格被扣的金额。

对于常见的首周期折扣（首次配送 10% 到 25% off），这样的显示很清晰。但如果首周期折扣非常极端（例如 100% off），可能会让人困惑，因为循环价格（而不是 \$0 的首周期价格）是更醒目的数字。如果你打算首次配送免费，请在 offer 文案中明确说明（"First box free, then \$59.99 every 30 days"）。

折扣可以是**百分比**（例如 15% off）或**固定金额**（例如 \$5 off）。折扣附加在 Shopify 的 `add_subscription` changeset 上，而不是通过你的订阅应用应用，并且只影响由此 offer 创建的订阅。

<Warning>
  只有勾选 **Apply discount to subscriptions**，折扣才会作用于订阅。如果不勾选，`add_subscription` changeset 不携带任何折扣，订阅将按全价计费；此时 offer 的折扣仅适用于一次性行项目。
</Warning>

<div id="what-the-customer-sees">
  ## 客户看到的内容
</div>

当客户接受订阅 Upsell 时，会在两个系统中发生三件事。

**在 Shopify 订单上。** 订单确认中同时包含**原一次性行项目**和**新的订阅行项目**（按折扣后的首周期价格计费）。客户在原订单上为两个行项目付款，第一次订阅履约会作为普通行项目从该订单发货。

**在邮件确认中。** Shopify 会发送包含两个行项目的标准订单确认。你的订阅提供商通常会发送其自己的订阅欢迎邮件，说明循环计划。请将该欢迎邮件配置为在接受后几分钟内发送，并包含客户姓名和产品、配送节奏、下次扣款日期，以及指向客户门户的直接链接。

**在订阅提供商门户中。** 客户在你的提供商门户中管理新订阅，通常可以在那里暂停或跳过配送、更改节奏、替换产品或取消订阅。该门户归你的提供商所有，而非 Aftersell；请确保可以从你商店的账户区域或欢迎邮件访问它，否则客户会联系客服来取消。

<div id="subscription-fulfillment">
  ## 订阅履约
</div>

* **第一个周期。** 第一笔订阅订单是原始 Shopify 订单的一部分，因此会经过你用于一次性订单的任何履约流程（3PL、自营、代发货）。订阅行项目会与原一次性购买商品一起发货。
* **后续续订。** 后续周期由你的订阅提供商按续订节奏创建。每次续订都会成为一笔新的 Shopify 订单，并与其他订单以相同方式履约。

如果你的 3PL 直接与订阅提供商集成，续订通常会自动流转。如果你的 3PL 仅从 Shopify 订单同步，则无需额外设置，因为每次续订都会创建一笔 Shopify 订单。

<div id="shopify-platform-limitations">
  ## Shopify 平台限制
</div>

无论你使用哪个 Aftersell 功能，一些 Shopify 平台规则都适用于与订阅相关的购后 offer。

<div id="one-subscription-per-order">
  ### 每笔订单一个订阅
</div>

Shopify 不允许购后 upsell 向已包含订阅的订单添加订阅。此限制由 Shopify 设定，适用于所有购后应用。

**连接订阅提供商可为订阅 Upsell 解除此限制。** 当连接了 Recharge、Skio 或 Loop 时，Aftersell 会在你的提供商中创建新订阅，而不是请求 Shopify 添加，因此订阅 offer 可以触达订单中已包含订阅的客户。请参阅[向现有订阅者进行 upsell](/zh/aftersell/subscription-upsell-existing-subscribers)。

如果**未连接任何提供商**，Aftersell 会自动处理"购物车中已有订阅"的情况：

* offer 中的**仅订阅产品**会针对该客户从漏斗中移除。
* **双模式产品**（一次性和订阅）会自动降级为仅一次性购买，因此 offer 仍会显示，但不包含订阅选项。

无论哪种情况，你都可以将订阅 Upsell offer 保留在漏斗中，而不必担心它会在已有订阅的订单上错误触发。若要修改客户已有的订阅，而不是添加第二个订阅，请使用[订阅升级](/zh/aftersell/subscription-upgrades)。

<div id="subscription-only-products">
  ### 仅订阅产品
</div>

如果你的 offer 中某个产品被配置为仅以订阅形式销售，并且未连接任何提供商，那么只要客户的订单已包含订阅产品，该 offer 就会被跳过。漏斗编辑器显示的内容取决于你的设置：

* **已连接提供商。** 不显示横幅；该限制不适用。
* **未连接提供商。** 显示一个带有 **Connect a provider** 操作的 **Unlock more reach** 横幅，说明订单中已包含订阅的客户看不到此 offer 的订阅选项。
* **漏斗已排除订阅订单。** 不显示横幅，因为 offer 永远不会触达这些客户。

在显示旧版 **Subscription limitations** 警告横幅的地方，它会列出受影响的产品，并建议将 **Subscription trigger** 设置为 **do not include a subscription**。

<div id="multiple-subscription-offers-in-the-same-funnel">
  ### 同一漏斗中的多个订阅 offer
</div>

如果你的漏斗中有多个 offer 包含订阅产品，只有第一个被接受的订阅会被添加到订单中；后续的订阅 offer 会被跳过。检测到这种冲突时，漏斗编辑器会发出警告，并列出同样包含订阅产品的其他 offer。为避免 offer 被跳过，请将漏斗限制为一个订阅 offer，或使用 **Subscription trigger** 排除已包含订阅的订单。

<div id="troubleshooting">
  ## 故障排查
</div>

<AccordionGroup>
  <Accordion title="订阅选项没有出现在我的 offer 编辑器中">
    要显示订阅控件，你选择的产品必须在 Shopify 中至少有一个启用的销售计划。请检查你的订阅应用是否已为该产品创建了销售计划，以及这些计划是否处于启用状态并已分配给该产品。
  </Accordion>

  <Accordion title="Aftersell 如何选择显示哪个销售计划？">
    offer 会预选 Shopify 中为该产品配置的第一个销售计划；当客户所选款式适用多个计划时，客户可以在 **Purchase options** 下拉菜单中更改。要控制客户看到哪个计划，可以使用 **Allowed subscription plans** 多选框限制 offer，在 Shopify 中重新排序产品上的销售计划使所需计划排在第一位，或从产品中完全移除未使用的销售计划。只允许一个计划时，下拉菜单就会消失。
  </Accordion>

  <Accordion title="客户能否在购后 offer 上选择配送频率？">
    可以，当客户所选款式适用多个计划时，offer 会显示 **Purchase options** 下拉菜单。若要避免这种情况，请使用 **Allowed subscription plans** 只允许一个计划；此时配送节奏会以静态文本显示。客户之后仍可以在你的订阅提供商门户中更改配送节奏。
  </Accordion>

  <Accordion title="我想将这个支持订阅的产品显示为仅一次性购买">
    在 offer 的购买选项设置中使用 **One-time purchase only** 模式。对于支持订阅的产品，Aftersell 有三种模式：**One-time purchase only**、**Subscription only** 和 **One-time purchase and subscription**。选择 **One-time purchase only** 会完全隐藏订阅选项，即使产品有启用的销售计划也是如此。
  </Accordion>

  <Accordion title="客户接受了订阅 upsell，但订阅没有出现在我的订阅应用中">
    这是影响最大的故障模式之一，因为客户已被扣款，但订阅从未在你的提供商中创建。到目前为止最常见的根本原因是**销售计划在 offer 渲染后到客户接受前被停用**。Shopify 会接受 changeset，因为在渲染时它有一个有效的销售计划 ID，但如果该计划在客户接受前被停用，下游就不会登记任何订阅，也不会显示任何错误。

    其他常见原因：

    * **订阅应用的 webhook 失败。** 任何从 Shopify 获取新订阅的订阅应用都依赖 Shopify webhook。请在订阅应用的日志中检查 webhook 的投递状况。
    * **销售计划已与产品解除关联**，但仍有一个有效 ID。Shopify 接受了 changeset，行项目也已添加，但订阅提供商没有可处理的记录。

    **重要：** 原生 `add_subscription` 路径没有自动重试；在该路径中由 Shopify 负责登记，因此 Aftersell 没有可重放的内容。（当订单已包含订阅时使用的单独提供商路径，*则*由[订阅升级重试流程](/zh/aftersell/subscription-upgrades-troubleshooting)覆盖。）如果发生这种情况：

    1. 确认销售计划在 Shopify 中仍处于启用状态并已分配给该产品。
    2. 检查你的订阅应用中受影响订单的订单导入 / webhook 日志。
    3. 如果订阅确实缺失，你的订阅应用的支持团队通常可以根据订单 ID 手动为客户登记。

    如果有多位客户受到影响，请将订单 ID 和你的订阅提供商信息提供给 Aftersell 支持团队，但修复预计需要在订阅提供商一侧进行，而不是在 Aftersell 中。
  </Accordion>

  <Accordion title="CTA 按钮显示的是循环价格而不是首周期折扣">
    这通常出现在首周期折扣非常极端时（例如首周期 100% off）。接受按钮反映的是首周期价格，但如果该价格看起来与循环价格相同，就可能显得折扣没有生效。请在 offer 预览中确认折扣配置正确，并通过 offer 文案（"First box free, then \$X every Y days"）让条款清晰明确。
  </Accordion>

  <Accordion title="客户的第二个周期订单扣款时没有订阅折扣">
    默认情况下，折扣**仅适用于第一个计费周期**。如果客户询问为什么第二或第三笔订单没有折扣，这属于预期行为。循环订单按常规订阅价格扣款，客户在 offer 中看到的 **Recurring subtotal** 就是该价格。
  </Accordion>

  <Accordion title="offer 显示在已包含订阅的订单上">
    如果你已连接 Recharge、Skio 或 Loop，这是预期行为，offer 可以正常工作：Aftersell 会在你的提供商中创建新订阅。请参阅[向现有订阅者进行 upsell](/zh/aftersell/subscription-upsell-existing-subscribers)。

    如果未连接任何提供商，Shopify 会阻止添加第二个订阅，offer 会在运行时被静默跳过。你可以连接一个提供商，或者将 **Subscription trigger** 设置为 **do not include a subscription**，以阻止 offer 向这些客户显示。
  </Accordion>

  <Accordion title="漏斗中只有一个订阅 offer 在触发">
    Shopify 每笔订单只允许一个订阅。如果同一漏斗中有多个订阅 offer，第一个被接受的生效，其余的会被跳过。你可以将漏斗限制为一个订阅 offer，或使用 Subscription trigger 排除已有订阅的订单。
  </Accordion>

  <Accordion title="客户在其账户中找不到该订阅">
    新订阅在你的订阅提供商的客户门户中管理，而不是直接在 Shopify 中。请确保可以从你商店的账户区域链接到该门户，并确认你的提供商的欢迎邮件已配置为在接受后立即发送。
  </Accordion>

  <Accordion title="我想在客户接受后退款或取消新订阅">
    第一个周期是作为 Shopify 订单的一部分支付的，因此退款方式与任何其他行项目相同。后续周期的取消在你的订阅提供商中进行，而不是在 Aftersell 中。在 Shopify 中对该行项目退款并不会自动取消订阅；你还必须在提供商门户中取消它。
  </Accordion>
</AccordionGroup>
