> ## 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

> Aftersell 中替换型 Upsell 的工作原理及设置方法，从款式和数量替换到将一次性购买转换为订阅。

替换型 Upsell 允许你在购后页面上将顾客订单中的一次性购买商品替换为其他商品。替换品可以是同一商品的订阅版本、不同款式或数量，也可以是完全不同的商品。顾客一键接受后，原行项目会被退款，替换行项目会被添加到订单中。

<Note>
  替换型 Upsell 目前是 Beta 功能。要在你的店铺使用，请通过应用内聊天联系支持团队，我们会在你的账户上启用它。启用之前，**Replace item in original order with upsell** 开关不会出现在 offer 编辑器中。
</Note>

<Warning>
  替换型 Upsell 仅在原行项目为一次性购买时有效。如果顾客的订单中已包含订阅，该 offer 会被静默跳过。要修改现有订阅（更改频率、替换商品或两者兼有），请改用[订阅升级](/zh/aftersell/subscription-upgrades)。
</Warning>

<Warning>
  当顾客接受替换型 Upsell 时，Aftersell 会按替换商品全价扣款并退还原商品款项。顾客的银行账单会显示两笔交易，尽管净金额与显示的 Accept Offer 按钮一致。请规划好你的 offer 文案和购后确认邮件，以免顾客误以为被重复扣款。
</Warning>

<div id="which-feature-do-you-need">
  ## 你需要哪个功能？
</div>

三个与订阅相关的购后功能，三种不同的用途。使用下面的流程选出正确的那一个。

<Info>
  **顾客的订单中是否已包含订阅？**

  → **是** → 使用[订阅升级](/zh/aftersell/subscription-upgrades)。它会修改顾客在 Recharge、Skio 或 Loop 中的现有订阅合约（更改频率、替换商品或两者兼有）。

  → **否** → 继续往下看。

  **你是想让顾客保留已购商品并额外获得一个周期性订阅，还是完全替换他们购买的商品？**

  → **保留已购商品 + 额外添加新订阅** → 使用[订阅 upsell](/zh/aftersell/subscriptions_in_post_purchase_offers)。

  → **用其他商品替换已购商品**（订阅版本、不同商品、不同款式或数量） → 使用**替换型 Upsell**（本指南）。
</Info>

<div id="what-is-a-replacement-upsell">
  ## 什么是替换型 Upsell？
</div>

当顾客接受替换型 Upsell 时：

1. 原一次性行项目在 Shopify 中被**退款**。
2. 替换行项目被**添加**到同一订单中，形式为一次性购买或订阅（取决于你的配置）。
3. 顾客在同一订单上为替换商品付款。
4. 顾客账单显示两笔交易：原商品的退款和替换商品的扣款。显示的 Accept Offer 按钮反映的是两个价格之间的**净差额**。

这是通过 Shopify 的购后 API 实现的：

* 对于一次性替换（不同款式、数量或商品），Aftersell 发送 `add_variant` changeset。
* 对于订阅替换，Aftersell 发送 `add_subscription` changeset。
* 原行项目通过 Shopify 的退款 API 移除。

对于订阅替换，Aftersell 不会直接调用你订阅应用的 API——订阅由 Shopify 的原生 Subscription API 创建，你的订阅应用通过其自身的 Shopify 集成获取它。

<div id="what-replacement-upsell-can-do">
  ## 替换型 Upsell 能做什么
</div>

替换型 Upsell 支持四种场景。在每种情况下，**原行项目必须是一次性购买**。替换品可以是一次性购买或订阅。

* \*\*一次性换一次性，同一商品，不同款式。\*\*例如，将 Twin 尺寸换为 Queen 尺寸。
* \*\*一次性换一次性，同一商品，不同数量。\*\*例如，将单瓶换为同款商品的 3 件装。在替换品上启用 **Override quantity** 以设置发货数量。
* \*\*一次性换一次性，完全不同的商品。\*\*例如，将入门瓶换为另一个 SKU 的正装版本。
* \*\*一次性换订阅。\*\*例如，将一次性购买的瓶装换为同款瓶装的按月订阅，或换为另一款商品的订阅版本。这是最常见的用例。

