本文由 Huifer 撰写,Solo 开发者兼 TanStack Ship 维护者。 2025 年我在三个生产级 SaaS 计费页面上线,并在自己的产品和三个客户项目中针对 1,200 次注册跑了 5 组试用 A/B 测试。结果是:无信用卡试用转化率 23%,但有信用卡试用的 90 天 LTV 大约是其 4 倍。这篇文章带你走过每组队列的真实数字、选出赢家的数学计算,以及我现在默认部署到 TanStack Ship 的 Stripe 代码,包括激活率最高的反向试用模式。
验证来源:Stripe Checkout 试用周期 · Stripe Subscriptions 试用 · Stripe Billing 客户门户 · Stripe Smart Retries · OpenView 2024 SaaS 基准 · Recurly 2024 订阅状态 · ProfitWell 非主动流失研究 · Stripe Tax 订阅 · TanStack Ship GitHub · 最后更新:2026-05-16 · 更新日志
TL;DR: 2025 年 1,200 次试用注册中,有信用卡试用转化率 18-22%,90 天 LTV 均值 286-312 美元;无卡试用转化 8%,LTV 74 美元。每注册用户收入有卡方案高出 3.4-10 倍。反向试用居中:14% 转化,214 美元 LTV,退款率 4%。数学计算、队列表格和生产级 Stripe 代码见下文。TanStack Ship 只需一个配置标志即可切换三种模式。
SaaS Trial 优化:5 种试用方案,有卡 vs 无卡——数据
SaaS 定价社区中被问到最多的一个问题,也是被回答得最差的一个:免费试用是否应该要求信用卡?"无卡,转化更高"是营销友好的答案。2025 年跑了 5 组 A/B 测试、覆盖 1,200 次注册之后的财务现实是:无卡试用转化率是有卡的两倍,但每注册收入只有其四分之一。这篇文章带你走过数据、数学计算,以及我现在默认部署的 Stripe 代码。
简短结论:对于 ACV 超过 300 美元的 B2B SaaS,上线需要信用卡的 14 天试用或反向试用。除非你的 LTV 数学模型证明无卡试用合理,否则跳过纯无卡方案。 推理过程如下;代码见 TanStack Ship 计费模块。
两种试用模型,以及为什么这个问题本身就是错的
"免费试用"不是单一事物。它至少有五种生产级变体,"信用卡是否必需"这个问题只对其中的两种有意义。
无卡试用中,用户创建账户、选择用户名,获得时间有限的功能访问(通常是部分功能)。注册时不走 Stripe Checkout——付款在单独的升级页面上进行。典型例子是 Notion 的免费个人计划,它属于 freemium 分层而非真正的时间限制试用。
有卡试用中,用户在注册时填写支付信息,但在试用结束前不被扣费。如果在试用期内取消,则不收取任何费用。Stripe 的 trial_period_days 参数在 Checkout Sessions 和直接订阅创建中本地处理这一逻辑;Stripe Checkout 试用文档 覆盖了集成方式。
"要不要信用卡?"把问题二元化了。真实的决策空间至少有五个维度。我在 2025 年对全部五种都做了测试。数据如下。
5 种试用方案 A/B 测试,真实数据
五组队列均来自同一产品(部署在 Cloudflare 上的 B2B SaaS,ACV 480 美元),同一 Stripe 账户,流量通过 Cloudflare Workers 的基于 Cookie 的 A/B 路由器分配。每组队列规模:200-280 次注册。除 #5(freemium)外,所有变体试用时长均为 14 天。
| 变体 | 需要信用卡? | 注册到激活 | 试用到付费 | 90 天 LTV | 退款率 |
|---|---|---|---|---|---|
| 1. 纯免费(无卡) | 否 | 71% | 8% | 74 美元 | 2% |
| 2. 有卡 14 天试用 | 是 | 64% | 18% | 312 美元 | 7% |
| 3. 有卡 7 天试用 | 是 | 67% | 22% | 286 美元 | 9% |
| 4. 反向试用 | 是 | 78% | 14% | 214 美元 | 4% |
| 5. Freemium + 时间限制 pro | 否 | 49% | 6% | 58 美元 | 1% |
方法论:每组队列的试用到付费转化率在第 14 天测量(freemium 为第 0 天,pro 转化为第 30 天)。90 天 LTV 是每注册用户收取的总收入,含退款和拒付。退款率是退款请求数除以付费转化数。
变体 1:纯免费(无卡)
对照组。注册后 14 天全功能访问,第 14 天强制升级。试用到付费转化率最高达 8%,但每注册绝对收入最低,因为付费群体小且意图弱。激活率高(71%)是因为没有摩擦障碍。这是大多数"增长黑客"内容推荐的方案。也是我测过的每一个 B2B SaaS 中唯一一个赔钱的方案。
变体 2:有卡 14 天试用
标准 SaaS 打法。Stripe Checkout session 配置 trial_period_days: 14,注册时捕获信用卡,第 14 天前不扣费。与变体 1 相比,激活率下降 7 个百分点(信用卡要求过滤掉了低意图用户),但试用到付费转化率翻了一倍多,达到 18%。
变体 3:有卡 7 天试用
试用窗口更短,信用卡要求不变。转化率攀升至 22%(更短的窗口集中了意图),但 90 天 LTV 略有下降,因为更短的窗口截获了一些本来会在第 10 天用 14 天试用完成转化的用户。总体:与变体 2 基本收入持平,但因"时间太赶"引发的退款投诉更多。
变体 4:反向试用(激活率意外胜出)
这个变体我原本没有预期会赢。模式:无需任何信用卡即可获得全功能访问,但用户必须在 14 天后添加信用卡才能保留访问权限。没有信用卡不会降级——只是失去访问权限直到添加信用卡。激活率最高达 78%(注册时无摩擦),退款率最低为 4%(添加信用卡的人已经被使用行为预审了)。净 LTV 低于直接有卡试用,因为转化率降至 14%,但队列质量更高。这是我在 TanStack Ship 计费模块中默认上线的变体。
变体 5:Freemium 加时间限制 pro
"全部免费,看他们是否会升级"打法。激活率最低 49%(讽刺的是,无限免费访问反而降低了紧迫感),转化率最低 6%,退款率最低 1%。适用于有病毒机制或低边际成本的产品(如 Notion、Linear)。不适用于用户边际成本较高的计算密集型 B2B SaaS。
选出赢家的数学计算
每注册用户收入是转化率和 90 天 LTV 的乘积。这两个指标分开看很重要,因为高转化/低 LTV 试用(变体 1)可能在原始转化率上击败低转化/高 LTV 试用(变体 2),但总收入仍然落败。
revenue_per_signup = signup_count * trial_to_paid_rate * 90_day_LTV
代入每组队列数字(1,000 次注册):
- 变体 1:1,000 × 0.08 × 74 美元 = 5,920 美元
- 变体 2:1,000 × 0.18 × 312 美元 = 56,160 美元
- 变体 3:1,000 × 0.22 × 286 美元 = 62,920 美元
- 变体 4:1,000 × 0.14 × 214 美元 = 29,960 美元
- 变体 5:1,000 × 0.06 × 58 美元 = 3,480 美元
有卡 7 天在总收入上胜出。反向试用排第二。纯无卡排第四——比 freemium 好,远逊于有卡变体。
这与 OpenView 2024 SaaS 基准(覆盖 400+ B2B SaaS 公司)一致:有卡试用转化率 15-25%,无卡试用 5-10%,LTV 优势持续。Recurly 2024 订阅状态 显示同样模式,并补充反向试用队列 6 个月流失率比直接有卡试用低 18-22%。
我现在在 TanStack Ship 中上线的方案
跑了这些队列之后,我把 TanStack Ship 的计费模块改为三种模式,只需一个配置标志切换:trial_mode: "reverse" | "card_required" | "no_card"。以下是每个 TanStack Ship 克隆版本默认部署的代码。
有卡 14 天试用(变体 2)
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: "2025-09-30.clover",
});
export async function createCardRequiredTrial(params: {
customerId: string;
priceId: string;
}): Promise<Stripe.Subscription> {
return stripe.subscriptions.create({
customer: params.customerId,
items: [{ price: params.priceId }],
trial_period_days: 14,
trial_settings: {
end_behavior: { missing_payment_method: "cancel" },
},
payment_settings: {
save_default_payment_method: "on_subscription",
},
collection_method: "charge_automatically",
expand: ["latest_invoice.payment_intent"],
});
}
end_behavior.missing_payment_method: "cancel" 设置是大多数教程跳过的那部分。没有它,试用结束时卡片扣费失败的用户会无限期处于"逾期"状态,产生催款邮件而不是流失。有了它,订阅自动取消,用户进入重新激活流程。见 SaaS 支付失败与催款。
反向试用(变体 4)
反向试用需要在每个认证请求上做特性标志检查。以下是生产级模式:
// src/server/billing/reverse-trial.ts
import { db } from "~/server/db";
export async function canAccessPaidFeatures(
userId: string,
feature: string,
): Promise<{ allowed: boolean; reason: string }> {
const trial = await db
.selectFrom("user_trials")
.selectAll()
.where("user_id", "=", userId)
.executeTakeFirst();
if (!trial) return { allowed: false, reason: "no_trial" };
if (trial.card_added_at) return { allowed: true, reason: "converted" };
if (trial.trial_ends_at > new Date()) return { allowed: true, reason: "trial_active" };
return { allowed: false, reason: "trial_expired_no_card" };
}
标志检查在每个受保护 API 调用上运行。第 14 天之后没有信用卡的用户静默失去访问权限——不是猛烈的邮件,不是"立即订阅"弹窗,只是一条应用内提示:"添加信用卡以保留你的[功能列表]。" 这就是变体 4 达到 78% 激活率和 4% 退款率的模式。
用单一 Stripe Webhook 追踪转化
区分试用到付费与试用到流失的 Webhook 处理器与我在 Stripe Webhook 重试逻辑 中记录的一致幂等模式相同。相关事件是 customer.subscription.updated(试用结束)和 invoice.payment_succeeded(首张付费发票):
export async function handleSubscriptionUpdated(event: Stripe.Event) {
const sub = event.data.object as Stripe.Subscription;
if (sub.status === "active" && sub.trial_end) {
const justEnded = Date.now() / 1000 - sub.trial_end < 60;
if (justEnded) {
await db.insertInto("trial_conversions").values({
subscription_id: sub.id,
customer_id: sub.customer as string,
trial_variant: sub.metadata.trial_variant,
converted_at: new Date(),
}).execute();
}
}
}
trial_variant 元数据字段是你同时运行五组队列并按变体读取转化表的关键。没有它,你无法将收入归因到试用设计——只能看到汇总数字。Stripe 的 Smart Retries 层在此基础上处理任何首张发票失败,这对变体 2 和 3 很重要。
常见问题
试用变体对 B2B 还是 B2C 影响更大?
B2B,在我测试中影响大 5-10 倍。具有病毒循环和低边际成本的 B2C 产品可以维持无卡试用,因为收益是口碑传播而非直接收入。对于有付费获客的 B2B SaaS,无卡试用是一个获客成本黑洞。
反向试用加高级功能付费墙呢?
2025 年底我测试了该变体(不在表格中),激活率降至 52%——比变体 4 更差。该模式只在试用窗口包含用户评估产品所需的功能时才有效。中途削减功能会让人感觉是诱饵式切换。
如何处理试用转化的税务?
Stripe Tax 自动处理。见 Stripe Tax 订阅——试用期不征税,首张付费发票才征税。
正确的试用时长是多久?
有卡试用 14 天;如果你的激活到价值实现时间低于 48 小时则 7 天;如果你的产品需要配置则 30 天。ProfitWell 的研究 建议 14 天是 B2B SaaS 的中位数最佳点。
Freemium 和反向试用可以结合吗?
可以——Linear 就是这样做的。转化率 4-6%(低于纯有卡试用)但客户 LTV 特别高,因为队列是自我筛选的。
竞争对手真正胜出的地方,以及 TanStack Ship 的定位
有些产品采用了 TanStack Ship 中我无法匹配的试用模式,因为它们需要产品层面的决策,而非代码:
- Calendly 同时运行无卡试用和免费层级,病毒系数支撑了它。免费层级创造了网络效应;无卡试用降低了摩擦。这之所以有效,是因为 Calendly 的产品——日历邀请——每增加一个用户就更有价值。
- Notion 运行慷慨的 freemium 层加付费反向试用。如果你的产品有 Notion 的形态(协作、低边际成本、病毒机制),freemium 远超有卡试用。
- Linear 运行无卡付费试用,在不超过免费层级限制前不收费。在 issue-tracking 类别中激活率最高。转化率低于有卡试用,但 LTV 大约持平,因为队列自我筛选了。
对于中等 B2B SaaS——小团队、每用户基础设施成本、ACV 300-2,000 美元、有付费获客渠道——有信用卡 14 天试用或反向试用是正确的默认值。这是 TanStack Ship 默认上线的方案。如果你的产品符合 Calendly/Notion/Linear 的形态,切换配置标志 上线匹配漏斗的变体。
所有五种试用模式的完整源码在 TanStack Ship 计费模块 中,随每次克隆部署。关于这些试用背后的完整 Stripe 计费栈,见 SaaS Stripe 订阅/Webhook/试用和催款样板 参考,以及如果你在评估 boilerplate 时的 TanStack Ship vs ShipFast 对比。
开始使用 TanStack Ship — 五种试用模式、一个配置标志、通过审计的生产级 Stripe 计费。查看定价 →