事件与属性
evstats 预置了哪些事件和属性,你自己的事件怎么命名、能带什么。完整的名字表见 事件与属性名。
预置事件
evstats


| 事件 | 谁发 | 含义 |
|---|---|---|
$pageview | Web SDK 自动;也可以 page() | 页面浏览。PV、UV、会话都只看它 |
$WebClick | Web SDK 全埋点 | 点击。带被点元素的信息和热力图坐标 |
$WebStay | Web SDK 全埋点 | 离开页面。带停留秒数和滚动位置 |
$SignUp | identify() | 把匿名访客与用户 ID 关联起来的那一刻。不计入事件次数 |
$ABTestTrigger | Web SDK | 访客进入某个 A/B 实验时发一次 |
事件类型
上报的 type | 入库 | 计入事件次数 |
|---|---|---|
track | event_type = track | 计入。事件名是 $pageview 时同时计入 PV |
page | 规范成 track + $pageview | 计入 PV |
identify | track_signup,事件名 $SignUp;带 traits 时另记一条 profile_set | 不计入 |
profile_set / profile_set_once / profile_increment | 原样 | 不计入 |
只有 track 计入次数。用户属性(profile_set 等)会出现在用户画像的「最近一条 profile」里,但不会让事件数变多。
自己的事件
js
evstats.track("order_paid", { amount: 99, plan: "pro", coupon: false })- 事件名:用英文小写加下划线,动词在后,例如
signup、order_paid、file_uploaded。不要用$开头,那是预置事件的前缀。 - 属性名:同样用小写加下划线,不要用
$开头;和预置属性同名时以预置的为准。 - 属性值:只用字符串、数字、布尔。其它类型会被丢掉。
- 不要上报:密码、证件号、验证码、银行卡号、输入框里的原文。
事件名和属性最终会显示在报表里,也会进入 Agent 的上下文。起一个别人一看就懂的名字,比事后改显示名省事。
上限
| 项 | 上限 |
|---|---|
单条事件的 properties | 16KB |
| 属性键的个数 | 100 |
| 属性键名长度 | 64 |
| 嵌套层数 | 3 |
超过上限的单条事件会被丢弃,并记进接入检查的「字段不合法」计数,同一批的其它事件不受影响。
时间
事件时间用 SDK 记录的 timestamp(UTC),入库时按项目时区算出日期:
- 客户端时钟比服务器快超过 2 小时,改用服务器时间。
- 比服务器慢 7 天以上的事件直接丢弃,记进「时间过旧」计数。
显示名与隐藏
「事件分析 → 元数据」里,管理员可以给事件和属性起中文显示名、写备注、标注属性类型,或者隐藏不想在下拉框里看到的事件。元数据只影响显示,不改已经入库的数据,也不下发给 SDK。
evstats


终端信息
浏览器、操作系统、设备类型由服务端从 User-Agent 解析,SDK 不用填;解析不出来的记为「未知」。国家、省、市由服务端用离线 IP 库解析,见 系统配置。