<div id="what-replacement-upsell-cannot-do">
  ## 替换型 Upsell 不能做什么
</div>

以下场景会**在 offer 展示时被 Aftersell 阻止**。如果顾客的订单符合其中任何一种情况，offer 会被静默跳过。

* \*\*订阅换一次性。\*\*移除订阅行项目并不会取消 Recharge、Skio 或 Loop 中的订阅合约。顾客仍会被扣费，同时还会收到替换品。
* \*\*订阅换另一个订阅。\*\*根本原因同上，此外 Shopify 的"每个订单一个订阅"规则也会阻止向已包含订阅的订单添加新订阅。
* \*\*订阅换订阅的款式或频率。\*\*根本原因相同。

如果你需要更改顾客的现有订阅，请改用[订阅升级](/zh/aftersell/subscription-upgrades)。订阅升级直接修改 Recharge、Skio 或 Loop 中的现有合约，而不会尝试移除并重新添加订阅行。

<Tip>
  每当替换型 Upsell 被跳过时（上述被阻止的场景、不受支持的支付网关，或触发行有折扣），Aftersell 会自动尝试展示同一漏斗中的 **downsell** offer。因此使用替换型 Upsell 时，请务必设置一个 downsell 作为兜底，让购物者仍能看到 offer。
</Tip>

<div id="what-the-customer-sees">
  ## 顾客看到什么
</div>

理解顾客视角可以避免最常见的客服工单："为什么我被扣了两次款？"

<div id="in-the-post-purchase-offer">
  ### 在购后 offer 中
</div>

Accept Offer 按钮显示原商品与替换商品之间的**净差额**。例如，顾客买了一瓶 \$30 的商品，你提供 \$45 的 3 件装，则接受按钮显示"Add \$15.00 to your order"。如果替换品比原商品便宜，按钮会显示为返还金额。

Offer 卡片显示替换商品的图片、标题和价格。当 Shopify 中的款式绑定了专属图片时，offer 卡片会使用该款式图片。如果款式没有绑定图片，offer 卡片会回退到父商品的第一张图片。这意味着在同一商品的两个款式之间替换时，图片可能变也可能不变，取决于每个款式在 Shopify 中是否设置了自己的图片。

<div id="on-the-shopify-order-after-acceptance">
  ### 接受后 Shopify 订单上的显示
</div>

订单最终会同时显示：

* 应用了**退款**的原行项目。
* 按全价收费的替换品新行项目。

订单总额反映净结果，但顾客的银行账单会显示两笔交易——一笔替换品的扣款和一笔原商品的退款。这是 Aftersell 在支付层面处理替换型 Upsell 接受操作的方式。净金额与显示的 Accept Offer 按钮一致。

减少困惑的方法：

* 在 offer 文案中加入一句话，明确说明退款并替换的机制。例如："接受后，我们会退还原商品款项并对替换品扣款。你的账单上会看到两条记录，净额即为此按钮显示的升级价格。"
* 为替换型 upsell 启用 Aftersell 的自动退款通知邮件，向顾客发送解释退款的确认邮件。

<div id="in-the-subscription-provider-portal-when-replacement-is-a-subscription">
  ### 在订阅服务商门户中（当替换品为订阅时）
</div>

如果替换品是订阅，顾客会在你的订阅服务商的顾客门户（Recharge、Skio、Loop、Appstle、Smartrr、Stay.ai）中看到新订阅。该门户由你的订阅服务商拥有，而非 Aftersell。请确保你的订阅服务商的欢迎邮件配置为在接受后的几分钟内发送。

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

当替换品为订阅时，替换型 Upsell 可与任何使用 Shopify 原生 Subscription API 的订阅应用配合使用。在此流程中，Aftersell 不会直接调用服务商 API——订阅由 Shopify 创建，你的订阅应用通过其自身的 Shopify 集成获取它。

兼容的服务商包括 Recharge、Skio、Loop、Stay.ai、Appstle、Smartrr、Bold Subscriptions（运行在 Shopify 原生订阅 API 上时）以及 Shopify 的原生销售计划。

如果你的替换目标配置了预付订阅方案（例如每 3 个月一次性预付），请与你的订阅服务商确认预付是否支持作为替换目标。各服务商对预付的处理方式不同。

