书籍目录 展开 / 收起

转化分析:从访问到付费的漏斗诊断

本篇要找出“访客没买”中哪一段值得先修,而不是直接给价格打折。跟着一组ClearCopy教学数据,完成四步漏斗与一条修复决定。没有分析账户也能用Node运行本节的小样本,观察顺序怎样改变结果。

先算这张四步图

假设同一批200位新访客,在各自首次访问后7天内按顺序完成下列动作,且每个人的观察时间已经结束:

步骤 人数 相对上一步 相对首次访问
访问 200 起点 100%
提交文案 80 40% 40%
看见完整报告 60 75% 30%
后台确认付款 12 20% 6%

用计算器复算:80÷200、60÷80、12÷60。你会得到40%、75%、20%。最后一列则始终除以200。不要把两列的30%和20%当成相同分母的数字来比较。

PostHog漏斗说明提供整体与相对转化、顺序和转化窗口设置。配图展示步骤配置,重点是每一步选了哪个真实事件。示例里的步骤名称不是要求你的项目已天然存在这些事件。

在工具里重建相同条件

如果已有按前节字典采集的数据,在 Product Analytics > New insights > Funnel 建四步:访问、check_submitted、report_viewed和后端确认购买对应事件。

选择顺序漏斗,允许中间发生其他动作。用户提交后去看帮助再回来,不应因为有一个帮助页事件就被排除。严格顺序适用于特定问题,这里先不选。

设置转化窗口为7天,按唯一用户统计,排除内部测试账号;日期范围要覆盖进入期加7天后续观察,并对第一步限定进入期,避免最后几天的访客因后续动作超出报表日期而被误算流失。若身份登录前后未正确关联,先修关联,别急着解读掉落。

PostHog官方漏斗配置示例:步骤、去重单位、转化窗口和顺序都要先定义,再解释流失
PostHog官方漏斗配置示例:步骤、去重单位、转化窗口和顺序都要先定义,再解释流失。图中为供应商演示条件。

运行一个五人的小样本

新建funnel-demo.mjs,复制下列完整示例。它只演示“访问后24小时内先提交、再出报告”,不连接任何真实分析服务:

const rows = [
  ['a', 'visit', 0], ['a', 'submit', 1], ['a', 'report', 2],
  ['a', 'report', 3],
  ['b', 'visit', 0], ['b', 'report', 1], ['b', 'submit', 2],
  ['c', 'visit', 0], ['c', 'submit', 1], ['c', 'report', 25],
  ['d', 'visit', 0], ['d', 'submit', 1],
  ['e', 'visit', 0]
];
const stages = ['visit', 'submit', 'report'];
const counts = [0, 0, 0];
for (const id of new Set(rows.map(r => r[0]))) {
  const events = rows.filter(r => r[0] === id)
    .sort((a, b) => a[2] - b[2]);
  let last = -Infinity;
  let first;
  for (let i = 0; i < stages.length; i++) {
    const found = events.find(r => r[1] === stages[i] &&
      r[2] > last && (first === undefined || r[2] <= first + 24));
    if (!found) break;
    if (i === 0) first = found[2];
    last = found[2];
    counts[i]++;
  }
}
console.log(counts.join(' -> '));

在Node.js 22中运行node funnel-demo.mjs,输出应是:

5 -> 4 -> 1

a虽然有两次report也只计一人;b的report发生在submit之前,不算顺序完成;c的报告在25小时,超出本例24小时。现在将窗口中的24改成48重跑,最后一项变为2。你能实际看见窗口改变了什么,而不必把报表差异猜成用户行为突然变化。

从20位未完成报告的人里找到修复

回到200人的教学漏斗,80人提交、60人看见报告。假设你进一步查任务日志得到:12人请求超时,8人收到缺少功能事实的填写错误。以下是针对这组假设的修复安排:

原因 人数 准备的改动 应看到什么
超时 12 任务异步保存,页面显示可恢复的处理状态 刷新后找到原任务,不重复扣次
输入不完整 8 提交前给事实栏一份完整填写例 明确看到哪个框缺什么

先处理能复现的超时。一笔任务失败要对应请求ID,日志只记录必要错误代码和耗时,不附上用户整段草稿。若你无法把20人落到具体任务,先补查事件漏报与关联,不直接宣布他们都是超时。

用路径探索回答漏斗没回答的事

漏斗给预先定义的步骤,路径探索可以看报告未出现后用户去了哪里。GA路径探索提供从指定事件开始展开后续节点的入口。有GA数据时,在 Explore > Path exploration 以提交事件为起点,看随后是否反复进入帮助页或重试。

付款分析仍按GA电商事件选择合适事件,后台订单确认才是真实付款。用户点过购买按钮不意味着最后一步完成。

本节结束时保存5 -> 4 -> 1的本地输出和一句改动:“优先修复已复现的任务超时,重测提交到报告完成率。”这比笼统写“提高网站转化”更容易安排到下一次开发。

登录后可保存阅读进度

下一篇:留存与收入分析:用户分群、流失与客户价值登录保存进度