友盟+搜索

{{errorMsg}}

基础知识

统计基础——用户行为、事件、属性和指标

用户行为

Dplus的统计基础是“用户行为”,用户行为一般由5个要素构成:谁、何时、何地、发生动作和动作内容。举个例子:“用户A于3月19日在iphone6s上登录手机淘宝首页。”这样一个用户行为可以拆解出5要素:谁(用户A)何时(3月19日)何地(在iphone6s上)发生动作(登录)动作具体内容(手机淘宝首页)。这5个要素通过“发生动作”联结。我们将“发生动作”定义为“事件”。

3.2.1(1)

事件

我们可以认为事件是一次用户行为中的“发生动作”。我们围绕“发生动作”,再加上具体的发生场景,如时间、地点、人物等,就构成了一条完整的用户行为。

属性

我们把用户行为中的“发生动作”定义为“事件”,那么用户行为的其他要素就是该事件的属性,“属性”是对事件的描述信息。还比如刚才的例子,“用户”、“时间”、“地点”和“具体动作内容”就是“登陆”这个事件的四类属性,这4类属性可分别标记为“用户属性”、“时间属性”、“地点属性”和“客体属性”。属性可以作为用户分组和筛选的条件。

例如,用“用户属性”进行分组,表示查看该类行为动作的用户分层,比如“最近1天登陆网站的新老用户占比”;用“用户属性”进行筛选,表示分析某类特定人群的行为动作,比如“最近1天登陆网站的新用户人数”。

用“时间属性”进行分组,表示查看该类行为动作的时间段特征,比如“过去1年内登陆网站的用户各月占比”;用“时间属性”进行筛选,表示分析某特定时段的行为动作,比如“2016年3月的新增用户数”。

用“地点属性”进行分组,表示查看该类行为动作的地域/渠道/方式特征,互联网行为的“地点属性”是一个宽泛概念,包括发生行为的自然地域特征、设备特征以及网络特征。

用“客体属性”进行分组,表示动作行为的分流特征,比如“最近1天登陆淘宝首页人数”与“最近1天登陆天猫首页人数”。

属性值

属性值是属性的具体实例,比如“用户属性”,它的属性值可以是“新用户、老用户”,也可以是“男性、女性”,或则“婴儿、儿童、少年、青年、中年和老年”等,属性值是属性的具体表达,根据属性使用场景而定。

指标

我们进行分析时,最终要落脚到对指标的分析。指标是对行为事件的数值性衡量,是具体的数。

在U-Dplus产品中,指标是由事件、属性和属性值组合而成。指标可以度量事件,也可以度量事件的某种属性。

对于事件的度量,都可以按照以下几种方式转化为指标:

触发次数: 在选定时间范围内,该事件被触发的次数。

触发用户数: 在选定时间范围内,触发该事件的独立用户数。

人均次数: 在选定时间范围内,独立用户触发该事件的平均次数。

对于事件的某种属性的度量,可以分析该事件属性的以下几类数值:

去重数:在选定时间范围内,该属性出现的独立去重个数。

累加值: 在选定时间范围内,该属性的取值求和。(用于数值型属性。)

最大值: 在选定时间范围内,该属性取值的最大值。(用于数值型属性。)

最小值: 在选定时间范围内,该属性取值的最小值。(用于数值型属性。)

平均数: 在选定时间范围内,该属性取值的算术平均值。(用于数值型属性。)

计数:在选定时间范围内,该属性值被统计的次数。(用于数值型属性。)

默认事件与属性

U-Dplus提供的默认事件和默认属性如下:

Web端默认事件:

WEB访问(预置):用户从web端进入互联网的动作称为“WEB访问”。用户从进入网站到离开网站的过程记为一次访问,也称会话(Session)。30分钟内无动作,再次操作时访问量会增加一次。

访问时长(预置):用户每次访问(会话)在网站上的停留时间,从进入网站开始计时,到离开网站结束统计。如果时间跨度超过30分钟,则访问时长记为30分钟。

浏览页面(预置):浏览器加载网页的行为称为“浏览页面”,一次访问(会话)中可出现多次浏览器加载网页的行为。即浏览次数>=访问次数。

Web端默认属性如下:

SDK类型 (ali_lib):用于标识哪种SDK收集的统计数据。SDK即为软件开发包,俗称“接口”,它就是一个程序,提供一些方法,通过调用这些方法,可以实现一些功能。SDK类型有很多划分维度,可以按照适配的操作系统进行划分,比如web SDK、Android SDK和iOS SDK,根据编程语言分为Python SDK、java SDK等,甚至可以根据有无UI界面分为“不带UI界面的SDK”和“带UI界面的SDK”。此处选择按照适配的操作系统的划分维度,网站端的一般默认“Web”类型,应用端的分为“iOS”和“Android”类型。

