# 如何设计埋点方案
用户行为是由用户一系列的事件组成,包含5个基本要素:何人,何时,何地,通过何种方式,发生了何种行为。
一份完整的埋点方案由事件、事件属性和用户属性三部分组成。
## 事件
记录用户在使用网站、APP 或小程序的过程中触发的行为。
用户的行为有一部分会在他们使用的过程中自动被采集上来,常见的如:跟访问有关的“页面浏览”,“停留时长”;另外一部分包含具体业务含义的,则需要通过埋点才能得到,例如:“注册”、“登录”、“支付”等等。
## 事件属性
可以通过属性为事件补充相关的信息,例如:位置,方式和内容。
用户产生行为时就会上报具体的属性值,比如对“购买事件”定义了“支付方式”的属性值,则根据不同的行为可能上报的是微信支付,支付宝支付。
> 小舟在电商平台上花一万元购买了一台联想电脑。这个动作就会产生一个名为“购买”的事件; 而“购买”事件,同时也可以包含:“品牌”,“价格”这两个属性,而“联想”和“一万元”就是属性的具体值了。
| Event要素 | 要素说明 | 采集的数据 | 示例 |
| ------- | --------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Who | 参与事件的用户 | 用户唯一ID | H522a3bd525a2af |
| When | 事件发生的时间 | 自动获取 事件当时时间 | 11月11日00:02:03 |
| Where | 事件发生的地理位置 | 自动获取 IP、GPS信息 | 114.242.249.113 |
| How | 事件发生的方式 | 使用的环境 | <p>设备品牌:Apple <br>设备型号:iPhone 6s<br>操作系统:iOS<br>屏幕分辨率:1920*1680<br>运营商:中国联通 <br>网络类型:Wifi<br>……</p> |
| What | 事件的内容 | <p>自定义采集的事件:EventID <br> 事件属性:Key-Value</p> | <p>add_to_cart <br> product_name:耳麦<br> product_price:666</p> |
其中,用户、时间、地理位置、事件发生的环境等可以自动采集,但采集哪些事件、事件更丰富的属性就需要用户自己来上报了。
## 用户属性
在分析过程中,需要引入注册用户的更多维度,比如注册用户ID、姓名、用户等级等等,也需要进行梳理,方法同事件属性。
**方舟提供的事件模板和用户属性模板来帮助梳理**
| 事件ID | 事件名称 | 事件说明 | 属性ID | 属性名称 | 属性说明 | 属性值类型 |
| -------------- | ----- | --------- | ------------- | ---- | ---- | ----- |
| PayOrder | 支付订单 | 点击支付按钮时触发 | paymentMethod | 支付方式 | | 字符型 |
| ViewDetailPage | 浏览页详情 | 点击详情页时触发 | PageID | 页面ID | | 字符型 |
| 用户属性ID | 用户属性名称 | 属性说明 | 属性值类型 |
| --------- | ------ | --------- | ----- |
| UserLevel | 用户等级 | 上传用户的等级信息 | 字符型 |
>[info]
>**下载地址:**
>
>[事件埋点方案模版.xlsx](https://imguserradar.analysys.cn/files/ark/doc/%E6%98%93%E8%A7%82%E6%96%B9%E8%88%9F-%E4%BA%8B%E4%BB%B6%E5%9F%8B%E7%82%B9%E6%96%B9%E6%A1%88%E6%A8%A1%E6%9D%BF\_20190520.xlsx)
>
>[用户埋点方案模版.xlsx](https://imguserradar.analysys.cn/files/ark/doc/%E6%98%93%E8%A7%82%E6%96%B9%E8%88%9F-%E7%94%A8%E6%88%B7%E5%9F%8B%E7%82%B9%E6%96%B9%E6%A1%88%E6%A8%A1%E6%9D%BF\_20190520.xlsx)
#### **模板说明:**
**事件ID:** 仅支持数字、字母和下划线,用于SDK埋点标识事件
**事件名称:** 工程师无需写在代码中,仅用分析模型中显示方便查看,可修改
**事件说明:** 说明埋点位置
**属性值类型:** 选择属性值的类型,不同类型的属性值会有不同的运算,例如 “商品价格” 这个属性值的类型应该是数值型,分析时可以对商品价格求和、最大值、最小值、均值等。属性值的类型参考[《数据格式》](data-type.md)-属性值得数据类型。
**属性ID:** 仅支持数字、字母和下划线,用于SDK埋点标识事件的属性
**属性名称:** 工程师无需写在代码中,仅用分析模型种显示方便查看,可修改
**属性说明:** 说明属性的注意事项
> ⚠️ 特别说明:
>
> 建议您在设计埋点和上报数据时,用户属性ID 和 事件属性ID 使用小写英文字母和下划线组合 命名,例如 pagename 、page_name;
>
> 不建议使用含大写字母的属性ID,例如 pageName 、pageTitle。
>
> 因为易观方舟会将 事件属性ID 和 用户属性ID 中的大写字母强制转换为小写字母。
>[info] 以上内容没有解答我的问题?[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
- 产品简介
- 快速上手
- Step 1 安装部署
- Step 2 激活系统创建项目
- Step 3 开启您的分析旅程
- 1. 集成 SDK
- 2. 可视化埋点
- 3. 创建分析模型
- 附:埋点方案设计
- 附:数据分析思路
- 产品更新日志
- V5.5 新增LTV分析功能等
- V5.3 UI 升级、分布分析重构、维度表动态更新、细节优化等
- V5.2 新增归因分析、消息中心、重构埋点方案、优化看数据体验……
- V5.1.0317 体验优化& Bug修复
- V5.1 升级可视化埋点、增强权限控制……
- Part I 产品功能说明
- 名词解释
- 指标说明
- 看板
- 5.3.3 看板 UI 重构
- 分析
- 事件分析
- 渠道分析
- 渠道相关名词解释
- 来源识别规则
- 搜索引擎
- 社交媒体
- 小程序场景值
- Session 分析
- Session 规则
- 实时分析
- 留存分析
- 转化漏斗
- 智能路径
- 归因分析
- 热图分析
- Web/H5 热图
- APP 热图
- 分布分析
- 间隔分析
- 属性分析
- LTV 分析
- 多主体分析
- 自定义查询
- 用户
- 用户分群
- 用户探查
- 用户标签
- 标签体系应用概览
- 标签体系
- 标签生命周期管理
- 标签加工
- 如何自定义SQL创建标签
- 单用户档案
- 运营
- 广告跟踪
- 微信小程序渠道追踪
- 预置广告媒介和渠道
- App 推广监测(Beta)
- 电子邮件
- 短信
- 消息通知
- 项目管理
- 项目概览
- 项目角色管理
- 项目成员管理
- 数据接入管理
- 埋点方案
- 可视化埋点
- 集成SDK接入数据
- 数据验证
- 用户数据导入
- 微信小程序全埋点事件定义
- 元数据管理
- 元事件
- 虚拟事件
- 事件属性
- 用户属性
- Session 管理
- 页面组管理
- 维度表
- 服务集成配置
- 监控告警
- 智能监控
- 自定义监控
- 平台管理
- 企业概览
- 项目管理
- 成员管理
- 安全设置
- 企业设置
- 日志管理
- 帐号设置
- Part II 技术文档
- 技术接入准备工作
- 部署环境检测工具
- 数据模型
- 数据格式
- 预置事件和属性
- App预置事件/属性
- JS 预置事件/属性
- 如何准确识别用户
- 如何设计埋点方案
- 分平台上报数据 vs 跨平台打通
- SDK 指南
- Android SDK
- 快速集成
- 全埋点模块
- 消息推送模块
- Android Hybrid模式
- SDK Gradle集成方式
- 多渠道打包
- 易观小工具
- 合规相关
- iOS SDK
- 快速集成
- 全埋点介绍
- iOS Hybrid模式
- 消息推送模块
- JS SDK
- 快速集成
- JS SDK基础版
- JS SDK插件
- uni-app SDK
- 快速集成
- 打包原生APP
- 开启移动端全埋点
- uni-app SDK标准版
- 微信小程序 SDK
- 快速集成
- 微信小程序标准版
- 微信小程序插件版
- 微信小程序通用框架版
- 支付宝小程序 SDK
- 支付宝小程序标准版
- 支付宝小程序通用框架版
- 字节跳动小程序 SDK
- 字节跳动小程序标准版
- 字节跳动小程序通用框架版
- 百度小程序 SDK
- 百度小程序标准版
- 百度小程序通用框架版
- 钉钉小程序 SDK
- 钉钉小程序标准版
- 钉钉小程序通用框架版
- QQ小程序 SDK
- QQ小程序标准版
- QQ小程序通用框架版
- 快应用 SDK
- 华为WeCode小程序
- WeCode SDK 标准版
- WeCode SDK插件
- PhoneGap SDK
- mPaaS SDK
- ReactNative SDK
- Flutter SDK
- Java SDK
- Python SDK
- PHP SDK
- C++ SDK
- C# SDK
- Node JS SDK
- Lua SDK
- Golang SDK
- SDK FAQ
- identify与alias的区别
- 爬虫数据如何识别?
- 页面停留如何获取时间?
- 如果获取SDK及更新日志
- 代码埋点和无埋点有什么区别
- Web页面中发现丢失某一个事件
- 自研 SDK 注意事项
- 页面时长统计功能
- 飞书小程序 SDK
- 飞书小程序标准版
- 飞书小程序通用框架版
- Unreal Engine SDK
- 数据验证
- 客户端埋点验证
- Debug 数据验证
- 数据入库验证
- 数据导入
- 接口导入
- JAVA工具包
- 标准json文件导入
- csv格式导入
- 数据导入FAQ
- 数据导出
- JAVA工具包
- 事件数据导出
- 用户数据导出
- 直接从Kafka中消费数据
- 使用程序访问数据库
- 脚本工具
- API
- 分析API
- 事件分析
- 留存分析
- 自定义查询
- 转化漏斗
- 属性分析
- Session分析
- 渠道分析
- 分布分析
- 用户API
- 分群查询
- 用户档案
- 分群管理
- 管理API
- 权限管理
- 元数据管理
- 埋点方案管理
- 维度表管理
- 运营API
- 广告跟踪
- APP推广监测
- 平台管理API
- 项目管理
- 成员管理
- 第三方登录
- OAuth2.0登录
- LDAP登录
- GDPR 合规
- Part III 常见问题
- License 许可
- 产品试用及采购
- 参与贡献