页面浏览只告诉你「看了哪页」。注册成功、点了「加入购物车」、视频播完,这些动作要用事件来记。记下来之后,可以在事件报表里看次数和人数,也可以拿来建目标、漏斗和留存。
先定名字,再写代码
事件名一旦用起来就不要改,因为它是数据里的键,改了以后新旧数据会分成两条。显示名可以随时在控制台改。
命名规则:
- 小写字母加下划线(蛇形),字母开头,不超过 40 个字符。例如
sign_up、add_to_cart、video_complete。 - 不能以
$、_或tc_开头。$开头的是 App 和小程序的预置事件,双下划线开头的是网站自动采集的事件。 - 同一个动作在网站、App、小程序上用同一个名字,跨端分析才能放在一起。
拿不准怎么起名,可以用 事件命名检查工具 试一下。
方式一:在网页里调用
脚本加载后,页面上会有一个统计对象,调用它的 track 方法即可,第一个参数是事件名,第二个参数是属性对象。控制台「网站统计 › 配置 › SDK 代码 › 自定义事件」里有可以直接复制的写法。
如果事件发生在脚本加载完成之前(比如页面刚打开就要记),可以先放进队列,脚本执行时会补发:
<script>
window.__tcq = window.__tcq || [];
window.__tcq.push(['track', 'pricing_view', { plan: 'pro' }]);
</script>
<script defer src="https://static.pathclue.com/client.js" data-site="你的站点标识"></script>
属性的限制
- 一个事件最多 20 个属性。
- 属性名截到 50 个字符,字符串值截到 200 个字符。
- 只接受字符串、数字和布尔。对象和数组会被丢掉。
- 超出限制时是静默截断,整条事件照样发出,不会因为某个值太长丢掉整条。
属性只放你会拿来拆分的维度,比如套餐、商品分类、按钮位置。不要把用户输入的整段文字塞进去,一是没法分析,二是可能带进个人信息。默认情况下,属性里像邮箱和电话号码的字符串会在入库前被替换成占位符。
方式二:不写代码,事后定义
Pro 及以上套餐可以打开全埋点。打开后,脚本会记录页面上可点击元素的点击(密码框、标了 data-tc-ignore 的区域和客服窗口不会采)。这些点击不会直接变成事件,而是先进「全端分析 › 数据管理 › 事件收件箱」,由你确认、起名,或者合并进已有事件。确认后会建成一条规则,并回溯最近 90 天的数据。
适合的场景:按钮多、改版频繁、开发排期紧。不适合的场景:金额、订单号这类必须准确的业务数据。
详见 全埋点与事件收件箱。
方式三:从服务器上报
订单金额、退款、续费这类数字,从服务器上报更可靠:不受广告拦截影响,也不会因为用户关了页面就丢。见 服务端事件接口。
一个经验做法是:前端只记「点了提交订单」,服务器记「订单支付成功」和金额。两条事件名不同,漏斗里能看到中间丢了多少。
确认事件进来了
触发一次事件,然后到「网站统计 › 实时」或「网站统计 › 事件」查看。同一访客 1 秒内在同一页面上名字和属性完全相同的事件会被去重,测试时连点几下只算一次是正常的。