老王的心路历程(二):下一站Web体验监控产品

在上一篇文章中,和大家聊到了建立Web应用体验监控体系,经过了概念阶段,也完成了技术选型,就进入了把实质性的产品研发阶段。作为产品经理,时刻不敢忘记我们的产品目标:无限感知你的用户,建立完备的体验监控体系,驱动产品的设计、开发和运维!

一、一切皆操作

仔细分析终端用户和Web应用及网站的交互过程,无论是打开页面、点击链接或按钮,还是填写表单、提交查询,一切皆可归结为一个个基本的操作,由这些操作构成一次次访问(即会话),而会话最终都可以映射到具体的用户,因此我们可以用一张图来表达:

因此,在我们的产品概念中,我们不再把页面的PV当作重点,而是把所有的行为抽象为操作,比如页面被打开多少次就称为页面的操作数,按钮被点击了多少次也被称为按钮的操作数。这是一个非常重要的概念,因为优云Web中大多数指标皆是围绕操作来进行聚合的。举例来说,我们可以知道某个时间段内使用某种浏览器的用户,登录按钮被点击的次数、响应时间(网络、服务端、客户端)、满意度(满意、可容忍、不可接受)等关键指标。

这里值得提一下操作类型,我们把操作分成了四种基本的类型:重定向、链接、AJAX、表单提交,重定向即打开某个URL装载页面或手动刷新某个页面,链接即点击某个链接跳转到某个URL,AJAX即发起某个XmlHTTPRequest交互局部更新页面(现在的Web应用中基本都有用到此技术,与操作无关的纯XHR请求不会被记录成操作),表单提交很好理解,填写表单并提交或者发起一个查询都属于这种操作类型。

目前我们只记录了与服务端有交互的操作,而对纯客户端的操作暂未记录。

二、尽可能全量采集数据

之前我们提到了对我们有价值的数据有用户的操作行为数据以及操作行为的上下文数据,我们可以在页面中嵌入一小段JS代理,当用户与页面产生交互时,代码片段会自动执行收集数据并定期上报到服务端分析。每一次用户的交互行为其实讲了一个故事:

·谁

·什么时间

·在哪个页面

·操作的内容是什么

·操作的类型是什么

·使用的浏览器元数据有哪些

·浏览器加载的过程数据有哪些

·是否出错

有了这些数据,接下来就交给云端的服务器去做了,对每一个操作进行聚合分析,通过指标体系去度量这个操作的体验情况。当然,上层业务还是需要做不少的事情,比如如何区分一个会话,如何识别一个独立用户和账号,如何对一组页面进行聚合分析,如何统计一个跨页面功能按钮的操作数,如何解决多域名指向同一站点的问题等等。下图是对一个操作进行体验分析:

三、无码埋点让分析更敏捷

先解释下无码埋点,这里说的无码并非不要嵌入js代码,与无码埋点对应的是代码埋点。从部署js代理开始,系统自动全量采集了界面中被用户操作的元素数据,后面其实我们要做的就很简单了,把需要的数据拿出来看即可。具体去“拿”的过程还是省不了的,我们是这么考虑的:

1、你不需要关注界面上所有的元素

2、跨页面元素的跟踪或页面组定义还是需要人来定规则

3、自动化的命名方式不友好不是你要想的

听上去很酷,对不对?是不是小白PM都可以用得起来,从此不再需要开发人员干埋点的脏活累活了,而对产品经理来说,不要整理埋点的清单了,不要求着研发人员解释埋点的逻辑,想拿数据就拿数据,进退自如效率大大提高。无码埋点的好处是无须等待即可看到历史数据,但如果涉及到对历史数据进行重新标记命名,如果历史数据较多肯定需要耗费较长时间。

当然了,无码埋点也不是没有缺点的,但我们要的是最小化代价获取有价值的隐藏在大数据背后的知识,虽有缺陷却不影响我们做合理的决策。我们后面会谈到各种埋点的技术方案的利弊分析。

四、多维分析洞悉细微之处

对好的体验监控产品来说,多维分析是共性的需求,所谓细微之处见真章,产品的创意和问题往往从细微之处可以觉察到。维度可以是时间,也可以来自于采集的客户端浏览器的元数据信息,也可以是地理、运营商,甚至可以是自定义的维度。各类产品其实说得挺多了,这里不再赘述。

五、扩展API让数据更有价值

适当的API能力可以让数据发挥更大的价值,基于这些数据可以让分析和问题定位更加给力。

