数据埋点1

news2024/11/6 7:09:30

文章目录

  • 1 什么是数据埋点
  • 2 为什么需要数据埋点
  • 3 数据埋点能采集哪些用户数据
  • 4 数据埋点的分类及方式
  • 5 主流的数据上报技术
    • 5.1 客户端上报
    • 5.2 服务端获取

1 什么是数据埋点

互联网的海量数据是通过数据埋点技术采集用户行为数据而产生的,用户行为数据采集及上报流程如下:
在这里插入图片描述
我们可以看到,用户点击或刷新客户端(网页/APP),这个操作行为会被对应页面位置背后的代码收集到,然后像服务器发送请求,服务器响应请求后,返回数据给客户端,客户端接收并展示收到的数据,用户就能看到想要的内容。

上述过程中,客户端通过代码采集用户操作行为的过程,就是数据埋点技术;采集到的数据通过SDK(Software Development Kit)上报,就是数据上报技术;上报后的数据进入到数据库,同步到数仓,就形成了海量的用户数据(客户端有时被称为前端,服务器端有时被称为后端)。

以上的过程涉及到三个重要的主体,分别是用户,客户端和服务器。
我们需要关注三个问题:
第一,用户的哪些行为会被采集到的,分别是在客户端还是在服务端被采集到;
第二,实现这些用户数据采集的技术有哪些以及它们之间的异同;
第三,采集到的这些用户数据之后是如何实现数据上报的。

2 为什么需要数据埋点

俗话说,“巧妇难无米之炊”,如果没有数据埋点获取海量数据,数据分析师这个“巧妇”就很难施展自己的才华了,所以,数据埋点的重要性不言而喻。
数据埋点可以让我们获取用户的行为数据,前期是帮助我们对产品进行迭代优化,中后期可以帮助我们对业务进行监控,对用户进行精准营销,以实现盈利最大化。

3 数据埋点能采集哪些用户数据

一般来说,我们是从网站和APP上采集用户信息,我们能够采集到的用户的四类信息:

第一是设备的硬件,例如设备品牌,型号,主板,CPU,屏幕分辨率等等信息;
第二是软件,就算没有点击网页或者APP,像横竖屏,截屏,摇一摇等操作也会被记录下来;
第三是数据权限,新注册某款软件时,对于相册、通讯录、GPS等比较私密的信息一般会跳出是否授权的操作选项,如果用户同意授权,那么网页或者APP就能够采集到的这些信息;
第四是用户行为,用户只要对网页或者APP进行操作,行为都会被记录下来。

虽然网站或APP在用户授权的情况下可以采集到用户的各类数据,但是作为数据分析师在做数据埋点文档的时候,并不需要追求大而全,可以根据业务提的需求文档对相应的行为进行埋点记录即可。

4 数据埋点的分类及方式

数据埋点的方法根据其位置分类,可分为前端埋点和后端埋点。

前端埋点通过SDK进行数据采集,为了减少移动端的数据流量,通常对采集的数据进行压缩、暂存,打包上报。对于那些不需要实时上报的的事件,通常只在wifi环境下上报,因此会出现上报的延迟与漏报的现象。

而后端采集数据则是通过调用API接口采集信息,使用内网传输信息,基本不会因为网络原因丢失数据,所以后端传输的数据可以非常真实地反应用户行为。

而前端埋点又可以视其自动化程度,分为代码埋点(手动埋点)、全埋点(无埋点或全自动媒体)以及可视化埋点。

各类埋点的定义、异同、优点、缺点以及适用场景都已经总结如下表。
在这里插入图片描述

5 主流的数据上报技术

目前,主流的数据上报技术有客户端主动上报以及服务端获取,和前端埋点及后端埋点相呼应。

5.1 客户端上报

