一句话回答
在网站统计里,数据层是页面上的一个 JavaScript 对象或数组(如 window.dataLayer),网站把页面、访客和行为的结构化事实写进去,供标签管理器和统计工具读取,不用去抓 HTML。
什么是数据层?
在网站上,数据层是一个结构化对象,网站把营销和统计标签需要的事实写进去:这是什么类型的页面、哪个商品、订单值多少、访客有没有登录。标签读取数据层,而不是从 HTML 里把数值挖出来。
这个词在别处有别的意思(网络里的「数据链路层」、软件里的数据访问层)。本文讲的是和标签管理器一起用的网站数据层。
一个示例购买推送
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'purchase',
order_id: 'A10234',
value: 128.50,
currency: 'USD',
items: [{ item_id: 'SKU-17', quantity: 2, price: 64.25 }]
});
数值为示例。订单确认后,结账页推送这一条。所有关心购买的标签(统计、广告转化)读到的都是同一组数值。
为什么比抓页面好
| 读页面 | 读数据层 |
|---|---|
| 文字或类名一改就坏 | 团队之间稳定的约定 |
| 价格可能带货币符号和格式 | 干净的数字和代码 |
| 每个标签各自解析页面 | 一个来源,所有工具数值一致 |
命名规则
- 一个行为一个事件名,用
snake_case,写进埋点方案。 - 数字就用数字,货币用 ISO 代码。
- 行为成功之后再推送,而不是在点按钮时。
- 不放个人信息:不放邮箱、姓名、手机号或自由文本。
把数值传给统计
统计不需要标签管理器也能用到同样的事实。在确认页读取需要的数值,作为事件属性发送,比如 tapcub.track('purchase', { order_id, value, currency });更好的做法是从服务端上报购买,脚本被拦也不会丢。通过标签管理器安装 TapCub 见用 Google 跟踪代码管理器安装。
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
