移动端数据埋点那些事

经历了数据埋点从无到有,以及迭代了N个版本进行优化,对于数据埋点有一些心得,在此整理和各位分享。

数据埋点意义

首先要明确下你们要埋点有哪些目的,例如从而确认埋点的方式以及要埋的内容,例如我们埋点的目的包括两个:

用于广告数据的统计,此时需要和商务沟通要埋点的数据,包括PV和点击,方便后续和广告主结算时作为依据;(注意广告主一般结算时只认可IDFA→iOS、IMEI→Android,因此需要在上报这些时间的同时上报这个字段)

了解产品的日常运营数据以及通过数据得出后续迭代的需求,此时需要和各个业务线的产品同学沟通,看看需要针对哪些数据进行统计

数据埋点方式

包括原生和第三方两种形式,其中第三方包括私有化部署和非私有化部署两种方式,私有化部署即服务器为业务方自己的,对于数据保密性要求较高的可以使用该方案。两种方案优缺点如下:

原生方案

优点:后台展示的样式可以按照需求自定义;

缺点:开发成本较大,包括后台展示以及埋点的方式需要自行开发完成;

第三方方案(如果平台较小,对于数据要求没有很高,可以采用该方案)

优点:开发成本低,只要按照SDK中规定的方式上报即可;

缺点:模板化,即后台样式没有办法自定义,只能够查看第三方后台提供的信息;

在此推荐下神策数据(即我们目前的服务商),售后服务好,如果对SQL语句比较了解的话,可以通过后台自定义查询更多的数据;

数据埋点实施(以神策埋点为例)

埋点包括服务端埋点和客户端埋点两种形式,常规采用客户端埋点即可。

埋点框架

神策埋点主要包括如下逻辑:

1)包括事件和用户两个数据表。其中事件表包括事件和事件所属属性两层逻辑,例如一个事件叫做充值按钮点击,其中的属性可能就是充值按钮的位置、充值方式、当前余额等信息;用户表则包括一些用户固有的属性,例如性别、地区、设备号、手机系统版本等;

2)每条记录都是以用户为维度,可以查看单个用户的行为记录。

埋点实例

给开发提需求埋点时需要注意如下几个点

1)埋点事件以及其属性的英文名称------>很重要,包括英文字母大小写,否则会出现后台中Android和iOS分别对应两个事件名称,极其不方便维护

2)该事件属性的值

a)值的数据统一,例如定义充值按钮点击来源为下载页面,不要出现Android和iOS的名称不一致

b)列表定义一致,不要出现Android列表第一条数据值为0,iOS列表第一条数据值为1

c)异常情况考虑,例如没有传递该值,不要出现一端传空值,一端传null的情况

3)该事件的触发时机

例如充值按钮点击,是在充值完成上报还是点击时即上报,是否需要登录状态上报,如果没有网络时点击是否上报等,否则会出现双端逻辑不一致,导致后期数据没有太大的意义

4)注意:埋点一定要区分线上环境和测试环境的数据,否则脏数据过多,对于数据分析的结论有很大的影响

你可能感兴趣的:(移动端数据埋点那些事)