1、接入真实用户:默认情况下,我们采用js生成的id来标识用户,不能很好地标识真正的用户,无法把访客与真实的人建立起联系。如果有用户登录行为的话,可以用YYRUM.identify(user_id)来标识,这样就能标识发生事件的真实用户。建议在用户登录后,立即调用这个方法。

接入真实用户还提供API设置用户的属性,并支持以用户属性为维度进行数据分析。你可以首先使用上面的identify(user_id)来标识用户。然后可以对这个特定的用户设置一些属性,比如这个人的性别,年龄,等等。

2、接入错误:虽然我们尽可能的采集用户端的错误信息,但事实上浏览器抛出的错误对我们解决问题的能力是非常有限的。在收集到的数据中常常会有很多的script error.错误,而错误的堆栈确看不到任何信息。原来是浏览器的同源性策略(CORS),浏览器会把不同域的js报错信息替换成script error,并且其他字段也置为空,这个时候就很难收集的真正有效的信息。(PS:针对上面的解决方案:请求的js返回头上加上```Access-Control-Allow-Origin```,并设置可信的来源,在引用js的标签上加上```crossorigin```属性)

这样依然不够,我们可以采用主动上报错误的方式,把一些自定义的错误信息上报到云端进行聚合分析。举例如下:

YYRUM.report(ex,{

msg:‘自定义错误’,

line: 89,

col: 90,

func: a

}) ```

六、技术的不完美性

事实上,前面说了各种方案都有其优劣点的,而JS代理方式本身有一些局限性,简单分析如下:

1、采用js数据收集原理决定了:数据能否收集以及收集后的数据是不是你想要的,根本依赖于JavaScript标记代码是否能正确执行;这也意味着如果在数据收集环节走入误区,将给随之而来的分析工作带来不可修复的影响(访问者不会因为你犯下的数据收集错误而帮你再现历史访问过程)。

2我们的方案固然能降低工作量,把很多工作交给云端去做,但随之而来的是抓取的信息越多,也就意味着浪费的流量也越多,存储和索引的成本也越高。

3、对部署也有一定的要求,一个是要求覆盖面,是否覆盖了所有要分析的页面;另外一个是如果用户浏览器版本过低,有些指标获取不到。

以上是我个人的总结,Web体验监控产品的六大基本内容,欢迎大家一起交流(作者微信:uyunsoft)。后续再与大家聊聊埋点的那些事。

作者简介:

王川林

•优云软件产品经理

•四年UI设计师、三年商务智能产品、五年IT运维产品

•负责优云Web应用体验监控产品

优云秉承devops的理念,从监控、到应用体验,到自动化持续交付,优云一切为了您做的更好!

“ 活动期:现到2016年12月31日前使用优云产品免费,欢迎详询:https://uyun.cn

更多运维技术文章请关注优云官方微信(broada_ops)

时间: 2025-02-01 04:01:35

老王的心路历程(二):下一站Web体验监控产品的相关文章

老王的心路历程(一):那个做了五年的产品经理

前言: 老王的五年产品经理心路历程,对拍脑袋式产品决策的反思,及如何建立产品用户体验监控体系. 我从2003年"误入"运维软件行业,并在2010年开始做产品经理,5年来,我始终和优秀的团队在一起,从零开始创造了ITSM.CMDB产品,并得到了很多用户的认可.但不怕大家笑话,这5年中,我内心其实无比的纠结.面对产品的历次迭代,一方面要做出对用户有价值的功能,要说服开发团队去落地:另一方面担心产品过于复杂用户不买账,而对功能的裁剪却不敢轻易动刀.例如产品是站为用户领导设计还是为真正的用户操

App开发竞争严酷已成红海 下一站Web端HTML5

中介交易 SEO诊断 淘宝客 云主机 技术大厅 "App刷票",近来移动互联网领域一个炙手可热的新名词.意指由专门的团队在苹果AppStore这类软件商店中,通过使用大量账户下载和评论某款应用,使其排名迅速攀升."App刷票"背后则是移动互联网市场竞争渐趋白热化.据统计,目前国内iOS和Android平台上的开发者达20万,但整个市场收入才15亿元人民币左右,即平均年收入7500元. 触屏.智能手机.移动操作系统.应用商店--这些名词问世时间再短也已是明日黄花,难道

优云老王(三)谈埋点:人生处处有埋点

说到埋点,的确是用户最感兴趣的话题之一,优云Web产品在内测阶段便收到了用户的各种反馈,反复问我无码埋点是怎么做的.在此我专门与大家聊聊埋点以及各种实现方案的利弊. 1.埋点的来历 先说下埋点的来历,其实在互联网没流行起来之前,埋点并不是用来分析用户行为的,技术人员为了解决某些问题,就在代码里面加入了些行为逻辑代码,如果用户使用产品的过程中出了问题,就生成一些诊断性质的日志拿来定位问题. 今天的互联网已经走入千家万户,它突破了时间和空间的限制,基于互联网出现了大量的商业模式.例如在BAT或一些规

在Win98下安装个人Web服务器(转)

在Win98下安装个人Web服务器 赛迪网老工 在Win98下安装个人Web服务器主要有以下步骤: 一.TCP/IP设置 1.参数设置 TCP/IP的安装关键是IP地址.子网掩码和默认网关三个参数的设置. IP地址:这是IP网上识别一台计算机的标志.子网掩码:这是用来识别通信双方是否在同一局域网上的工具.默认网关:网关是你的局域网与外部网络通信的关口,中转站. 设置方法:点击控制面板上的网络图标,选取与网络适配器绑定的TCP/IP,点击属性按钮,打开TCP/IP属性框,点击IP地址标签,便可进行

团购行业“失败者”褪去浮躁后的心路历程

IT互联网行业对巅峰企业的崇拜不胜枚举,却很少有人关注陷入落寞的昔日枭雄,团购行业有过之无不及.团购兴起近四年,群雄逐鹿的激战早已入册,目前美团.大众点评团的市场份额超七成,行业格局落定.但对于行业未来发展而言,有时候失败案例较成功范本更有养分和警示意义,本周刊2013年年终盘点的首期讲述团购行业"失败者"褪去浮躁后的心路历程. 坚守高管 "外界的评价对我不再重要" 距离上次跟满座网CEO冯晓海交流已两年多,当时正是满座网风光之时,根据独立团购导航网站团800数据显

讲述团购行业“失败者”褪去浮躁后心路历程

IT互联网行业对巅峰企业的崇拜不胜枚举,却很少有人关注陷入落寞的昔日枭雄,团购行业有过之无不及.团购兴起近四年,群雄逐鹿的激战早已入册,目前美团.大众点评团的市场份额超七成,行业格局落定.但对于行业未来发展而言,有时候失败案例较成功范本更有养分和警示意义,本周刊2013年年终盘点的首期讲述团购行业"失败者"褪去浮躁后的心路历程. 坚守高管 "外界的评价对我不再重要" 距离上次跟满座网CEO冯晓海交流已两年多,当时正是满座网风光之时,根据独立团购导航网站团800数据显

一位网站被百度K站150天站长的心路历程

自2012年6月底以来,百度持续更换算法和K站,让无数的站长们陷入了挣扎和难以维继的状态.网站被K导致流量骤减,网民的认可度降低.虽然,有些网站不完全依靠百度带来的流量,但是,一旦网站被K仍然会对网站的整体运营造成影响.在此次K站过程中,用户体验是我们经常会看到的字眼,但究竟何谓用户体验,网络的开放性决定了转发内容的合理性,原创的定位很难辨明,当一个小网站的内容被转发到一个大网站时,大网站的内容很快就会被收录,而且权重高,难道能说这篇文章不是小网站的原创内容吗.我相信:百度目前还没有此种技术来解

黑客老王:一个人的黑客史

   三十年过去了,在广州潮湿的天气里,我经常会回忆起小时候东北的天空. 那时候,我时常需要仰望天空.因为我的任务是手握一根松木杆,高高挑起电视天线.一阵风吹过,电视上就闪过一片雪花.村庄很空旷,我有足够的时间,把天线调整到一种精妙的姿势.在某一刻,电视里的雪花猛然消失,我的心情顿时舒畅得无以复加. 直插天际的松木天线很漂亮,只是它的刺有些扎手. 如果愿意,可以叫我老王.从小我就喜欢一切最先进的科技.在1980年代,最先进的科技是"电".那时候电视经常因为里面电压的变化,造成影像拉伸或

“黑客老王”联手“乌云一哥”重出江湖,为黑客“造梦”的幻云有多牛?

   这世间的故事,必有缘起.黑客的江湖,也不例外.两位世外高手,是接下来这个故事的起源. "神兽"降临 我叫老王.不是隔壁老王,我就是老王. 这个低调了二十年的黑客,终于站在了聚光灯下. 在此之前,圈外人对于王俊卿的了解几乎为零.事实上,作为中国最早的一批黑客,神秘的老王和他身后声名显赫的 0x557 统领了中国大半部黑客史.从互联网安全的洪荒时代,老王就开始了"拿站"生涯,而随着互联网的发展,老王对世界上几乎所有复杂的大型系统都进行过渗透测试.他符合人们对于一个