手机里装的APP我们可以认为它们是客户端,用户对客户端进行操作后,客户端通过网络发送HTTP请求给服务端,同时将数据上报给服务端。如果用户每操作一次,客户端就将数据上报一次,而一款产品的用户的数量级少说也是上万级别的,操作一次上报一次无疑对服务器的压力是极大的。所以,客户端会对用户数据进行积攒,我们称这个积攒下来的数据为数据包,在某个时间点客户端统一将数据包上传给服务器。

因为用户的操作节点和数据的上报节点并不是时时同步的,所以客户端的这种上报方式我们称为异步上报。而整个上报的过程都是需要网络的,在极端情况下,客户端正准备上报数据包,但这时候突然断网,如果网络没有重连机制或者一直连不上网,这个数据包就会丢失,我们称作为丢包。这也从一定层面解释了客户端上报的数据可能因为丢包等情况的存在不一定那么准确。

在这里插入图片描述

5.2 服务端获取

在网页中,用户首次看到的一切,都是从服务器返回的(APP 不同,因为部分界面和逻辑已经安装在了用户的设备上,展示这部分界面不需要网络请求)。那么服务器在应答你的客户端请求的时候,也能拿到一些基本信息,比如你的浏览器类型、版本号、屏幕分辨率、IP 地址等等

参考文章:
https://mp.weixin.qq.com/s/SBxsrHwkupu7Pgq82CbagA
http://www.woshipm.com/data-analysis/3195604.html
http://www.woshipm.com/data-analysis/665420.html
https://zhuanlan.zhihu.com/p/65834362
https://zhuanlan.zhihu.com/p/102258485
https://www.jianshu.com/p/6f5d60b04b93
https://zhuanlan.zhihu.com/p/40985361
https://cloud.tencent.com/developer/news/473370
https://www.sensorsdata.cn/blog/shu-ju-jie-ru-yu-mai-dian/
https://zhuanlan.zhihu.com/p/41084975
https://tech.meituan.com/2017/03/02/mt-mobile-analytics-practice.html
https://zhuanlan.zhihu.com/p/58868009
https://www.zhihu.com/question/36411025/answer/1264259674
https://www.zhihu.com/market/paid_column/1226257638931050496/section/1226266001714663424
https://zhuanlan.zhihu.com/p/260472122
http://www.woshipm.com/data-analysis/872543.html

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

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

相关文章

我又不当程序员还要学Python吗?人工智能AI的出现我知道,我错了

Python(可读音:派森) 时代要淘汰你,连招呼都不会打! 这句话近些年我们常在媒体上听到,有点残酷,但却又很现实。 最近,人工智能AI技术火爆全网,而且它所表现出来的“超…

浅谈Spring中的BeanFactory与FactoryBean

前言 理解FactoryBean是非常非常有必要的,因为在Spring中FactoryBean最为典型的一个应用就是用来创建AOP的代理对象,不仅如此,而且对理解Mybatis核心源码也非常有帮助!如果甘愿crud,做个快乐的码农,那我就哦…

Springcloud--docker快速入门

认识docker docker相关操作 1.初识Docker 1.1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署…

『Linux』第九讲:Linux多线程详解(三)_ 线程互斥 | 线程同步

「前言」文章是关于Linux多线程方面的知识,上一篇是 Linux多线程详解(二),今天这篇是 Linux多线程详解(三),内容大致是线程互斥与线程同步,讲解下面开始! 「归属专栏」Li…

剑指 Offer 54. 二叉搜索树的第k大节点【37】

难度等级:容易 上一篇算法: 226. 翻转二叉树【58】 力扣此题地址: 剑指 Offer 54. 二叉搜索树的第k大节点 - 力扣(Leetcode) 1.题目:剑指 Offer 54. 二叉搜索树的第k大节点 给定一棵二叉搜索树&#xff0c…

springboot第15集:MyBatis分页

我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 是的,输出 SQL 可以帮助我们更好地理解代码的执行流程和结果。在控制台输出 SQL 可以让我们看到实际执行的 SQL 语句,这样就能够更…

