移动应用要如何埋点上传才能收集更多数据?

作者: 少校seo 分类: 黑帽seo资讯 发布时间: 2019-09-11 23:02

作者简介

在阿里巴巴移动部门工作的程俊杰是一名数据技术专家。主要负责业务数据分析和挖掘系统的架构和设计,包括大规模数据收集、分析和处理、数据挖掘、数据可视化、高性能数据服务等。

1导言

最近,我的同事们总结了业内各种掩埋技术,在此基础上,结合以前的一些经验和想法,我将谈谈数据的产生和收集。

很久以前,也就是说,在个人电脑时代,由于存储和计算能力有限,人们很少使用日志来分析业务。然而,在业务逻辑中,要由业务分析的数据被预先写入数据库,并且对数据库数据进行统计分析。因此,以前做OLAP需要非常高级别的硬件支持。每个人都去IOE和其他地方购买昂贵的服务器用于数据仓库和数据分析。由于成本问题,我们得到的数据很少,所以统计分析和挖掘的收入很少。

随着Hadoop的兴起,分布式文件系统和分布式计算大大降低了存储和计算成本,使得现在使用日志分析业务成为可能。

2数据

对于移动应用,分析的数据可以大致分为两种类型,一种是在线数据,另一种是离线数据。在线数据,即应用后端服务生成的日志数据,如服务接口的性能数据、服务接口的调用及其参数等。通过服务终端的日志数据,不仅可以统计服务接口的性能指标,还可以对具体的业务逻辑进行相关分析。一些常见的应用程序分析指标,如添加、活动、累积、保留等。也可以通过服务日志进行计数。

相应的离线数据是由应用程序客户端自身生成的数据,通常发生在客户端不调用底层服务时。需要离线数据来理解用户在客户端的行为。离线日志通常记录用户在客户端的特定行为,如不涉及后端服务的操作,如拖动、上下滚动、翻页等。以及应用程序本身的折叠行为产生的数据,这些数据可以被记录下来。通常,记录的内容包括事件类型、控制号、控制属性和相关参数、事件时间等。

3在线日志

通常有两种类型的在线日志:

4脱机日志

离线日志通常有两种类型:

5个埋葬点并上传

无论在线还是离线,我们必须首先确认在哪里记录日志,所以我们引入了埋藏点的概念。一般来说,在正常的业务代码逻辑中,添加日志代码被称为埋葬点。但是,一般来说,隐藏点仅用于描述客户端日志记录。

由于在线日志是直接在服务器端生成的,因此日志收集工具可以直接从包含日志的服务器收集日志数据到相应的文件系统,因此不存在日志上传问题。但是,对于离线日志,数据是在客户端移动应用程序隐藏点生成的,因此必须考虑上传机制。

6离线日志上传机制

业界采用的离线日志上传机制如下:

服务器提供了一个日志记录接口。当客户端有事件时,它直接调用日志记录接口在服务器上记录日志。

服务器端提供日志上传界面。客户端在本地临时存储日志。当日志达到一定大小并且网络环境允许时,日志文件被打包、压缩并通过上传接口上传。

第一种上传方式在时效性上有一定保证。当网络环境允许时,它可以及时将信息记录到服务器上。但是,当有更多的嵌入点时,日志产生的流量将会很大,占用很大的带宽,给用户带来损失。同时,前端的一些行为,例如活动中的停留时间,不能通过这种在线方法来捕获。另一个重要问题是,由于没有客户端数据的临时存储机制,当网络暂时不可用时,日志接口无法正常调用,所有日志都将丢失。第二种方法时间效率较低,因为它需要等待数据积累到一定程度,或者当网络允许时,例如在wifi的情况下,才发送,但是占用的带宽相对较小,并且捕获客户端动作相对灵活。

七个埋葬点的三个方案

1.传统埋葬点:开发人员直接将这一点埋葬在客户身上。

2.视觉嵌入点(visual embedded point):由于传统嵌入点的一系列问题,视觉嵌入点方案自然产生。可视化交互被用来代替代码编写,核心代码和配置黑帽seo与资源分离。在应用程序启动时,嵌入点功能是通过更新网络上的配置和资源来实现的。

数据增长第一步:选择“最优”的埋点采集方式

[IT168点评]在这个大数据的时代,基于经验的敲额决策方法已经过去,数据的重要性不言而喻。数据分析的第一步是做好从数据源收集数据的工作。今天的主题是:数据埋葬点。

埋葬点:数据分析的第一步

