您现在的位置是:热点 >>正文
五分钟技术趣谈 | 数据分析中的客户端埋点
热点107526人已围观
简介...
在传统的Web APP和 Native APP开发的产品中,埋点从技术的角度来说未必多深奥,但从业务的角度来说要做到设计规范、流程高效和保证质量却很难。每个业务版本中都可能会有数据埋点工作,那工作中的数据埋点是怎么运转的呢?本文将来讨论数据分析中客户端埋点那些事儿。
不知道小伙伴们有没有注意到,
经常访问的网站/app,
总能推送到你感兴趣的内容,
简直比亲爹妈还了解你的五分喜好
他们是会读心术吗?
NO!NO!NO!
是因为他们在你访问网站/app时
顺手安插了一个卧底
随时随地打小报告
今天Labs就带大家来揭开
这个卧底的真面目
Part 01 啥是埋点
埋点是网站/app安插在你身边的卧底,他会记录用户的信息和行为,比如这样一条小报告 “张三在2021-2-3 15:30访问了和家亲生态合作平台的首页,观看10分钟的Andlink学院的视频”就记录了用户的身钟技份、访问的时间、访问的页面、特定的行为(观看视频)、停留的时间等等信息。当然,埋点只会报告老板交代要记录的,其他的就睁一只眼闭一只眼了。老板通常会关注这几个方面:页面的访问频率、页面的停留时间、页面上元素的点击次数。通过这几个指标,就能分析出用户关注或者感兴趣的内容,从而做针对性的推送了。
Part 02 埋点的分类
接下来我们来看看埋点都有哪些种类。首先根据这个卧底的工作地分类,术趣可以分为两种:一种驻地在用户浏览器或者手机上的叫做客户端埋点(前端埋点),一种在本部服务器工作的叫服务端埋点(后端埋点)。
客户端埋点由于驻地办公,能收集的信息非常全面,特别是诸如用户点击等界面交互行为,由于不需要请求服务器,因此只有客户端埋点才能采集到。不过由于采集的数据需要通过网络上报,受用户网络不稳定的影响,可能会出现漏报的情况。此外如果客户端是APP,当埋点需要更谈 新或者有新埋点时,需要用户更新APP才能生效,如果有部分钉子户一直不更新,就会影响埋点的质量。相反的,服务端埋点在面对埋点有更新或者有新埋点时毫无压力,但是对于客户端界面交互上的行为信息则无能为力。
客户端埋点根据实现的方式的不同,还可以进一步分为全埋点、可视化埋点、代码埋点。
全埋点又叫自动埋点或者无埋点,是指在产品中嵌入埋点SDK,从而自动采集所有的用户交互行为信息进行上报。这| 种方式简单粗暴,工作量最小,但是缺点也很明显。首先是采集的数据量很大,这样一来增加了数据上报过程中的流量消耗,二来增加了后续对埋点数据进行数据分析时的工作量。其次,全埋点的方式只能携带基本的交互行为信息,没法上报行为附带的属性信息,因此在数据分析时无法提供更精确的数据。
可视化埋点可以将网站或者app的真实界面展示预览,通过提供可交互的界面,让产品或者运营人员可以直接在页面上数据添加埋点,并且埋点之后可以立即验证埋点的正确与否。这种埋点方式可以降低埋点实施的门槛,让产品或者运营人员得以在无需研发人员的介入下自行埋点,提升了工作流程的效率。而且相比全埋点,可视化埋点的目标更准确,降低了埋点的数量,减少了网络流量负担。但是可视化埋点同样具有很多局限。一来与全埋点一样,同样难以实现对行为添加附带属性;二来可视化埋点只能针对可见元素添加埋点,一些动态页面或者分析不可见的行为无法采集。
代码埋点是最经典的埋点方式,通过研发人员将埋点代码结合到业务代码中,实现定制化的用户行为数据采集。很多其他埋点方式力所不能及的行为数据采集,代码埋点都能胜任,而且代码埋点可以轻松的为行为添加各种需要的业务属性。但是这种埋点方式显然成本更高,而且由于与业务代码耦合在一起,因此容错率更低,维护成本也更高。
由此可见,三种埋点方式各有利弊,可根据不同的使用中的场景进行选择。如果是在项目早期,没有明确的业务分析需求,或者研发资源稀缺,亦或者是活动类的页面,可以采用全埋点或者可视化埋点节省埋点成本;而在项目发展到一定规模时,有了更为精确的分析需求,对埋点数据质量的要求更高之后,采用代码埋点的方式。
Part 03 埋点数据的上报
如前文所述,在通过客户端埋点采集完数据之后,需要通过网络传输上报到服务器。常见的上报实现可以分为以下几种:
1、XH客户R接口请求上报:这是最简单粗暴的方式,通过调用XMLHttpRequest进行埋点数据的上报,采用异步请求的方式可以避免阻塞页面的交互,但是由于javascript单线程的运行机制,一定程度上还是会出现对网络资源的竞争情况。此外,由于业务服务器和埋点服务器通常是各自独立的,客户端想直接上报数据给埋点服务器是会被浏览器拦截的,必须要做跨域的处理。另一方面,如果在上报途中页面出端埋现跳转、刷新、关闭等情况,造成页面的销毁时,浏览器并不会等待异步xhr接口请求完毕,而是会直接无情的“拔网线”中断传输,导致上报数据中途丢失。尽管可以通过设置同步请求的方式要求浏览器等待数据上报完成,但这样一来用户也会一起被迫加入等待的行列,显然对用户体验是有损害的。
2、img、script等标签:通过把上报数据伪装成图片或者script脚本请求,可以规避掉上面xhr出五分现的跨域问题。其中img标签相较script标签,由于不需要插入dom即可发起请求,因此一定程度上还有更好的性能表现。但是这种方式有个问题就是由于上报的数据都被一股脑拼接到url上了,会导致url变得很长。但浏览器通常都会对url的长度做出限制,因此这种方式无法上报过多的埋点数据,需要进行拆封上报。此外,这种方式在面对页面的跳转、关闭、刷新时,同样难逃浏览器的“拔网线”的命运。
3钟技、sendBeacon:鉴于xhr接口请求和img、script标签在面对浏览器“拔网线”上的无能为力,sendBeacon应运而生。sendBeacon可以说是为埋点量身定做的,他既没有xhr的跨域问题,也无惧浏览器的“拔网线”行为,可以确保数据完成上报,十分可靠。而且是异步传输的方式,并不会影响下一页面的展示。唯一的小小缺点,就是在一些元老级别的浏览器上会有兼容性问题术趣,出现水土不服。
Part 04 埋点的应用
和家亲生态合作平台采用客户端埋点,数据上报结合sendBeacon与img标签的方式,针对sendBeacon不兼容的情况通过img标签做补充。同时,对于埋点数据的上报,系统采用了合并上报加延迟上报的方式。所谓合并上报就是指在等待上报期间,对于接收到的同一事件的埋点进行合并,从而减少埋点的数量;所谓延迟上报,就是收集到埋点之后并不立谈 即发起上报请求,而是现在客户端侧收集好存放在内存之中,等待收集的埋点数据量达到指定的规模之后,再做统一上报,从而尽可能地减少上报操作对网络资源的抢占。埋点数据收集完毕之后,系统对埋点数据进行了可视化的展现,是用户的行为数据一目了然,更便于产品/运营对用户的行为和喜好进行分析。
作者:张贝金
单位:中国移动智慧家庭运营中心
Tags:
相关文章
云安全日报210521:IBM身份管理解决方案发现执行任意代码漏洞,需要尽快升级
热点IBM Security Identity Manager(ISIM)是IBM公司的一套身份管理和治理解决方案。该方案可在整个用户生命周期内自动创建、修改、重新认证和终止用户特权,并支持基于策略的密码...
【热点】
阅读更多云计算开发实例:Python3移除字符串中的指定位置字符
热点如何在Python3中移除字符串中的指定位置字符,首先给定一个字符串,然后移除指定位置的字符。 实例 执行以上代码,输出结果为: 其他参考方法:...
【热点】
阅读更多字节跳动发布 Seedream4.0:全新多模态图像创作模型
热点今日, 字节跳动 Seed 团队正式推出其最新一代图像创作模型 Seedream4.0。这一模型在多模态生成领域实现了全面升级,融合了文本和图像的创作能力,展现出更高的速度和可用性,标志着图像生成技术...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.teamlab.art/fr/?submit=谷歌搜索留痕外推技术【tg:seogoogle987】,9LD
- https://www.nextavenue.org/?action=QUERY&s=谷歌搜索留痕外推技术【tg:seogoogle987】,2Zd
- https://www.libros.unam.mx/catalogsearch/result/?cat=37&dir=asc&format=20&lit=20&manufacturer=3230&mode=list&order=year_edition&q=谷歌搜索留痕外推技术【tg:seogoogle987】,A6F
- https://www.therapeuticassociates.com/?cat=5&s=谷歌搜索留痕外推技术【tg:seogoogle987】,uJX
- https://www.wellbees.com/index.php/catalogsearch/result/index/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,i2K
- https://www.l-and-b.jp/?page=1&s=谷歌搜索留痕外推技术【tg:seogoogle987】,2mP
- https://www.otakuninjahero.com/en/search/谷歌搜索留痕外推技术【tg:seogoogle987】,eGs
- https://www.paxnet.co.kr/search/jongmok?kwd=谷歌搜索留痕外推技术【tg:seogoogle987】r7H
- https://www.lifesciencesweden.se/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,Aqr
- https://www.theaerogroup.net/?cat=28&s=谷歌搜索留痕外推技术【tg:seogoogle987】,uKY
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌搜索留痕外推技术【tg:seogoogle987】,4J4
- https://www.abbreviations.com/谷歌搜索留痕外推技术【tg:seogoogle987】oyO
- https://www.rollingstone.it/?ID=DVMeu3AlmzZE1cuJ2FmgmO5TSCQRb3yh&s=谷歌搜索留痕外推技术【tg:seogoogle987】,FQ5
- https://www.teamlab.art/ko/?submit=谷歌搜索留痕外推技术【tg:seogoogle987】,rdK
- https://www.nissin.com/jp/search/?cat=105&q=谷歌搜索留痕外推技术【tg:seogoogle987】,ajJ
- https://www.writingforward.com/?action=SEARCH&s=谷歌搜索留痕外推技术【tg:seogoogle987】,Nvl
- https://www.resopal.de/catalogsearch/result/?action=SEARCH&q=谷歌搜索留痕外推技术【tg:seogoogle987】,IfC
- https://store.line.me/search/sticker/ja?q=谷歌搜索留痕外推技术【tg:seogoogle987】RNE
- https://www.lenovo.com/gb/en/search?action=SEARCH&text=谷歌搜索留痕外推技术【tg:seogoogle987】,YFy
- https://www.kingston.gov.uk/site-search/results/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,Sp2
- https://www.nss.nhs.scot/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,ItQ
- https://www.smarty.net/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,Xno
- https://www.mingwai.edu.hk/?langzh-hant&s=谷歌搜索留痕外推技术【tg:seogoogle987】,H5P
- https://www.pickett.co.uk/collections/vendors?q=谷歌搜索留痕外推技术【tg:seogoogle987】,Q5f
- https://www.mdbg.net/chinese/dictionary?page=worddict&wdrst=0&wdqb=谷歌搜索留痕外推技术【tg:seogoogle987】,IPg
- https://www.wmfe.org/?s=谷歌搜索留痕外推技术【tg:seogoogle987】,ATQ
- https://www.unclefossil.com/search/谷歌搜索留痕外推技术【tg:seogoogle987】,1bP
- https://www.usslexington.com/?action=QUERY&s=谷歌搜索留痕外推技术【tg:seogoogle987】,JOn
- https://www.tmtpost.com/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,hsB
- https://www.lssystems.co.uk/search?page=0&per_page=24&term=谷歌搜索留痕外推技术【tg:seogoogle987】,L3o
- https://www.rookwinkel.nl/catalogsearch/result/index/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,N8u
- https://www.whiterock2008.com.tw/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,PKd
- https://www.kaskus.co.id/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,5QF
- https://www.msrenewal.com/search/谷歌搜索留痕外推技术【tg:seogoogle987】,RIQ
- https://blvdseafood.com/?s=谷歌搜索留痕外推技术【tg:seogoogle987】EJc
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=谷歌搜索留痕外推技术【tg:seogoogle987】,xzb
- https://www.voices.com/talents/search?keywords=谷歌搜索留痕外推技术【tg:seogoogle987】,gLf
- https://www.takachi-enclosure.com/search?eqYB=gnI31Ou&text=谷歌搜索留痕外推技术【tg:seogoogle987】,GOl
- https://www.kyuhoshi.com/?s=谷歌搜索留痕外推技术【tg:seogoogle987】,ukI
- https://www.pierreherme.com/catalogsearch/result/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,vlb
- https://www.whirlpool.com.hk/chinese/catalogsearch/result?cat=30&q=谷歌搜索留痕外推技术【tg:seogoogle987】,K0s
- https://www.yli.ro/catalogsearch/result/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,Ll2
- https://www.revere.org/search?action=SEARCH&q=谷歌搜索留痕外推技术【tg:seogoogle987】,LyM
- https://www.monroecounty.gov/search/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,1rM
- https://www.oprny.com/search.php?search_query=谷歌搜索留痕外推技术【tg:seogoogle987】,Y0f
- https://www.qwant.com/?q=谷歌搜索留痕外推技术【tg:seogoogle987】,3BO
- https://www.springfieldlibrary.org/?s=谷歌搜索留痕外推技术【tg:seogoogle987】,vbS
- https://www.remit.co.jp/vi/?s=谷歌搜索留痕外推技术【tg:seogoogle987】IcX
- https://www.goodreads.com/quotes/tag/谷歌搜索留痕外推技术【tg:seogoogle987】L6o
- https://store.line.me/search/sticker/ja?q=谷歌搜索留痕外推技术【tg:seogoogle987】pog