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

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

写在前面的话


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


如何提高用户体验仁者见仁智者见智,但加载“快”的用户体验似乎已经成为了开发者,用户一致的共识。但是我们不可能让所有东西都快起来。在浏览器端,一般通过浏览器缓存,合并资源,使用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到后端、大促的全链路性能优化详解》


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


目录
相关文章
|
7月前
|
JavaScript 安全 前端开发
修改MD5值:降低iOS应用程序关联性判定,减少拒绝风险
ios应用程序存储一些图片,资源,配置信息,甚至敏感数据如用户信息、证书、私钥等。这些数据怎么保护呢?可以使用iOS提供的Keychain来保护敏感数据,也可以使用加密技术,或者使用Ipa Guard 来弱化文件名称含义,增加破解难度。实现保护iOS app应用程序不被反编译、破解或篡改。
|
7月前
|
移动开发
微信h5扫码接口范例:多个扫码框支持的办法,通过引入一个参数来区分及使用localStorage保证之前扫到的数据不丢失
微信h5扫码接口范例:多个扫码框支持的办法,通过引入一个参数来区分及使用localStorage保证之前扫到的数据不丢失
61 0
|
9月前
|
前端开发 NoSQL Redis
案例05-将不必要的逻辑放到前端(发送调查问卷)
案例05-将不必要的逻辑放到前端(发送调查问卷)
|
9月前
|
SQL 安全 关系型数据库
案例07-在线人员列表逻辑混乱
在线人员列表逻辑混乱
|
存储 SQL 自然语言处理
如何从800万数据中快速捞出自己想要的数据?
如何从800万数据中快速捞出自己想要的数据?
146 0
如何从800万数据中快速捞出自己想要的数据?
|
缓存 前端开发 JavaScript
四个简单例子教你通过用户行为记录提高用户体验
四个简单例子教你通过用户行为记录提高用户体验
68 0
四个简单例子教你通过用户行为记录提高用户体验
|
自然语言处理 搜索推荐 索引
搜索引擎对用户搜索词如何处理,怎么判断用户搜索词的结果?
搜索引擎接收到用户输入的搜索词后,需要对搜索词做一些处理,才能进入排名过程。
177 0
|
搜索推荐 SEO
网站内容更新频率如何控制?网站内容更新注意事项
网站更新是每个站长必做的功课,当一个网站创建完成后,开始更新网站内容。 更新内容并不是说一个月时间内,把挖掘出来的内容、关键词全部一次性用上,这样的做法是错误的,搜索引擎是非常反感的。正确的做法是循序渐进的更新网站,不是像一台机器在采集,举个例子:个人博客今天发送3篇文稿,明天也3篇,后天还是一样3篇,天天坚持持续一段时间,是被搜索引擎认可的。
167 0