一种通用收集用户行为的方法与流程

文档序号:36973187发布日期:2024-02-07 13:23阅读:13来源:国知局
一种通用收集用户行为的方法与流程

本发明涉及互联网,具体是指一种通用收集用户行为的方法。


背景技术:

1、随着互联网的应用不断深入,对用户行为信息收集的需求也越来越紧迫,通过对用户在网站上的行为信息进行收集和分析,可以为用户提供个性化服务,有利于网站的产品改进等。

2、现有技术中,收集用户行为信息的方法可分为两类:基于日志收集用户行为信息的方法和基于插码收集用户行为信息的方法。

3、基于日志收集用户行为信息的方法,是根据web(万维网)服务器记录的用户访问日志进行各类分析,但是传统的日志只能记录用户点击的网址等行为信息,很多用户浏览器侧的行为信息无法收集,例如鼠标是否放在某个页面元素上等,因此不能完全体现用户的行为过程和喜好。基于日志收集用户行为信息的方法还可以采用其他的实现机制,例如从用户与web服务器之间的某些网关处进行收集,但是同样无法采集到用户浏览器侧的一些行为信息。

4、基于插码收集用户行为信息的方法,是在网页上嵌入用户行为信息的收集代码,该收集代码在用户浏览器上执行时进行用户行为信息的收集,可以收集到用户和网页交互的行为信息,例如鼠标悬停、鼠标在页面上的移动轨迹、鼠标点击位置等。

5、近年来,为了给用户更好的使用体验,ajax(asynchronous javascript and xml,异步javascript和xml;javascript:一种客户端脚本语言;xml:extensible markuplanguage,可扩展标记语言)技术得到了广泛应用。ajax是一种动态网页技术,应用了ajax技术的网页特点是很多页面元素可以动态生成,例如点击某个按钮后会出现一个评论窗口,鼠标划过某个链接时会出现一个解释窗口等。

6、现有对网页的动态页面元素上的用户行为信息进行收集时,所导致的网页代码可维护性差,无法通用的问题,因此发明一种通用收集用户行为的方法。


技术实现思路

1、本发明要解决的技术问题是克服以上技术缺陷,提供一种通用收集用户行为的方法,用于用户行为收集及行为数据上报、上报后存储的数据可以作为数据看板的数据来源、或问题排查的日志来源、也可以为后续运营的业务方向提供指向。补足系统的短板同时也更好的发挥系统优势,提供更好服务,提升用户使用体感。

2、为解决上述技术问题,本发明提供的技术方案为:包括:用户浏览器接收网站服务器提供的网页,所述网页中插入描述信息,其中,描述信息定义了当前网页上需要监测的动态页面元素及对应的需要采集的用户行为,需要监测的动态页面元素在用户浏览网页时动态生成,采用埋点的技术手段来实现,通过设计开发一个前端埋点sdk来进行数据收集,埋点方式采用手动埋点(代码埋点)方式。在sdk内处理一些全局类事件,并提供自定义事件埋点能力;选择img标签作为数据上报方式完成前端埋点sdk的开发流程;

3、全局事件的绑定,全局click、change事件的处理;

4、页面停留状态数据的采集:为了细化用户页面停留状态的行为事件,sdk内抽象定义了两个相关事件类型去做记录,pv:进入页面事件;和lv:离开页面事件;

5、自定义上报事件:使sdk上报的场景不受局限;

6、数据上报:收集数据需要与服务接口进行交互将数据进行上报,sdk内最终采用基于img的方式进行数据上报。

7、作为优选的,还包括接入方式,所述接入方式的具体步骤:

8、s1、开发好的sdk先完成打包后,上传至cdn;

9、s2、通过script标签引入到需要进行数据采集的系统应用中,sdk对象初始化后会挂载至window对象上供全局使用;

10、s3、接入sdk的系统通过sdk原型对象上的方法完成基础数据的设置、自定义采集元素的设置、一些事件的设置;

11、s4、在需要埋点的业务代码处,调用原型对象上的方法完成sdk内置事件或自定义事件的埋点上报。

12、作为优选的,还包括sdk在初始化阶段会调用document.addeventlistener完成全局事件的绑定,比如click、change。除此之外,也会对接收到的其他任何事件完成事件注册程序:注册的事件同时支持w3c标准和ie标准。

13、sdk内对全局click、change事件特殊进行了统一处理过滤和事件上报。

