本文由 Huifer 撰写,TanStack Ship 独立开发者与维护者。 2026 年 Q1-Q2,我仅靠本文介绍的 8 个增长杠杆,将 TanStack Ship 从 0 做到了 100 名付费客户。第 4 个月才开始投付费广告。没有营销人员。没有增长团队。只有框架、衡量体系,以及连续 12 周每周发布一篇博客的意愿。
经验证来源:TanStack Ship GitHub org · TanStack Start docs · Stripe Checkout docs 最后更新:2026-07-23 · 更新日志
TL;DR: 以下 8 个杠杆——UTM 归因、转介绍、内容、社区、邮件、必要时的付费投放,以及衡量体系——是早期 SaaS 的最小可行增长栈。无需营销人员即可搭建。全部可在周末内基于 TanStack Start + Cloudflare Workers starter 完成。顺序很重要:先上线归因,再转介绍,再内容,再社区,再邮件,最后付费(仅在其他渠道停滞时)。衡量体系是串联一切的线索——没有它,你无法判断哪个杠杆在起作用。
增长栈:你需要的工具和系统
对于 MRR 不足 1 万美元的 SaaS,"增长栈"由 6 部分组成:分析工具(PostHog 或 Plausible)、支持 UTM 的短链工具、邮件工具(Resend 或 Loops)、转介绍计划、内容发布流程,以及社区阵地。TanStack Ship 默认搭载以上全部。
首次创业的创始人常犯的错误是过度投入其中任何一项。0 个客户时买 500 美元/月的 Mixpanel 套餐是浪费钱。0 个客户时买 200 美元/月的 ConvertKit 也是浪费钱。先从所有工具的免费版起步。只有当有信号表明升级能带来可衡量的收益时,才付费升级。
绝对不能跳过的是:UTM 归因。本文所有其他杠杆都依赖于知道哪个触点带来了客户。如果第一天就跳过 UTM 追踪,你无法事后追溯第 47 位客户的来源。你会花上数月猜测是哪篇博文、哪条推文、哪条 Hacker News 评论起了作用。在写第一篇增长文章之前,花 4 小时做好 UTM 中间件。
UTM 归因:从第一天起追踪每个触点
UTM 参数是附加在 URL 上的 5 个标签(utm_source、utm_medium、utm_campaign、utm_term、utm_content),用于标识点击来源。中间件捕获这些参数、持久化到 Cookie,并在每次注册事件中附上。
// src/middleware/utm.ts
import { createMiddleware } from '@tanstack/start'
const UTM_KEYS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'] as const
const UTMS: Record<string, string> = {}
export const utmMiddleware = createMiddleware().server(({ next, request }) => {
const url = new URL(request.url)
for (const k of UTM_KEYS) {
const v = url.searchParams.get(k)
if (v) UTMS[k] = v
if (UTMS[k]) {
document.cookie = `${k}=${UTMS[k]}; max-age=2592000; path=/; SameSite=Lax`
}
}
return next()
})
Cookie 有效期为 30 天,足够覆盖典型的 SaaS 评估周期。注册时,Cookie 值会连同用户 ID 一起写入数据库的 signup_event 行。
报表视图只需一条 SQL 查询:
SELECT utm_source, utm_campaign, COUNT(*) AS signups
FROM signup_event
WHERE created_at > now() - interval '30 days'
GROUP BY utm_source, utm_campaign
ORDER BY signups DESC;
第一次运行这条查询时,你往往会看到意想不到的结果。2026 年 Q1 的 TanStack Ship,意外发现 utm_source=hackernews 是仅次于 utm_source=producthunt 的第二大注册来源。没有 UTM 追踪,我根本不会知道这一点,因为 HN 评论在任何其他信号里都不像推荐流量。
转介绍计划:把用户变成你的销售团队
转介绍计划是现有客户带来新客户时给予的奖励。结构是双向的:推荐人获得 X 美元,被推荐人获得 Y 美元。奖励以账户额度而非现金形式发放,因此资金始终留在生态内。
最小化实现方案:每用户一个推荐码、一张追踪表,以及 Stripe 成功支付时触发的一个 Webhook:
CREATE TABLE referral_credit (
id TEXT PRIMARY KEY,
referrer_user_id TEXT NOT NULL,
referee_user_id TEXT NOT NULL,
reward_cents INTEGER NOT NULL,
status TEXT NOT NULL, -- 'pending' | 'applied' | 'expired'
stripe_event_id TEXT NOT NULL UNIQUE,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
);
stripe_event_id 的 UNIQUE 约束使奖励具有幂等性——Stripe 在遇到 5xx 时会重试 Webhook,第二次插入会无害地失败。当被推荐人的订阅通过 14 天退款期后(TanStack Ship 的周期),状态才会转为 applied。
关键的经济账:奖励必须低于客户的 LTV,否则你就是在花钱获取亏损用户。TanStack Ship 起步计划 29 美元/月,平均生命周期 14 个月,LTV 约为 400 美元。双方各 20 美元奖励(合计 40 美元)剩余 360 美元利润空间。当被推荐人的留存率与平均水平持平时,转介绍计划就能盈利。
我不会搭建的:多层级转介绍计划,区分"白银"和"黄金"等级。复杂度会毁掉它。一层、一奖励、一 Webhook。先把这个上线。
内容营销:写一次,持续获客
内容杠杆是见效最慢但 ROI 最高的杠杆。一篇瞄准长尾关键词的博文,能在数年里持续带来注册。成本是写作的时间,杠杆效应在于每篇文章都能叠加。
独立创始人可行的更新频率:每周一篇,1500-2000 字,瞄准一个具体的关键词簇。文章应比现有搜索结果更好地回答一个具体问题。内链应把它与站点其他内容相连。CTA 应针对文章受众,而非泛泛的"注册"。
TanStack Ship 效果最好的内容是技术深度解析——cloudflare-d1-query-optimization-techniques、cloudflare-workers-cron-triggers-scheduled-tasks、tanstack-router-type-safe-routing。这些文章在独立开发者准备上线时搜索的词上排名靠前。这些帖子从自然搜索的转化率为 4-6%。
我不会做的:写"如何启动 SaaS"或"十大 SaaS 工具"。关键词搜索量虽高但意图弱。读者在浏览,不是在构建。转化率低于 0.5%。
关键词簇模式
效果最好的文章都瞄准了同一个关键词簇。簇由父词加长尾变体组成——"cloudflare d1" 作为父词,"cloudflare d1 query optimization"、"cloudflare d1 backup" 作为子词。一篇支柱文章瞄准父词;支持文章瞄准子词;内链把它们连在一起。支柱文章为高搜索量的头部词排名,支持文章为长尾变体排名并反哺权重。
能产生复利的更新节奏:每季度一篇支柱文章,每月 4 篇支持文章。支持文章每篇 1200-1500 字——比支柱文章短,但覆盖一个具体问题。每篇支持文章链接到支柱文章,支柱文章链接到所有支持文章,支持文章之间在主题重叠处相互链接。
我开始做 TanStack Ship 博客时并不知道这些。前 6 个月是单篇对准单关键词,排名不稳定。关键词簇模式让排名稳定了下来。
社区建设:Discord、Reddit 和 Hacker News
社区是仅次于内容的第二高杠杆,也是最常被做错的杠杆。错误的做法是"建一个 Discord 然后邀请所有人"。正确的做法是"找到你的目标客户已经在的现有社区,先在那里做贡献"。
对 TanStack Ship 来说,相关社区包括 r/SaaS、r/CloudFlare、r/TanStack、Cloudflare Discord 和 Hacker News。我每天在这些社区之一花 30 分钟,回答在我能力范围内的问题。信号不在于立刻获得 upvotes,而在于某个人点击我的用户名,看到个人简介链接,三天后完成注册。
Discord、Reddit 和 HN 各有不同规范:
- Discord——持续出现、给出有帮助的回答、不说营销话术。社区 Discord 的所有者推广自己的产品会被禁言。有帮助的非所有者在语境中提到自己的产品会被倾听。
- Reddit——言之有物的评论,只在直接被问到时才链接自己的内容。自荐规则执行严格;违规会被封禁。
- Hacker News——在相关话题下发布有深度的顶级评论,偶尔发布 Show HN。脱离语境提及自己产品的人会被踩。
成本是真实的:每天约 2 小时,持续进行,没有即时回报。回报来自于那些本来你要花 40 美元/个才能获取的客户,只不过他们是"预销售"的,因为他们已经读了你三个月的回答。
邮件营销:自动化培育序列
邮件是转化杠杆。访客读了你的博文,喜欢,离开了。两天后,一封邮件把他们拉回来。培育序列是将"读了一篇文章"转化为"注册了账号"的差距所在。
最小序列为 3 封邮件:
第 0 天:欢迎信。附上最好的 3 篇博文链接。一个 CTA:开始免费试用。
第 3 天:案例分析。真实客户、真实指标、真实成果。CTA:查看控制台。
第 7 天:异议处理。回应人们不注册的三大原因。
第 7 天之后,序列根据行为分支:他们是否开始了试用?是否访问了特定页面?分支是转化提升发生的地方,但也是大多数独立创始人最容易过度投入的地方。3 封邮件优于 0 封。10 封带分支的邮件优于 3 封。但从 10 封到 20 封的边际提升很小。
我用 Loops 处理交易邮件,Resend 处理广播邮件。组合成本合计 20 美元/月。两者都有覆盖前 100 名订阅者的免费套餐。
付费获客:何时以及如何投入
在第 4 个月之前不要投付费广告。在此之前,上述有机杠杆的 ROI 更高,产生的学习也更持久。第一笔付费应投向再营销——访问过你网站但未注册的人。第二笔付费应投向现有客户的相似受众。第三笔付费应投向 Google Ads 上一个具有明确商业意图的关键词。
0-100 个客户阶段行不通的付费投放形式:品牌认知、展示广告、广撒网的社交广告。CPM 太高,归因太弱,学不到任何有用的东西。等你有了 50+ 付费客户和清晰的 ICP 再规模化付费。
当 TanStack Ship 最终开启付费投放时,是一个针对关键词"tanstack starter"的 Google Ads 活动,加上一个针对访问过 /pricing 用户的 Reddit 再营销活动。合计支出 400 美元/月。第 6 个月 ROAS 为 3.2 倍。这是独立创始人在配备营销人员之前,付费投放的天花板。
衡量体系:北极星指标与增长飞轮
真正重要的衡量指标只有一个数字:每周新增付费客户。其他一切都是先行指标。
重要的次级指标:
- 激活率——注册后 24 小时内完成设置流程的用户比例。对 TanStack Ship 来说,这指"创建了一个 Cloudflare Worker 并部署了 starter 模板"。
- 价值实现时间——从注册到首次成功 API 调用的中位时间。TanStack Ship 约为 8 分钟。
- 转介绍占比——通过推荐码到来的新客户比例。目标:第 6 个月达到 20-30%。
- 内容归因注册量——
utm_source匹配某篇内容文章的注册比例。目标:第 6 个月达到 40-50%。
增长飞轮是这样一个循环:内容 → 注册 → 客户 → 转介绍内容 → 更多注册。如果飞轮在转动,增长就会复合。如果任何一个环节断裂,增长就会停滞。上述指标能告诉你哪个环节出了问题。
如何在杠杆之间做取舍
如果你有 60 分钟和 0 个付费客户,按以下顺序投入:
- UTM 中间件(4 小时,一次性)——永远不要跳过。
- 欢迎邮件序列(2 小时,一次性)——捕获那些本来会流失的注册。
- 一篇瞄准一个关键词的博文(4 小时,持续)——杠杆效应最高的那一小时。
- 一个社区的 30 分钟(每日)——杠杆效应第二高。
其余杠杆——转介绍、付费、高级邮件——等你有了 10+ 付费客户并验证了基础后再上。
第一天绝对不能跳过的三件事
有三件事我差点跳过,所幸没有:
- 在第一篇增长文章之前上线 UTM 中间件。 没有它,我不知道哪些文章有效。
- 在第一个付费客户之前建好
signup_event表。 事后补分析很痛苦;正确捕获第一个事件是零成本的。 - 在任何"打造品牌"工作之前,先建立每日 30 分钟的社区时间块。 在小规模下,社区的复利回报超过任何金额的付费投放。
使用 TanStack Ship 的增长工具包开始增长,访问 TanStack Ship GitHub org。Starter 默认包含 UTM 中间件、转介绍额度表、欢迎邮件序列,以及接好的分析仪表板。查看功能概览 了解完整模块列表,定价页 了解增长套餐,以及 SaaS 增长框架计划 了解 12 周上线日历。