<div id="payment-method-requirements">
  ## 支付方式要求
</div>

Aftersell 明确阻止某些支付网关使用替换型 Upsell，因为它们无法在购后窗口内可靠地支持"退款并再扣款"的模式：

* **Authorize.net**（`authorize_net`）。Authorize.net 要求交易先结算才能退款，而结算存在延迟，因此 Aftersell 无法在同一 Shopify 订单上可靠地退还原商品并添加替换品。如果 Authorize.net 是你的支付处理商，请改为向这些顾客展示感谢页 offer。
* **手动支付网关**（`manual`）。这包括货到付款、自定义支付方式、草稿订单 checkout，以及其他不保存授权凭证的手动支付处理方式。替换型 Upsell 需要有效的已保存支付凭证来发起后续扣款，而手动网关无法提供。

当订单的支付网关属于上述之一时，替换型 Upsell 会静默跳过该 offer。跳过原因会在 Aftersell 订单浏览器中显示为 **"Payment gateway does not support replacement upsells."**

有关影响所有 Aftersell 购后 offer（不仅是替换型 Upsell）的支付方式完整列表，请参见[支付方式](/zh/aftersell/payment_methods)。

<div id="creating-a-replacement-upsell-offer">
  ## 创建替换型 Upsell offer
</div>

<Frame>
  <img src="https://mintcdn.com/aftersell/SnVX3h-PpMMxQMDU/images/aftersell/replacement-upsells-offer-editor-setup.gif?s=c1865a7d11a614a24ec4dca59c53afda" alt="在 offer 编辑器中设置替换型 Upsell" width="856" height="480" data-path="images/aftersell/replacement-upsells-offer-editor-setup.gif" />
</Frame>

创建替换型 Upsell：

1. 在 Aftersell 仪表盘中，进入 **Post-purchase funnels**。
2. 打开现有漏斗或点击 **Add Funnel**。
3. 添加一个 upsell offer 并进行配置。

配置位于标准购后 offer 内部，启用后会显示替换型 Upsell 的控制项。

替换型 Upsell offer 有三处独立的商品选择，必须配置一致，替换才能生效：

* \*\*漏斗触发器。\*\*在漏斗级别设置。决定哪些订单能看到该 offer。
* \*\*Upsell 商品。\*\*在 offer 的 Upsell Products 部分设置。顾客接受后添加到订单中的商品。
* \*\*要替换的商品。\*\*在 **Replace item in original order with upsell** 部分内设置，点击 **Edit product to replace** 按钮。顾客购物车中将被退款并移除的确切商品和款式。

如果**要替换的商品**与顾客实际购买的款式不匹配，Aftersell 将找不到匹配的行项目可移除，替换会静默失效。

<div id="step-1-configure-the-funnel-trigger">
  ### 第 1 步：配置漏斗触发器
</div>

触发器决定哪些订单能看到该 offer：

* \*\*商品触发器。\*\*设置为你想替换的一次性商品。没有它，offer 可能会在不相关的订单上触发。
* **订阅触发器。**设置为**不包含订阅**。这确保 offer 只向订单中尚不包含订阅的顾客展示（订阅会阻止替换）。

所有启用的触发器使用 AND 逻辑。每个条件都必须满足。

<div id="step-2-pick-the-upsell-product">
  ### 第 2 步：选择 upsell 商品
</div>

在 offer 编辑器中：

1. 点击 **Add Upsell**，搜索顾客应改为收到的商品。
2. 如果替换品是订阅，将购买选项选为 **Subscription only** 并选择销售计划。
3. 如果替换品是一次性购买，选择 **One-time purchase only**。
4. 如果是同一商品的款式或数量替换，选择同一商品并调整款式或数量控制项。

<div id="step-3-enable-replacement-upsell">
  ### 第 3 步：启用替换型 Upsell
</div>

在 offer 的高级设置中，启用 **Replace item in original order with upsell**。这个开关会将标准 upsell 变为替换型 Upsell。

