数据埋点主流埋点方式了解(代码片段)

代码写注释 代码写注释     2022-12-04     161

关键词:

1.数据埋点

1.0 开始

为什么要做埋点业务?需求、价值、痛点
埋点它是‍‍指在APP或网页应用中针对特定的流程收集一定的信息,‍‍用来跟踪APP或网页服务被使用的情况,以便后续用来进一步优化产品或进行运营支持。

埋点可以衡量用户与网站或APP互动的情况。

数据获取手段-填写、埋点、日志

(1)用户填写信息

(2)APP 或 网页埋点(特定流程的信息记录点)

‍数据获取的另外一种手段就是填写、埋点、日志,
填写就是需要用户填写的信息,‍‍最常见的就是用户注册的时候需要填写一些基本信息,
埋点它是‍‍指在APP或网页应用中针对特定的流程收集一定的信息,‍‍用来跟踪APP或网页服务被使用的情况,以便后续用来进一步优化产品或进行运营支持。‍‍

比较常见的记录项 包括访问、访客停留时间、页面查看和跳出率。‍‍
这样的信息收集大致可以分为两种,
第一种是页面统计,
第二种就是统计它的操作行为。‍‍

对于一个互联网公司来说,埋点是非常重要的数据来源,它直接记录了用户与互联网产品的交互过程,‍‍几乎可以复现用户使用互联网产品时候的过程,埋点可以自己开发,也可以用一些第三方的插件,‍‍像友盟这方面的服务做的还是不错的。‍‍

最后一个操作日志,日志和数据仓库有共同的作用,只是说日志的记录相对来说更加精简一些,也可以在出故障的时候帮助我们定位问题。

日志是以文件形式记录的,‍‍但一般为了分析,日志也是需要被汇总到数据仓库中,然后进行统一的分析。‍‍

日志也有前端日志和后端日志,前端日志就是你的网页或者你的手机APP里记录的一些日志,‍‍前端日志是需要传输到后端才能被记录的,后端日志就是服务器的日志可以直接进行处理,‍‍数据获取的最后一种手段 计算,有些属性我们不能直接获取,通过计算才会变得有意义。‍‍

像什么我们常见的市盈率,或者是一些企业常见的投入产出比,这些我们关注的因子,‍‍它们不能被直接观测到,必须是计算以后才有它的实际意义。

1.1主流埋点方式(了解)

目前主流的埋点方式,有代码埋点(前端/后端)、可视化埋点、全埋点三种。
代码埋点是通过调用埋点SDK函数,在需要埋点的业务逻辑功能位置调用接口,上报埋点数据。
问题:埋点SDK函数怎么设计?
例如,我们对页面中的某个按钮埋点后,当这个按钮被点击时,可以在这个按钮对应的OnClick函数里面调用SDK提供的数据发送接口,来发送数据。

可视化埋点只需要研发人员集成采集SDK,不需要写埋点代码,业务人员就可以通过访问分析平台的“圈选”功能,来“圈”出需要对用户行为进行捕捉的控件,并对该事件进行命名。
圈选完毕后,这些配置会同步到各个用户的终端上,由采集SDK按照圈选的配置自动进行用户行为数据的采集和发送。

全埋点是通过在产品中嵌入SDK,前端自动采集页面上的全部用户行为事件,上报埋点数据,相当于做了一个统一的埋点。然后再通过界面配置哪些数据需要在系统里面进行分析。

1.2 埋点数据上报时机

埋点数据上报时机包括两种方式。

方式一,在离开该页面时,上传在这个页面产生的所有数据(页面、事件、曝光、错误等)。
优点,批处理,减少了服务器接收数据压力
缺点,不是特别及时。(采用方式一埋点)

方式二,每个事件、动作、错误等,产生后,立即发送。
优点,响应及时。
缺点,对服务器接收数据压力比较大。

1.3 埋点数据日志结构

我们的日志结构大致可分为两类,

一是普通页面埋点日志,
二是启动日志。

普通页面日志结构如下,
每条日志包含了,当前页面的页面信息,所有事件(动作)、
所有曝光信息以及错误信息。

除此之外,还包含了一系列公共信息,包括设备信息,地理位置,应用信息等,即下边的common字段。(json字符串)
(1)普通页面埋点日志格式


