【埋点】是什么埋点?简述埋点的操作流程

埋点:又称为事件追踪(Event Tracking),指的是针对特定用户行为或事件进行捕获,处理和发送的相关技术及其实施过程。

功能方面:埋点是用来收集用户行为数据。比如想要了解一个用户在APP里面点击了哪些按钮,看了哪些页面,做了哪些事情等,就可以通过埋点来实现。

实现方式方面:埋点就是通过植入一段代码到某个页面或某个按钮,从而监听用户行为并进行收集上报。

第一步【埋点采集】:通过部署埋点,收集数据

第二步【数据传输】:将埋点收集到的数据,进行传输

  1. 实时传输:flume>kafka>db?
  2. 离线批量传输:jdbc>db

三步【数据存储】:定义数据存储的库,如果数据量较小建议采用mysql,oracle等关系型数据库;数据量较大,建议采用hive,hbase等分布式数据库。

定义好数据存储的表结构,属性尽可能采集全面。

第四步【数据统计】:根据业务需求进行etl开发,输出业务所需的数据

第五步【数据应用】:业务人员验证和使用数据

 

1 埋点采集

1.1 埋点范围

根据业务人员的需求,选取可以衡量需求效果的数据指标,比如页面浏览量,页面转化率,访问人数,访问频次分布等等。明确需要收集哪些维度的数据,按需选择性埋点。

1.2 埋点事件

我们可以对一条业务流程中涉及到的各种操作进行事件埋点,用于了解该业务各操作流程的用户流失率,转化率等情况。通常包括但不限于以下事件:

  1. 页面事件:用户访问页面的信息,比如可以通过页面埋点统计页面浏览量(PV),或收集该页面上的接口;
  2. 点击事件:用户在页面的点击行为,比如想要收集用户点击搜索按钮时,填入了哪些关键字,就可以在搜索按钮上埋一个点击事件,通过字段keywords上报的值实现分析关键字的目的;

1.3 采集内容

埋点时需要尽可能全面的采集数据,主要包括以下信息:

  1. 用户基本信息:描述用户的基本属性信息,包括用户ID,性别,运营商,设备类型等
  2. 时间信息:事件发生的时间
  3. 行为信息:用户做了哪些行为,比如点击行为,浏览行为等
  4. 行为对象信息:用户的行为作用在哪些对象上,比如点击按钮A,浏览页面B,那么A,B就是用户行为作用对象
  5. 另外,也可以从4w1h(who,when,where,what,how)五个维度来划分埋点属性

2 数据存储

2.1 存储方式

根据埋点数据量和现有平台选择一种最合适的存储方式。

【Mysql】: 使用于数据量较小,优点读写方便

【ES】:现有埋点方案中,阿里日志系统,通过ES查询埋点结果

【Hbase】:适合数据量较大,可考虑使用现有hbase集群。

数据写入方式:中间件 or 直接写入?

2.2 存储频率

采用【定时】+【定量】的方式,保证数据时效性和数据平滑处理。

定时:周期触发,进行存储。避免当数据量较小时很长一段时间不存储。

定量:设置阈值,当数据量达到一定量(1k)即进行存储

程序退出:某用户退出登录时,需立马进行存储

3 注意事项

3.1 选择后端埋点还是前端埋点

比如像点击、浏览、曝光这些行为便可以用前端埋点,主要是发生在用户与界面的交互;如果是电商中要统计下单成功这个事件,客户端是没有办法知道订单是否成功的。如果统计的事件里有需要用到后端的数据,也是要进行后端埋点的。

3.2 埋点事件的格式

埋点数据是需要存储起来的,数据就会有它对应的字段。一般一条埋点数据需要记录:

事件ID、事件名(英文名、中文解释)、事件属性(属性英文名、中文解释、属性类型)、埋点形式(前端/后端)、事件触发时机(什么时候投递这个事件)

3.3 埋点报文

报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。简单来说就是用户在App内有一个操作行为,就会上报一组带有数据的字段。这些字段组成一个报文。报文一般包含以下字段,简单举例,根据公司业务自行增删