分辨率宽度 (screen_width):设备的分辨率宽度,如1080。

分辨率高度 (screen_height):设备的分辨率高度,如1920。

操作系统 (os):设备的操作系统,例如window7、window8、linux等。

设备品牌 (device_brand):设备的品牌,例如apple、xiaomi、oppo、vivo等,此属性仅支持应用端,网站端默认为“未知”。

设备型号 (device_version):设备的型号,例如iPhone5、iPhone6、iphone7等,此属性仅支持应用端,网站端默认为“未知”。

设备类型 (device_type):设备的类型,如“手机,PAD,PC”,网站端一般为“pc”。

国家 (country):设备所在国家,从IP中解析出的国家名称,不能手动设定。

省 (region):设备所在省份 从IP中解析出的省份名称,不能手动设定。

市 (city):设备所在城市,从IP中解析出的城市名称,不能手动设定。

新老用户 ($ne_ol):新老用户标识,新访客仅当天内作为新用户。

浏览器 (browser):设备发送事件时使用的的浏览器名称,如chrome、搜狗高速浏览器、UC等。

来路页面 (referrer):事件发生页面的来路页面URL。

来路域名 (referrer_domain):事件发生页面的来路页面域名。

utmXXX (utmXXX包括:utmsource, utmmedium, utmterm, utmcontent, utmcampaign) 访客来路URL所带的utm标签。JavaScript SDK能够自动帮您收集广告链接中的utm标签,具体包括:

utmsource (utmsource):来标识搜索引擎、简报名称或其他来源,例如:utmsource=google。

utmmedium (utmmedium):标识媒介,比如电子邮件或每次点击费用,例如:utmmedium=cpc。

utmterm (utmterm):来注明此广告的关键字,通常用于付费搜索。

utm content (utmcontent):用于 A/B 测试和以网页内容定位的广告,区分指向同一网址的广告或链接,如:utmcontent=logolink或utmcontent=textlink。

utm campaign (utmcampaign):来标识特定的产品促销活动或战略性广告系列,例如:springsale

首次来路页面 (initialreferrer):用户历史上第一次触发事件所在页面的来路页面URL。

首次来路域名 (initial referrerdomain):用户历史上第一次触发事件所在页面的来路页面完整域名。

搜索引擎 (search engine):用户通过使用该搜索引擎来到您的网站; 如果用户多次使用不同的搜索引擎来到您的网站,新值将覆盖旧值。

搜索词 (keyword):用户通过搜索该关键词来到您的网站;如果用户多次搜索不同的关键词来到您的网站,新值将覆盖旧值。

事件所属页面(resource):事件被埋码的页面,一般用于分析被监控的事件在不同页面的表现情况,特别用于跨页面的事件行为。比如“浏览行为的触发次数”,按照“事件所属页面”进行分组,就可以查看不同页面的浏览情况。

事件所属域名(resource_domain):事件被埋码的页面对应的域名,用法与“事件所属页面”类似。

最近站外来源 (recentoutsidereferrer):用户通过站外来源域名(站外判断标准:当前页面的来源域名与config参数中的sitehost值不相同时,就为站外,如果您没有设置过sitehost,则来源于受访页面域名不同时,就为站外)进入网站;如果用户多次从不同的站外来源来到您的网站,新值将覆盖旧值。用户在站内的持续浏览,将不改写该值。

APP端默认事件如下:

使用时长(预置):APP的单次使用时长=本次启动的结束时间减去本次启动的开始时间,即end_time减去start_time。如果在本次启动过程中,应用退到后台运行,后台运行时间不超过30s,则此时间会被计算到应用的单次使用时长中;后台运行时间超过30s,则视为本次使用结束,运行到后台的时间不会被计入单次使用时长中。具体参见详细介绍

APP启动(预置):打开APP使用算一次启动,具体统计原理参见详细介绍

APP端默认属性如下:

SDK类型 (ali_lib):用于标识哪种SDK收集的统计数据。SDK即为软件开发包,俗称“接口”,它就是一个程序,提供一些方法,通过调用这些方法,可以实现一些功能。SDK类型有很多划分维度,可以按照适配的操作系统进行划分,比如web SDK、Android SDK和iOS SDK,根据编程语言分为Python SDK、java SDK等,甚至可以根据有无UI界面分为“不带UI界面的SDK”和“带UI界面的SDK”。此处选择按照适配的操作系统的划分维度,网站端的一般默认“Web”类型,应用端的分为“iOS”和“Android”类型。

APP渠道(channel):**下载APP的应用市场,需要调用setChannel()方法进行配置,iOS拥有默认值:App Store。Android默认值为“未知”。**