大数据是大数据的价值,它通过从大量混杂的数据中挖掘和分析用户的行为习惯和偏好,找出更符合用户“品味”的产品和服务,并根据用户需求调整和优化自身。然而,收集和分析这些信息不能避免“埋藏点”。诸葛io为企业提供了一种灵活的嵌入点的方式,允许各个部门和角色轻松控制数据收集:

——代码(Code)嵌入点:更精确的数据收集和更注重商业价值的数据收集(诸葛io的专业数据咨询团队可以提供定制的嵌入点方案,使数据分析有针对性);

-全埋点:不需要人工埋点,所有操作都是自动埋点,统计数据按要求处理;

-可视化埋葬点:界面埋葬点管理配置不需要开发人员干预,埋葬点更新更方便,生效更快;

“埋葬点”小科普

掩埋点(Buried point)是在需要的位置收集相关信息,就像高速公路上的摄像头一样,可以收集车辆的属性,如颜色、车牌号码、车型等信息,以及车辆的行为,如是否闯红灯、是否按了线、车速、驾驶员在行驶时是否接了电话等。如果摄像机分布理想,不同位置摄像机采集的信息可以叠加在一起,完全还原某辆车的路径和目的地,甚至可以推断司机的驾驶习惯,他是否是老司机等。

然后,每个埋藏点就像一个摄像头,收集用户行为数据,对数据进行多维交叉分析,能够真实还原用户使用场景,挖掘用户需求,从而提高用户整个生命周期的最大价值。

解锁埋藏点的4个“姿势”

为了更准确地收集大量数据,并为后续工作创造一个“纯”的数据分析环境,埋点技术应运而生。数据库是否合并取决于数据收集方法。埋葬点有很多种,根据埋葬点的位置可以分为前端(客户端)埋葬点和后端(服务器)埋葬点。前端埋葬点包括代码埋葬点、完整埋葬点和可视埋葬点。

多种采集方法的比较

全嵌入点:通过SDK收集页面上所有控件的操作数据,并通过“统计数据屏幕”配置待处理数据的特征。

优点:操作简单快捷,埋点统计数据无需按需处理。

缺点:数据上传消耗大量流量,并且只有一个数据维度(仅点击、加载和刷新);对用户体验的影响——目录在用户使用过程中容易出现,严重影响用户体验;噪声大,数据精度不高,容易产生干扰;您不能自定义埋点收集的信息。

像卫星拍摄一样,没有必要一个接一个地安装摄像机,但是数据量很大,很容易丢失,也很难挖掘关键信息。因此,全嵌入方法主要应用于简单页面的场景,如短期活动中的登陆页面/特殊页面,点击分布的效果需要快速测量。

视觉嵌入点:嵌入SDK,视觉圆选择和定义事件

为了方便学生学习产品和操作,他们可以直接在页面上做一个简单的圆圈选择来跟踪用户的行为(定义事件)。

只收集点击操作以节省开发时间。诸葛io最近支持JS可视化嵌入点。

优点:界面配置,无需开发,埋设点更新方便,生效迅速

缺点:对埋设点自定义属性支持不佳;重新配置或页面更改需要重新配置;

像卫星航空摄影一样,它不需要安装摄像机,数据量小,支持本地信息采集。因此,JS可视化嵌入点更适合于短、平、快速的数据采集方法,如activity /H5等简单页面。业务人员可以直接循环,无门槛操作,减少技术人员的干预(从此和平)。这种数据采集方法便于业务人员尽快掌握页面中关键节点的转换,但用户行为数据的应用相对较浅,无法支持更深层次的分析。

此外,如果页面临时调整,可以灵活添加嵌入点来补充代码嵌入点,从而及时增加收集的数据

代码埋葬点(Code Plain Point):嵌入SDK,定义事件,添加事件代码,按需收集,业务信息更加完善,数据分析更加集中。因此,代码隐藏点是基于业务价值的行为分析。

优点:数据采集全面、准确,便于后续深度分析(埋点精度序列:编码埋点>可视埋点< SDK小,不影响应用本身的使用体验)。

#p#分页标题#e#

弱点:需要R&D人员配合并有一定的工作量

如果您不想在收集数据时降低用户体验;如果你不想收集大量无用的数据;如果你想收集数据:更细的粒度,更多的维度,更高的数据分析精度。然后,考虑到业务增长的长期价值,请选择代码嵌入点。

服务器的隐藏点:它可以支持其他业务的数据收集和集成,如客户关系管理和其他用户数据,并通过接口调用来构造数据。因为数据是直接从服务器收集的,所以数据的准确性更高,并且适合具有自己收集能力的客户,或者可以与客户收集结合起来收集。

例如:

