1.熟练掌握神策分析常用基础指标配置
1.1 基本概念
指标:具体的数值,如访客,页面浏览量,停留时长等
计数指标:访客、访问、展示和点击、页面浏览量、停留时长等
复合指标:跳出率、交互深度、转化率等跳出率:该页面跳出的访问次数占该页面总访问次数的百分比
交互深度:用户在一次浏览中访问的页面越多,交互深度就越深。
转化率:目标转化的次数或人数除以进入目标转化漏斗的人数或次数。
虚拟事件:多个原事件或可视化埋点组合,可以为他们单独设置过滤条件
session:访客从进入网站/ App 到离开网站/App 的一系列活动记为一次访问,也称会话。
1.2 基础指标配置
1.2.1 Web 端日活跃用户数 (UV)
- 定义:1 天(00:00-24:00)之内,访问网站的不重复用户数,一天内同一访客多次访问网站只被计算 1 次。
- 操作:
-
- 选择“事件分析”功能。
-
- 选择事件:Web 浏览页面。
-
- 选择指标:用户数。
-
1.2.2 App 端日活跃用户数 (UV)
- 定义:一天内访问app不重复的用户数
- 操作:
- 事件:启动app
1.2.3 页面浏览量(PV)
- 定义:网页浏览是指浏览器加载(或重新加载)网页的实例。页面浏览量可以定义为网页浏览总次数的指标。
- 操作:
- 事件:浏览页面
- 指标:总次数
1.2.4 新增注册用户数
- 定义:当天注册的用户数
- 操作:
- 事件:注册
- 指标:用户数
1.2.5 Web 端新用户数
- 定义:当日的独立访客中,历史上首日访问网站的访客定义为新用户。
- 操作:
-
- 选择“事件分析”功能。
-
- 选择事件:Web 浏览页面。
-
- 选择指标:用户数。
-
- 添加筛选条件:是否首日访问为真
-
1.2.6 App 端新用户数
- 定义:首日启动 App 的用户
- 操作:
- 事件:app启动
1.2.7/8 Web/App 端新用户比例
- 创建虚拟事件<首次访问的用户>
- 操作:
- 数据管理——>元数据——>虚拟事件——>创建虚拟事件
- 取虚拟事件名称、虚拟事件显示名称
- 事件选择web访问界面/App启动
- 限制条件首次访问为真
- 操作:
- 切换自定义指标
- 操作:
- 添加自定义指标
- 选择创建的虚拟事件进入公式
- 重命名并保存
- 操作:
1.2.9 启动次数
- 操作:
- 选择事件:启动 App。
- 选择指标:总次数。
1.2.10/11 Web/app 端新用户留存率
- 定义:经过一段时间后,仍然继续使用该应用的用户,被认作是留存用户。这部分用户占当时新增用户的比例即是留存率。
- 操作:
-
- 选择留存分析功能。
-
- 初始行为:选择 Web 浏览页面/app启动。
-
- 添加筛选条件:是否首日访问为真。
-
- 后续行为:选择任意事件。
-
- 选择日留存、周留存、月留存
-
1.2.12 购买转化率
- 定义:当日访客中,有多少比例的客户购买。
- 操作:
-
- 点击左侧的事件分析功能。
-
- 点击添加自定义指标,输入公式:支付订单.用户数/ Web 浏览页面.用户数。
-
- 命名为“付费率”。
-
- 最后点击保存即可
-
1.2.13 访问次数
- 创建session操作:
- 输入 Session 名:session。
- 输入 Session 显示名:全站 Session。
- 选择事件:选择 Session 包含的事件,如全选。
- 设置切割规则:30分钟。
- 点击保存,即创建成功。
- 操作
-
- 选择事件分析,切换分析规则为 Session。
-
- 选择 Session:全站 Session。
-
- 选择 Session 总体。
-
- 选择指标:Session 总次数。
-
1.2.14 平均交互深度
- 定义:所有session内事件数之和除以总的session数
- 操作:
-
- 选择事件分析,切换分析规则为 Session。
-
- 选择 Session:全站 Session。
-
- 选择 Session 总体。
-
- 选择指标:Session 深度的均值。
-
1.2.15 平均使用时长
- 定义:所有用户的 Session 时长之和除以 Session 数。
- 操作:
-
- 选择事件分析,切换分析规则为 Session。
-
- 选择 Session:全站 Session。
-
- 选择 Session 总体。
-
- 选择指标:Session 时长的均值。
-
1.2.16 页面平均停留时长
- 定义: 页面停留时长的总和除以页面被浏览的触发数
- 操作:
- 选择事件分析,切换分析规则为 Session。
- 选择 Session:全站 Session。
- 选择 Session 内事件:Web 浏览页面。
- 选择指标:Session 内事件时长的均值
1.2.17 跳出率
- 定义:当一个 Session 仅有一个事件时,即视为跳出,一般情况这个事件以浏览页面居多。跳出的 Session 数除以 Session 总数,而具体事件或页面的跳出率
- 操作:
- 选择事件分析,切换分析规则为 Session。
- 选择 Session:全站 Session。
- 选择 Session 总体。
- 选择指标:跳出率。
- 按“总体查看”即为网站整体跳出率,按“网页URL”查看,即页面跳出率。
1.2.18 页面退出率
- 定义: 当用户在某个页面结束了该 Session 时即视为退出,所以页面退出率等于退出的页面数除以该页面的总浏览次数。
- 操作:
- 选择事件分析,切换分析规则为 Session。
- 选择 Session:全站 Session。
- 选择 Session 内具体事件:Web 浏览页面。
- 选择指标:退出率。
- 选择属性分组:网页 URL。
2.事件分析、漏斗分析和留存分析的使用
2.1 事件分析
- 事件定义:是追踪或记录的用户行为或业务过程。对事件的用户触发数进行分析。
2.1.2 操作
- 选择事件分析
- 选择事件
- 选择指标
2.1.3 常规指标
- 总次数: 在选定时间范围内,该事件触发的次数。
- 触发用户数: 在选定时间范围内,触发该事件的独立用户数。
- 人均次数: 在选定时间范围内,独立用户触发该事件的平均次数。
- 预定义指标:只能在按天查询下使用,根据事件发生时间或选定时间范围进行汇总统计。
- 对于所有类型的属性,都可以将如下值作为分析指标:
- 去重数:在选定时间范围内,该属性出现的独立去重个数。
- 对于有数值型属性可以分析:
- 总和
- 均值
- 最大值
- 最小值
从神策分析 2.1 开始,事件分析支持预定义指标作为分析指标
2.1.4 添加筛选条件
在需要用组合条件来筛选的属性后点击来增加嵌套筛选
2.1.5 按分组(维度)查看
可以将提交订单的用户按国家、省份、城市来进行分组,以便对比不同地区的提交订单的用户数情况。
2.1.6 时间组件
查询的时间粒度:
- 按分钟:最多可展示 1 天的数据。
- 按小时:最多可展示 30 天的数据。
- 按天。
- 按周。
- 按月。
2.1.7 静态时间和动态时间
- 静态时间:设置成固定时间,日期不会随着时间的推移而改变。
- 动态时间:设置成动态时间,日期会随着时间的推移而改变。
2.1.8 时间对比
- 支持选择「上一段时间」「去年同期」「自定义」做为对比日期。
2.1.9 图表类型切换
- 线图:所有的查询场景均支持线图预览。
- 柱状图:所有的查询场景均支持柱状图预览,柱图支持数值类型和百分比类型两种展示形式.
- 饼图:有分组的查询场景支持饼图预览。查询中使用了预定义指标时不支持饼图预览。
- 累积图:查询指标中只有总次数、总和时支持累积图预览。查询中使用了预定义指标时不支持累积图预览。
2.1.10 图表中的筛选
图表有四个维度支持筛选:
- 通过点击来选择需要在图中展示的指标
- 通过筛选调整展示的分组
- 通过选择 TopN 调整图中的线条数
- 通过图例的点击进一步调整图表中展示的项
2.1.11 表格
表格可以将数据分层 / 平铺进行展示,表格所提供的分析能力更强了
- 分层展示:两个以上分组的查询支持分层表格。
- 平铺展示:平铺下可以点击右上角的展开 / 收起日期切换行列,来支持数据的按日期展开 / 按指标展开查看。
- 导出数据 Excel
- Excel 文件中的内容分类
「汇总数据」对应的是表格按分层展示时的格式,不包含展开的每个日期的明细。
「明细数据」对应的是表格中的原始明细数据,支持通过该数据快速添加透视表。
「横向日期数据」对应的是表格横向日期展示时的数据。 - 「透视表」如果表格中数据支持生成透视表则出现此 Sheet ,生成透视表需要满足三个条件:
- 未开启时间对比。
- 查询条件中至少有一个分组。
- 查询条件中至少有一个有可用于在 Excel 透视表中进行后续计算的指标,例如:「总次数」「总和」「最大值」「最小值」。
- 各场景下导出 Excel 文件格式
- 无分组、任意指标个数
导出 Excel 文件包含「汇总数据」+ 「明细数据」+「横向日期数据」。
- 一个或多个分组,指标中有非去重的计数型指标
导出 Excel 文件包含「汇总数据」+ 「明细数据」+ 「横向日期数据」+「透视表」。
- 一个或多个分组,指标中无非去重的计数型指标
导出 Excel 文件包含「汇总数据」+ 「明细数据」+ 「横向日期数据」。
2.1.12 重置和切换计算精度
- 重置:配置了大量的条件后,需要重新配置新条件时操作比较繁琐,需要先删除已有配置,本次更新中我们提供了重置功能。
- 切换计算精度:可以加快计算速度。
2.1 事件分组
- 概述:在使用神策事件分析,留存分析,分布分析等功能的时候,部分用户对事件的分组和排序方式会有不同的需求,为满足不同账号自定义下拉面板的展现效果的需求,神策提供的个性化事件分组的功能。
- 默认看板:神策同样提供了「默认」看板作为企业所有成员初始化的看板,便于企业标准化一套统一的事件分组归类。对于「默认」分组,仅有「管理元数据」权限的成员方可进行修改,修改后对全企业成员均立即生效。
- 自定义看板:每个成员均可创建自己的看板,用户可点击「默认」呼出下拉气泡后,点击「新建面板」开始自定义的设置。
- 管理看板内容
- 修改自定义面板名称
- 修改面板内分组名称,需要注意的是「默认分组」不可修改其名称。
- 批量操作
- 「置顶」、「置底」、「整组隐藏」、「删除当前组」的操作
- 批量勾选要操作的事件
- 可以显示或不显示隐藏的事件
- 默认分组不可删除
- 可添加分组
- 可以拖动排序
2.1 session分析
- 定义:Session分析是基于会话的分析,将用户单点发生的行为串联成整体进行分析。
- 第一次进行 Session 分析之前,首先需要创建 Session
- 时间切割:时间切割是指,当相邻事件间的时间间隔超出此时长,则进行一次切割
- 开始事件、结束事件切割:开始事件非必选,结束事件必选。
- 使用场景:当我们对我们的会话有明确的开始和结束事件的定义时,可以使用开始和结束来让我们切割出来的会话更加符合预期。
- 实现:
- 事件由远到近排列
- 第一个个行为作为起点,向后匹配
- 遇到开始事件则会切断回话,向后第二个session的匹配
- 遇到结束时间会划入当前会话,以结束事件作为起点,向下匹配第二个session
- 若没有匹配到任何事件,就会切断回话,以下一个事件作为起点进行匹配
- session指标:
- 跳出率: Session 中只发生一个事件的 Session 个数除以总 Session 数。比如有三个 Session,第一个 Session 事件序列为 A,B;第二个 Session 事件序列为 A;第三个 Session 事件序列为 A,C,B;则 Session 总体的跳出率为 1/3。
- 退出率: Session 的退出率包括 Session 中某个事件的退出率 和 Session中任意事件的退出率。某个事件的退出率指该事件作为 Session 的结束事件的次数除以该事件发生次数,任意事件退出率指 Session 数除以 Session 中所有事件发生次数。比如有三个 Session,第一个 Session 事件序列为A,B;第二个 Session 事件序列为A;第三个 Session 事件序列为A,C,A;则 Session 中A事件的退出率为 2/4, 任意事件的退出率为 3/6。
- Session 时长: Session 内最后一个事件触发的时间减去 Session 内第一个事件触发的时间。
- Session 深度: Session 内触发事件的次数。
- Session 内事件时长: 假如某 Session 内事件触发顺序为 a > b > c > d,则事件 a 的时长为 b 减去 a,事件 d 的时长未知。
- Session 初始事件: Session 内第一次触发的事件。
- Session 属性: d 处的 Session 属性是指一个 Session 中初始事件的属性。比如一个 Session 的事件序列为 A,B,C;A 事件的操作系统为 iOS,B 事件的操作系统为 Android,C 事件的操作系统为空,则这个 Session 中的 Session 属性操作系统应该是 iOS,是第一个事件对应的操作系统属性值。
- Session 内事件发生次数:分析Session内具体事件时,可以计算Session内事件发生次数。
- 同时并发人数:分析 Session 总体时,可以使用 Session 同时并发人数来计算该时间点同时存在的会话数。我们认为一个会话是一个持续的时段,那么在计算同时并发人数的时候,就判断该时间点有多少个会话同时在线即可。
2.2 漏斗分析
2.2.1 基本概念:
- 步骤:由一个 元事件/虚拟事件 加一个或者多个筛选条件组成,表示一个转化流程中的一个关键性的步骤。
- 时间范围:在界面上选择的时间范围,是指漏斗的第一个步骤发生的时间范围。
- 窗口期:用户完成漏斗的时间限制,即只有在这个时间范围内,用户从第一个步骤,行进到最后一个步骤,才能被视为一次成功的转化。
2.2.2 漏斗分析:
漏斗模型主要用于分析一个多步骤过程中每一步的转化与流失情况。
2.2.3 漏斗界面功能简介:
- 选择漏斗分析
- 创建漏斗并取名
- 窗口期:只有在这个时间范围内,用户从第一个步骤,行进到最后一个步骤,才能被视为一次成功的转化。
- 漏斗步骤:由一个 元事件/虚拟事件 加一个或者多个筛选条件组成,表示一个转化流程中的一个关键性的步骤。一个漏斗中至少包含 2 个步骤,每个步骤对应一个事件(可附带一个或多个筛选条件)
- 增加步骤
- 漏斗关联属性:漏斗不同步骤关联的属性可以是相同属性,也可以是不同属性,但是要求属性的类型必须一致。
2.2.4 切换漏斗,查看分组,筛选
- 分组规则:
- XX 步骤的 YY 属性:按照每个用户首次最长转化状态中的第 XX 步骤的 YY 属性值进行分组 ,一个用户只会出现在一个分组中,如果用户没有转化到该步骤则分到未知组。
- 用户属性:按照用户属性筛选。
- 筛选规则:
- XX 步骤的 YY 属性:以每个用户首次最长转化状态中的第 XX 步骤的 YY 属性值进行筛选。
- 用户属性:按照用户属性值筛选。
- 选择查询的时间范围,展示漏斗图表
- 限制窗口期在时间内
- 查看漏斗总体,或每个步骤的转化详情
- 趋势:可以查看每个转化流失、转化、转化时间、转换率等。
- 对比:可以在“显示设置”中设置对比的两个指标。
- 漏斗图展示
- 总览或对比
- 浏览用户详情。
- 修改、删除漏斗
- 另存
2.2.5漏斗的计算
- 在每一步行为步骤中,将用户标记为流失或者转化
- 漏斗分析中展示的数字代表转化/流失的独立用户数,而非触发的事件次数。在该时间范围内,即使一个用户多次完成漏斗,也仅计数一次。
- 筛选条件的含义:漏斗分析的筛选,都是对完成转化/确认流失的用户,再进行二次挑选。
- 分组的含义:漏斗分析的分组,都是对完成转化/确认流失的用户的集合上进行分组。
2.3 留存分析
- 定义:留存分析是一种用来分析用户参与情况/活跃程度的分析模型,考查进行初始行为后的用户中,有多少人会进行后续行为。这是衡量产品对用户价值高低的重要指标。
2.3.1 界面功能:
- 选择初始行为,后续行为
- 设置初始行为和后续行为的筛选条件
- 添加同时显示的指标
- 按属性分组查看
- 设置用户筛选条件
- 设置关联属性
- 选择考察时间段和留存、流失时长
- 留存表哥
- 总体留存率
- 浏览用户详情
- 留存变化趋势曲线
2.3.2 留存的计算:
- 留存分析 中展示的数字代表独立用户数。表示在选定时间范围内进行了初始行为的用户,有多少人在随后的第 n 天/周/月进行了后续行为
- 计算规则:选定初始行为、后续行为,筛选时间段
- 未关联属性:
- 不加分组
- 按照初始行为事件一分组
- 按照后续事件分组
- 按照用户属性分组
- 设置关联属性
- 筛选条件:
- 用户属性上的筛选
- 事件属性上的筛选
- 分组的含义:更详细说明
- 用户属性上的分组
- 事件属性上的分组
3.用户分群
- 概念:分群是依据用户的属性特征和行为特征将用户群体进行分类,对其进行观察和分析的方式。
- 创建方式
- 通过选择用户的行为规则条件创建;
- 通过上传 ID 列表创建;
- 通过保存分析结果的用户列表创建。
3.1 通过选择用户的行为规则条件创建
- 选择通过用户行为和属性创建
- 设置基本信息
- 设置用户属性和行为规则
- 完成创建
3.2通过上传ID列表创建
- 选择已有上传用户ID进行创建
- 基本信息
- 创建
3.3 根据分析结果进行创建
- 分析得到数据后
- 点击数据添加到分群
3.4 用户分群的管理和查看
- 管理
- 筛选
- 分组
- 添加备注
- 显示最新一次计算的结果
- 分群的创建方式
- 创建者信息
- 计算周期
- 下载删除
- 查看
- 点击分群名称
- 点击查看规则
- 查看用户列表和用户行为序列
- 点击结果创建和上传创建分群的名称或者在分群详情点击带有下划线的人数可查看用户列表。
3.5 使用用户分组
- 用户分群创建后,可在分析模型中对该用户群进行分析。
- 在概览中使用
3.6 名称解释和注意事项
- 基准时间:是 “相对时间” 的 “计算基准”。是一个 “历史版本” 的标识。
- 计算周期:计算周期是分群计算的时间间隔,分为单次和例行。
- 上传文本的内容和格式
- 行为规则条件描述能力的强化
- 支持规则之间、筛选条件的任意嵌套
- 事件发生次数的匹配规则和数值类型属性的匹配方式补全为
- 时间和日期类型属性的匹配方式支持绝对时间、相对当前时间点、相对当前时间区间和相对事件发生时间
- 支持事件属性的统计值作为分群指标,可选择:总和、均值、最大值、最小值
- 支持选择虚拟事件
- 创建的个数限制
- 500个
- 失败和计算中的使用
- 单次分群若计算失败,在分析页面选择时不可见。例行分群计算失败,在分析页面将使用其最新一次可用的分群计算结果。
3.7 用户分群权限
- admin
- 管理员
- 分析师
- 普通用户
4.元数据管理模块
元数据概念
- 神策系统中数据治理体系的一个模块,是统一管理系统所追踪数据元信息的地方。
- 自由数据上报模式:有效的提升数据的准确性,从根源解决错误数据上报入库的问题。开启此模式后,将需要采集的事件与属性更新到项目中后,后续所有上报入库的数据均需要比对已配置的事件与属性类型进行校验。符合要求的数据方可入库,不符合要求的数据将无法入库。
- 数据强校验模式:可以让企业快速完成数据采集的工作,但是数据质量需要完全依赖研发者的埋点代码的准确性。在此模式下,可以随时上报任何事件与属性。后续持续上报的属性相关数据,将以首次入库的属性类型和属性名进行对比校验。如未匹配到库里已有的信息,那么将视为一个全新的「事件」、「事件属性」、「用户属性」入库到当前项目中。
4.1 元事件
- 概述:更好地对元事件进行有效的管理
- 快速搜索筛选
- 批量操作
- 停止接收后后续数据不再入库,允许接收前未入库的数据不会被恢复
- 查看近期上报情况
- 一键下载
- 查看埋点是否有数据
- 批量修改信息
- 在「数据强校验模式」下,有数据上报的事件才可在分析模型和权限中使用,且不可被删除。对于无数据上报的事件,可直接进行删除操作。
4.2 创建事件:
仅在「数据强校验模式」下可使用此功能
- 填写事件基本信息
- 将此事件需要上报的属性选择添加到此事件中
...
...
4.3 批量创建:
需要使用神策的「数据埋点采集方案文档」将要采集的事件、事件属性、用户属性按照模板要求整理好,然后进行上传。
4.4 查看事件详情
- 基本信息、所有关联属性的数据上报状态和显示状态...
5.维度字典的使用场景及使用方法
5.1.维度字典
- 定义:对已经存在的事件属性和用户属性,可以上传属性值的自定义映射关联。
5.2 使用方法
- 界面上传维度字典
- 在元数据管理>事件属性>点击上传字典
- 针对已存在的事件属性和用户属性,可以上传多对一的映射关系。
- 清空维度字典
- 上传维度字典API
- 通过发送 http post 请求[/property/dict/upload],可以上传字符串类型或数值类型属性的维度字典。
- 虚拟属性不支持通过 API上传维度字典。
- 下载维度字典
- 筛选表达式
- 对于有维度字典的属性,不管是字符串类型还是数值类型,筛选条件都只有四类:
- equal to/ does not equal to,表示等于/不等于
- has value / has not value,表示有值/没值
- 对于有维度字典的属性,不管是字符串类型还是数值类型,筛选条件都只有四类:
- 结果展示
- 清空维度字典
6.虚拟属性和虚拟事件的概念
6.1.虚拟属性
- 定义:二次加工得到的新属性
6.2. 虚拟事件
- 定义:元事件、可视化事件进行拆解或组合形成虚拟事件
添加新的筛选条件,组成的事件
7.数据导入工具的种类,以及各自的使用场景和区别
7.1 BatchImporter
- 概述:批量导入工具用于将历史数据或外部数据导入神策分析进行使用。实时导入数据用LogAgent
离线批导入,适用于json文件
只能在部署单机或集群机器。
7.2 FormatImporter
- 概念:一些常见格式的外部数据导入到神策分析,目前支持读取 CSV 表格、Nginx 日志、MySQL 数据库、Oracle 数据库,以及符合数据格式的 JSON 数据。
常见简单格式的数据导入
- Python3.4以上
- windows运行需要注意编码
7.3 HdfsImporter
- 适用json格式,类似FormatImport,但是将数据上传到了分布式数据库
- HdfsImporter 仅可在神策分析集群版使用,且只能运行在神策分析集群的 Hadoop 环境中。
- 导入后清理数据较复杂,请检查好再操作。对同一份数据多次运行导入会导致数据重复。
7.4 LogAgent
- 概念:后端数据实时导入,一般用于日志文件导入
- windows注意编码
7.5 Logstash + Filebeat
- 将后端数据实时导入
- Logstash是ES的开源服务器数据处理管道
- Filebeat:轻量级日志采集器
8.数据导出
8.1 通过api来获取数据
- 可以用于平台的计算结果
- 可以通过写 SQL 的方式获取最细粒度的用户行为和属性数据
- 适用于一次性或者周期性地批量获取数据的需求
- 由于效率问题,此方式不建议用于导出大量的原始数据。效率低
- 大量数据使用JDBC导出方式,仅私有部署单机版和集群版
8.2 订阅kafka实时数据
- 用于实时获取最细粒度的用户行为和属性数据
- 适用于实时计算获取数据的场景
- 适用私有化部署单机版或集群版
8.3 使用JDBC进行数据访问
- 适用于有通过 JDBC 协议与其它系统打通的应用场景
- 相比 HTTP 查询 API 的性能更好,可以用于较大量数据的导出。
9.客户端SDK
- 安卓sdk
- IOS sdk
- WEB sdk
- 小程序 sdk
- 跨平台第三方框架
- 游戏引擎sdk
- C++sdk
- macOS sdk
- 广告 sdk
10.服务器SDK
- java sdk
- C sdk
- C# sdk
- Golang sdk
- PHP sdk
- Python sdk
- Ruby sdk
- Node sdk
- lua sdk
11.数据格式
11.1数据整体格式
日志文件一般是json,物理上对应一条数据,逻辑上描述了用户的行为
- track:记录一个 事件Event 及关联的 属性Properties。
- track_signup:
- profile相关操作:主要是用来设置用户的 Profile 的,提供了如下一系列接口
- profile_set:直接设置一个用户的 Profile,如果用户或者 Profile 的字段已存在,则覆盖,不存在则自动创建。
- profile_set_once:已经存在了则不会覆盖,不会创建
- profile_increment:增加或减少一个用户的某个 NUMBER 类型的 Profile 值。
- profile_delete:删除一个用户的整个 Profile。
- profile_append:向某个用户的某个数组类型的 Profile 添加一个或者多个值。默认不会去重
- profile_unset:将某个用户的某些属性值设置为空。
- Item 相关操作
- item_set:直接设置一个 Item,如果 Item 的字段已存在,则覆盖,不存在则自动创建。
- item_delete:删除整个 Item 内容。
- 属性数据类型:
- 一个属性的类型由首次导入时的类型决定,元数据-事件属性/用户属性页面展示的属性类型即为首次导入时的类型,后续导入数据时若类型和元数据中展示的类型不符,则尝试对数据进行类型转换,若无法转换或转换失败则 输入数据会被整条拒绝 。尝试进行的类型转换如下(空格不进行转换)
数据类型 | json |
---|---|
NUMBER | number |
BOOL | bool |
STRING | string |
LIST | LIST |
DATETIME | string |
data | string |
11.2 预置属性
- 目前分别为 Event 和 Profile 提供了一些预置字段
11.3 导入数据的限制
- 一般限制:
- 不能以数字开头,且只包含:大小写字母、数字、下划线和 $,且事件变量名和属性变量名最大长度都为 100,自定义的事件名或者属性名不能以$ 开头;
- 变量名不能与已经存在的虚拟事件、虚拟属性的变量名重复;
- 系统对变量名大小写处理有特殊要求,字母完内容完全一致,但是大小写不一致的变量名会被拦截;
- 类型 type 字段的取值只能是上文列出几种(track, profile_set 等),并且大小写敏感;
- 类型 type 字段的取值只能是上文列出几种(track, profile_set 等),并且大小写敏感;
- 事件 time 字段有允许的范围
- 自定义的事件或者属性的变量名不可以
- 事件时间限制:导入不合理时间的用户事件将影响数据的准确性
- 使用客户端 SDK (iOS、Android)导入的数据,服务端默认只接收事件发生时间在接收时间向前 10 天内和未来向后 1 小时内的数据,
- 使用后端语言 SDK (如 Java、Python 等)或导入工具(如 LogAgent、BatchImporter、HdfsImporter),默认只能导入事件时间当前向前 2 年内和未来向后 1 小时内的数据;
- 显示名相关的限制
- 事件和属性除了有变量名,还会有显示名,方便客户管理事件与属性
- 显示名必须保证和变量名一一对应,不允许出现一对多或者多对一的关系,显示名支持中文、空格、英文、各种符号等字符
- 同名属性同类型
- 对 Event 属性,一个属性名,只能具有一种类型(不同的具体事件,同名属性类型也必须相同);
- 对 Profile 属性,一个属性名,只能具有一种类型;
- 对于一个属性名,在 Event 和 Profile 中可以具有不同的类型
- 属性长度限制
- 属性数上限:单个项目 Event / Profile / Item 的属性建议合理设置,过多影响导入和查询性能,达到上限则导致导入异常。建议300个以内,最大2000个
- 保留字段:为了保证查询时属性名不与系统变量名冲突。
12.用户关联的几种方式
- 只使用设备 ID
- 适用:适合没有用户注册体系,或者极少数用户会进行多设备登录的产品,如工具类产品、搜索引擎、部分电商等。这也是绝大多数其它数据分析产品唯一提供的方案。
- 局限:
- 同一用户在不同设备被标识不同用户
- 不同用户在同一设备被标识同一用户
- 关联设备 ID 和登录 ID(一对一)
- 实现了更准确的用户追踪,但是也会增加埋点接入的复杂度。
- 适用场景:
- 需要贯通一个用户在一个设备上注册前后的行为。
- 需要贯通一个注册用户在不同设备上登录之后的行为。
- 局限:
- 一个设备 ID 只能和一个登录 ID 关联,而事实上一台设备可能有多个用户使用。
- 一个登录 ID 只能和一个设备 ID 关联,而事实上一个用户可能用一个登录 ID 在多台设备上登录。
- 如果不遵循神策接口调用顺序,可能会导致部分用户标识异常(例如历史数据导入时),影响数据统计的准确性
- 关联设备 ID 和登录 ID(多对一)
- 支持一个登录 ID 绑定多个设备 ID 的方案,从而实现更准确的用户追踪。
- 适用:贯通用户在不同设备上使用情况
- 局限:
- 一个设备 ID 只能和一个登录 ID 关联,而事实上一台设备可能有多个用户使用。
- 一个设备 ID 一旦跟某个登录 ID 关联或者一个登录 ID 和一个设备 ID 关联,就不能解除(自动解除)。而事实上,设备 ID 和登录 ID 的动态关联才应该是更合理的
13.查看预置属性总表格,熟悉常用的预置事件及属性
- 事件:app启动
- 属性:
- 是否首次启动
- 是否从后台唤醒
- 页面名称
- 页面标题
......
14.查看数据校验逻辑文档,熟悉常见的埋点管理报错
- 数据强校验模式报错:
- 未创建事件,上报元事件中不存在的事件数据
- 元数据中创建自定义事件加了 $ 字符并上报数据
- 元数据中创建属性名包含了神策保留字段并上报数据
- 元数据中创建事件名不合法并上报不合法事件名数据
- 创建和虚拟事件同名的事件名,并上报数据
- 创建属性名大小写和元事件中已有的属性名大小写不一致,并上报数据
- 上报数据中包含元事件中不存在的属性名
- 上报数据中属性和元事件中的已有的属性类型不一致
- 上报数据属性长度超过限制
- 元数据中创建自定义属性加了 $ 字符并上报数据
- 元数据中创建属性名不合法并上报不合法属性名数据
- SDK 新增的预置属性,但是神策分析版本较老
- 创建和虚拟属性同名的属性名,并上报数据
- 创建属性名使用了 user_tag 或者 user_group 为前缀并上报数据
- 设置了 normal_token 或者super_token 的数据校验
- 自由上报模式具体报错
- 原始数据中自定义事件加了 $ 字符
- 原始数据中属性名包含了神策保留字段
- 原始数据中事件名不合法
- 原始数据中包含元事件中不存在的元事件
- 原始数据中包含和虚拟事件同名的事件名
- 原始数据中的属性名大小写和元事件中已有的属性名大小写不一致
- 上报的数据中,原始数据中属性和元事件中的已有的属性类型不一致
- 上报数据中,原始数据中属性长度超过限制
- 上报数据中,原始数据中自定义属性加了 $ 字符
- 上报不合法属性名数据
- SDK 新增的预置属性,但是神策分析版本较老
- 上报数据中,数据中包含和虚拟属性同名的事件属性
- 上报数据中,属性名使用了 user_tag 或者 user_group 为前缀
- 设置了 normal_token 或者super_token 的数据校验
15.了解强校验模式和自由上报模式的区别
- 数据强校验模式:通过「数据强校验模式」可以有效的提升数据的准确性,从根源解决错误数据上报入库的问题。开启此模式后,将需要采集的事件与属性更新到项目中后,后续所有上报入库的数据均需要比对已配置的事件与属性类型进行校验。符合要求的数据方可入库,不符合要求的数据将无法入库。
- 自由上报模式:使用「自由数据上报模式」则可以让企业快速完成数据采集的工作,但是数据质量需要完全依赖研发者的埋点代码的准确性。在此模式下,可以随时上报任何事件与属性。后续持续上报的属性相关数据,将以首次入库的属性类型和属性名进行对比校验。如未匹配到库里已有的信息,那么将视为一个全新的「事件」、「事件属性」、「用户属性」入库到当前项目中