APP版本(app_version):APP设备版本号,比如5.0.2.0,APP版本需要与设备型号结合一起看才有意义。比如5.0.2.0 iphone6,5.0.2.0 iphone7,5.0.2.0 iphone8等。

上次APP版本($pr_ve):当前版本的前一个版本。

用户升级(或新增)日期($ud_da):版本升级时日期。

分辨率宽度 (screen_width):设备的分辨率宽度,如750。

分辨率高度 (screen_height):设备的分辨率高度,如1334。

操作系统 (os):设备的操作系统,例如iOS、Android等。

操作系统版本(os_version):操作系统的版本,需要与操作系统结合一起看才有意义。比如10.0.2 iOS,4.4.1Android。

设备品牌 (device_brand):设备的品牌,例如apple、xiaomi、oppo、vivo等,此属性仅支持应用端,网站端默认为“未知”。

设备型号 (device_version):设备的型号,例如iPhone5、iPhone6、iphone7等,此属性仅支持应用端,网站端默认为“未知”。

设备类型 (device_type):设备的类型,如“手机,PAD,PC”,网站端一般为“pc”。

国家 (country):设备所在国家,从IP中解析出的国家名称,不能手动设定。

省 (region):设备所在省份 从IP中解析出的省份名称,不能手动设定。

市 (city):设备所在城市,从IP中解析出的城市名称,不能手动设定。

新老用户 ($ne_ol):新老用户标识,新访客仅当天内作为新用户。

浏览器 (browser):设备发送事件时使用的的浏览器名称,如chrome、搜狗高速浏览器、UC等。

Web端默认指标含义:

指标名称 含义
WEB访问(预置)的触发次数 从web端进入网站进行访问的次数,即为会话次数。
WEB访问(预置)的触发用户数 从web端进入网站进行访问的独立用户数,去重。
WEB访问(预置)的人均出发次数 从web端进入网站进行访问的人均访问次数,即为触发次数/触发用户数。
WEB访问(预置)的IP 从web端进入网站进行访问IP数,去重。
页面浏览(预置)的触发次数 访客打开页面的次数,即为PV。
页面浏览(预置)的触发用户数 打开页面的独立用户数,去重。
页面浏览(预置)的人均出发次数 人均打开页面次数,触发次数/触发用户数。
页面浏览(预置)的IP 打开页面的访客IP,去重。
访问时长(预置)的平均访问时长 平均每次访问(会话)在网站上的停留时间。平均访问时长=访问时长/访问次数。

APP端默认指标含义:

指标名称 含义
APP启动(预置)的触发次数 APP启动次数。
APP启动(预置)的触发用户数 APP启动独立用户数,去重
APP启动(预置)的人均出发次数 APP启动的人均次数,启动触发次数/启动触发用户数
访问时长(预置)的平均访问时长 平均每次访问(会话)在APP上的停留时间。平均访问时长=访问时长/访问次数。

如何制定埋码需求?

常见的个性化监控需求

推广相关:各广告引入的用户量、注册用户量、下单用户量
指导产品设计:重点功能、按钮的使用情况。流程上各节点的转化情况,分析哪些节点流失严重。
指导内容运营:某一类页面,例如“头条”、“娱乐新闻”、“体育新闻”的浏览情况。
盘活用户:用户第一次来访后,多久会完成注册。

需求如何通过埋码与功能模块来实现

为了获得这些特定数据,就需要在应用中调用Dplus的API代码,标记“用户”和“事件”,以及对应的“属性”。点此了解“用户行为”、“事件”、“属性”和“指标”
再通过Dplus的“细分”、“漏斗”、“留存”、“分群”等分析模块,组合出这些数据。

例如需要数据:
投放在“优酷暂停页”的广告引入的访客中完成了注册操作的人数。
则需要完成下面的操作:
1) 在访客点击广告到达网站时,识别广告来源,调用dplus.register为访客标记属性“广告来源”,属性值为“优酷暂停页”。

2) 在注册成功后,调用dplus.track发送“注册成功”事件

3) 进入“细分”功能,按“广告来源”属性细分“注册“事件获得数据。

常见的埋码场景

关于对“人”和“事件”的标记,我们整理了一些常见的埋码场景,供您参考。

触发行为

事件:注册,属性:“账户来源类型”、“注册位置”……
事件:登录,属性:“登录用户名”、“登录用户类型”、“登录位置”……
事件:浏览页面,属性:“页面标题”、“所属分类”……
事件:下单,属性:“金额”、“订单号”、“商品名”……
事件:完成支付,属性:“金额”、“订单号”……
事件:点击某交互按钮,如:返回顶部、翻页
注: 1) 以上场景需要调用dplus.track()等方法进行埋码。
2) 事件属性是分析数据时可以应用的细分维度,例如为“注册”事件埋点时,添加了“账户来源类型”属性,则看报表时,就可以看到不同来源类型,如“直接注册”、“微博第三方授权”、“QQ第三方授权”分别有多少用户进行了注册。详细了解属性。

