落地页上的 PostHog
大多数 PostHog 项目从注册开始算起,也就是说,用户是哪条广告带来的只能靠猜。LanderLab 的 Webhook 把起点往前挪到广告。每条线索都作为事件发送到 PostHog 的 capture 端点,表单答案、页面、UTM 和访客 IP 作为属性,这个人的邮箱和姓名则写入他的档案。
它适合买流量的产品驱动型团队:SaaS 试用、有候补名单的应用、正在招募供给方的交易平台。当线索和产品使用数据在 PostHog 里属于同一个用户,从广告到激活的漏斗就是一份报告,而不是一张电子表格。
把落地页线索变成 PostHog 事件
每次提交都会在 PostHog 中变成一个“Lead submitted”事件,表单字段和测验答案作为属性。PostHog 自己的属性也会填上:页面作为 $current_url,访客 IP 作为 $ip,所以位置来自这个人,而不是 LanderLab 的服务器。
PostHog 的 capture 端点是公开且只写的,它的项目 token 本来就可以公开,所以从 Webhook 发送完全不需要密钥。
用表单数据设置用户属性
在事件里,$set 把邮箱和姓名写入用户档案,$set_once 则保留他首次转化的那个落地页,即使他之后再次提交也不会变。如果你的应用用同一个邮箱识别用户,线索和这个用户在产品里做的一切就都归属于同一个人。
从广告开始的漏斗
线索事件上带着 utm_source、utm_campaign 和 A/B 变体,PostHog 漏斗就能从落地页开始,到对你重要的那个动作结束:创建第一个项目、发出第一张发票、升级套餐。按广告系列拆分,你就能看到哪些广告组带来的是会激活的用户,而不只是会注册的用户。
这是 LanderLab 自己做不了的测试:它的报表按线索评判变体,PostHog 则把评判延伸到这些线索接下来做了什么。
用工作流,只追踪值得追踪的线索
不是每次提交都该进产品分析。可以在页面和 PostHog 之间放一个工作流:一个只放行做完的测验的筛选步骤,一个把测试线索挡在外面的条件判断步骤,然后是发送事件的 HTTP 请求步骤。运行视图会显示每条线索的路径,发送失败一眼就能看到,而不是悄悄从漏斗里消失。