武忠祥老师每日一题||定积分基础训练(一)

若积分区间相同,最常用的思想: 若 f ( x ) > g ( x ) , 则 ∫ a b f ( x ) > ∫ a b g ( x ) 若f(x)>g(x),则\int_{a}^{b}f(x)>\int_{a}^{b}g(x) 若f(x)>g(x),则∫ab​f(x)>∫ab​g(x) 但 是 往 往 等 号 只 是 在 有 限 个 点 成…

Java实现添加文字水印、图片水印功能

Java实现添加水印功能 添加水印Java 2D API介绍绘制文字水印绘制图片水印循环添加文字水印 添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经授权的人使用或传播。为图片添加水印是一种常用的图片处理技术。在Java 中可以使用JDK自带的 Graphics2D …

快速上手Django(九) -Django下载文件、Django上传文件、Django实现excel导入导出

文章目录 快速上手Django(九) -django 上传文件request.FILES,下载文件一、Django下载文件1. Django下载文件方案和思路2. HttpResponse、StreamingHttpResponse和FileResponse区别和选择StreamingHttpResponse和FileResponse对象的对比和选择使用HttpResponse使用S…

浏览器安全之XSS跨站脚本

基本概念 跨站脚本(Cross-Site Scripting,XSS)是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的。 攻击者利用网站漏洞把恶意的脚本代码(通常包括HTML代码和客户端Javas…

采用.Net Core技术框架开发的B/S版区域检验管理系统(云LIS)

实验室信息管理系统云LIS源码 SaaS模式运维管理系统 云LIS系统源码是一款全面的实验室信息管理系统源码,其主要功能包括样本管理、检测项目管理、质控管理、报告管理、数据分析、两癌筛查等多个方面。具有独立的配套SaaS模式运维管理系统,支持远程运维&…

AtCoder Beginner Contest 300——A-G题讲解

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提! Hello, 大家好哇!本初中生蒟蒻讲解一下AtCoder Beginner Contest 300这场比赛的A-G题! A - N-choice question 原题 Problem Statement Given integers A A A and…

数据埋点2

文章目录 1 数据埋点流程2 六个步骤实现数据埋点设计2.1 确认事件与变量2.2 明确事件的触发时机2.3 明确事件的上报机制2.4 设计数据表结构2.5 统一字段命名规范2.6 明确优先级 3 以电商购物成交转化为例实现数据埋点设计 作为数据分析师的你,是否和我一样经常会被业…

基于改进的离散PSO算法的FJSP的研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

排位赛结果“测谎”

甲乙丙丁说的关于排位赛结果只正确一半,根据甲乙丙丁说的信息求出正确的排位赛结果顺序。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那…

chatGPT免费入口-ChatGPT国内中文版网站

chatgpt怎么使用 如果您有Chat GPT的API Key并想要使用Chat GPT进行自然语言处理或生成处理,您可以按照以下步骤操作: 安装必要的软件和工具 在使用Chat GPT之前,您需要先安装一些必要的软件和工具,例如Python解释器、HTTP客户…

【Android车载系列】第11章 系统服务-SystemServer自定义服务

1 编写自定义系统服务 1.1 AIDL接口定义 系统源码目录/frameworks/base/core/java/android/app/下新建AIDL接口IYvanManager.aidl package android.app;/** * 目录:/frameworks/base/core/java/android/app/IYvanManager.aidl */ interface IYvanManager{String …

YOLOV5入门讲解+常用数据集

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

TIM-输出比较(PWM)——STM32

TIM-输出比较——STM32 Oc (Output Compare) 输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形 每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道…

2023年股票质押违约处置研究报告

第一章 行业概况 1.1 产品定义 股票质押违约处置是指在股票质押融资中,当质押人(股票持有者)无法按照约定履行还款义务时,质权人(通常为金融机构)对质押股票进行处置的一系列活动。这个行业涉及到多个领域…