新用户承接链路优化
产品需求文档 (PRD)
1. 需求背景
1.1 需求说明
当前新用户首次进入APP后,缺乏有效的引导转化机制,导致新用户流失率偏高。本次需求旨在通过以下三个方向优化新用户承接链路,提升新用户注册转化率和首单付费率:
- 塔罗新手引导玩法:针对 APP投放
来源的新用户,在其首次进入APP时触发塔罗新手引导链路,以低门槛、强趣味性的方式引导新用户完成首次体验并转化为付费用户
- 支付页优惠引导强化:在A/B链路的支付页面增加强烈的优惠减免感知,参考拼多多优惠展示形式,提升新用户首单付费转化
- A链路归因失败兜底:A链路在APP首次启动页后若未归因成功,自动回退到原有链路(对照组),先展示登录页,保证用户体验闭环
1.2 需求目标
| 目标指标 |
当前基线 |
目标值 |
衡量周期 |
| 新用户注册转化率 |
— |
提升30% |
上线后14天 |
| 新用户首单付费率 |
— |
提升20% |
上线后14天 |
| A链路归因成功率 |
— |
≥85% |
持续监控 |
| 新用户次日留存 |
— |
提升15% |
上线后30天 |
1.3 目标用户
| 用户类型 |
用户画像 |
核心诉求 |
| 新用户(未注册) |
24-30岁女性为主,新一线/二线城市,通过 APP投放
首次打开APP |
低门槛体验核心玩法,快速了解产品价值 |
| 新用户(已注册未付费) |
已完成注册但尚未产生付费行为的新用户 |
感知优惠价值,降低首次付费决策门槛 |
1.4 投放来源判定规则 ⭐
| 投放来源 |
是否触发新链路 |
说明 |
| APP投放 |
✅ 触发 |
通过APP广告渠道(如巨量引擎、腾讯广告等)投放带来的新用户,进入本次需求的新链路逻辑 |
| H5 |
❌ 不触发 |
通过H5链接/页面进入的用户,不触发本次新链路,走原有逻辑 |
| 商店 |
❌ 不触发 |
通过应用商店自然下载的用户,不触发本次新链路,走原有逻辑 |
判定逻辑:在归因成功后,需进一步判断”投放来源”字段,仅当来源
= “APP投放” 时才分配实验组(A/B链路)。来源 = H5 或 商店
的用户,无论归因是否成功,均走对照组原有链路。
1.5 核心价值主张
“以塔罗为引,以优惠为桥,让新用户在3分钟内完成从陌生人到付费用户的转化”
2. 整体链路设计
2.1 链路总览
本次需求涉及三条链路并行运行,通过AB实验对比效果:
| 链路 |
说明 |
流量占比 |
| A链路(实验组1) |
新用户引导 → 塔罗新手玩法 → 优惠支付页 → 转化 |
40% |
| B链路(实验组2) |
新用户引导 → 塔罗新手玩法 → 优惠支付页(优惠样式差异)→ 转化 |
40% |
| 对照组(原有链路) |
启动页 → 登录页 → 首页 |
20% |
2.2 核心业务流程图
flowchart TD
A[用户首次打开APP] --> B[展示品牌启动页/Splash]
B --> C{归因判定}
C -->|归因成功| D{判断投放来源}
C -->|归因失败| Z[回退到对照组逻辑]
D -->|来源=APP投放| E{分配实验组}
D -->|来源=H5| Z
D -->|来源=商店| Z
E -->|A链路| F1[新用户引导页]
E -->|B链路| F2[新用户引导页]
Z --> G[登录/注册页]
F1 --> H1[塔罗新手专属玩法页面]
F2 --> H2[塔罗新手专属玩法页面]
H1 --> I1[抽牌结果 + 达人解答卡片]
H2 --> I2[抽牌结果 + 达人解答卡片]
I1 --> J1[A链路支付页 - 优惠样式A]
I2 --> J2[B链路支付页 - 优惠样式B]
J1 --> K1{用户决策}
J2 --> K2{用户决策}
K1 -->|支付| L1[连麦/文字咨询]
K1 -->|放弃| M1[引导回首页]
K2 -->|支付| L2[连麦/文字咨询]
K2 -->|放弃| M2[引导回首页]
G --> N[正常首页流程]
2.3 链路详细步骤
步骤1:APP启动 & 归因判定
| 环节 |
说明 |
| 启动页展示 |
品牌Splash页 |
| 归因请求 |
启动后立即发起归因请求(检测渠道来源、广告点击、邀请码等) |
| 归因成功判定 |
成功获取渠道归因信息(如广告渠道ID、邀请人ID等) |
| 归因失败判定 |
超时或未获取到有效归因信息 |
| 归因失败处理 |
走对照组逻辑:跳转到原有登录/注册页 |
| 投放来源判定 |
归因成功后,判断投放来源字段:仅”APP投放”触发新链路,“H5”和”商店”走对照组 |
步骤2:新用户引导页(仅A/B链路)
| 元素 |
说明 |
| 欢迎标题 |
新用户欢迎文案 |
| 引导副标题 |
引导用户开始塔罗体验 |
| 开始按钮 |
进入塔罗新手玩法 |
| 跳过按钮 |
跳过引导,跳转首页 |
步骤3:塔罗新手专属玩法页面 ⭐
页面交互流程与内容沿用现有塔罗抽卡功能,不新增页面细节设计。
步骤4:支付页(A/B链路差异化)
A/B链路在此处产生差异,主要体现在优惠展示样式上(详见第4节)。
3. 塔罗新手引导玩法
3.1 功能定位
| 属性 |
说明 |
| 功能名称 |
塔罗新手引导(内部代号:新手塔罗 / Tarot Onboarding) |
| 与原有塔罗的关系 |
页面交互流程与内容沿用现有塔罗抽卡功能 |
| 触发条件 |
仅在A/B链路的新用户首次启动时展示(且投放来源 = APP投放) |
| 使用次数 |
每个用户仅可体验1次 |
| 后续入口 |
体验完成后不再展示,用户后续使用原有塔罗抽卡功能 |
3.2 页面内容说明
抽卡选择和输入问题的页面逻辑均沿用现有塔罗抽卡功能,不做新增页面细节定义。本次需求关注的是链路跳转逻辑和支付页优惠引导的差异。
3.3 与原塔罗抽卡的功能差异对照
| 功能点 |
塔罗新手引导 |
原有塔罗抽卡 |
| 入口位置 |
新用户承接链路专用(仅APP投放来源) |
首页金刚位 / 聊天页工具栏 |
| 使用限制 |
仅新用户首次1次 |
无限制 |
| 付费引导 |
强引导,直接跳转支付页 |
弱引导,用户自主决定 |
其余功能(问题选择、抽牌流程、牌面解读等)均沿用现有塔罗抽卡。
4.
支付页优惠引导设计(A/B差异化)
4.1 设计目标
在A、B链路的支付页面增加强烈的优惠减免感知,参考拼多多的优惠展示形式,让用户产生”不用就亏了”的心理感受,从而提升首单付费转化。
4.2 A链路支付页 -
“限时立减”样式
参考拼多多”限时秒杀”风格,核心展示元素:
| 元素 |
说明 |
| 倒计时横幅 |
“新用户专属优惠,仅剩 XX:XX”,营造紧迫感 |
| 原价删除线 |
展示原价并加删除线 |
| 优惠金额标签 |
醒目展示立减金额(如”立减 ¥30”) |
| 现价大字 |
优惠后价格,大字号突出展示 |
| 优惠进度条 |
“已有 XXXX 位新用户领取”,显示剩余名额 |
| 优惠券提示 |
“恭喜获得新人专属优惠券”提示文案 |
| 限时标签 |
“限时 · 今日有效” |
| 支付按钮 |
显示优惠后价格,引导立即支付 |
| 优惠说明 |
“首单优惠仅限新用户首次使用” |
4.3 B链路支付页 -
“优惠券翻牌”样式
参考拼多多”天天领现金”翻牌风格,核心展示元素:
| 元素 |
说明 |
| 翻牌动画 |
“点击拆开你的新人优惠”,3D翻转效果 |
| 翻出优惠金额 |
动画展示优惠金额(如”¥30优惠券”) |
| 优惠券样式 |
模拟实体优惠券形态 |
| 倒计时 |
“优惠券将在 XX:XX 后过期” |
| 原价对比 |
“日常价 → 券后价”对比展示 |
| 使用条件 |
“新用户首单可用 · 限1次” |
| 名额提醒 |
“仅剩 XXX 个名额,手慢无!” |
| 支付按钮 |
“使用优惠券支付 ¥X.X” |
| 放弃挽留弹窗 |
用户放弃时弹出”确定要放弃¥XX优惠吗?” |
4.4 A/B链路优惠样式差异对照
| 维度 |
A链路(限时立减) |
B链路(优惠券翻牌) |
| 核心心理 |
紧迫感(限时倒计时) |
获得感(翻牌拆开) |
| 优惠展示 |
直接展示立减金额 |
翻牌动画后展示优惠券 |
| 倒计时位置 |
顶部通栏 |
优惠券内部 |
| 紧迫感元素 |
红色倒计时通栏 + 名额进度条 |
名额警告条 + 过期倒计时 |
| 优惠券形态 |
信息卡片式 |
仿真优惠券 |
| 放弃挽留 |
无 |
放弃时弹出挽留弹窗 |
| 预期效果 |
强紧迫感驱动冲动消费 |
强获得感驱动占便宜心理 |
5. A链路归因失败兜底逻辑
5.1 归因判定流程
flowchart TD
A[APP首次启动] --> B[展示启动页]
B --> C[发起归因请求]
C --> D{3秒内是否收到有效归因信息?}
D -->|是 - 归因成功| E{判断投放来源}
D -->|否 - 归因失败| F[标记为归因失败]
E -->|来源=APP投放| G{判断实验组}
E -->|来源=H5| H[走对照组]
E -->|来源=商店| H
G -->|A链路| I[进入新用户引导页 → 塔罗新手玩法]
G -->|B链路| J[进入新用户引导页 → 塔罗新手玩法]
G -->|对照组| K[进入登录/注册页]
F --> K
H --> K
5.2 归因成功判定标准
| 条件 |
判定结果 |
| 获取到渠道归因ID(如巨量、腾讯广告等) |
✅ 归因成功 |
| 获取到有效邀请码/邀请人ID |
✅ 归因成功 |
| 获取到深度链接(Deep Link)中的来源参数 |
✅ 归因成功 |
| 未收到任何归因信息 |
❌ 归因失败 |
| 收到归因信息但校验失败(签名不匹配等) |
❌ 归因失败 |
5.3 投放来源判定逻辑
归因成功后,需进一步读取投放来源字段进行二次判定:
| 投放来源值 |
处理逻辑 |
| APP投放 |
进入实验分组逻辑(A链路/B链路/对照组) |
| H5 |
直接走对照组原有链路 |
| 商店 |
直接走对照组原有链路 |
5.4 归因失败后的回退逻辑
当A链路用户归因失败时,按以下逻辑处理:
| 环节 |
处理方式 |
| 跳转目标 |
原有链路的登录/注册页(对照组首屏) |
| 页面内容 |
与对照组完全一致的登录页 |
| 后续流程 |
登录/注册后进入正常首页流程 |
| 数据记录 |
记录归因失败原因、回退事件、后续行为 |
| 实验标记 |
该用户标记为”归因失败-回退对照组”,不计入A链路实验数据 |
5.5 数据埋点要求
| 埋点名称 |
触发时机 |
上报参数 |
说明 |
| Attribution_Start |
发起归因请求 |
zz_request_id, zz_timestamp |
归因请求发起 |
| Attribution_Success |
归因成功 |
zz_channel, zz_source, zz_traffic_source, zz_experiment_group |
归因成功及分组(新增 zz_traffic_source 投放来源字段) |
| Attribution_Fail |
归因失败 |
zz_fail_reason, zz_timeout |
归因失败原因 |
| Traffic_Source_Check |
投放来源判定 |
zz_traffic_source, zz_action |
记录投放来源判定结果 |
| Fallback_Trigger |
触发回退对照组 |
zz_original_group, zz_fallback_reason |
回退事件 |
| Tarot_NewUser_Entry |
进入塔罗新手页 |
zz_experiment_group, zz_question_type |
新手塔罗入口 |
| Tarot_NewUser_CardSelect |
选择塔罗牌 |
zz_card_id, zz_position |
抽牌选择 |
| Tarot_NewUser_ResultView |
查看牌面结果 |
zz_card_id, zz_view_duration |
结果页停留 |
| Payment_Page_Show |
支付页展示 |
zz_experiment_group, zz_original_price, zz_discount_price |
支付页曝光 |
| Payment_Page_CTA_Click |
点击支付按钮 |
zz_experiment_group, zz_final_price |
CTA点击 |
| Payment_Success |
支付成功 |
zz_order_id, zz_amount, zz_experiment_group |
支付转化 |
| Coupon_Reject_Show |
展示放弃挽留弹窗 |
zz_experiment_group |
B链路挽留弹窗 |
6. 实验设计
6.1 实验分组
| 分组 |
链路 |
流量占比 |
核心变量 |
触发条件 |
| 实验组A |
A链路 |
40% |
塔罗新手引导 + 限时立减支付页 |
投放来源 = APP投放 |
| 实验组B |
B链路 |
40% |
塔罗新手引导 + 优惠券翻牌支付页 |
投放来源 = APP投放 |
| 对照组 |
原有链路 |
20% |
启动页 → 登录页 → 首页 |
投放来源 = APP投放 或 归因失败 |
| 非APP投放用户 |
原有链路 |
— |
不走实验逻辑 |
投放来源 = H5 或 商店 |
6.2 实验指标
| 指标类型 |
指标名称 |
计算方式 |
| 核心指标 |
新用户注册转化率 |
完成注册的新用户数 / 进入链路的新用户数 |
| 核心指标 |
新用户首单付费率 |
完成首单付费的新用户数 / 完成注册的新用户数 |
| 过程指标 |
塔罗新手页完成率 |
完成抽牌的新用户数 / 进入塔罗新手页的新用户数 |
| 过程指标 |
支付页到达率 |
到达支付页的新用户数 / 查看牌面结果的新用户数 |
| 过程指标 |
支付页转化率 |
点击支付按钮的用户数 / 到达支付页的用户数 |
| 过程指标 |
归因成功率 |
归因成功的用户数 / 发起归因请求的用户数 |
| 护栏指标 |
新用户次日留存 |
次日再次打开APP的新用户数 / 当日新用户数 |
| 护栏指标 |
用户投诉率 |
提交投诉的新用户数 / 总新用户数 |
6.3 实验周期
| 阶段 |
时间 |
说明 |
| 灰度期 |
上线后第1-3天 |
5%流量,验证链路稳定性 |
| 观察期 |
上线后第4-7天 |
50%流量,观察核心指标趋势 |
| 全量期 |
上线后第8-14天 |
100%流量(按实验分组),得出实验结论 |
7. 技术规格
7.1 客户端要求
| 要求 |
说明 |
| 归因SDK |
集成渠道归因SDK,支持主流广告平台 |
| 归因超时 |
超时即判定为归因失败 |
| 投放来源判定 |
归因成功后读取投放来源字段,仅”APP投放”触发新链路 |
| 实验分组 |
通过服务端下发实验分组,客户端不自行分组 |
| 塔罗新手页 |
沿用现有塔罗抽卡功能 |
| 支付页 |
根据实验分组渲染不同优惠样式 |
| 缓存策略 |
用户分组结果本地缓存,避免每次启动重新请求 |
7.2 服务端要求
| 要求 |
说明 |
| 归因服务 |
提供归因查询接口,返回渠道来源、投放来源及实验分组 |
| 投放来源字段 |
归因接口需返回 traffic_source 字段(APP投放/H5/商店) |
| 实验配置 |
支持动态调整实验分组流量占比 |
| 优惠配置 |
支持运营配置优惠金额、有效期、名额等 |
| 数据上报 |
接收客户端埋点数据,写入分析系统 |
7.3 接口设计
7.3.1 归因查询接口
POST /api/v1/attribution/query
Request:
{
"device_id": "设备唯一标识",
"install_timestamp": "安装时间戳",
"channel_params": "渠道参数(如有)"
}
Response:
{
"success": true,
"attributed": true, // 是否归因成功
"channel": "巨量引擎", // 归因渠道
"traffic_source": "APP投放", // 投放来源: APP投放/H5/商店
"experiment_group": "A", // 实验分组: A/B/control
"new_user": true // 是否新用户
}
7.3.2 优惠配置接口
GET /api/v1/promotion/config
Response:
{
"experiment_group": "A",
"original_price": 39.9,
"discount_amount": 30,
"final_price": 9.9,
"expire_at": "2026-04-20T23:59:59+08:00",
"total_quota": 3000,
"remaining_quota": 614
}
8. 风险与预案
| 风险 |
影响 |
预案 |
| 归因SDK异常导致大面积归因失败 |
大量用户走对照组,实验效果无法验证 |
降级方案:快速回退对照组 |
| 优惠配置错误(如价格为0) |
资损 |
服务端增加价格校验,最低价限制为1元 |
| 塔罗新手页加载慢 |
新用户流失 |
静态资源预加载 |
| 实验组注册转化率低于对照组 |
新功能可能负面影响体验 |
实时监控,低于对照组时触发告警 |
文档版本:v1.1 创建时间:2026-04-20
更新时间:2026-04-21 文档状态:待评审