"common":       ------公共信息
"ar":n230000",  --地区编码
"ba":"iphone",  --手机品牌
"ch":"Appstore", --渠道
"is new":"1",   --是否首日使用,首次使用的当日,该字段值为1,过了24:00,该字段置为0
"md":"iPhone 14",  --手机型号
"mid":"YyAI6As2z9IqfhjAYH",--设备id 类似 电脑的MAC地址 全球唯一
"os":"i0S15.3.14",  --操作系统
"uid":"9527",  --会员id
"vc":"v2.1.134"  --app版本号
,
"actions":[      ------动作(事件)

"action_id":"favor add",--动作id
"item":"3",  --目标id
"item_type":"sku_id",  --目标类型
"ts":1085649437636012,  --动作时间戳

],
"displays":[  ------ 曝光

"displayType":"query",--曝光类型
"item":"3",  --曝光对象id
"item_type":"sku_id",  --曝光对象类型
"order":1,  --出现顺序
"pos_id":2  --曝光位置
,

"displayType":"promotion",
"item":"6",
"item_type":"sku_id",  --曝光对象类型
"order":2,
"pos_id":1
,

"displayType":"promotion",
"item":"9",
"item_type":"sku_id",
"order":3,
"pos_id":3
,

"displayType":"recommend",
"item":"6",
"item_type":"sku_id",
"order":4,
"pos_id":2
,

"displayType":"query "
"item":"6"
"item_type":"sku_id",
"order":5,
"pos_id":1

],
"page":
------页面信息
"during time":7648,  --持续时间毫秒
"item":"3",  --目标id
"item_type":"sku_id",  --目标类型
"last_page_id":"login",  --上页类型
"page_id":"good_detail",  --页面ID
"sourceType":"promotion"  --来源类型,

"err":  ------错误
"error_code":"1004"  --错误码
"msg":"errMsg Detail"  --错误信息
,
"ts":19857442384437 --跳入时间戳

(2)启动日志格式

启动日志结构相对简单,主要包含公共信息,启动信息和错误信息。


"common":
"ar":"3690000",
"ba":"Honor",
"ch":"yydoujia",
"is_new":"1",
"md":"Honor 20s",
"mid":"eQF5boERMJFOujcp",
"os":"Android20.0",
"uid":"96",
"vc":"v3.4.789"
,
"start":
"entry":"icon",  --icon手机图标 notice通知 install安装后启动
"1oading_time":18803,--启动加载时间
"open_ad_id":7,  --广告页ID
"open_ad_ms":3009,--广告总共播放时间
"open_ad_skip_ms":1900  --用户跳过广告时点
,
"ts":19857942384437 --跳入时间戳

1.4.市面上 开源的 埋点 工具有哪些?

小象用户行为分析平台:https://gitee.com/xiaoxiangopen/analysis
铸龙BI: https://www.yuque.com/jianghurenchenggolang/oehqme/hen7qy#mPEDK

1.5. 市面上付费的 埋点 工具有哪些?

友盟:https://www.umeng.com/
神策数据:
https://www.sensorsdata.cn/
其他(loading)

1.6. 提供什么服务?能做什么?有哪些模块?

比如小象用户行为分析平台 提供的服务:
包括用户埋点数据采集、用户标签分群和画像、智慧运营、营销等
概览分析 - 基础指标监控:

概览分析 - 我的概览:

增长分析 - 漏斗分析:

增长分析 - 留存分析:

增长分析 - 分布分析:

增长分析 - LTV分析:

增长分析 - 用户路径分析:

用户画像 - 用户画像:

智能营销 - 智慧运营:

智能营销 - 消息推送:

智能营销 - 智能推荐:

智能营销 - 权益发放:

元数据管理 - 应用管理:

元数据管理 - 元事件分组;

神策数据 提供的服务:
行为分析,(事件分析,网页热力分析,App点击分析)
用户分析,(用户群画像,属性分析)

智能运营,(运营计划,流程画布,内容管理)

广告投放分析,(报表,推广,资产,管理和配置)

用户管理:

内容管理:

数据管理:

1.7 其他方案
使用 clickhouse+datax+redash

前端如何设置埋点?(代码片段)

...户在这个监控点做了什么事等等;2.埋点的目的是什么?数据埋点是数据分析的准备工作,只有埋点了才可以获得数据进行分析,所以在做足数据埋点之后,我们可以拿到想要的目标数据;1)行为数据:时间,地点,人物,交互... 查看详情

vue数据埋点(代码片段)