{ "os": "js",
"os_vers": "端上的OS版本",
"dev_id": "设备id",
"model": "设备型号",
"manufacturer": "设备制造商",
"proj_id": "工程id",
"source": "渠道输入数字:1android_2ios_3H5_4小程序_5微信_6服务器后端_7QQ_100其它",
"proj_ver": "软件版本",
"up_time": "报文上传时间-毫秒时间戳",
"face_id": "事件全局唯一标识",
"accs_time": "事件发生时间,毫秒时间戳",
"serv_time": "服务器时间,毫秒时间戳",
"event_type": "view/click", "event_ver":"业务版本/事件版本
"ip": "290.39.55.75",
"longitude": "56°75.343",
"latitude": "143°07.230【非必填GPS关闭无法获取】",
"netwk_typ": "wifi/4G" },
"refer_id": "无埋点场景下所浏览页面的上一个页面的唯一标识",
"duration": "页面浏览毫秒数,关闭页面时统计",
"banner_id": "埋点自定义事件属性值",
"banner_name": "埋点自定义事件属性值",
"banner_type": "埋点自定义事件属性值",
"banner_city": "埋点自定义事件属性值" },
"usr_props": { "gid": "游客id", "uid": "登录账号", "province": ‘上海’】",
"city": "北京",
"city_code": "110",
"age": "22",
"sex": "1男_2女",
"phone": "13601197458",

解释一下这些报文的意思

1) trace_id为每个事件的全局唯唯一识别符,trace_id=md5(proj_id+source+accs_time+"salt盐")

  • proj_id为工程id,accs_time为端上行为时间
  • source为渠道来源:1android_2ios_3H5_4微信小程序_5微信环境_6服务器后端(只填数字)

2) 请求为post提交方式,header中需要添加:projId,source,upTime,uploadId 四个参数,uploadId=md5((projId+source+upTime+"salt盐")

  • proj_id为设备id,upTime为上传时间
  • source为渠道来源:1android_2ios_3H5_4微信小程序_5服务器后端(只填数字)
  • 由于nginx中lua编程接收参数自身原因,header中的参数只能使用驼峰 projId,source,upTime,uploadId
  • salt测试环境下为:test,salt正式环境下为:p1@PeFz4ZX

3)uid值在游客状态下为空,登录状态下有值;dev_id值在任何情况下都得传4)上面的报文为一次上报的报文格式,data中可以包括多次事件的信息5)基于客户端每次要使用客户流量才能获取$province,$city,ip,这三个字段保留,但是值为非必填。最终由后端根据请求ip和经纬度计算省市信息。6)报文中的json的所有的key可以不能遗漏,即使是value为空,如果是空值要用双引号"",不要用null。7) proj_id、sdk_ver、event_id,业务属性,必须按照产品需求保证对应关系,否则上报的数据会被丢弃。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】如何让ucgui支持24位色(24bpp)

将UC/GUI 3.32a 更改为可以支持24bpp色彩模式 我打算在UC/OS-II上直接移植一个开源的GUI界面。所以我从网上找了一些GUI的开源代码,主要看了看飞漫软件的MiniGUI和Micrium公司的uC/GUI。 飞漫软件的MiniGUI可免费下载的版本是1.3.3,可是不支持UC/OS-II&a…

NASA指定首批9名宇航员,参与波音和马斯克商业载人航天

来源:澎湃新闻人类太空探索史即将翻开商业载人航天的新一页。美国当地时间8月3日,美国国家航空航天局(NASA)公布了9名将搭乘波音公司的CST-100 Starliner载人航天器和SpaceX载人龙飞船往返国际空间站的宇航员。其中3名宇航员参与S…

二叉树——基本概念

二叉树的概念 树是一种非线性的数据结构,他有n(n>0)个有限的结点组成的一个有层次关系的集合。之所以叫树,是因为这种数据结构看起来像是一个倒挂的树,根朝上,叶子朝下。特点就是每个结点有0个或多个结点,没有父结点…

设计模式第三集——装饰者模式(Decorator)

再次强调设计的重要原则:对扩展开放,对修改关闭。在设计中要尽量避免对之前源代码的修改。 为适应扩展的特性,除了继承之外,还可以用装饰者模式:动态的将新的功能附加到对象上。换句话说,装饰者模式就是有一…

AI开放只是幌子?科技巨头边承诺开放边申请专利

选自 I Wired编译 I 网易智能参与 I 木秀林据《连线》报道,上周在旧金山举行的谷歌云计算会议上,该公司CEO桑德尔皮查伊提到公司致力于人工智能(AI)的开放。他表示:“我们创立开放的平台,分享我们的技术&am…

两种列式存储格式:Parquet和ORC

背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌现了一批开源的数据分析引擎&#…

数据链路层(学习笔记)

