首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端-如何精确统计页面停留时长

基于上述背景,重新调研和实现了精确统计页面停留时长的方案,需要 兼容单页应用和多页应用,并且不耦合或入侵业务代码。...如下图,计算页面停留时长既如何监控这三个动作,然后在对应触发的事件中记录时间戳,比如要统计活跃停留时长就把 active 区间相加即可,要统计总时长既 tn -t0 。 ?...5.思考 对于页面停留时长的定义可能在不同场景会有差异,比如内部业务系统或者OA系统,产品可能更关心用户在页面的活跃时长;而对于资讯类型的产品,页面可见时长会更有价值。...单一的数据对业务分析是有限的,所以在具体的代码实过程中我们会把停留时长分三个指标,这样能更好的帮助产品/运营分析。...1、active 页面活跃时长 2、visible 页面可见时长 //仅支持Desktop 3、duration 页面总停留时长 6.参考 1、https://developer.mozilla.org

9.9K20

「前端页面停留时长」统计上报方案

---- 背景 为了解用户在我们H5页面的行为习惯,我们需要统计和上报用户在H5具体某个页面的停留时长。 当我们的H5页面是一个vue单页面应用,我们需要具体统计到每个路由的停留时长。...本文记录的是,我们自己实现的一套页面停留时长统计上报的方案,最后具体落地实施也是按这个方案走的。 当然市面上也有很多现成的方案,如果没有特殊的需求,现成的方案应该是可以满足大多数的场景的。...方案设计 问题一:停留时长的统计 通过调研,单页面应用统计页面时长,有以下这几种方案: (1)页面在打开状态下,每隔一段时间给服务端发一个请求,由服务端计算页面时长; (2)在页面打开和关闭的时候,分别给服务端上报一个请求...,由服务端计算页面时长; (3)前端监听页面的打开和关闭,计算出页面停留时长,直接上报服务端。...到这里页面停留时长统计上报的方案就大致确定了,如果有发现可以改进的地方,欢迎评论。

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【数据采集】1.web页面停留浏览时长采集

    页面停留时长太短,可能是落地页的内容不够吸引用户;相反,页面停留时长过长,可能是功能复杂导致用户无法正确进入到预期的流程,因此停留时长是一把双刃剑。...例如一个用户很可能同时打开多个网页窗口,然后一直不关闭 c.埋点成本较高 2.通过心跳定时发送数据包,每隔 5 秒(默认)心跳模式更新 LocalStorage 中备份的页面浏览时长。...这样做是为了解决第一点中只打开一页时无法计算停留时长的问题,但这样的风险是并不能确保数据包发送100%成功。...可以先在埋点平台定义一个只包含 Web 页面浏览事件(pageview)的 Session。...一文读懂差异了解最佳实践[G] [3].蒋雯雯.如何知道页面浏览时长系列之Web篇[G].2022-03-28 分享、点赞、在看,给个3连击呗!

    2.9K30

    捕获用户在该页面停留的时长,我是这样做的(前端监测)

    原因很简单,如果我们要分析这个页面对我们的产品有没有价格,那么用户浏览的时长是一个很关键的点,如果每个用户平均每天在这个页面停留两个小时以上,那么我们会觉得这个页面的价值很高;如果一个页面一个月也没几个用户去浏览...这些需求都是可以让我们考虑是否要去获取用户停留时长这个功能的。 针对哪些应用? 多页面应用 单页面应用 如何去获取用户停留的时长?...多页面应用 在多页面应用,要获取用户的停留时间还是挺简单的,看看下面几个Api?...单页面应用 单页面应用可能,会复杂一点,但是也复杂到哪里去。...最后 以上是个人,获取用户在多页面,单页面停留的时长,如果有更好的方法,欢迎交流。?保命)

    4.1K41

    Navigator.sendBeacon实现页面埋点统计

    早之前做过页面统计,用的是神策和百度统计,里面那些数据个人觉得已经很全面了,最近公司进行一些特殊埋点统计,需要在市场想要的地方一个一个加方法调接口。...如果要自己统计页面浏览时长和点击事件,就只能做一些延迟和牺牲一些准确性,反正就是页面跳转需要统计的数据会丢失一些。...早之前做过,还是看的阮一峰双循环延迟阻塞页面卸载,除了死循环延迟,还有其他旁门左道,比如ajax设置同步,然后在状态是2的时候就进行页面跳转,无所谓响应;发送图片,携带数据,浏览器对图片都会加载,这就需要服务器配合了...上面都是延迟页面卸载,牺牲体验保证准确性,另一种是把数据传递到下一个页面,然后在下一个页面调用接口统计,比如地址携带、本地存储、浏览器提供的API等都能把数据传递到下一个页面。...应该是近几年对统计的需求比重大了,浏览器已经有了草案navigator.sendBeacon(),MDN上面描述了上面方法的痛点: 这个方法主要用于满足统计和诊断代码的需要,这些代码通常尝试在卸载(unload

    1.1K10

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

    比如想要了解一个用户在APP里面点击了哪些按钮,看了哪些页面,做了哪些事情等,就可以通过埋点来实现。 实现方式方面:埋点就是通过植入一段代码到某个页面或某个按钮,从而监听用户行为并进行收集上报。...第四步【数据统计】:根据业务需求进行etl开发,输出业务所需的数据 第五步【数据应用】:业务人员验证和使用数据 1 埋点采集 1.1 埋点范围 根据业务人员的需求,选取可以衡量需求效果的数据指标,比如页面浏览量...通常包括但不限于以下事件: 页面事件:用户访问页面的信息,比如可以通过页面埋点统计页面浏览量(PV),或收集该页面上的接口; 点击事件:用户在页面的点击行为,比如想要收集用户点击搜索按钮时,填入了哪些关键字...56°75.343", "latitude": "143°07.230【非必填GPS关闭无法获取】", "netwk_typ": "wifi/4G" }, "refer_id": "无埋点场景下所浏览页面的上一个页面的唯一标识...", "duration": "页面浏览毫秒数,关闭页面时统计", "banner_id": "埋点自定义事件属性值", "banner_name": "埋点自定义事件属性值",

    5.7K33

    页面日志采集(埋点)思路及其实现

    页面日志采集 页面浏览日志采集。指的是当一个页面被浏览器或者APP加载呈现时采集的日志,也是页面浏览量(Page View, PV)和访客数(Unique Visitors,UV)的统计基础。...页面交互日志采集。获取用户操作日志,通过量化获知用户的兴趣点或者体验优化点。 页面浏览日志采集流程 目前典型的网页访问过程是以客户端发送请求、服务器响应并返回所请求的内容进行的。...一般需要采集当前页面参数、浏览行为的上下文信息(如读取用户访问当前页面时的上一个页面)以及一些运行环境信息(如当前浏览器和分辨率等)。...日志采集实现思路 首先明确我们想要采集的数据-页面浏览日志和页面交互日志。正常情况下我们会在进入页面时发送日志信息,但是用户在每个页面的停留时间我们将很难统计到。...因此考虑在离开页面时发送日志信息,并且在页面跳转时将上一个页面的一些信息也一并加入日志信息中。由于在离开页面时发送日志,因此还需要考虑监控客户端的异常关闭状态。

    2.4K41

    埋点测试

    埋点测试 目录 1、埋点的逻辑 2、埋点怎样测试 3、埋点数据的注意事项 1、埋点的逻辑 界面-事件-事件参数 每一个界面的每个事件都有唯一的标示ID。...,根据 json 的需要采集的组件,绑定相应的 class 和处理的监听回调函数,当页面被浏览的时候会满足我们需要采集的条件。...(6)埋点数据的命名规则:埋点数据的规范化命名规则有利于数据的阅读和查看,比如页面点击的就用 Page 开头,区域的用 Label 开头作为前缀。 (7)展现类的埋点:最关键的在于避免重复统计。...(11)网页缓存:对于 web 页面的埋点统计,要考虑到 web 页缓存的问题。...例如,资讯详情页有停留时长的统计,当进入资讯详情页时开始计时统计,不在该页面时结束统计,那么此时我们就要考虑到在前后台相互切换时是否存在多发的情况,之前浏览器遇到的问题就是将缓存页的时长页做了统计一并发送到了服务器

    1.3K10

    埋点测试方法和埋点测试平台

    埋点测试方法和埋点测试平台 埋点测试:顾名思义,就是在开发环境中利用埋点去测试某个产品、功能或者服务的性能、功能质量、可用性、用户体验等。...一、埋点测试工具 埋点测试工具常用的有埋点测试套件和埋点测试中心,其中埋点测试套件以 API形式实现,套件需要指定角色完成对应实验,并需要一个可执行文件或多个用户数据集。...本文就介绍一款埋点测试套件,来帮助开发人员更快地了解一个产品、或服务是如何实现其用户行为和页面交互操作过程的。...2、埋点测试的意义 埋点测试工具,是以一定的方法对一种服务的实现过程进行跟踪分析而建立起来的。主要用于检测一个产品是否存在质量问题或缺陷。如:页面显示是否美观,如是否让用户产生“不太舒服”体验。...●统计与报表:如页面点击数、点击次数、按钮数量等。 2、不同类型的埋点测试工具在实际应用中会出现一些问题,所以软件产品应该根据自身的情况对功能进行优化调整。

    3.5K20

    埋点治理:如何把App埋点做到极致?

    缺点:不支持数据可回溯,采集不到Fragment页面数据,只支持API 14及以上,同时该监听方式对app性能影响严重,每个控件都需要动态绑定,在界面变更时,需要重新刷新ViewTree,效率低下。...现有的埋点方案各有利弊,没有一种方案可以完美的解决所有埋点问题,本方案中采用了手动埋点,WMDA全埋点方案,切面化动态埋点相结合的埋点方案,针对不同场景和埋点需求使用不同的埋点策略,尽可能的把埋点问题做到极致...切面化部分 主要指App内部的针对埋点Aop和拦截器方案: a) 拦截器 如页面级别的通用参数,比如在所有列表页的埋点里面加入,通过页面生命周期控制注册销毁拦截器,对该页面所有埋点进行统一的处理下图左侧所示...b)WMDA 为了解决产品临时的统计需求,引入了WMDA(WMDA是公司针对App的一套全埋点实现,针对解决临时埋点需求,提供圈选回溯的功能),主要处理页面级别的展示量和固定View的点击量。...平台化部分 主要内容: a)给App提供埋点日志上传接口服务 并且给测试提供可视化的验证页面,使得买点验证简单直观。

    4.4K21

    Android 统计页面渲染时长

    文章开头还是先抛出几个小小的问题,大家在开发的时候有没有考虑过一个问题,onCreate方法执行完了是不是页面已经完全打开了呢?为什么呢? 什么是页面渲染时长? 我们先聊聊页面渲染时长的定义。...通俗一点说,就容易出现用户吐槽,卧槽为什么打开一个页面这么慢。 当然这个也就是为什么我们需要响应式(稍微广一点,所有的async都算响应式)的原因。多线程并行的情况下,才能保证主线程做最少的事情。...数据埋点,万一我们的基础仓库封装的不够好,那么这就是一个主线程的卡顿操作了。 获取Abtest数据,正常也会是一个数据库io操作,但是由于Abtest的特殊性,所以需要同步写法。...这部分因为我暂时也没有写完Demo,我可能后续会补充在我的自动化埋点的demo工程上,我就先写点简单的介绍好了。...总结 其实本文看似一个小小的渲染时长的点,但是要吃透就要把安卓内的一大部分源码相关的吃透。就比如View.post方法,其实就涉及到ViewRootImp绘制相关。

    4.4K22

    数据埋点是什么?设置埋点的意义是什么?

    所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问(Visits),访客(Visitor),停留时间(Time On Site),...停留时长 停留时长用来衡量用户在应用的某一个页面或是一次访问(会话)所停留的时间。...页面停留时长,表示在每个页面所花费的时间;例如:首页就是进入首页(10:00)到离开首页进入下一个页面(10:01)的时长,首页停留时长计算为1分钟。页面A是2分钟。...应用的停留时长,表示一次访问(会话)所停留的时间,计算起来就是所有页面的访问时长,同样是上一个流程,应用的停留时长就是4分钟。...埋点的内容 看完关键的这些指标后,有没有发现埋点的来源也大致分为两部分,一部分是统计应用页面访问情况,即页面统计;另外一部分是统计应用内的操作行为,及自定义事件统计。

    2.4K20

    什么是数据埋点?数据埋点的工具有什么?

    根据埋点技术可分为:代码埋点、可视化埋点、无埋点(表格形式) ?...SDK 场景:无需采集时间;适用于活动页、着陆页关键页面设计体验衡量 优势:简单、快捷;与代码埋点相比,开发人员工作量较少 劣势:数据准确性不高;上传数据多、消耗流量高;数据纬度单一 可视化埋点: 采集说明...在计算访问人数时,埋点上报的数据是尽可能接近真实访客的人数。 停留时长 停留时长用来衡量用户在应用的某一个页面或是一次访问(会话)所停留的时间。...停留时长的数据并不都是一定采集得到的,比如页面进入时间(11:13),离开出现异常或是退出时间没有记录,这时候计算就是0 。所以指标计算时需要了解埋点的状况,剔除这样的无效数据。...转化率最体现埋点技巧的指标,需要结合业务特点制定计算方法。

    3.7K21

    前端埋点黑科技

    如果是自己想玩一下,可以使用百度的埋点统计(npm包 vue-ba): 传送门 埋点 如果是内部自己的埋点统计,需要理清一下埋点触发的几种时机: ready: 进入指定页面时触发 click: 点击指定元素时触发...view: 指定区域眼球曝光时触发 unload: 离开指定页面时触发 埋点 进入指定页面触发埋点是很常见的埋点行为,最简单的方式就是在路由守卫调取埋点接口即可。...但是为了不在每个页面的路由守卫重复书写,我们可以统一抽取封装埋点行为。...比如在 unload 情况下,只有页面离开了才会触发埋点,我们需要放在 upadte 里去触发埋点方法,而不是在 bind 里一绑定就触发。...上面是一个监听页面离开的埋点,离开即触发埋点行为。 act 可以取的值就是我们上述列举的几种情况:ready、click、view、unload。 id 为事件类型。

    1.2K20

    《七天数据埋点之旅》第五天 埋点注意事项

    0x01 前言 前两节我们介绍了埋点设计四大思维,并给出了四种典型场景的埋点设计方式,本节介绍在埋点设计中的注意事项,这些事项是在进行埋点设计的时候应该遵循的准则,通过本节的阅读,你将获得以下准则的认知...: 同质一致 同质继承 通用复用 粒度平衡 0x02 同质一致 相同指标度量的上报时机和格式一致,比如: 实体返回键和app返回键及空白位置的点击clickid统一处理成return 页面停留时长信息的上报...此处以某详情页的停留时长粒度来举例:事件名:离开详情页事件id: x_detail_exit 上报时机: 点击返回、切后台等常规形式的退出 点击页面交互元素跳转非同类模板页 点击相关推荐等进入同类模板页...参数: stay_duration:停留时长,单位ms 在设计埋点的时候,该事件的停留时长参数就一定要精确到原子粒度,即单个内容的停留时长,而不是该类页面的停留时长。...基于单个时长可以统计同类时长,若埋点粒度太粗,就没法分解,这样在计算类似TopN条目的情况,埋点数据就无法支撑了。

    1.2K30
    领券