四个简单例子教你通过用户行为记录提高用户体验

简介: 四个简单例子教你通过用户行为记录提高用户体验

写在前面的话


也许你的网站并不销售任何东西,但网站上所有内容抵达给用户,天然就存在一个名词“用户体验”。说到用户体验,它给人的第一印象总是:抽象,带有强烈的主观意识;难以量化。不好的用户体验,或者竞争对手体验更好,你所有的尖端技术、品牌营销等都很难引起用户的二次访问。


如何提高用户体验仁者见仁智者见智,但加载“快”的用户体验似乎已经成为了开发者,用户一致的共识。但是我们不可能让所有东西都快起来。在浏览器端,一般通过浏览器缓存,合并资源,使用cdn等手段改善性能。本文将通过几个简单真实的例子,不是从大型网站架构或者分布式系统等宏观角度,而是从微观的用户行为数据的角度入手,通过分析用户行为数据来达到“快”的用户体验,有针对性的做出几个优化建议,其中多是从前端开发的角度入手。文末也会推荐对我有启发的一些书籍。

限于本文作者水平,难免有纰漏不足,欢迎大家评论指正


分析的前提是记录用户行为数据


用户行为分析的前提是用户行为的记录,如下图则记录了三个用户的用户记录,能看到用户访问的入口页、跳出页、浏览页面数量、错误数和回话时长。。。


5868c553effb4c9785dda0ac3490a3a1~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

用户行为需要记录哪些数据


用户记录都包含哪些呢?用户记录对于数据分析非常重要,可以让程序员定位bug或者性能问题,也可以查看用户体验,甚至是广告分析数据分析和用户增长模型的建立。

一般说来默认需要记录:


会话时长


用户在页面停留多久,如果5s不到就结束,可能用户是网卡或者体验不佳就流失卸载了

用户省份城市、版本


不同的版本一般对应着不同的功能,这里有可能是针对产品或者时长对某个城市做的特定的功能投放的测试


用户轨迹


在不同页面(path)的不同行为,一般包含:


页面切换(从A----》B),在页面停留的时长,这里能得出页面的跳入跳出率,最受欢迎页面等


页面的行为,可能还包含:点击按钮、页签后者某个标题。

86f8ed1b381a4cff98d6cea078e6f29c~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

用户会话列表


当然还可能会包含运营商等其他信息。


这里我们开始真刀实枪地举个栗子


这里咱们举几个栗子来说明一些事情,用户搜索体验差、网站性能提升和产品优化的例子


例子1:用户搜索体验差


如用户跳出率很高的页面,通过追踪链路,可以点击span进入后发现用户一直在搜索



708a93242c7141b3b777e1684e27819f~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


例子2 出现影响用户可交互时间的阻塞

b6d9112887a149e0bf59160d20232542~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

性能分析与优化建议的几个例子


再举几个例子,针对整站的资源加载比例,也能反映出很多问题,举例子前先提出几个发散性的问题


  • 下图中js站资源首位,是不是可以合并?
  • 所有资源中有326个资源来自一个域名,其他不足30个资源来自另两个域名,那么资源分配是否合理?是否对特定资源做加速?


8f25f990e6204083a0189ba2102a649e~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

产品优化


如下图能看到最受关注的页面,其中访问频率分别是:首页>分组页面>项目列表页>统计页面>登录页面


发现1


其中页面加载时长最短的是登录页,首页加载最长


优化建议


部分资源加载或者功能插件转移到登录页,减少首页加载时间

64714c45111843b7b69df1341408111e~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

发现2 /group页面访问评率比较高,但页面耗时较多(见上图)


针对页面查找所有跟group相关的链路,发现group按照先后主要做了以下事情

d6b93dddec3348d9a1a1297708228d87~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg


第一步 ajax


首先是前端对后端请求,查询分组详情的后端接口


第二步 ajax完成请求后资源加载