首先要明确“数据链路”和“链路”这两个概念: 链路:从一个节点到相邻节点的一段物理现路,其中间没有任何的交换节点,所以可以说链路只是一条路径的组成部分。   数据链路:当需要在一条线路上传送数据的时候&#xf…

免otp动态密码登录堡垒机

环境准备 安装brew 参考文档:https://brew.sh/index_zh-cn.html 安装oath-toolkit 和expect brew install oath-toolkit brew install expect 正式开始 生成MFA_KEY对应的6位otp密码:oathtool -b --totp [MFA_KEY] MFA_KEY就是你绑定APP时&#x…

英特尔10纳米处理器再度跳票,或收缩芯片代工业务

来源:腾讯科技摘要:在全球半导体行业,线宽(N纳米)是制造厂商进行激烈竞争的指标。在全球半导体行业,线宽(N纳米)是制造厂商进行激烈竞争的指标。据报道,英特尔将延期到20…

简单GDB调试

GDB下载 使用yum工具直接下载 生成可用gdb调试的可执行程序 -g 会保留源文件中的函数名和变量名 启动gdb gdb 可执行程序名 set args xxx xxx 给程序传参查看程序中的源代码 当前文件 l(list) l 行号 l 函数名 非当前文件 l 文件名:行号 l 文件名&#xf…

人工智能应用需要高可信性(180806)

来源:科学网摘要:近日,“Rekognition”却闹了一个大乌龙:28名美国国会议员被它识别成了罪犯。小编搞了大半辈子测试和容错,对这方面消息比较敏感。最近看到新闻,商业巨头亚马逊2016年推出图像识别AI系统“R…

暑假集训中期测试 Problem D: 装箱问题2 (并查集)

Description 有很多个棱长为1的正方体货物整齐地堆在一堆。不过有一些是悬空的, 大概是粘上去的吧。。。 给出这些货物的相邻关系,求最小的长方体(或正方体)能装下这些货物的集装箱的体积,(集装箱棱长方向与…

s3cmd安装及使用

一、安装 1.下载安装包。 这里我们使用s3cmd-1.0.0.tar.gz安装包 2.解压安装包 tar xzvf s3cmd-1.0.0.tar.gz 3.移动路径 mv s3cmd-1.0.0 /usr/local/s3cmd 4.创建软链接 ln -s /usr/local/s3cmd/s3cmd /usr/bin/s3cmd 5.执行配置命令(按提示输入相应密码等) s3cmd -…

二叉树——堆

二叉树顺序存储结构 理解堆之前先理解一下二叉树的顺序存储结构。普通的二叉树并不适合顺序存储,因为可能会造成大量的空间浪费。只有完全二叉树适合顺序结构存储。显示中我们通常把堆使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统中虚拟进程…

open AI 在DOTA 5v5 比赛中战胜职业选手

来源:AI科技大本营摘要:去年,OpenAI 在 DOTA 的 1v1 比赛中战胜了职业玩家 Dendi,而在距离进阶版 OpenAI Five 系统战胜人类业余玩家不过一个月的时间,今天凌晨,它又以 2:1 的战绩再次完成对人类高级玩家的…

如何体现机器智能和群体智能的关系,2018新版互联网大脑模型绘制

作者:刘锋 计算机博士 互联网进化论作者2018年新的这一版,也是互联网大脑模型图的第五个版本,距离第一版的发布已经有10年时间(2008年),距离上一版第四版也有1年时间,在这一版中主要解决了如何…

全球互联正在创造一个知识极大丰富和隐私终结的时代

来源:资本实验室摘要:据预测,到2020年,全球物联网连接设备将超过500亿个,会产生600泽字节的信息。这么庞大的数据量,将如何影响并改变我们的生活和工作?聚焦前沿科技创新与传统产业升级据预测&a…

泡沫破裂之后,强化学习路在何方?

作者|侯宇清、陈玉荣来源|智能单元编辑|Debra一、深度强化学习的泡沫2015 年,DeepMind 的 Volodymyr Mnih 等研究员在《自然》杂志上发表论文 Human-level control through deep reinforcement learning[1],该论文提出…

一篇文章搞懂数据仓库:维度表(设计原则、设计方法)

目录 1、什么是维度表? 2、维度表设计原则 (1)维度属性尽量丰富,为数据使用打下基础 (2)给出详实的、富有意义的文字描述 (3)区分数值型属性和事实 (4)…