14、作为优选的,所述页面停留状态数据的采集,采用history路由模式,定制了sdk的具体实现方案:

15、q1、确定埋点相关字段路由类的埋点事件,路由信息是最重要的,sdk内记录了如下字段作为该类事件埋点上报字段:来源/上一个路由url、当前路由url、事件产生时间、事件类型(pv/lv)以及埋点sdk的基本参数等。

16、q2、监听popstate事件

17、前端路由history模式下,路由的变动比如浏览器的前进后退,使用js调用前进后退等api方法都会触发popstate事件。因此sdk在初始化时会监听popstate事件,事件回调内完成对于埋点事件数据的收集,并且调用sdk数据上报方法完成lv、pv事件的上报。

18、q3、劫持重写window.history.pushstate方法和window.history.replacestate方法在history路由模式下新增一个路由记录或者修改路由记录时会调用相应api方法window.history.pushstate和window.history.replacestate,达成修改window.history对象的目的。

19、sdk在初始化时会进行路由模式的判断,并劫持pushstate、replacestate方法进行重写:上报lv事件(如果有的话);执行原本的pushstate、replacestate方法;上报pv事件;执行完成pv之后的回调事件注册队列。

20、q4、监听window.unload事件:监听进行lv事件上报。

21、q5、lv事件产生时机的判断。

22、作为优选的,所述数据上报方式包括:

23、a1、基于xmlhttprequest/fetch进行接口交互上报;

24、a2、基于script/link标签的上报;

25、a3、基于navigator.seadbeacon上报;

26、a4、基于img的埋点上报。

27、有益效果,本发明与现有的技术相比的优点在于:用户行为收集及行为数据上报、上报后存储的数据可以作为数据看板的数据来源、或问题排查的日志来源、也可以为后续运营的业务方向提供指向,补足系统的短板同时也更好的发挥系统优势,提供更好服务,提升用户使用体感,收集到由ajax生成的动态页面元素上的用户行为信息。该方案适用于所有网页,提升了网页代码的可维护性和通用性,增强了针对动态页面元素上的用户行为信息的收集效率。



技术特征:

1.一种通用收集用户行为的方法,其特征在于,包括:用户浏览器接收网站服务器提供的网页,所述网页中插入描述信息,其中,描述信息定义了当前网页上需要监测的动态页面元素及对应的需要采集的用户行为,需要监测的动态页面元素在用户浏览网页时动态生成,采用埋点的技术手段来实现,通过设计开发一个前端埋点sdk来进行数据收集,埋点方式采用手动埋点(代码埋点)方式。在sdk内处理一些全局类事件,并提供自定义事件埋点能力;选择img标签作为数据上报方式完成前端埋点sdk的开发流程;

2.根据权利要求1所述的一种通用收集用户行为的方法,其特征在于,还包括接入方式,所述接入方式的具体步骤:

3.根据权利要求1所述的一种通用收集用户行为的方法,其特征在于:还包括sdk在初始化阶段会调用document.addeventlistener完成全局事件的绑定,比如click、change。除此之外,也会对接收到的其他任何事件完成事件注册程序:注册的事件同时支持w3c标准和ie标准。

4.根据权利要求1所述的一种通用收集用户行为的方法,其特征在于:所述页面停留状态数据的采集,采用history路由模式,定制了sdk的具体实现方案:

5.根据权利要求1所述的一种通用收集用户行为的方法,其特征在于:所述数据上报方式包括:


技术总结
本发明涉及互联网技术领域,具体是指一种通用收集用户行为的方法,用户浏览器接收网站服务器提供的网页,所述网页中插入描述信息,其中,描述信息定义了当前网页上需要监测的动态页面元素及对应的需要采集的用户行为,需要监测的动态页面元素在用户浏览网页时动态生成,采用埋点的技术手段来实现,通过设计开发一个前端埋点SDK来进行数据收集,埋点方式采用手动埋点(代码埋点)方式。用于用户行为收集及行为数据上报、上报后存储的数据可以作为数据看板的数据来源、或问题排查的日志来源、也可以为后续运营的业务方向提供指向,补足系统的短板同时也更好的发挥系统优势,提供更好服务,提升用户使用体感。

技术研发人员:于志杰
受保护的技术使用者:北京白龙马云行科技有限公司
技术研发日:
技术公布日:2024/2/6
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1