这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
付费自定义
收到第一笔 ¥99 的付款时,我激动得截了屏。
终于不再只是烧钱了。
那天是周二的晚上,我正在看服务器账单——每个月 ¥5000 的成本像一块石头压在胸口。突然手机震动了一下,支付宝到账提醒:¥99。
我赶紧打开后台,看到是一个深圳的用户,购买了”专业套餐”,订阅了 3 个自定义别名。他在备注里写道:“太需要这个功能了,公司品牌推广必备!”
那一刻我意识到:这不是玩具,是生意。
为什么收费?
先看看当时的数据:
优质别名申请统计(2026年2月):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"apple" 申请次数:128次
"shop" 申请次数:256次
"go" 申请次数:189次
"news" 申请次数:167次
"vip" 申请次数:143次
3字符短别名:100%被占用
4字符好记词:87%被占用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用户留言精选:
• "我愿意付钱买'apple'这个别名!"
• "能不能租给我?我用一个月就行"
• "我们公司需要这个品牌名,价格好商量"
• "求转让'go',¥100/月可以接受"
需求明确,供给稀缺——完美的定价场景。
三档套餐
我设计了三个套餐,定价逻辑是:
落地思路
- 免费版锚定「免费」,用不提供高级功能来换规模,不做收入假设。
- 基础版和专业版按「自定义别名数量 + 最短别名长度 + 数据统计」三档能力递进。
- 最短长度是分档的关键:3 位别名已被抢注册,4 位好记词也被占掉 87%,长度直接对应稀缺性。
- 定价落在心理价位下方(¥29、¥99),让用户在结算页不用做整数比较。
输出:
=== 短链接服务套餐 ===
【免费版】
价格:¥0/月
自定义别名:0个
最短长度:6位
数据统计:✗
适用:个人尝鲜用户
【基础版】
价格:¥29/月
自定义别名:5个
最短长度:4位
数据统计:✓
适用:小团队/个人品牌
【专业版】
价格:¥99/月
自定义别名:无限
最短长度:3位
数据统计:✓
适用:企业用户/重度使用者
定价逻辑
为什么是 ¥29 和 ¥99?
-
心理定价
- ¥29:低于 ¥30,感觉”不到30块”
- ¥99:低于三位数,感觉”不到100块”
-
锚定效应
- 免费版作为锚点,让基础版显得很便宜
- 专业版¥99与基础版¥29对比,¥70差价换无限别名,值得
-
成本覆盖
- 单个用户服务器成本:¥5/月
- ¥29 套餐毛利:83%
- ¥99 套餐毛利:95%
-
转化漏斗
100个免费用户 ↓ 2%转化 2个付费用户 ↓ 分配 1.5个基础版(¥29) + 0.5个专业版(¥99) ↓ 平均客单价:¥46.5
为什么选择支付宝+微信支付?
我当时考虑了三个因素:
- 用户习惯:国内用户习惯支付宝/微信
- 接入难度:官方SDK文档完善
- 费率:0.6%交易费,可接受
支付流程
用户选择套餐 → 创建订阅订单 → 调用支付接口 → 跳转支付页面
↓
用户完成支付
↓
支付平台回调通知
↓
验证签名 → 激活订阅 → 创建别名
方案落地
落地思路
- 套餐配置存在套餐定义里,创建链接时读用户当前套餐来决定允许的最短别名长度。
- 免费用户提交 3 位别名时,在创建前就被拦下并提示需要升级,不用走到写库才失败。
- 订单先落库再拉起支付:先有订单号,支付回调才有地方可以对账。
- 支付过程失败则订单停在未支付状态,不占用任何别名名额。
支付回调处理
这是最关键的部分——要确保回调的真实性:
落地思路
- 回调先验签:平台用双方约定的密钥对回调参数做签名校验,验不过直接丢弃,不进入任何业务逻辑。
- 验签通过后再核对金额和订单号:订单不存在、金额对不上、订单已处理过,都直接返回成功避免平台重复重试。
- 只有校验全过才激活订阅并创建别名,处理动作放在一个事务里,避免出现「付了钱但别名没建」。
- 回调可能重复到达,所以订阅激活必须幂等:重复回调不应该多发别名。
用户取消订阅怎么办?
这是我当时最纠结的问题:
场景A:立即回收
- 优点:节省资源
- 缺点:用户体验差,已分享的链接会失效
场景B:保留到月底
- 优点:用户友好
- 缺点:浪费资源
我的方案:30天宽限期
落地思路
- 用户取消后不立刻回收别名,而是把订阅标记为「已取消、宽限期内」,宽限期 30 天。
- 宽限期内别名仍然可用、仍然计入点击统计,只是不再新增。
- 宽限期结束且未续费,才把别名状态置为「已释放」,并把别名文本退回可用池。
- 状态迁移是单向的:正常 → 已取消(宽限期)→ 已释放;续费可以在前两段把状态拉回正常。
数据库设计
数据设计要点
- 核心是在
subscriptions里保存业务事实,而不是把规则散落在应用逻辑里。- 关键字段包括
id、user_id、tier、tier_name、months、monthly_price、total_price、start_date,它们决定了后续查询和管理能力。
第一个月的惊喜
付费功能上线一个月后,我做了个统计:
落地思路
- 口径先对齐:付费用户按「当月有生效订阅的去重用户数」算,收入按支付成功金额算。
- 客单价 = 总收入 / 付费用户数;转化率 = 付费用户数 / 同期注册用户数。
- 套餐分布要能对上人数和金额,两个数对不上说明统计口径有问题。
- 这三个口径固定后,每个月的数据才可比较。
输出:
=== 2026年2月收入统计 ===
总付费用户:200
月收入:¥15000
客单价:¥75
付费转化率:2.0%
=== 套餐分布 ===
basic:150人,收入 ¥7800
pro:50人,收入 ¥7200
收入分析
让我把这个策略拆开分析:
落地思路
- 先把毛收入拆成三段:支付总额、平台手续费、净收入,净额才是能拿去覆盖成本的数。
- 再减掉服务器成本得到净利润,用利润率判断这套定价是不是健康的。
- 客单价分布比总收入更能说明问题:看高价值用户的生命周期,才能判断续费能不能撑住 MRR。
- 分析结论要落到下一步动作,比如哪些套餐需要调整,而不是停在数字上。
输出:
=== 2026年2月收入分析 ===
新订阅数:200
总收入:¥15000.00
支付手续费:¥90.00
净收入:¥14910.00
服务器成本:¥5000
净利润:¥9910.00
利润率:66.1%
=== 套餐分布 ===
basic:150人,收入 ¥7800.00
pro:50人,收入 ¥7200.00
当前MRR:¥18000.00
=== 高价值用户TOP5 ===
用户1024:累计消费 ¥1188.00,生命周期 12个月
用户2048:累计消费 ¥594.00,生命周期 6个月
用户3072:累计消费 ¥594.00,生命周期 6个月
用户4096:累计消费 ¥351.00,生命周期 3个月
用户5120:累计消费 ¥351.00,生命周期 3个月
关键发现:
- 首次盈利!净利润 ¥9910,终于覆盖了服务器成本
- 专业版用户ARPU更高:虽然人数少,但贡献了48%的收入
- MRR持续增长:当前MRR ¥18000 > 2月收入 ¥15000,说明续费情况良好
- 高价值用户明显:TOP5用户贡献了20%的收入
商业模式验证
| 指标 | 目标 | 实际 | 状态 |
|---|---|---|---|
| 付费转化率 | 1% | 2.0% | ✅ 超预期 |
| 月收入 | ¥10000 | ¥15000 | ✅ 超预期 |
| 客单价 | ¥50 | ¥75 | ✅ 超预期 |
| 利润率 | 50% | 66% | ✅ 超预期 |
结论: 付费模式跑通了!
经验总结
-
定价策略
- 免费版建立用户基础
- 基础版满足轻度需求
- 专业版捕获高价值用户
-
支付体验
- 支付宝+微信双通道
- 回调验证确保安全
- 30天宽限期提升体验
-
数据驱动
- MRR监控长期趋势
- LTV识别高价值用户
- 转化漏斗优化定价
下一步计划
赚钱了,但也有了新问题——
老链接堆积如山,需要管理……
练习1:防止退款滥用
如何防止用户通过退款来”免费试用”付费别名?
参考答案
落地思路
- 退款不是「把别名收回来」,而是把「免费用过的额度」算清:退款要同时回收已发放的别名名额。
- 判定依据要落到可查的量上:使用量超过阈值才触发部分退款,试用期内才允许全退。
- 退款后把用户标记进冷静期,冷静期内不能再购买同类套餐。
- 退款记录要留痕,并影响后续的信誉分与人工审核优先级。
策略总结:
- 时间限制:7天试用期内可退款
- 使用量限制:超过100次点击,部分退款
- 信誉机制:退款影响信誉分数
- 购买限制:退款用户30天内不能购买
练习2:提升付费转化率
当前转化率2%,如何提升到5%?
参考答案
落地思路
- 提升转化率的抓手有三个:降低首次付费的决策成本、缩短用户看到价值到付费的时间、提高付费页面的说服力。
- 每一条都要落到可执行的改动上:试用策略、付费页文案、老用户触达时机。
- 衡量方式是看同期的付费转化率和留存,而不是只看收入涨没涨。
- 前提是这些改动不能损害免费用户——免费版是转化的漏斗入口。
优化策略:
- 免费试用:降低决策门槛
- 限时折扣:制造紧迫感
- 功能限制:提升免费版痛点
- 智能推荐:个性化触达
- 社交证明:建立信任
(下一节:链接管理)
发现内容有问题?
告诉我们哪里需要改进。