资源加载7个js,进行资源加载和解析,这里能够看到一些静态资源采用了缓存,所以部分文件耗时为0,但能明显看到asset.js后出现了阻塞页面交互


加载了图片,字体文件等静态资源,耗时50ms左右


3.fetch后端数据 我的分组等接口


优化建议


1.资源加载和ajax请求同时发起或资源加载提前,提前对静态文件进行加载、解析、执行,这样后续的js请求和资源的其他加载也都会提前


2.合并ajax请求,将业务关联较多的接口同时发出请求或者合并成一个请求。


推荐书籍


《大型网站性能优化实战 从前端、网络、cdn到后端、大促的全链路性能优化详解》


《大型网站技术架构 核心原理与案例分析》


目录
相关文章
|
20天前
|
Linux 开发工具 数据安全/隐私保护
codigger体验过程记录
【11月更文挑战第2天】codigger的体验过程
|
6月前
|
Oracle 数据库 UED
后台查询接口影响响应时间最大的因素:用空间换时间的优缺点及解决方案
1.当数据库的一个表记录很多显然查询数据很慢。 2.当数据库的一个表记录不大,但是数据很大也可能很慢。 我们的一个用户表中一个building很大,当查询100条数据就会把服务器的内存搞爆掉。 当然查询时要查询筛选有用字段,不可以直接把记录的所有字段都查拆来。这样能减少内存消耗和提高查询速度。 3.在经常查询字段上建立索引。据说oracle上用索查询和不用索引查询在超多记录的情况下相差1000倍。 4.若出现嵌套查询显然会大大增加相应查询时间。要先预处理用管道操作把能合并的查询合并到一个查询中,然后生成map,然后再处理。这是标准的用空间换时间的方案。
96 8
文本,好看的设计------我独自升级,六芒星技能表,可以用来判断是否在能力值之内的事情,使用六芒星可以显示能力之内,能力之外的事情,用以判断
文本,好看的设计------我独自升级,六芒星技能表,可以用来判断是否在能力值之内的事情,使用六芒星可以显示能力之内,能力之外的事情,用以判断
文本,好看的设计------我独自升级,六芒星技能表,可以用来判断是否在能力值之内的事情,使用六芒星可以显示能力之内,能力之外的事情,用以判断
|
前端开发 NoSQL Redis
项目实战典型案例5——发送调查问卷流程图例子(将不必要的逻辑放入前端)
项目实战典型案例5——发送调查问卷流程图例子(将不必要的逻辑放入前端)
118 0
|
前端开发 NoSQL Redis
案例05-将不必要的逻辑放到前端(发送调查问卷)
案例05-将不必要的逻辑放到前端(发送调查问卷)
|
缓存 前端开发 JavaScript
四个简单例子教你通过用户行为记录提高用户体验
四个简单例子教你通过用户行为记录提高用户体验
98 0
四个简单例子教你通过用户行为记录提高用户体验
|
缓存 网络协议 JavaScript
|
自然语言处理 搜索推荐 索引
搜索引擎对用户搜索词如何处理,怎么判断用户搜索词的结果?
搜索引擎接收到用户输入的搜索词后,需要对搜索词做一些处理,才能进入排名过程。
211 0
|
搜索推荐 SEO
网站内容更新频率如何控制?网站内容更新注意事项
网站更新是每个站长必做的功课,当一个网站创建完成后,开始更新网站内容。 更新内容并不是说一个月时间内,把挖掘出来的内容、关键词全部一次性用上,这样的做法是错误的,搜索引擎是非常反感的。正确的做法是循序渐进的更新网站,不是像一台机器在采集,举个例子:个人博客今天发送3篇文稿,明天也3篇,后天还是一样3篇,天天坚持持续一段时间,是被搜索引擎认可的。
240 0
|
测试技术
新疆地区用户连接优化案例
原作者:互联网公共服务事业部架构师,日进。本文展示怎样通过阿里云的产品对某些区域的访问进行加速。
2273 0
下一篇
无影云桌面