<Frame>
  <img src="https://mintcdn.com/aftersell/SnVX3h-PpMMxQMDU/images/aftersell/replacement-upsells-settings-toggles.gif?s=8ab356420e4339753620307d53e45035" alt="Offer 编辑器中的替换型 Upsell 设置和开关" width="1728" height="1080" data-path="images/aftersell/replacement-upsells-settings-toggles.gif" />
</Frame>

启用后，你还可以配置：

* \*\*Allow replacement when target has a discount。\*\*关闭时（默认），如果触发行带有订单级折扣，替换型 Upsell 会跳过这些订单。开启时，替换仍会生效，但原行上的折扣会随原商品一起退款（不会转移到替换品上）。参见[折扣处理](#discount-handling)。
* \*\*Override quantity。\*\*为替换行项目设置特定数量。在将单件换为多件装时很有用。

<div id="step-4-set-the-product-to-replace">
  ### 第 4 步：设置要替换的商品
</div>

点击 **Edit product to replace**，选择顾客接受 offer 时应从其订单中移除的确切商品和款式。它必须与顾客购物车中实际的商品一致。

对于同一商品的款式替换（Small → Large），**要替换的商品**必须明确指向 Small 款式。如果你指向 Large 或顾客未购买的任何款式，offer 会跳过且没有任何报错。

<div id="step-5-add-optional-discount">
  ### 第 5 步：添加可选折扣
</div>

如果替换品是订阅，你可以应用首期折扣让 offer 更有吸引力。折扣适用于新订阅的第一个计费周期，之后的续订按常规订阅价格收费。

对于一次性替换，折扣适用于本订单的一次性收费。

<div id="step-6-customize-the-offer-copy">
  ### 第 6 步：自定义 offer 文案
</div>

在 offer 文案中明确说明退款并替换的机制。推荐要素：

* 标题：清楚描述替换内容（例如"升级到 3 件装并省钱"）。
* 描述：解释原商品将退款、替换品将扣款。
* 接受按钮：默认显示净价格，如果你想要动词式 CTA，可自定义为"Switch to subscription"或"Upgrade my order"。

<div id="discount-handling">
  ## 折扣处理
</div>

替换型 Upsell 在折扣方面有一些特定行为，常让合作伙伴措手不及。

<div id="discounts-on-the-original-line-do-not-carry-to-the-replacement">
  ### 原行上的折扣不会转移到替换品
</div>

当 Aftersell 退款原行项目时，应用于它的任何折扣也随之退款。替换行按全价收费（或按你配置的替换 offer 折扣收费），但顾客的原折扣不会转移。

如果你想让顾客保留同等折扣，请直接在替换 offer 上配置。

<div id="allow-replacement-when-target-has-a-discount">
  ### Allow replacement when target has a discount
</div>

默认情况下，如果触发行带有订单级折扣，替换型 Upsell 会**跳过**该 offer。这是一种保护性默认设置，用于避免退款金额不匹配。

要允许即使触发行有折扣也触发 offer，请在 offer 的高级设置中启用 **Allow replacement when target has a discount** 开关。启用后，退款覆盖折后价格（而非全价），替换品按你的 offer 配置收费。

<div id="first-cycle-discount-on-subscription-replacements">
  ### 订阅替换的首期折扣
</div>

当替换品为订阅时，你在 offer 上配置的折扣仅适用于**第一个计费周期**。之后的周期性订单按常规订阅价格收费。顾客会在 offer 的 **Recurring subtotal** 下看到周期性价格。

<div id="analytics-and-reporting">
  ## 分析与报告
</div>

由替换型 Upsell 生成的退款在 Shopify 中带有 **"AfterSell Post-Purchase Replacement Upsell"** 备注，方便识别与替换相关的退款。

Aftersell 的分析数据**不会**从 upsell 金额中扣除退款金额。用 \$200 的商品替换 \$100 的商品会被报告为 \$200 的 upsell，而不是 \$100 的净额。

<div id="worked-examples">
  ## 实例演练
</div>

三个常见的替换型 Upsell 场景，包含确切配置和顾客体验。

<div id="scenario-1-one-time-bottle-to-monthly-subscription-of-the-same-product">
  ### 场景 1：一次性购买的瓶装换为同款商品的按月订阅
</div>

\*\*设置。\*\*顾客一次性购买了一瓶 \$40 的补剂。你想向其提供同款瓶装的按月订阅，每月 \$36，首期 85 折（15% 折扣）。

**你在 offer 中的设置：**

* 漏斗触发器：商品为一次性购买的瓶装。
* Upsell 商品：同一瓶装，按月销售计划。
* 购买选项：Subscription only。
* 首期折扣：15%。
* 要替换的商品：一次性购买的瓶装（顾客购买的同一款式）。

**顾客在 offer 中看到的：**

* Accept Offer 按钮："Add \$0.60 to your order"（\$40 一次性购买与 \$36 打 85 折后 \$30.60 首期订阅之间的净差额）。
* Recurring subtotal：每 30 天 \$36.00。

**接受后：**

* 原 \$40 一次性瓶装被退款。
* 新增一条订阅行，首期 \$30.60。
* 在你的订阅应用中创建按月订阅，基础价格 \$36。
* 下次扣款在 30 天后，金额 \$36。

\*\*顾客账单：\*\*一笔 \$40 退款，一笔 \$30.60 扣款。净额：顾客为本次配送支付 \$30.60，此后每 30 天支付 \$36。

<div id="scenario-2-single-bottle-to-3-pack-of-the-same-product">
  ### 场景 2：单瓶换为同款商品的 3 件装
</div>

\*\*设置。\*\*顾客买了一瓶 \$30 的商品。你想向其提供 \$75 的 3 件装（单买需 \$90）。

**你在 offer 中的设置：**

* 漏斗触发器：商品为单瓶。
* Upsell 商品：同一商品。
* Override quantity：3。
* 购买选项：One-time purchase only。
* 要替换的商品：单瓶（同一款式）。

**顾客在 offer 中看到的：**

* Accept Offer 按钮："Add \$45.00 to your order"（\$30 与 \$75 之间的净差额）。

**接受后：**

* 原 \$30 瓶装被退款。
* 添加 3 瓶，总计 \$75。
* 顾客在此 Shopify 订单上净支付 \$45。

<div id="scenario-3-one-time-product-to-a-different-subscription-product">
  ### 场景 3：一次性商品换为另一款订阅商品
</div>

\*\*设置。\*\*顾客一次性购买了 \$25 的入门套装。你想向其提供高端产品线的按月订阅，每月 \$50。

**你在 offer 中的设置：**

* 漏斗触发器：商品为入门套装。
* Upsell 商品：高端商品。
* 购买选项：Subscription only。
* 销售计划：按月，\$50。
* 要替换的商品：入门套装（同一款式）。

**顾客在 offer 中看到的：**

* Accept Offer 按钮："Add \$25.00 to your order"（\$25 与 \$50 之间的净差额）。
* Recurring subtotal：每 30 天 \$50.00。

**接受后：**

* 原 \$25 入门套装被退款。
* 新增订阅行，金额 \$50。
* 在你的订阅应用中创建 \$50 的按月订阅。
* 顾客在此 Shopify 订单上净支付 \$25。

<div id="per-variant-funnels">
  ## 按款式建漏斗
</div>

单个替换型 Upsell offer 在两端各定向一个特定商品和款式。如果你的订阅方案因款式而异（不同尺寸、口味或价格），你无法配置一个"将顾客购买的任意款式替换为其对应订阅款式"的 offer。每对款式都需要自己的漏斗。

例如，如果你销售三种规格的精华（Small / Medium / Large），并希望每种规格都换为对应的订阅版本，你需要构建三个漏斗：

* 漏斗 1：触发器 = Small 一次性购买，替换品 = Small 订阅。
* 漏斗 2：触发器 = Medium 一次性购买，替换品 = Medium 订阅。
* 漏斗 3：触发器 = Large 一次性购买，替换品 = Large 订阅。

Aftersell 目前没有内置的款式配对功能，因此每对款式都需要自己的漏斗。

<div id="testing-a-replacement-upsell">
  ## 测试替换型 Upsell
</div>

上线之前：

<Steps>
  <Step title="在 Shopify 中下一笔真实测试订单">
    以要替换的一次性商品作为触发商品，下一笔低价真实测试订单。此步骤不要依赖预览模式。预览模式会以可视化方式渲染漏斗，并允许你点击 Accept 和 Decline，但它是沙盒环境：不会创建订单、不会应用退款、不会创建订阅、不会产生扣款，也不会触发邮件或 webhook。预览模式用于检查布局和文案，端到端验证请使用真实测试订单。
  </Step>

  <Step title="在购后页面上接受 upsell">
    Checkout 后会出现购后 offer。接受替换型 Upsell 以触发真实的 changeset。
  </Step>

  <Step title="检查 Shopify">
    在 **Shopify Admin → Orders** 中找到测试订单。你应该看到应用了退款的原行项目，以及新增的替换行项目。
  </Step>

  <Step title="检查顾客账单">
    使用真实银行卡，验证两笔交易（原商品的退款和替换品的扣款）均正确入账。净额应与显示的 Accept Offer 按钮一致。
  </Step>

  <Step title="检查你的订阅服务商（如果替换品是订阅）">
    在服务商的仪表盘中找到顾客的新订阅。确认周期、下次扣款日期和商品。如果注册失败，Aftersell 侧没有自动重试机制——如果找不到订阅，请联系你的订阅服务商的支持团队。
  </Step>
</Steps>

<div id="beta-failsafe">
  ## Beta 保险机制
</div>

在替换型 Upsell 处于 Beta 期间，Aftersell 会跟踪每个 offer 的错误，一旦错误数超过阈值，就会停止向新顾客展示该 offer。这可以保护你免受大范围配置错误在无声中影响大量顾客。

<Frame>
  <img src="https://mintcdn.com/aftersell/SnVX3h-PpMMxQMDU/images/aftersell/replacement-upsells-order-browser-failsafe.gif?s=0ec4f5a58191b9323de015eae3793c07" alt="Order Browser 中的替换型 Upsell Beta 保险机制" width="2196" height="1080" data-path="images/aftersell/replacement-upsells-order-browser-failsafe.gif" />
</Frame>

<div id="configuring-the-failsafe-threshold">
  ### 配置保险机制阈值
</div>

保险机制阈值可在 **Settings → Replacement Upsells** 中配置。它统计**滚动 7 天窗口**内的替换错误，一旦在该窗口内达到你选择的阈值，就会暂停替换型 upsell。可选项包括：

* **Stop on any issue in the past 7 days**（推荐——这是默认值）。滚动窗口内首次替换失败时，offer 即停止。
* **Stop after 3 issues in the past 7 days**。
* **Stop after 5 issues in the past 7 days**。
* **Stop after 7 issues in the past 7 days**（最宽松）。
* **Custom…**——显示一个数字字段，可输入 **1 到 100** 之间的任意整数。如果你的店铺订单量很大，预设值触发太快，可使用此选项。

如果你对 offer 配置有信心，希望容忍少量瞬时的 Shopify 或订阅服务商错误而不停用 offer，可选择较高的阈值。如果面向顾客的失败对你的店铺代价很高，可选择较低的阈值。

<div id="what-trips-the-failsafe">
  ### 什么会触发保险机制
</div>

替换流程中的任何异常都会计入滚动 7 天窗口内的错误。最常见的原因：

* Shopify 因 checkout 已完成而拒绝 changeset。
* 替换商品在 offer 设置与顾客接受之间被删除或取消发布。
* 订阅替换所用的销售计划被停用。
* Shopify API 或订阅服务商的瞬时故障。

<div id="when-the-failsafe-trips">
  ### 保险机制触发时
</div>

当滚动 7 天窗口内的错误数达到你的阈值时，该 offer 会**停止向新顾客展示**。你会在两个位置得到提示：

* \*\*首页横幅。\*\*Aftersell 首页会出现一条标题为 **"Replacement upsells are paused"** 的警告横幅，并带有链接到 **Settings → Replacement Upsells** 的 **Review failsafe** 按钮。
* **保险机制状态卡片**（Settings → Replacement Upsells）。状态卡片显示 **Failsafe tripped**（琥珀色）或 **Not tripped**（绿色）徽章，以及你当前的滚动计数和阈值——例如"4 of 5 errors in the past 7 days"。

由于保险机制使用滚动 7 天窗口，它会**自我恢复**：一旦错误数降到阈值以下，替换型 upsell 会自动恢复——无需任何操作。

<div id="how-to-reset">
  ### 如何重置
</div>

你可以在 **Settings → Replacement Upsells** 中自行重置保险机制。解决根本问题后，点击 **Reset failsafe** 并在弹窗中确认——滚动错误计数会立即清零，替换型 upsell 对新订单恢复展示。（当前错误计数已为零时，该按钮不可用。）

请仅在修复根本原因后重置，否则达到阈值后保险机制会再次触发。如果不确定错误原因，请在重置前通过应用内聊天联系支持团队。

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

<AccordionGroup>
  <Accordion title="我的漏斗编辑器中没有替换型 Upsell 这种 offer 类型">
    替换型 Upsell 是 Beta 功能，需要由 Aftersell 支持团队手动启用。请通过应用内聊天联系支持团队申请权限。启用后，**Replace item in original order with upsell** 开关会出现在 offer 的高级设置中。
  </Accordion>

  <Accordion title="Offer 在测试订单上不显示">
    三种原因：

    * \*\*漏斗触发器不匹配。\*\*确认触发商品与测试订单购物车中的商品一致。
    * \*\*订单已包含订阅。\*\*当触发行是订阅时，替换型 Upsell 会跳过该订单。这种情况请改用订阅升级。
    * \*\*原行有折扣。\*\*默认情况下，替换型 Upsell 会跳过带有订单级折扣的行。请在 offer 的高级设置中启用 **Allow replacement when target has a discount**。
  </Accordion>

  <Accordion title="Offer 显示了，但替换没有真正发生（或顾客收到了原商品）">
    替换型 Upsell offer 在编辑器中有三处独立的商品选择，必须配置一致，替换才能生效：

    1. \*\*漏斗触发器。\*\*在漏斗级别设置。决定哪些订单能看到该 offer。
    2. \*\*Upsell 商品。\*\*在 offer 的 Upsell Products 部分设置。顾客接受后添加到订单中的商品。
    3. \*\*Edit product to replace。\*\*在 **Replace item in original order with upsell** 部分内设置，点击 **Edit product to replace** 按钮。这是顾客购物车中将被退款并移除的确切商品和款式。

    最常见的配置错误：**要替换的商品**与顾客购物车中实际的款式不匹配。此时，Aftersell 找不到匹配的行项目可移除，替换会静默失效。

    解决方法：

    * 打开替换型 Upsell offer。
    * 点击 **Edit product to replace**，确认所选商品和款式与顾客应购买的商品+款式（按漏斗触发器）**完全一致**。
    * 如果是同一商品的款式替换（Small → Large），"要替换的商品"必须明确指向 Small 款式。如果指向 Large 或顾客未购买的任何款式，offer 会跳过。
    * 保存，并用包含你想替换的确切款式的低价真实订单进行测试。
  </Accordion>

  <Accordion title="顾客以为自己被重复扣款">
    这是预期行为。原行被退款、替换品被扣款，因此顾客的银行账单会显示两笔交易，尽管净额就是显示的 offer 价格。减少困惑的方法：

    * 在 offer 文案中加一句话，解释退款并替换的机制。
    * 为替换型 upsell 启用 Aftersell 的自动退款通知邮件。
    * 培训你的客服团队，在顾客咨询时解释这种两条记录的模式。
  </Accordion>

  <Accordion title="我看到&#x22;Partial refunds are not allowed until the transaction is settled&#x22;">
    某些支付网关（包括 Authorize.net 及其他延迟批量结算交易的网关）在原交易结算前不允许退款。由于替换型 Upsell 在 checkout 后立即对替换品扣款并退还原商品款项，退款步骤可能会失败并报错"Partial refunds are not allowed until the transaction is settled. Please try again later."。Aftersell 不会在结算后自动重试退款，因此你需要在原交易结算后（通常 24 小时内，取决于网关的结算周期）从 Shopify 订单手动发起退款。为避免这种情况，对于已知不受支持的网关，替换型 Upsell 会被完全跳过。如果你在受支持的网关上仍然看到此错误，请联系支持团队以便我们排查。
  </Accordion>

  <Accordion title="替换后原订单的折扣消失了">
    当 Aftersell 退款原行项目时，应用于它的任何折扣也随退款一起消失。替换行单独收费。如果你想让顾客保留折扣，请使用 offer 的折扣字段直接在替换 offer 上配置。
  </Accordion>

  <Accordion title="替换型 Upsell 能把一个订阅换成另一个订阅吗？">
    不能。如果订单中的原行项目已是订阅，替换型 Upsell 不会触发。因为移除订阅行项目并不会取消订阅应用中的订阅合约，顾客仍会被扣费，同时还会收到替换品。要修改现有订阅（更改频率、替换商品或两者兼有），请改用[订阅升级](/zh/aftersell/subscription-upgrades)。
  </Accordion>

  <Accordion title="我的替换型 Upsell offer 突然停止触发了">
    替换型 Upsell 按 offer 在滚动 7 天窗口内跟踪错误，一旦错误数超过你在 **Settings → Replacement Upsells** 中配置的阈值（默认：过去 7 天内出现任何问题即停止），就会停止展示该 offer。保险机制触发时，Aftersell 首页会出现 **"Replacement upsells are paused"** 横幅，带有指向 **Settings → Replacement Upsells** 的 **Review failsafe** 链接，那里的状态卡片会显示你当前的错误计数以及保险机制是否已触发。

    如果错误不再发生，一旦滚动 7 天计数降到阈值以下，offer 会自动恢复。要在修复问题后立即恢复，请在该设置页面点击 **Reset failsafe**。如果不确定根本原因，请通过应用内聊天联系支持团队。
  </Accordion>

  <Accordion title="替换商品的图片错误或过于笼统">
    当 Shopify 中的款式绑定了专属图片时，offer 卡片会使用该款式图片。如果款式没有绑定图片，offer 卡片会回退到父商品的第一张图片。如果你在同一商品的款式之间替换而图片没有变化，请确认每个款式在 Shopify 中都设置了自己的图片。
  </Accordion>

  <Accordion title="我想为许多商品款式配置替换型 Upsell">
    为每个款式建一个漏斗。每个漏斗有一个商品+款式触发器和对应的替换商品+款式。Aftersell 目前没有内置的款式配对功能。
  </Accordion>

  <Accordion title="顾客接受了，但新订阅没有出现在我的订阅应用中">
    与订阅 upsell 相同的失败模式：最常见的原因是销售计划在 offer 渲染与顾客接受之间被停用。Shopify 接受了 changeset，但下游没有注册订阅。请确认销售计划在 Shopify 中仍然生效并已分配给替换商品。检查你的订阅应用针对受影响订单的订单导入或 webhook 日志。如果订阅缺失，你的订阅应用的支持团队通常可以手动为顾客注册。
  </Accordion>

  <Accordion title="顾客接受后我想取消新订阅">
    Aftersell 不管理订阅取消。未来周期的取消在你的订阅服务商的顾客门户中进行，或由顾客自行操作。首期的 Shopify 退款机制与任何其他行项目相同。
  </Accordion>

  <Accordion title="我的 Authorize.net 顾客从未看到替换型 Upsell offer">
    这是预期行为。Authorize.net 在 Aftersell 的代码中被明确阻止使用替换型 Upsell，因为它要求交易先结算才能退款，而结算延迟会破坏替换型 Upsell 依赖的"退款并再扣款"模式。作为替代，请为 Authorize.net 顾客运行感谢页 offer。你可以在 Aftersell 订单浏览器中打开订单确认此原因，跳过原因会显示为"Payment gateway does not support replacement upsells."。
  </Accordion>

  <Accordion title="我的货到付款或草稿订单顾客看不到该 offer">
    手动支付网关（货到付款、自定义支付方式、草稿订单 checkout）被明确阻止使用替换型 Upsell，因为它们不会保存银行卡凭证用于后续扣款。订单浏览器会显示"Payment gateway does not support replacement upsells"作为跳过原因。有关购后 offer 更广泛的支付方式限制，请参见[支付方式](/zh/aftersell/payment_methods)。
  </Accordion>
</AccordionGroup>