1.通过调用应用编程接口,客户关系管理等数据与用户行为数据相结合,对用户进行全方位、多角度的分析。

2.如果一个企业已经有了自己的隐点系统,可以通过服务器端采集直接上传用户行为数据到诸葛io平台进行数据分析,而不需要维护两个隐点系统;

3.通过历史数据(埋葬点之前的数据)和新数据(埋葬点之后的数据)来提高数据的准确性。例如,在客户访问客户端并收集之后,在导入原始历史数据之后,以前的现有用户访问平台将不会被标记为新用户,从而减少数据错误。

如何“埋葬它”?

埋葬听起来“不清楚”,但实际上非常简单,就像“在路上安装摄像头”。

1.结合产品用户行为并确定事件分布

埋设点方案≈摄像机安装分布方案

童鞋经常咨询诸葛俊:数据分析需要哪些数据?要回答这个问题,我们必须首先阐明目的和逻辑。

诸葛io数据分析的对象和基础是用户行为。选择记录和分析哪些用户行为直接影响分析工作的价值输出。诸葛俊建议选择与产品目标和当前优先级问题最密切相关的用户行为作为事件。以电子商务为例,过程中的每一个用户行为都被定义为一种事件,并由此得到事件分布的逻辑。

2、记录事件,理解和分析用户行为

≈确定摄像机记录的信息是非法拍摄还是速度测量?

在整理出需要记录和分析的用户行为并完成事件分布表后,接下来,在研发工程师的协助下,软件开发工具包将根据您的应用程序的平台类型(iOS、安卓、JS)进行连接。每个事件的分布将成为一个非常短的程序代码——当用户做出相应的行为时,您的应用程序将运行这个代码并将相应的事件记录到诸葛io。当用户在分发完成和产品发布后开始使用新版本的应用程序时,使用行为数据将自动传输到诸葛io,以便您可以执行以下分析。

在这一步中,诸葛io的CS团队将为企业提供支持,并协助技术团队成功完成数据收集的第一步。

3.通过识别记录用户的身份

用户的行为被记录在诸葛io中,也就是说,用户做了什么?在分析用户的过程中,还有另一种非常有用的信息,即:谁是用户(助教的身份证和姓名)以及什么特征(助教的年龄、类型...)?您可以通过诸葛io平台的识别过程将用户的身份和特征传递给诸葛io,并使用识别信息进行精细分析:

用户组的细分:用户属性的一个非常重要的作用是将用户分成多个组。您可以根据“标识”的属性定义筛选标准,并细分用户组。例如,你可以使用“性别=女性”的条件来筛选所有的女孩,然后分析女孩的行为特征和转化率...

基于属性的比较:分段的一个重要目的是比较黑帽seo。你可以根据“性别”进行细分,然后比较“女孩”和“男人”在行为、转变和保持方面的差异。

基于属性的人群肖像:您可以根据用户属性对产品的任何用户组执行“肖像分析”,这些属性包括男女比例、地区分布、年龄级别、用户组的用户类型...

回到开始时的问题,哪种埋葬方法最理想?

就像硬币有两面一样,任何一种嵌入方法都有其优缺点。试图通过简单而粗糙的代码行/一次性部署嵌入硬币,甚至牺牲用户体验,都不是企业所期望的。

因此,数据收集只是数据分析的第一步,如何计算无埋点。数据分析的目的是深入了解用户行为,挖掘用户价值,并进一步促进业务增长。诸葛io认为,最理想的埋设点方案是根据不同的业务和场景、行业特点及其实际需求,通过优势互补和劣势结合埋设点,如:

1.代码埋藏点+全埋藏点:当需要对登陆页面进行整体点击分析时,逐个嵌入点的工作量相对较大,频繁优化调整登陆页面时,更新嵌入点的工作量不可低估。然而,复杂的页面有死角,无法收集完整的嵌入点。因此,代码隐藏点可以作为收集用户核心行为的辅助手段,从而实现准确的跨领域用户行为分析。

2.代码埋葬点+服务器埋葬点:以电子商务平台为例。在支付过程中,用户将跳转到第三方支付平台。支付是否成功需要通过服务器中的交易数据来验证。此时,可以通过将代码埋藏点与服务器埋藏点相结合来提高数据的准确性。

3.代码埋藏点+可视埋藏点:由于代码埋藏点工作量大,可以通过核心事件代码埋藏点和可视埋藏点收集数据,以补充和补充方法。

为了满足精细准确数据分析的需要,可以根据实际分析场景选择一种或多种组合采集方法。毕竟,收集完整的数据并不是目的,而是实现有效的数据分析。从数据中找到关键决策信息以实现增长是最重要的。