时间比较紧迫,匆忙写下...比如现在记录点击按钮的次数main.js中自定义埋点方法Vue.directive(\'point\',bind(el,binding)el.addEventListener(\'click\',()=>console.log(el,binding)//这里写操作埋点的时候需要做的事情,比如调接口))使用:<el-buttonv-... 查看详情

埋点测试埋点接口测试

...15:56:22    http://www.sohu.com/a/257194700_465988埋点是一种数据分析工具,用来分析用户行为。捕捉用户数据,管理数据。埋点是一种客户端行为采集方式。分为代码埋点、全埋点、可视化埋点。 为什么要专门埋点?互联网应... 查看详情

埋点设计思路-基础知识和设计流程

一. 埋点功能方面,埋点是用来收集用户行为数据。比如想要了解一个用户在APP里面点击了哪些按钮,看了哪些页面,做了哪些事情等,就可以通过埋点来实现。实现方式方面,埋点就是通过植入一段代码到某个页面或某个... 查看详情

5.数据中台---数据汇聚联通:打破企业数据孤岛(代码片段)

第5章 数据汇聚联通:打破企业数据孤岛 要构建企业级的数据中台,第一步就是要让企业内部各个业务系统的数据实现互联互通,从物理上打破数据孤岛,这主要通过数据汇聚和交换的能力来实现。在面向具体场景时,可以根... 查看详情

cobub无码埋点关键技术的实现

 随着大数据时代的到来,数据采集也已经变的越来越重要。前端埋点作为一个比较成熟的数据接入手段被广泛应用着。目前埋点分为两种方式,有码与无码埋点。有码埋点比较容易理解,即调用SDK的API,在代码中插入埋点的... 查看详情

js埋点小结

...间),最后将统计结果发送到服务器,后台服务会对统计数据进行分析,进而通过数据对服务器性能有个可靠的了解。在网上也搜到,其它作用:一般电商网站,会使用js埋点完成用户行为的监测,如页面停留时长、光标移动、... 查看详情

狐友ios客户端埋点的前世今生(代码片段)

...无侵入埋点实现一些问题的总结一、认识埋点所谓埋点是数据领域的专业术语,也是互联网应用里面的一个俗称。埋点的学名应该是事件追踪,对应的英文是EventTracking;它是对特定用户行为或事件进行捕获,然后... 查看详情

数仓埋点体系与归因实践(代码片段)

...表建设2.5dws表建设3.uuid和归因建设3.1uuid建设3.2归因建设4.数据应用5.未来展望导读:当今是流量为王时代,严选作为电商,流量建设就显得尤为重要。流量数据建设比业务数据困难,因为其数据源本身是一 查看详情

数仓埋点体系与归因实践(代码片段)

...表建设2.5dws表建设3.uuid和归因建设3.1uuid建设3.2归因建设4.数据应用5.未来展望导读:当今是流量为王时代,严选作为电商,流量建设就显得尤为重要。流量数据建设比业务数据困难,因为其数据源本身是一 查看详情

二维码扫码数据埋点(代码片段)

项目中遇到的问题:1.前台为商品扫码数据埋点(二维码中的链接是外链,不是自己的后台),如果直接放外链的话,是统计不到数据的,所以需要先请求到自己后台,然后重定向外链。2.二维码中链接如果太长,二维码的点会... 查看详情

android实战——recyclerview条目曝光埋点(代码片段)

...目露出来一半以上视为该条目曝光。在rv滚动过程中或者数据变更回调OnGlobalLayoutListener时,将符合条件1的条目记录在曝光列表、上传埋点集合里。滚动状态变更和OnGlobalLayoutListener回调时,且列表状态为idle状态,触发... 查看详情

框架手写系列---aspectj方式实现埋点上传框架(代码片段)

一、切面编程AOP、OOP是程序中经常涉及的概念。OOP--面向对象编程,java、c#等都是面向对象的编程语言,主张万物皆对象。AOP是一种编程思想,对OOP的有效补充,在具体代码中,可以针对任意方法、属性、类等... 查看详情

工程实践|在flutter中实现一个精准的滑动埋点(代码片段)

...们经常会用到的一个场景:埋点。为了对行为特征的数据进行量化分析、优化产品,我们常常需要在特定的时机上报数据埋点,而曝光埋点则是其中的一个高频使用场景。🥲滑动埋点的痛在Flutter中,我们通常 查看详情

互联网产品怎么做数据埋点

...停留时长,使用路径。。。等。要回答这些问题,需要有数据,不能拍脑袋想当然。数据怎么得到呢?埋点就是采集数据的重要途径。数据埋点不是新名词,在电脑网站出来之后就有统计工具,站长们很熟悉的谷歌、百度统计等... 查看详情

aspectjxandroid中快速集成使用一款aop框架并附加数据埋点解决方案实现(代码片段)

...么是AOPAspectJX集成使用具体配置Demo中使用拓展实现:数据埋点解决方案准备工作完整代码实现参考文章背景主要是记录学习AOP编程思想。项目中数据埋点统一方案有使用到,也是一次加深学习理解的过程。什么是AOPAOP是As... 查看详情

jjevent一个可靠的android端数据埋点sdk(代码片段)

...持注:代码已经经过线上项目验证,横向Google统计对比,统计数据无丢失,性能稳定.项目背景统计数据是BI做大数据,智能推荐,千人千面,机器学习的数据源和依据.在这个app都是千人千面,智 查看详情

字节码增强技术之javaagent入门(代码片段)

...务之间调用链信息,采集器通常需要在方法的前后做埋点。在Java生态中,常见的埋点方式有两种:依赖SDK手动埋点;利用JavaAgent技术来做无侵入埋点。我们所熟知的分布式监控系统,是Zipkin开始的,最经... 查看详情