线索跟踪把每条线索和它的来源、后续结果连起来。本文说明怎么在网站上记下来源、随表单传递,从服务端发送有效线索和成交阶段,并按成交而不是线索数比较渠道。
读完你会知道
- 在访客落地时记来源,不要等到表单那一步
- 有效和成交阶段用同一个线索 ID 从服务端发送
- 用线索到成交的转化率和收入比较渠道,不只看线索数
线索跟踪要回答什么
线索跟踪要对每条线索回答两个问题:它从哪里来,以及后来怎么样了。多数做法在提交表单那一刻回答了前一个,却丢了后一个,因为判断有效和成交发生在之后,在 CRM 里或电话里。没有后一个,每个渠道就只能按产生了多少表单来评价,而这恰恰是容易误导人的数字。
所以目标是一条链:落地来源 → 提交表单 → 有效线索 → 成交,每一步用同一个线索 ID。
五步搭起来
- 落地时记下来源。 UTM 参数、广告点击 ID、来源页和落地页。要在访客到达时记,而不是等到表单,因为表单往往在几页之后。
- 记录提交,并随表单传递来源。 在浏览器里发一个线索事件,并把记下的来源放进表单数据,和线索一起存到你的后端或 CRM。
- 给线索一个 ID。 用 CRM 或数据库里的线索 ID,不要用邮箱,并用它识别访客,让之前的浏览记录归到这条线索上。
- 后续阶段从服务端发。 销售判断有效或成交时,由后端用同一个 ID 发事件。成交事件带上金额和唯一键,重试时不会重复计数。
- 按渠道看到成交。 按来源渠道分组看线索、有效线索、成交和收入。
// 提交时:读取落地来源并记录线索
const source = tapcub.getAttribution(); // utm_*, click_id, referrer, landing_url
tapcub.track('lead_submit', { form_id: 'demo-request' });
// 把来源和线索一起存到后端
await fetch('/api/leads', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ ...formData, source }),
});阶段与事件
表里列出一组精简的阶段、各自的事件以及从哪里发送。页面上发生的事用浏览器事件就行;由人或其他系统之后决定的,应该从服务端发,这样不会被拦截,金额也是真实的。
| 阶段 | 事件 | 从哪里发 | 关键属性 |
|---|---|---|---|
| 浏览表单 | lead_form_view | 浏览器 | form_id |
| 提交线索 | lead_submit | 浏览器(以及服务端) | form_id;落地来源 |
| 有效线索 | lead_qualified | 服务端 / CRM | lead_id |
| 成交 | deal_closed | 服务端 | amount;唯一键 |
| 流失 | lead_lost | 服务端 / CRM | lead_id |
事件名沿用 TapCub 线索留资模板;已有自己的命名可以继续用。
按成交看,不按线索看
示例里,LinkedIn 广告带来 80 条线索,比推荐来源的 25 条多,但成交只有 2 单,推荐来源有 6 单。按线索看,LinkedIn 表现不错;按成交和收入看,它是最弱的渠道,推荐来源才是强项。自然搜索的成交数排在前面。
这就是要把阶段回传的原因:只看线索数,会奖励那些产生大量低意向表单的渠道。用线索到成交的转化率和收入比较渠道,并且看足够多个月,让成交数稳定下来,只有 2 单的渠道波动会很大。线索指标和其他指标怎么配合,见营销 KPI。
线索
380
线索 → 成交
8.2%
收入
$96,000
各渠道线索到成交 · 近 6 个月
示例| 渠道 | 线索 | 有效 | 成交 | 线索 → 成交 | 收入 |
|---|---|---|---|---|---|
| 自然搜索 | 95 | 38 | 10 | 10.5% | $31,000 |
| Google 广告 | 120 | 42 | 9 | 7.5% | $27,000 |
| 推荐来源 | 25 | 15 | 6 | 24% | $22,000 |
| 直接访问 | 60 | 21 | 4 | 6.7% | $11,000 |
| LinkedIn 广告 | 80 | 16 | 2 | 2.5% | $5,000 |
常见错误
- 在表单那一步才记来源。 那时网址上的 UTM 参数常常已经没了。
- 在统计里用邮箱当 ID。 用线索 ID;联系方式留在 CRM 里。
- 在浏览器里发成交。 感谢页会被刷新、被拦截,或者根本没被打开。
- 没有唯一键。 重试和重复的回调会让成交数虚高。
- 只看末次来源。 同时存下首次落地来源,就能对比两种视角。
在 TapCub 里跟踪线索
网站脚本加上 data-attribution 后,tapcub.getAttribution() 会返回这次落地的来源:来源、媒介、活动、关键词、内容、推广码、点击 ID、落地页、来源页和落地时间。随表单一起发到后端,在服务端事件里原样作为 context.campaign 传入;某个事件首次用 login_id 识别一个人时,TapCub 会记录并保留这个获客来源。身份字段里传入的明文邮箱和手机号会被哈希,insert_id 用来给重试去重(见文档服务端事件)。
线索留资行业模板会装好各阶段事件(lead_submit 和带 amount 的 deal_closed 必填;表单浏览、咨询、有效线索、回访、预约、流失可选),以及指标、漏斗、目标和线索看板;模板建议成交金额由服务端发送(见文档行业模板)。更多见转化跟踪和 UTM。
常见问题
什么是线索跟踪?
记录每条线索从哪里来、后来怎么样了,从首次访问、判断有效一直到成交。
怎么知道线索是从哪里来的?
在访客落地时记下 UTM 参数、点击 ID 和来源页,并随表单传递,和线索存在一起。
线索应该在统计工具里跟踪,还是在 CRM 里?
两边都要,用同一个线索 ID 连起来。CRM 存联系方式和销售阶段;统计工具存来源和网站上的行为。
为什么统计里的线索数和 CRM 对不上?
重复提交、垃圾表单、脚本被拦截,以及通过电话或聊天建的线索。如果要求数字准确,提交也从服务端发一份,并带唯一键。
比较渠道该看哪个指标?
各渠道线索到成交的转化率和收入,并且看足够多个月,让成交数稳定。
这篇文章对你有帮助吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。