识别用户

用户登录,标记“用户名”
用户打开邮件,标记用户名。用户通过邮件点入网站,读取邮件来源信息中的用户名,标记“用户名“,使邮箱与产品两个域的访客对应。

注:
1) 以上场景需要调用dplus.identify()方法进行埋码。

标记超级属性

访客通过广告进入,为访客标记属性“广告来源”。
访客通过EDM邮件进入,为访客标记属性“邮件标题”、“来源邮箱”
用户登录或注册后,标记“会员级别”等。
在用户的属性更新时(如:会员级别提升),更新超级属性。
注:
1) 以上场景需要调用dplus.register()方法进行埋码。
2) 人的超级属性,一旦被标记,则该访客触发的所有事件,都会带有这个属性,可以用于细分或条件筛选。例如:为访客标记广告来源,则该访客触发的注册、下单行为,都可以获得广告来源信息。

整理成埋码需求表

如果您需要开发工程师帮您完成布码,那可以将需求填写在如下形式的表格中,会更容易的让工程师了解需求,减少沟通成本。

点此下载需求表

行为埋点需求表范例

编号 调用API 布码位置 事件名 属性名 属性值 备注
1  dplus.track() 注册成功页面 注册 注册用户名 $当前注册的用户名
 账户来源类型  直接注册微博QQ
2 首页 浏览页面 页面名称 首页
页面URL $当前页面URL
一级分类 首页
 3 文章页面 浏览页面 页面名称 $当前页面title
页面URL $当前页面URL
所属一级分类 $对应的左侧菜单一级类目名称
所属二级分类 $对应的左侧菜单二级类目名称
识别用户需求表范例
编号 调用API 布码位置 用户标识 备注
 1  dplus.identify() 登录后  $该登录用户的用户名

标记超级属性需求表范例

编号 调用API 布码位置 属性名 属性值
 1  dplus.register() 广告到达页面 广告来源 $当前广告标识

注意:
1)“$”表示动态值。
2)当有一些复杂需求时,简单的使用这三个API,并不能完全实现,可以参考此处,查看更多应用场景。

如何部署自定义代码?

先有基础代码,后有自定义代码

部署自定义代码指调用SDK中的相关API,回收个性化需求数据。在“集成SDK”中,介绍了如何部署基础代码。基础代码可以在登录DPlus后,从“项目管理-统计代码”页面获得。

Dplus目前提供三种平台的SDK,点击下方链接,可以查看各API的应用场景和调用规范:
JavaScript
iOS
Android
如果您使用的是JavaScript SDK,则在页面上调用任何Dplus API之前,请先确认该页面已经部署了基础代码,并且token匹配正确。若您使用iOS或Android API,也请先确认已在APP中导入了SDK包,且token匹配正确。

如何理解布码需求

在“如何制定埋码需求?”中,讲解了如何制定布码方案,您可能会拿到如下表所示的布码需求文档。

行为埋点需求表范例

编号 调用API 布码位置 事件名 属性名 属性值 备注
1  dplus.track() 注册成功页面 注册 注册用户名 $当前注册的用户名
 账户来源类型  直接注册微博QQ
2 首页 浏览页面 页面名称 首页
页面URL $当前页面URL
一级分类 首页
 3 文章页面 浏览页面 页面名称 $当前页面title
页面URL $当前页面URL
所属一级分类 $对应的左侧菜单一级类目名称
所属二级分类 $对应的左侧菜单二级类目名称

以这个表格为例:
· “布码位置”描述了需要在哪些页面的哪些位置写入dplus.track()方法。如果该位置是某个页面,则您可以在该页面源代码中任意位置调用该方法,建议靠近页面头部,这样数据会更全。如果该位置是某个链接或者会引起跳转的按钮,建议您在链接的onclick()事件中调用dplus.track_links()方法。

· “事件名”、“属性名”和“属性值”,前两个原样照抄,替换下方代码模板中对应位置即可。其中“属性值”部分不带“$”的指绝对值,可以按照需求原样照抄,带“$”的为变量可能需要从接口获得、从某个页面中的变量获得,或者需要写一段代码后生成。例如: document.title。

dplus.track("事件名",{
属性名1: "属性值1",
属性名2: "属性值2"
});

·“备注“,并不需要在API调用时写入,可以作为注释。 更多API的使用方式,请参见各平台的详细集成文档。

埋码注意事项

·“事件名”、“属性名”、“属性值”,这三个字段的值,将输出到Dplus的前台报告上,直接影响报告的可读性,所以建议您尽量使用有语义的词语,如:“点击返回顶部”,不要使用开发常用的命名方式,如:“clickupbotton”