相关申请的交叉引用
本申请是2017年10月19日提交的序列号为15/788,323的美国申请的延续,其内容通过引用结合于此。
本公开总体上涉及追踪网站访客,并且更具体地涉及用于追踪和分析网站访客的实际行为的系统和方法。
背景技术:
由于因特网的无处不在,万维网已成为现代企业和组织必不可少的工具。网站的商业价值不可低估,因为它提供了最容易访问的门户,通过该门户,现有和潜在客户可以通过被动查看以及主动参与(例如购买产品和服务)与公司互动并建立联系。
网站是使用超文本链接彼此连接的网页的集合。链接允许网站的用户或访客通过选择网页之间的链接来浏览网站的各种网页。最初,用户通常会从搜索引擎结果或通过直接在浏览器应用程序中输入网址来访问首页,然后逐步浏览网站,直到用户执行所需的操作(例如在线购买)或用户离开网站而未执行此操作。执行所需的操作称为转换,许多网站所有者和运营商的目标是最大程度地提高其网站用户的转换次数。
为了增加转换率,网站所有者经常编辑、修改或改变与他们的网站有关的变量,以便优化用户在网站内的体验。这样的变量包括每个网页的布局、选择的色调、字体、文本大小和位置、图像以及视频,适当赞助商的位置或广告等。此外,删除未使用或分散注意力的功能可以增强网站用户的体验,从而提高转换率。
这些调整中的每一个都是特定于站点和页面的,因为没有两个网站在服务于完全相同的用户群时采用完全相同的设计。因此,网站所有者必须针对其用户群进行调整,以最有效地最大程度地提高转化率。
用于分析来自网站访客的流量的程序在本领域中是已知的。这些程序通常监视静态数据并生成报告以供查看。数据可以包括web服务器活动,例如按访问次数最受欢迎的页面、网站活动的高峰时间、最受欢迎的条目页面等。可替代地,可以收集与用户和网页的交互有关的用户数据,包括鼠标移动、网页滚动、浏览器窗口的大小调整、点击事件、悬停事件、键盘使用等。用户数据还可以包括用户在访问网站期间采取的路径或路由,包括访问哪些页面、以什么顺序访问、在网站访问期间用户与之交互的项目的时间顺序、在其上方悬停的按钮、点击的按钮等等。
然而,这些解决方案仅提供了根据个人用户访问而汇编的统计数据的集合。虽然可以确定某些统计信息(例如在网站上花费的时间)的平均值,但对每个用户统计信息进行平均可能会淡化重要信息。例如,分析一组花大量时间在网页上并与该网站的多个元素互动的高活跃用户与一组仅在有限的基础上与该网站交互的被动用户,将使网站所有者无法有效理解各个群体的趋势,因为活动范围两端的示例可能会相互抵消。已知的解决方案不能提供方法以确定由相似用户行为构成的多个组,并提供关于每个组内的用户活动有用信息。
因此,提供一种克服上述挑战的解决方案将是有利的。
技术实现要素:
以下是本公开的几个示例实施例的概述。提供该概述是方便为读者对这些实施例的基本理解,并且不完全限定本公开的广度。该概述不是所有预期实施例的详尽概述,并且既不旨在标识所有实施例的关键或重要元素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的序言。为了方便起见,术语“一些实施例”在本文中可以用来指本公开的单个实施例或多个实施例。
本文公开的某些实施例包括一种用于分析网站访客的实际行为的方法。该方法包括:分析与多个网站访客中的每一个访客的网站访问相关联的网站访客记录;基于该网站访客记录,确定多个网站访客中的每一个访客在网站内采取的路由,其中,该路由包括用户与网站元素交互的时间顺序;以及,基于共同路径流将多个路由划分为聚簇。
本文公开的某些实施例还包括一种非暂时性计算机可读介质,该非暂时性计算机可读介质上存储有使处理电路执行用于分析网站访客的实际行为的过程,该过程包括:分析与多个网站访客中的每一个访客的网站访问相关联的网站访客记录;基于该网站访客记录,确定多个网站访客中的每一个访客在网站内采取的路由,其中,该路由包括用户与网站元素交互的时间顺序;以及,基于共同路径流将多个路由划分为簇。
本文公开的某些实施例还包括一种用于分析网站访客的实际行为的系统。该系统包括:处理电路;以及存储器,该存储器包含指令,当该指令由处理电路执行时,该指令将系统配置为:分析与多个网站访客中的每一个访客的网站访问相关联的网站访客记录;基于该网站访客记录,确定多个网站访客中的每一个访客在网站内采取的路由,其中,该路由包括用户与网站元素交互的时间顺序;以及,基于共同路径流将多个路由划分为簇。
附图说明
在说明书的结论处的权利要求书中特别指出并明确要求保护本文公开的主题。根据结合附图作出的以下详细描述,所公开的实施例的前述和其他目的、特征和优点将是显而易见的。
图1是用于描述各种实施例的网络系统的示意图;
图2是根据实施例的用于追踪网站行为的方法的框图;
图3是根据实施例的将网站访客的相似路径聚簇在一起的算法的流程图;
图4示出了显示仪表板的示例屏幕截图,该仪表板显示根据实施例的方法的结果。
具体实施方式
重要的是要注意,本文公开的实施例仅仅是本文创新教导的许多有利用途的示例。一般而言,在本申请的说明书中做出的陈述不必限制任何各种要求保护的实施例。而且,某些陈述可能适用于某些发明特征,而不适用于其他特征。通常,除非另外指出,否则单数元素可以是复数而不会失去一般性,反之亦然。在附图中,若干视图中相同的附图标记指代相同的部分。
各种公开的实施例包括用于分析网站用户行为的方法和系统。通过示例的方式,所公开的实施例允许网站所有者了解在网站或网站的某些部分中的访客(例如,顾客)的实际行为。例如,使用本公开的实施例,这样的企业主可以更好地理解和认识到“我的页面中最常见的事件流是什么?”、“未转换页面视图中最常见的事件流是什么?”、“如何改善这些流程中的转换?”、“我需要进行哪些a/b测试?”、“在设计页面时我做出了正确的假设吗?”等等。为此,本文公开的系统和方法试图通过将具有相似行为的页面浏览分组来确定大多数访客浏览该网站的路径。如本文将要讨论的,对访客行为的分组以及进而理解可以相对一个或多个特定kpi执行。
在示例实施例中,该方法包括:接收与多个用户网站访问相关联的记录的元数据;分析访问期间与之交互的元素和这种交互的时间顺序;基于与元素的交互来确定用户采取的路由;比较相似的路由并将这些路由聚簇在一起,并对聚簇的路由进行排序,以使网站所有者或运营商能够高效、轻松地分析热门和不受欢迎的路由,以便就网站的布局和设计做出明智的决策。
图1是用于描述各种实施例的网络系统100的示例图。该网络系统100包括一个或多个用户设备120-1至120-n(为简单起见,在下文中以单数形式称为120),这些用户设备通过网络110连接到服务器130。存储器140可操作地连接到web服务器130。用户设备120可以包括智能电话、个人计算机、膝上型计算机、平板电脑以及被配置为通过网络110访问网站的类似设备。用户设备120可以进一步包括应用程序,例如浏览器(未显示),其适用于通过网络在设备上显示网站。网络110可以是但不限于因特网、广域网(wan)、局域网(lan),城域网(man)等。用户设备120、网络110和web服务器130之间的连接可以是有线的或无线的、或其任何组合。
web服务器130被配置为在其上托管网站,使得该网站可通过网络110访问。在实施例中,web服务器130被配置为从用户设备120接收http请求,以显示来自托管在web服务器130上的网站的一个或多个网页。在实施例中,当网页被发送到用户设备120时,返回的页面中包括追踪脚本。该追踪脚本在由用户设备120的浏览器执行时,导致记录设备120与所显示的网页的活动(交互)。该追踪脚本可以被实现为例如javascript或任何其他类型的可执行代码。
追踪和记录的用户活动(也称为事件)可以包括,例如:加载、卸载、滚动、鼠标移动、点击鼠标、鼠标抬起、单击、调整大小、按下键盘、按键、键盘弹起、粘贴、鼠标离开、鼠标输入、激活、停用、聚焦、模糊、选择、选择开始、提交、错误、中止等等。每个事件都与多个特性或属性相关联。这些特性可以与事件一起发送。例如:用光标的x,y坐标和鼠标按钮的状态记录鼠标事件;通过按下的键传输键盘事件;滚动事件与滚动条的位置一起传输;调整大小事件以新的窗口大小发送;单击事件随所单击的对象或链接的类型和url一起传输。将被每个页面浏览引用的所收集到的事件被分组到记录中。每个记录可以包括元数据,这些元数据指示例如网页浏览id、记录的持续时间、记录的日期等。
收集与用户设备120相关联的元数据项以及当用户与网站互动时由用户使用用户设备120采取的动作,并通过网络110将其发送到分析服务器140。在实施例中,分析服务器140位于web服务器130内,而在另一实施例中,分析服务器140与web服务器130分离并且独立地连接到网络110。
分析服务器140被配置为收集来自用户设备120-1至120-n的多个用户在访问网站时的元数据。元数据可以包括但不限于网站内访问的网页、在每个网页以及整个网站上花费的时间、访问期间涉及的元素、光标移动以及点击次数、悬停次数、滚动次数等。分析服务器140被配置为评估来自多个用户设备120的元数据,并确定在网站的各种用户访问采取的路径或路由。然后,将相似的路径分组聚簇,并根据每个路径下分类的用户数量进行排序。
分析服务器140包括处理电路(未示出),该处理电路被配置为分析数据并且对路径进行聚簇,如本文所述。处理电路可以包括通用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、状态机、门控逻辑、分立硬件组件、专用硬件有限状态机器或任何其他可执行信息的计算或其他操作的适当实体。在实施例中,收集的用户元数据首先由web服务器130收集,然后直接传输或经过网络110传输到分析服务器140。在另一实施例中,用户元数据被直接发送到分析服务器140。
在实施例中,使用诸如
一旦分析服务器140处理了用户数据,就可以将所得的簇及其排序列表发送到web服务器130、存储到存储器150中、或者发送到网站运营商设备(未示出),以用于分析。用户数据的处理可以是以下至少一项:配置为按预定的时间表运行、配置为基于网站流量负载运行、按需手动运行的计划中的事件或其任意组合。
图2是示意图,示出根据实施例的追踪网站行为的过程。该方法可以由图1的分析服务器140执行。网站用户进行的访问被记录下来,以追踪用户与网站或网站内网页之间的交互和事件顺序。包括元数据项的记录作为输入210由例如分析服务器140进行分析。输入210包括录得与待分析的网站进行交互的访客的记录。在另一实施例中,对于每个记录,输入可以包括标志(flag),该标志指示该记录是关键性能指标(keyperformanceindicator,kpi)肯定、kpi否定或kpi中立。kpi状态217指示记录是否包含关键性能指标,例如积极转化率、在行为召唤按钮上(例如、立即申请、注册、下载页面)等等的点击。kpi可以由用户定义。在一些配置中,对于每个记录,输入可以进一步包括指示是否应该忽略记录的标志。
接下来,执行路径标识符处理220。处理220被配置为分析元数据项并识别网站用户在网站访问期间采取的共同路径。网站由构成每个网页的各种元素组成。路由中网站的每个元素都标记为225。
在实施例中,被标记的元素包括组成网页内容的文档对象模型(dom)元素。此类元素包括网页的主题、标题或正文以及其他各个部分。应当注意,可能存在不相同的dom元素,但是出于算法220的目的可以被认为是等效的。例如,如果网站的两个版本被两个不同的用户访问,则dom元素在其路径上有所区分但又代表着网页的同一方面,这些元素可以视为等效并标记为相同,因此两个本来不相同的路由(每个包含略有不同的dom元素)被分组在一起。
当确定路由包括足够的共同路径227时,将它们分组在一起作为单个聚簇。当路径标识符处理220分析访问网站的用户所采用的多个路径时,满足特定kpi的每个路由被添加到关联的聚簇。在分析了预定数量的用户路径之后,确定哪个聚簇包含最多的用户路径记录。即,处理220确定网站访客所采用的最常见路径是什么、第二最常见路径是什么,等等。这为网站所有者提供了有价值的信息,这些信息不仅涉及平均用户统计信息,而且还涉及各个不同的访客群体如何与网站交互的信息。
最后,路径标识符处理220生成包括关于记录的各种信息。该信息包括单个路径231中的kpi肯定记录的数量、满足路由233的总记录的数量、单个路由235中记录的前x个示例的一组元数据项,其中x是可配置的数量,该数量可以根据网站运营商的期望偏好以及在记录路由237期间采取的步骤顺序进行调整。元数据项包括以下至少一项:安全id标记、访客id标记、项目id标记、记录的持续时间,以及每个元素沿记录路由的位置。步骤237的序列包括用户已经与网站上的哪些元素进行了交互、标记分配给每个元素的位置、以及交互的位置,其中该交互包括已经被用户点击或悬停的元素。
图3示出了根据实施例的、用于对网站访客的相似路径进行聚簇的方法300的示例流程图。
在s310,接收路径标识的输入。该输入可以包括录得与待分析的网站进行交互的访客的记录;指示该记录是kpi肯定、否定或中立的标志;以及指示是否应该忽略在接收记录中的记录的标志。通常,当记录太旧时(即,其记录日期超过预定义的到期日期),它将被忽略。每个记录至少由页面浏览id标识。
一组用户输入可以根据kpi标志分析。例如,一组相似的记录可以细分为包含kpi肯定标志的记录。可选地,可以分析所有接收到的记录,而与kpi标志状态无关。这样可以对分析进行微调和调整,以突出显示或最小化kpi的重要性。
在s320,通过分解包含在记录中的元素并标记每个元素来分析每个接收到的记录。在实施例中,元素包括组成网页内容的dom元素,例如<div>、<html>、<body>和用于指示元素类型以及元素在网页中如何使用和显示的其他标记。
在s330中,元素被映射和清理。在实施例中,对元素进行映射可以包括根据从记录获取的数据为每个元素分配特性。这些特性包括元素上的点击次数、元素上的总悬停时间以及分配给元素的标记。
在实施例中,记录中存在的每个元素都将首先进行分析。移除在记录过程中根本没有或以重要方式与之交互的任何元素,仅留下以重要形式与用户交互的元素。除其他因素外,确定交互是否很重要可以基于与元素互动所花费的时间。例如,如果用户仅将鼠标悬停在元素上不到500毫秒,则可以认为互动不重要。另外,可以结合一些要素以提高效率。如果两个元素(例如父子元素)共享超过阈值数量的足够数据(可以预先定义),则可以将这些元素组合为单个元素并进行标记。
接下来,清理这些元素。在实施例中,清理元素包括去除在记录期间用户与之交互有限的元素。这可以包括但不限于:总点击次数等于小于预定阈值的元素(例如占所有记录点击次数的5%)、总悬停时间等于小于预定阈值的元素,以及与其余的活动元素相比,元素获得的点击或悬停时间最少,即使这些数量超过预定的阈值。这些元素可能被认为是离群值,可以将其删除以提高最终数据的质量。
在s340,识别记录内的重要路由序列。在示例实施例中,s340包括分析用户在记录的访问期间所采用的时间路径,并且比较多个记录以确定热门路由。例如,如果预定数量或预定比例的网站访客首先通过登陆首页,然后将鼠标悬停在轮播元素上,然后点击侧边栏上的筛选器,最后选择排名靠前结果对象,开始与网站进行互动,这样的路由可以被认为是重要的路由,并且包含该路由的每个记录都可以被相应地标记。该路由包括用户互动,例如但不限于元素上的点击、在被认为是重要元素上的悬停(即,不是简单地越过该元素,而至少要停留一段预定的时间)、滚动行为、光标在网页上的移动、文本的突出显示、筛选器类别的选择等。在实施例中,即使元素的某些特征不同,如果路由基本相似,也可以认为它们是等效的。例如,如果两个元素放置在网页中的相同位置并导致显示相同的图像,但是标记不同,此时可以将它们视为是等效的,并且除了标记的区别外其他均相同的路由可以被建立为相同的路由。
在实施例中,路由的识别涉及以下步骤:以结构化格式从用户访问中获取记录的元数据项;反序列化该结构化数据以进行更有效的处理,例如通过使用无关语言的数据序列化系统(例如
接下来,在s350中,已被确定为包含相同或等效路由并因此包含相同标记的所有记录被聚簇在一起。每个聚簇而成的组代表多个用户采用的路由,并且可以由该路由表示。例如,可以通过时间顺序来确定路由,在该时间顺序中,记录的前5个元素与用户进行交互。在对每个记录进行分析和聚簇之后,按大小(即,与每个聚簇匹配的路由数量)对聚簇进行排序。包含用户选择的路由最多的聚簇被认为是最受欢迎的路由,包含用户选择的第二路由最多的聚簇被认为是第二最受欢迎的路由,依此类推。
可以根据网站的需求和目标来调整用于确定聚簇是否足够大的记录数。可以将算法调整为需要一定百分比的流量或一定数量的合格路由,以便被视为是重要。因此,虽然第一个网站每月平均有10,000个用户访问,可以将包含4,000次访问的聚簇视为非常重要的聚簇,但第二个网站每月平均有1,000万用户访问,则可以忽略类似规模的聚簇。
在实施例中,可以根据预定事件来中断记录。例如,一旦用户在商业网站上完成订单、或将商品放在购物车中、或发起了与技术支持代表的聊天会话,就可以将算法配置为结束记录。因此,一旦进行了转换,任何随后收集的数据都可以被认为是不必要的。修剪掉不必要的数据可以进行更有效的分析,因为诸如图1的分析服务器140之类的系统将处理更少的数据以产生具有相同信息值的结果。
在可选的s360中,使排序后的聚簇的结果显示在诸如在线仪表板上。这允许有效地查看该方法的结果,以识别热门路由和问题路由并相应地调整网站。例如,如果一条路由指示用户经过一定数量的步骤后离开了网站,则可以对这种路由进行调整。同样,如果热门路由需要的步骤被认为是不必要的或不合要求的,则可以简化和优化该路由以进一步提高转化的潜力。
应当注意,所公开的方法可以用于执行a/b测试,即通过比较相似但不同的网站版本来分析网站用户数据,以确定一个版本是否比另一版本带来了更多的转化。但是网站运营商必须警惕将来自不同版本的路由聚簇在一起。因此,即使网站中的元素相似并且相应地加上了标记,如果布局或其他调整的因素足够不同,则一起分析两组数据可能会产生带迷惑性的结果。
图4示出了显示根据实施例的方法的结果的仪表板的屏幕截图400。该屏幕截图400可以包括正在被分析的网页的图像410,以及在一条路由内采取的路径420。路由内的元素430可以被突出显示以进行有效分析。另外,确定的路由450的列表可以显示在屏幕上,从而允许网站所有者或运营商在每个聚簇路由中循环,以便查看网站用户已经与之交互的元素以及它们被访问的顺序。仪表板可以进一步包括统计信息440,诸如每个聚簇内包含的路由总数、每个聚簇内的总记录百分比等等。另外,可以对结果进行排序,以便识别和分析最受欢迎或最不受欢迎的路由。
本文公开的各种实施例可以被实现为硬件、固件、软件或其任何组合。此外,软件优选地被实现为应用程序,该应用程序有形地体现在由部分或某些设备和/或设备的组合组成的程序存储单元或计算机可读介质上。可以将应用程序上传到包括任何适当架构的机器并由其执行。优选地,机器在具有诸如一个或多个中央处理单元(“cpu”)、存储器和输入/输出接口的硬件的计算机平台上实现。该计算机平台还可以包括操作系统和微指令代码。本文描述的各种过程和功能可以是由cpu执行的微指令代码的一部分、应用程序的一部分、或者是其任何组合,无论是否明确显示了这种计算机或处理器。另外,各种其他外围单元可以连接到计算机平台,例如附加数据存储单元和打印单元。此外,非暂时性计算机可读介质是除了暂时性传播信号之外的任何计算机可读介质。
如本文中所使用的,短语“……中的至少一个”中的项目是指任何所列项目可以单独使用、或者使用两个或更多个所列项目的任何组合。例如,如果系统被描述为包括“a,b和c中的至少一个”,则该系统可以包括单独的a、单独的b、单独的c、a和b组合、b和c组合、a和c组合、或a、b和c组合。
本文中引用的所有示例和条件语言旨在用于教学目的,以帮助读者理解所公开的实施例的原理以及发明人为进一步发展本领域所贡献的概念,并且应解释为没有对这些具体叙述的示例和条件的限制。此外,本文中叙述所公开实施例的原理、方面和实施例及其特定示例的所有陈述旨在涵盖其结构和功能等同物。另外,本文所指的等同物包括当前已知的等同物以及将来开发的等同物,即,开发出执行相同功能而与结构无关的任何元件。
1.一种用于分析网站访客行为的方法,包括:
分析与多个网站访客中的每一个网站访客的网站访问相关联的网站访客记录;
基于所述网站访客记录,确定多个网站访客中的每一个网站访客在网站内采取的路由,其中,所述路由包括用户与网站元素交互的时间顺序;以及
基于共同路径流将多个路由划分为聚簇。
2.根据权利要求1所述的方法,还包括:
按路由数量对所述聚簇进行排序。
3.根据权利要求1所述的方法,其中,用户交互包括以下各项中的至少一项:在元素上的单击、在元素上的悬停、滚动事件、鼠标移动和文本选择。
4.根据权利要求1所述的方法,其中,网站元素包括文档对象模型(dom)元素。
5.根据权利要求4所述的方法,还包括:
标记每个dom元素。
6.根据权利要求5所述的方法,其中,将多个路径划分为聚簇还包括:
比较每个dom元素的标记,并将包含元素的等效标记的路径分类到单个聚簇中。
7.根据权利要求1所述的方法,其中,将多个路由划分为聚簇还包括:
计算以下各项中的至少一项:每个路由内的关键性能指标的数量、每个路由内采取的步骤数量、每个路由内花费的总时间。
8.根据权利要求1所述的方法,还包括:
清理路由,其中,清理包括以下各项中的至少一项:从路由中移除在预定事件之后的元素、从路由中移除非常大的元素、从路由中移除点击次数低于预定计数的元素、以及从路由中移除停留时间少于预定时间的悬停元素。
9.根据权利要求1所述的方法,还包括:
将数据序列化应用于网站访客元数据。
10.一种非暂时性计算机可读介质,其上存储有指令,所述指令用于使处理电路执行处理,所述处理包括:
分析与多个网站访客中的每一个网站访客的网站访问相关联的网站访客记录;
基于所述网站访客记录,确定多个网站访客中的每一个网站访客在网站内采取的路由,其中,所述路由包括用户与网站元素交互的时间顺序;以及
基于共同路径流将多个路由划分为聚簇。
11.一种用于使处理电路系统执行处理的系统,包括:
处理电路;以及
存储器,所述存储器包含指令,当所述指令由处理电路执行时,将所述系统配置为:
分析与多个网站访客中的每一个网站访客的网站访问相关联的网站访客记录;
基于所述网站访客记录,确定多个网站访客中的每一个网站访客在网站内采取的路由,其中,所述路由包括用户与网站元素交互的时间顺序;以及
基于共同路径流将多个路由划分为聚簇。
12.根据权利要求11所述的系统,其中,所述系统还被配置为:
根据路径数量对所述聚簇进行排序。
13.根据权利要求11所述的系统,其中,用户交互包括以下各项中的至少一项:在元素上的单击、在元素上的悬停、滚动事件、鼠标移动和文本选择。
14.根据权利要求11所述的系统,其中,所述网站元素包括文档对象模型(dom)元素。
15.根据权利要求14所述的系统,其中,所述系统还被配置为:
标记每个dom元素。
16.根据权利要求15所述的系统,其中,将多个路径划分为聚簇还包括:
比较每个dom元素的标记,并将包含元素的等效标记的路径分类到单个聚簇中。
17.根据权利要求11所述的系统,其中,将多个路由划分为聚簇还包括:
计算以下各项中的至少一项:每个路由内的关键性能指标的数量、每个路由内采取的步骤数量、每个路由内花费的总时间。
18.根据权利要求11所述的系统,其中,所述系统还被配置为:
清理路由,其中,清理包括以下各项中的至少一项:从路由中移除在预定事件之后的元素、从路由中移除非常大的元素、从路由中移除点击次数低于预定计数的元素、以及从路由中移除停留时间少于预定时间的悬停元素。
19.根据权利要求11所述的系统,其中,所述系统还被配置为:
将数据序列化应用于网站访客元数据。
技术总结