数据埋点:前端页面PV/UV的触发和交互( 二 )


数据埋点:前端页面PV/UV的触发和交互
文章插图
但是在特殊情况下,有些用户网络情况不佳,半天都加载不出页面,遇见我们常说的白屏,这样PV的触发将会有不可控性。
因为我们很难知道因为网络的问题,他到底触没触发我们的埋点。所以在这样的情况下,我们可以将PV的触发放在“创建”这个位置,当页面创建成功机会进行埋点数据的触发。
下面是pv埋在不同阶段会有不同的特点,但是常态下我们都还是选择放在更新这个阶段:这只是依据页面的生命周期的钩子(页面运行时,前端代码加载的先后顺序)进行说明。可能存在误差,有需要的可以自行去百度vue生命周期。
数据埋点:前端页面PV/UV的触发和交互
文章插图
2. UVUV和PV埋点的方式相同,唯一不同的地方就是UV需要在PV的基础上通过唯一标示进行筛选。统计有多少个唯一标示而得UV的数量,一般我们常见的唯一标示如下:

  1. 手机号:用户登录页面后依据他绑定的手机号来进行统计,但是如果用户未登录将无法统计;
  2. cookie:通过用户浏览器上的cookie作为唯一标示,但因为cookie是存在用户浏览器中容易被修改;
  3. localStorage:通过在浏览器在本地存储一个长期唯一标示,但是可以手动清理;
  4. IP:通过访问页面ip地址进行区分,如果ip变更将另行计算;
  5. seesionStorae:通过存在服务器的信息进行表示,有实效性。
这5个就是我们常用作为UV唯一标示的,他们推荐使用的优先级手机>ip>local>cookie>seesion。
推荐使用手机号是因为,当我们拥有自己的账户体系的时候,使用手机号作为标示这样可以更好的和我们自身数据进行关联。但这样面临的问题将是需要用户进行登录,在一些宣传h5页面上,使用登录将显得格外繁琐,因此衍生出使用ip作为唯一标示。
ip我们大家都知道,会跟着你的网络变化而变化,那么按道理也是不准的,为什么反而在local前面了(local:网站在浏览器本地存的一个信息,具有唯一性,能手动清理,清理后生成的将不再是原来的)?
因为local虽好,但因为大部分手机浏览器不支持,或者是部分支持这样数据采集又会不全,所以退而求次使用ip。
四、扩展在大多数情况下,大部分公司都没健全的数据埋点体系,有个pv和uv就不错了。面对这样情况我们就去深挖他们的价值,通过对他们的简单应用,实现对我们大胆猜测的依据。
1. 转化率通过代码埋点或是全量埋点,将关键业务涉及页面进行埋点覆盖,使用下个页面pv/uv量除上个页面pv/uv量我们就可以得出页面之间的转化率。
比如:有ab两个页面,点击a页面才会进入b页面。现有100个pv/uv被a页面进行统计,当在b页面时统计时候,出现了120个pv/uv,将这120个pv/uv与a页面的进行对比,出现有90个pv/uv相互重复(交集),最后用b页面相互重复的90个pv/uv除以a页面这100pv/uv,得出他们之间的转化率为90%(90/100=0.9)。
2. 停留时间如果只是pv/uv其实应用面会很少,那么我们就需要在页面的四个阶段中做其他的类似pv/uv的埋点,只不过是用户记录时间。
当页面创建(用户访问网站或页面)时,我们可以将出发pv/uv的时间进行存储。而当用户正常离开页面时,我们再次记录时间,后者减去前者我们就得到了停留时间。
但是需要我们注意的是,用户很少按照我们设计的流程执行。在app中会出现用户直接退出整个应用,这样会让数据存在差异。也有用户使用app将页面常挂手机后台,这样数据也会出现差异。
同时在小程序(微信小程序)上使用停留时间的埋点,会因为微信小程序的特性无法关闭,后台执行出现差异。所以我们要警惕那些差异性很大的数据,将他们剔除,放置在其他数据中将是一个好方法。
五、前端埋点:互动式除了依据用户浏览行为进行自动式触发的埋点(不绝对)pv/uv外,我们还有一种埋点方式需要用户参与互动。
常见的是用户进行按钮的点击和页面的滑动。我们通过对按钮计数(pv)和去重(uv),这样我们可以了解这个功能按钮的使用情况,这样也就能够支撑我们进行一些小功能简单的ab测试。
数据埋点:前端页面PV/UV的触发和交互
文章插图
又或者我们与用户的滑动行为结合起来埋点。技术可以通过监听用户滑动位置,来决定是否触发埋点,这也是我们常说的曝光埋点。
曝光埋点:这种埋点一般常用户商品、内容的推荐上。当我们设置推荐的商品或内容在首屏上时,同时用户首次进入页面,那我们可以根据自身业务选择使用pv或uv做作他们的曝光量,但是这仅限固定商品和内容。