# 产品简介

## 易观方舟 - 智能用户运营

> 集用户行为分析、用户画像、用户运营为一体用数据驱动用户运营与产品迭代。

易观方舟基于用户行为分析，通过自主采集用户属性和行为数据，帮助企业从不同维度分析用户。构建从“**查看数据看板、构建分析模型、创建用户分群、精准运营触达、投放效果跟踪**”的闭环验证，以数据驱动企业营销闭环效果评估、用户运营留存转化、产品精益迭代优化，赋能企业市场、运营、产品和数据分析人员。

## 四大典型应用场景

**精准营销评估：**&#x968F;着互联网人群增长速度逐渐见顶，流量红利逐渐消失。产品做线上拉新的成本越来越高，无论是市场人还是运营人，花钱不能再像以前一样随便。对投放拉新做追踪，对投放渠道效果进行对比评估，通过注册转化和付费转化衡量拉新结果，对各个渠道的投放进行调整，最终提升投放的ROI；

**产品体验优化：**&#x4EA7;品上线之后，不仅仅需要关注产品的用户活跃度，还得知道用户在产品上都完成了哪些关键操作，是否按照预设的关键路径达成了核心业务流程，哪些功能的活跃度有问题，哪些地方有bug…这些都需要配合对用户实际使用场景的分析，通过用户留存、用户核心行为分析，对产品页面的流量分布进行引导，对产品功能和交互进行优化，从而提升用户体验，让更多用户黏在产品上。

**产品/用户运营：**&#x65E0;运营不产品。任何一款好产品不是从最开始设计出来，就会有用户去使用的，更多的依赖不断的运营工作。包括对产品本身、对用户、对内容等的优化与运营。通过用户行为分析，建立有效的用户分群，针对性的制定策略，投其所好的推送优惠券、活动、最新动态等信息，刺激不同层面用户的回访、留存与高频使用。就像淘宝、京东等电商类产品，就是根据不同用户的用户行为画像标签，提供“千人千面”式的用户服务的。

**企业管理决策：**&#x5F88;多公司都严重依赖BI系统，作为主要的业务反馈指标。但BI系统多数情况下都是后验型指标，很难直接反应业务的实时动态。用户行为分析工具，可以生成一些数据看板（仪表盘），这样的话比如公司的总监、高管层面，就可以查看这些随时更新的报表，而且指标统一可见。有异常情况还可以进行指标预警，让数据成为驱动公司快速决策的依据。

**用户行为分析**可以辅助市场营销人、产品人、产品运营人、数据分析师、技术人员等。

## 用户全生命周期实现精细化运营

通过以下四个模块，达到分析-分群-触达-闭环验证的运营过程，实现用户全生命周期的精细化运营：

* [看板](/features/dashboard)——不同角色灵活自定义看板，实时跟踪关心的指标
* [分析](/features/analytics)——多达十二种不同类型的专业分析模型，支持多维度交叉查询分析
* [分群](/features/user)——通过多种细分维度方式细分人群，了解用户画像和人群属性
* [运营](/features/operation)——连接第三方运营服务，有效触达目标用户群，实现用户的精细化运营

![ ](https://imguserradar.analysys.cn/fangzhou/sysImg/201706141931230718.png)

## 产品特点

**业内领先的新一代PaaS平台：**

1. 可私有化部署，消除企业对数据安全的担忧
2. PaaS平台便捷地扩展边界满足复杂的业务场景
3. 多种埋点方式，全端数据采集积累企业数据资产
4. 基于IOTA大数据架构下的“秒算”能力，实时呈现数据

**丰富的功能和分析模型满足需求：**

1. 支持灵活自定义的数据看板，满足实时监控需求
2. 用户全生命周期管理，多达数十种模型实时分析
3. 依托自有数据体系，增补第三方数据全景用户画像
4. 连接多方运营服务，实现数据驱动的用户精准触达

## 产品功能

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LgRROohJjnH_au_b9Mn%2F-LgRRiBjFH_PMi6pK4RU%2Fimage.png?alt=media&amp;token=1417291c-fe0c-4e7c-865a-0f95c0bced78" alt=""></div>

{% content-ref url="/pages/-Lg1LQ-EffnGeoqupUpb" %}
[快速上手](/quick-start-guide)
{% endcontent-ref %}


# 快速上手

要想在工作中开始数据驱动，通常需要工程师、产品经理、运营、数据分析师等等多方角色一起协同，这是一个比较复杂的过程，不过不要担心，我们建立了快速上手来帮助您，您可以通过以下几个步骤，开启您的数据驱动之旅：

{% content-ref url="/pages/-Lg1P5g90PfNLY3fT1sb" %}
[Step 1 安装部署](/quick-start-guide/install)
{% endcontent-ref %}

{% content-ref url="/pages/-Lg1PCPQYbTcBZvsKHc6" %}
[Step 2 激活系统创建项目](/quick-start-guide/creat-project)
{% endcontent-ref %}

{% content-ref url="/pages/-Lg6bDUDMxUHYh7ri7dV" %}
[Step 3 开启您的分析旅程](/quick-start-guide/getting-started)
{% endcontent-ref %}

{% content-ref url="/pages/-Lg1PP1Pa9VnKUc3E37\_" %}
[附：埋点方案设计](/quick-start-guide/tracking-plan)
{% endcontent-ref %}

{% content-ref url="/pages/-Lg1Pin9DsBbGGt8G1D1" %}
[附：数据分析思路](/quick-start-guide/analystics-method)
{% endcontent-ref %}


# Step 1 安装部署

## 商业版客户

私有化部署客户联系专属的服务团队进行安装部署

公有云客户联系专属的服务团队获取访问地址和帐号

## 免费版用户

Github地址：<https://github.com/analysys/argo-installer>

如何安装？查看 <https://github.com/analysys/argo-installer/blob/master/install.md>

{% content-ref url="/pages/-Lg1PCPQYbTcBZvsKHc6" %}
[Step 2 激活系统创建项目](/quick-start-guide/creat-project)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# Step 2 激活系统创建项目

部署完成后，登录平台管理员帐号，根据页面引导，输入 License 激活系统，进入项目管理页面，即可开始创建创建项目

{% hint style="info" %}
易观方舟支持将同一个应用的多个平台数据接入到一个项目中；建议您在接入正式数据前先创建一个测试环境项目用于测试，避免污染生成数据。

建议自动生成 AppKey，若手动输入时，仅支持小写字母和数字的组合，且在10\~16位之间。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9TY3chU2OW2yEFYTe%2F-MK9UCPGVx_Qt7wiQkf3%2Fimage.png?alt=media\&token=2ce56991-7d4e-4788-af06-077f8afaf8c8)

{% content-ref url="/pages/-Lg6bDUDMxUHYh7ri7dV" %}
[Step 3 开启您的分析旅程](/quick-start-guide/getting-started)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# Step 3 开启您的分析旅程

以电商网站中的购物流程为例，如何分析每步的流失情况，定位流失节点，仅需三步即可完成

{% content-ref url="/pages/-Lg1PPQddy5mMo9PPc1m" %}
[1.  集成 SDK](/quick-start-guide/getting-started/instrumentation)
{% endcontent-ref %}

{% content-ref url="/pages/-Lg6hDGWm2H4J60qK8bf" %}
[2. 可视化埋点](/quick-start-guide/getting-started/virtualizer)
{% endcontent-ref %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LgBaf1-6JBr3gNvkO0F%2F-LgBalQtMilWuFqsbR52%2FWX20190531-142247.png?alt=media\&token=f79e91de-fc12-4d35-9ec3-33a7ed0563c5)

{% content-ref url="/pages/-Lg6hG\_UA405lw-RCqGn" %}
[3. 创建分析模型](/quick-start-guide/getting-started/analystics)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 1.  集成 SDK

工程师根据以下两项进行数据接入：

* 项目 AppKey（创建项目后生成，用于唯一标识项目的数据）
* 集成 [JS SDK ](/integration/sdk/js/js)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjKLGqFgV7cWop8fjRJ%2F-LjKH_PuN1xcPEMx97rN%2Fimage.png?alt=media\&token=9591f00e-a834-4459-8791-eeb89cdfe123)

## **接入后 Debug 数据验证**

集成 SDK 之后，[验证数据](/integration/data-verification)接入的准备性。验证完毕之后，保证 debugMode 模式设置为 0，发布应用。

{% hint style="info" %}
**关于 Debug 模式**

0 关闭 Debug 模式

1 打开 Debug 模式，但该模式下发送的数据仅用于调试，不计入平台数据统计&#x20;

2 打开 Debug 模式，该模式下发送的数据可计入平台数据统计
{% endhint %}

{% content-ref url="/pages/-Lg6hDGWm2H4J60qK8bf" %}
[2. 可视化埋点](/quick-start-guide/getting-started/virtualizer)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 2. 可视化埋点

可视化埋点可以让非技术人员零门槛的根据业务需要直接在页面上定义事件，提高获取数据的效率。

{% hint style="warning" %}
开始前请确认已进行了如下操作：\
<https://docs.analysys.cn/ark/integration/sdk/js#ke-shi-hua-mai-dian-jie-shao>
{% endhint %}

对网站的页面元素进行可视化埋点需要 3 个步骤：

## **1. 选择要埋点页面**

以商品详情页面为例，进入选择要埋点页面后在页面中部输入框输入商品详情页面的url地址，回车或点击输入框右侧箭头图标，进入可视化配置页面。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LgCFfAOYTbvM6E_RHN1%2F-LgCG2tLAEssGNuXaW-b%2FWX20190531-171312.png?alt=media\&token=cc23d7a3-b6e2-440a-82db-832ea905786f)

## &#x20;**2. 可视化配置**

进入可视化配置页面，若对加入购物车进行埋点，点击加入购物车按钮，弹出埋点内容选框，创建事件：输入事件ID和事件名称，点击确定即可。

{% hint style="info" %}
事件ID：即事件的唯一标识，必填，仅支持字母、数字和下划线组成，且不能以数字开头

事件名称：非必填项，但建议填写，方便在分析时查看
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LgCFfAOYTbvM6E_RHN1%2F-LgCH-GCEQ3OF4ldVl-4%2FUntitled.gif?alt=media\&token=285eda23-dae9-4643-8c88-2144e04aa061)

## &#x20;**3. 测试 & 部署**

选择右上角埋点事件列表，列表内出现刚才所埋点的信息，点击部署，埋点事件即可生效。埋点生效后，可进入分析模型对埋点的事件进行分析。

{% hint style="info" %}
可视化埋点适用于页面上某些元素的统计，若想对复杂的业务场景进行分析，可以根据业务需求设计埋点方案，进行代码埋点。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LgCFfAOYTbvM6E_RHN1%2F-LgCHvv92y_IgG1U-2S1%2FUntitled2.gif?alt=media\&token=0db95528-7422-41d4-8fd0-027581ac383f)

{% content-ref url="/pages/-Lg6hG\_UA405lw-RCqGn" %}
[3. 创建分析模型](/quick-start-guide/getting-started/analystics)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 3. 创建分析模型

可视化埋点 部署成功后，用户触发事件即可上传数据，通过方舟[转化漏斗分析模型](/features/analytics/funnel)，即可查看购买流程的转化情况。

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LgBk_NCgr2kGJ79i0Fj%2F-LgBlC9y-sy3TZHtYvFW%2FWX20190531-152202.png?alt=media\&token=5e8f2cc8-56e2-44c7-9889-0de9d32d86c5)

创建流程转化漏斗主要有4个步骤：

第一步：选择**分析-转化漏斗**分析模型

第二步：**建立漏斗**：浏览商品页面→点击加入购物车→点击提交订单→点击支付订单→支付成功

第三步：**选择时间范围**，比如2019/04/01-2019/04/30

第四步：对分析的漏斗**命名并保存**，便于查看和分析

为了便于日常监控或查看数据，可以把分析图表添加到[看板](/features/dashboard)中。

{% content-ref url="/pages/-Lg1PP1Pa9VnKUc3E37\_" %}
[附：埋点方案设计](/quick-start-guide/tracking-plan)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 附：埋点方案设计

项目创建成功后，即可开始接入数据。但基础的数据建设决定上层的分析建筑，在开始接入数据前，一定要做好埋点规划，确定上报哪些数据什么时机上报，才能支撑最后的数据分析。

## 设计埋点方案前需确认

### 1. 现阶段的核心业务

* 验证功能设计是否合理？（关键功能）
* 按钮的点击情况？
* 关键流程的转化情况？
* banner广告/推荐位的效果转化？
* 注册/登录的用户情况？

### &#x20;2. 核心业务的关键路径

拆解各环节，设定环节指标（如各环节转化率），根据环节指标，提取动作行为，即事件，该事件就是我们要进行统计的埋点位。

## 埋点规划主要分为三个阶段

### 1. 需求整理

通常来讲，做数据分析前，必须要确定分析方法。

以注册流程为例，分析方法通常有2个：漏斗转化和点击分布。

漏斗转化分析指追踪完成几个核心步骤的人数，计算每个步骤未完成下一步的人数，找出漏损严重的关键步骤和转化失败的原因，并优化业务；更进一步的看，需要定位到未转化的人群，做用户画像分析或者做定向短信营销促转化。

点击分布指研究一个页面内用户点击各个功能的人数和次数，找出用户点击异常的环节。

结合两种分析方法，既可以定位出现问题的环节，还可以找出漏损异常的页面内出现哪些问题。

### 2. 设定指标

根据选定的分析方法，列举出所有需要用到的指标。

以注册流程为例，需要列举出每个关键事件的触发人数和次数。

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1akImCpkgw2ZH5ekI%2F-Lg1fC99hCbN9p23vHYO%2FWX20190529-161950.png?alt=media\&token=ab997763-fada-402b-bde0-cdf0592dbe2a)

1）点击官网右上角的“注册”按键，记录点击注册按键人数和次数。

2）点击立即注册页面中的“立即注册”按键，记录点击立即注册按键人数和次数。

3）记录每个文本框的激活次数和人数。如果生产环境中，点击获取验证码次数远大于输入验证码次，则大概率是因为“获取验证码”后收不到下发短信。

可选步骤：

很多场景下，用户注册流程的最后一步不局限于“完成注册页面”，还需要从服务器端采集“注册成功”的行为-即成功写入数据库后，把服务器的日志传输到方舟。

### 3. 输出埋点方案

确定分析指标后，需要向技术人员提供埋点的列表的清单，进行底层的代码部署或者可视化埋点。

此外还要提供每个事件和每个参数的命名。传输时采用英文+数字的事件id，部署后在方舟平台上注释成中文名，使用中文名称方便查询和解读。（参考：[如何设计埋点方案](/integration/prepare/tracking-plan)）

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1fvGrVmlFf6LVkpQH%2F-Lg1g5I92NN3I9G9J68V%2F%E5%9B%BE%E7%89%8718.png?alt=media\&token=e92a7f52-5176-4fc7-8910-0b86b51bd2d6)

{% content-ref url="/pages/-Lg1Pin9DsBbGGt8G1D1" %}
[附：数据分析思路](/quick-start-guide/analystics-method)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 附：数据分析思路

对于一款App来讲，可以从用户的新增、活跃、转化、留存/流失等指标，了解产品的整体运营状况；从业务人员的角度出发，市场渠道人员比较关注渠道的获客质量，运营人员比较关注用户在产品内的行为信息，从而对用户分群，进行针对性的运营，产品人员则关注产品功能的使用情况以及核心流程的转化情况。

以有帐号体系产品的注册为核心流程为例，如何通过方舟的功能实现所有业务人员的数据需求？

一般产品的注册流程为：

输入手机号→点击获取验证码→输入验证码→点击注册→注册/登录

## **渠道市场人员**

### 渠道分析

#### 了解各渠道的获客能力，进而结合投放成本计算 ROI&#x20;

1.分渠道统计注册用户数--评估渠道获客数量

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1X3IkBELv_PYWG8F4%2F-Lg1XaSjP2SiHSag6vG8%2F%E5%9B%BE%E7%89%874.png?alt=media\&token=a784e8b2-2210-4998-bb5f-dc87f490e9b7)

2.分渠道统计活跃用户数、人均使用时长和留存--评估渠道获客质量

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1X3IkBELv_PYWG8F4%2F-Lg1Xe5BWJ_g6_W6mXrg%2F%E5%9B%BE%E7%89%875.png?alt=media\&token=5338378f-92bd-4d12-91ad-6174588c85ce)

## **运营人员**

### 事件分析

#### 主要分析用户在应用上的行为数据

1.了解活跃用户的情况，可以从登录事件的触发用户数和触发次数进行分析

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1X3IkBELv_PYWG8F4%2F-Lg1XtGkJfpJBKhg0Uih%2F%E5%9B%BE%E7%89%876.png?alt=media\&token=5916154f-095c-4844-99ec-ae7b1917899b)

2.可以从细分维度分析，根据登录方式的占比，评估用户偏好，优化登录通道

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1X3IkBELv_PYWG8F4%2F-Lg1XwPcjOe30n4pDxj2%2F%E5%9B%BE%E7%89%877.png?alt=media\&token=8b3ddad1-1f7a-4657-9061-b49afc39ebb4)

3.注册转化率趋势：了解产品的注册转化率是否符合行业标准，同时通过趋势，发现异常

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1YZ3YIOEMZb52SvTR%2F11.png?alt=media\&token=30d71ba1-b284-4852-897c-1062fad7c02e)

### 留存分析

#### 是一种衡量用户健康度/参与度的方法，深入了解用户的留存和流失状况

1.注册用户留存，根据产品的性质选择留存周期，若用户的留存率较低，可以通过运营活动提高用户粘性，比如签到

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1Yr6ETzoUPnyhb9fa%2F%E5%9B%BE%E7%89%8710.png?alt=media\&token=d0cad47b-f96a-4b58-b198-c996ba0e22e2)

### [用户分群](/features/user)

#### 用户分群即将用户标签化，把具有相同特征 / 行为的用户进行聚类，是精细化运营的基础。

1.流失用户：3月份注册但4月份都没有登录的用户

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1Z9ojVtN_fSaUiLmO%2F%E5%9B%BE%E7%89%8711.png?alt=media\&token=42883356-64af-4199-b429-01a7258416b3)

2.了解流失用户使用竞品情况

若用户使用竞品的时间和次数比较频繁，可以了解竞品近期的运营策略，结合竞品情况，采取相应的运营措施对用户进行召回

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1ZG16j3z79QR2KBVP%2F%E5%9B%BE%E7%89%8712.png?alt=media\&token=c2283d60-696e-4a81-aaca-64dc3364f72e)

3.流失用户召回

制定好运营活动之后，可以通过[短信推送](/features/operation/sms)/[消息通知](/features/operation/pushmessage)等方式，触达用户，让用户及时了解运营活动，从而促进用户转化

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1ZK4CMJ0irVLiNico%2F%E5%9B%BE%E7%89%8713.png?alt=media\&token=79acce62-abb5-46cf-9e67-653bf7442d24)

## **产品人员**

### 转化漏斗

分析核心业务流程的转化和流失情况，不仅找出产品潜在问题的位置，还可以定位每个环节流失用户，进而定向营销促转化

1.注册流程的转化

若产品的注册转化率较低，可以通过注册流程的转化发现用户流失的重要节点，发现问题：

1.短信通道下发短信是否收到验证码

2.产品是否出现bug导致用户注册失败

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1ZYswjGeb_T6mL5Wr%2F%E5%9B%BE%E7%89%8714.png?alt=media\&token=503a8a79-c0e1-4eeb-a347-789bc8a6d713)

### 智能路径

用户在应用中使用的行为轨迹，可以验证产品的设计思路，指导产品迭代优化。

![ ](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg1YIieGFgNDLzPdweV%2F-Lg1Zqc55Nm00zI2ltgf%2F%E5%9B%BE%E7%89%8715.png?alt=media\&token=35b8cf1a-18d2-497b-8bad-1fe1c7ab5e36)

### 可视化看板

为了方便日常数据的监控，可以把日常需要查看的指标，做成可视化看板

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lg3Fx2pKG5LJggBOaTY%2F-Lg3GKQK7JPXrAuvbYS-%2Fimage.png?alt=media\&token=5d580b59-f7e2-4749-93fe-d3196b2c8601)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 产品更新日志

## V5.3.3 - 2021年3月31日

{% content-ref url="/pages/-MZLMFTUYWN0GanhZgBt" %}
[V5.3.3 UI 升级、分布分析重构、维度表动态更新、细节优化等](/release-notes/v5.3.3)
{% endcontent-ref %}

#### 新增

* **分析相关**
  * 分布分析新增活跃天数指标，满足分析用户活跃天数分布
  * 分布分析活跃时段分布新增时间热图、A/B表格展示
  * 留存分析新增了面积堆叠图，通过图表查看留存变化
  * 集合类型属性细分维度时，支持按照集合中的各个值细分查看
  * 事件分析在细分维度的时候支持显示各个维度值的占比
  * 转化漏斗、事件分析、Session分析新增了条形图
  * 事件分析和 Session 分析多指标时支持设置次坐标轴，比如方便绝对值和比率指标在同一个图表中查看
  * 间隔分析、分布分析、实时分析中新增【新访问用户】的分群
* **分群相关**
  * 用户分群新增分群说明、支持自定义计算周期和手动即时计算
  * 增加预置分群【所有注册用户】，支持快速选择基于注册用户进行分析
  * 单用户行为序列支持过滤干扰事件
  * 单行为序列支持下载
* **数据相关**
  * 用户属性中开放了【是否是注册用户】属性
  * 支持配置定期删除热图数据
  * 广告跟踪支持批量下载，包括长链、短链、二维码
  * 支持百度小程序场景值的字典翻译

#### 优化

* **看板相关**
  * 支持批量设置共享看板
  * 看板中的图表可查看最近计算时间，可单个和批量强制额刷新即刻计算
  * 看板中的分群支持显示分群说明、支持强制刷新重新计算
  * 看板图表数量较多时，优化看板的加载，提升加载速度
* **分析相关**
  * 渠道分析中，过滤条件中增加了事件通用属性
  * 所有分析模型中过滤条件中运算符选择不等于和不包含时， 预期结果中包含 无值的结果
  * 饼图中支持同时显示绝对值和占比
  * 优化分布分析各种情况下的图表展示，提升易读性
  * Session分析自定义切割规则下支持指标重命名
  * 长按拖动可调整细分维度的顺序
* **其他**
  * 优化埋点方案/元事件管理中事件下的属性和事件属性的同步机制，及引用事件属性的规则
  * 错误日志队列中的日期框选范围优化为通过入库日期过滤，方便过滤事件时间超出接收范围的错误日志
  * APP推广监测数据页中支持显示数据计算时间和强制刷新
  * 增加系统升级的页面通知用户，避免升级期间，持续loading造成系统故障误解
  * 权限设置中，多选的下拉框使用标准组件，包含全部选项，支持全部选择和取消，方便快速取消所有选项
  * 平台管理-成员管理中默认显示启用的用户列表
  * 成员管理支持手机号、邮箱和用户名修改，帐号设置支持用户名修改
  * 用户分群数量默认提升到200
  * 更换了获取节假日的接口（注：若不支持外网访问，需手动上传节假日，排除节假日功能方能生效）

#### **API** <a href="#id2021-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-api" id="id2021-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-api"></a>

* 新增了[维度表 API](/integration/api/api-manage-project/api-dimension)，支持调用 API 动态更新维度表，扩展维度属性

#### 修复Bug <a href="#id2021-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xiu-fu-bug.1" id="id2021-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xiu-fu-bug.1"></a>

* 权限最高优先级，关闭某个属性时，权限应该仍然生效
* 修复了数值型属性上传字典后的运算符问题

## V5.2.0 - 2020年12月31日

{% content-ref url="/pages/-MQAGrOkQPa0lNEoLn0R" %}
[V5.2.0 新增归因分析、消息中心、重构埋点方案、优化看数据体验……](/release-notes/v5.2.0)
{% endcontent-ref %}

#### 新增 <a href="#id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xin-zeng" id="id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xin-zeng"></a>

* **分析相关**
  * 新增归因分析，用于分析站内坑位对目标的贡献度
  * 在分析模型中支持使用维度表扩展的实体属性
  * 支持有细分维度时选择展示TopN\BottomN\全部的数据
  * 单指标细分省份、城市时增加地图类型的展示
  * 开启了智能画像产品服务后，支持在事件分析、属性分析、留存分析、转化漏斗分析模型中使用标签体系拓展分析维度
* **用户相关**
  * 新增用户探查功能，利用行为、属性、标签条件进行人群筛选，支持对筛选用户进行导出、监测任务创建，支持保存人群规则为常用条件。
  * 分群支持未触发事件的用户圈选
  * 支持通过文件批量上传用户属性，匹配已有用户创建分群的方式
  * 开启了智能画像产品服务后：
    * 新增用户标签批量管理功能，支持批量对标签体系进行全生命周期的管理
    * 新增用户标签应用统计功能，支持对标签体系的维护、应用情况进行统计
    * 支持在单用户行为序列页面中选择标签查看用户个人档案
* **权限相关**
  * 设置数据权限时支持选择的属性之间用【或】的运算符
  * 看板、分析、分群支持共享给指定角色
* **数据管理相关**
  * 支持在页面上管理维度表
  * 埋点方案支持设置通用属性
  * 埋点方案中的事件支持添加标签、显示开关等
  * 计划外的埋点支持停止入库操作
* **其他**
  * 日期选择新增近n日、过去n日、从某日至今、从某日至过去n日、从过去n日至过去m日等自定义范围的选择
  * 支持通过邮箱找回密码
  * 新增消息中心
    * 支持离线下载助手，大数据量文件下载时无需停留在当前页等待，完成后从离线下载助手中获取文件
    * 新增产品版本更新通知
    * 新增成员协同动态，e.g. 共享看板、图表消息
  * 增加日志管理功能，可从页面设置操作日志存留天数，直接从页面导出操作日志
  * 支持创建Webhook推送，将分群数据快速对接到外呼系统、券系统等内部系统（仅定制客户，标准版在智能运营产品中使用）

#### 优化 <a href="#id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-you-hua" id="id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-you-hua"></a>

* **分析相关**
  * 优化大数据量的下载体验
  * 分布分析触发次数支持自定义区间
  * 按小时的数据明确标识出时间段
  * 从分析模型中下钻人群时，时间段的选择自动带入单用户档案中的窗口
  * 细分维度和分群支持拖动改变顺序
* **优化埋点方案**
  * 增加引导说明和回数时间、标签等必要字段展示
  * 新增导入预置事件和属性
  * 细化微信小程序之外其他字节跳动、支付包小程序等的标识
  * 优化数据处理规则，更快速的选择严格模式、半严格模式、宽松yon模式
* **优化元数据管理**
  * 元事件、事件属性 、虚拟属性等增加引导、增加过滤条件、分组等
  * 事件属性支持查看关联事件、是否为通用属性等
  * Session管理、页面组等说明和交互
  * 虚拟事件条件和说明优化
* **优化导航和菜单**
  * 主导航从hover到点击后展开
  * 看板选择和分析条件区域支持收起，方便收起时展示更多内容
  * 分析模型和项目管理分类显示，方便快速查找同类
* **体验相关**
  * 优化选择成员列表中成员显示名和搜索范围，方便快速识别和搜索
  * 预置看板指标增加说明
  * 看板中的图表支持新标签页打开
  * License 到期、事件量超限、节点超限时也支持复制机器码
  * Loading 样式优化
  * 数据验证滚动吸顶位置优化

#### **API** <a href="#id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-api" id="id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-api"></a>

* 新增根据上传用户ID列表创建分群API
* 用户分群列表增加获取分群code入口
* 新增分布分析API
* 分析图表增加离线查询API

#### 修复Bug <a href="#id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xiu-fu-bug" id="id2020-nian-uba-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xiu-fu-bug"></a>

* Debug日志和错误日志各自支持1000条

## V5.1.0317 - 2020年12月01日

{% content-ref url="/pages/-MNXEOsaJk-Hk3qDboFC" %}
[V5.1.0317 体验优化& Bug修复](/release-notes/v5.1.0317)
{% endcontent-ref %}

#### 优化

* 预置看板中指标移入后增加了更直观的数据标签
* 优化了单用户档案中行为序列数据量过大时的加载体验
* 优化了事件分析 B表格下数据量过大时的加载体验

#### 修复 Bug

* 修复了渠道分析带留存率指标和公共过滤条件时查询异常的问题
* 修复了当前为周日时选择日期组件中的本周时日期范围显示异常
* 修复了自定义指标细分维度查询，当指标在某个维度值下无结果时查询异常的问题
* 修复了当一条数据中有多个属性错误，且包含Profile预置属性时导致的程序异常

## V5.1.0 - 2020年10月28日

{% content-ref url="/pages/-MLvTIt2sJ9zVHZT1EFf" %}
[V5.1.0 升级可视化埋点、增强权限控制……](/release-notes/v5.1)
{% endcontent-ref %}

#### 新增 <a href="#id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xin-zeng-.1" id="id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xin-zeng-.1"></a>

* **权限相关**
  * 扩展数据权限，根据事件、事件属性、用户属性限制数据可见范围、设置脱敏和隐藏字段，提高数据安全性（管理-成员管理-设置成员权限）
  * 新增角色管理，以满足用户给不同的使用者灵活定义功能范围的需求（[管理-项目角色管理](/features/project-manegement/role)）
  * 新增个人项目权限概览，方便个人查看自己具有的权限（头像-个人设置）
  * 新增资源转移，方便人员离职时快速转移/删除已创建资源（平台成员管理-禁用帐号）
  * 通过更新 License 获取单独付费模块的使用权限（平台管理-当前计划）
* **数据接入相关**
  * Debug数据验证变更为数据验证，增加数据概览和 Profile 数据上报的验证，更便捷、全面的验证数据接入（管理-数据接入管理-数据验证）
  * 新增维度表扩展实体属性（分析中可应用、通过代码设置在元数据管理可查看）
  * 在项目中增加当前服务状态，以便出现问题时可以快速检查各处异常（左上角项目Logo位置）
  * 可视化埋点升级，支持选择同级元素、圈选属性等，扩大可视化埋点可采集的数据边界，提升埋点效率（管理-数据接入管理-可视化埋点）
    1. 支持了 Hybrid APP的可视化埋点
    2. 新增事件属性的可视化添加
       1. 可以从页面圈选，用于添加变化的属性
       2. 可以手动添加固定值，用于添加固定的属性，比如按钮所在页面、位置等
    3. 支持根据文本、同级元素、同类型等条件选择限定为固定位置、相同名称元素、列表相同元素等快速埋点
    4. 优化已圈选、可圈选、正在编辑的状态，更方便的识别各个元素的编辑状态
    5. 优化埋点列表，非当前页面的埋点置于列表下方，并明确标识别
    6. 优化埋点列表中已部署和未部署的标识，方便快速了解
    7. 可视化埋点和埋点方案的同步
       1. 可视化埋点增删改后可自动同步到埋点方案
       2. 埋点方案修改了可视化埋点的事件名称和属性也支持同步到可视化埋点列表
* **分析模块**
  * 留存分析支持选择多个事件作为初始和回访行为，新增查看连续 N 日后的留存和流失
  * 创建自定义指标时支持添加过滤条件
  * 事件分析中在选择事件后组成的指标后增加了创建自定义指标的入口，支持在已有指标上快速自定义指标
* **用户模块**
  * 开启了智能画像产品服务后：
    * 用户模块新增标签管理功能，进入后可以根据规则创建标签，灵活搭建标签体系
    * 支持应用标签体系中创建的标签进行分群
  * 用户分群支持用户自定义可见范围，保证分群明细的数据安全（保存分群、列表中分群共享入口）
* **运营模块**
  * 消息通知支持自定义参数
  * 增加阿里云和信鸽推送通道（通道本身支持设备厂商推送）

#### 优化 <a href="#id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-you-hua" id="id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-you-hua"></a>

* **数据接入相关**
  * Debug日志中标出了错误日志，方便快速识别出错误
  * 优化错误数据的错误详情，以便用户根据错误提示快速定位问题
  * 维度字典支持多对一， 做数据清洗，比如将xiaomi、Xiaomi等对应为一个小米
* **分析相关**
  * 优化了所有属性下拉框，明确类型标识，增加事件属性说明，以便使用时更清楚属性的含义
  * 维度值支持排序（包括数值型区间默认展示顺序优化）
* **运营相关**
  * 广告跟踪支持生成短链，以便直接使用和生成的二维码易读性
* &#x20;**数据相关**
  * GDPR增强
* **其他若干优化**
  * UA 解析设备类型更准确
  * Session分析支持按事件属性分组查询
  * 更新事件预置属性的状态
  * 优化看板缓存
  * 优化看板引导
  * 优化上传字典时的异常处理和提示
  * 优化语言是英文时的展示细节

#### API <a href="#id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-api" id="id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-api"></a>

* 新增了注册埋点的API
* 新增了脱敏在API中的应用
* 新增Session分析API
* 新增渠道分析API
* 新增自定义SQL查询API
* 新增创建、修改虚拟事件API

#### 修复Bug <a href="#id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xiu-fu-bug" id="id2020-nian-fang-zhou-ban-ben-gui-hua-he-jin-zhan-xiu-fu-bug"></a>

* 当上传了字典后，搜索属性值不能搜索到全部属性值的问题
* 事件和属性ID没有小写处理的问题
* 创建成员时在输入密码时点击回车会自动关闭窗口的问题

## V4.6.0 - **2020年03月17日**

#### **新增**

* 分析相关
  * 新增日期排除设置（在企业管理-企业设置中），开启后在查看分析报表时设置查看排除某些日期的数据，满足譬如金融类用户过滤非交易日的需求
  * 所有模块中事件被选项支持标签分组和筛选，以便清晰的展示和过滤想要的事件
  * 所有分析/分群添加条件时，运算符为“等于”、“不等于”的情况下支持批量输入值，满足譬如快速选择已知的一批用户 ID 的场景
* 数据管理相关
  * 虚拟事件增加标签，以便分析时同样支持根据标签分组、快速选择
  * 埋点方案中新增埋点变更记录，记录什么人对事件/属性做了什么操作，方便多人共同管理埋点方案出现问题时追踪
* License
  * 新增了事件量超出限额的控制，超出后将自动关闭数据，不再处理新的数据，继续使用需要输入扩容后的 [License](https://docs.analysys.cn/ark/faq/license) 重新认证
  * [License](https://docs.analysys.cn/ark/faq/license) 中增加机器码绑定，即一个 [License](https://docs.analysys.cn/ark/faq/license) 仅可用于一套部署环境
* API
  * 新增了获取分群用户明细接口支持分页查询
  * 元事件列表接口增加回数平台

#### **改进**

* 大幅优化查询性能
* 预置看板同样支持强制刷新、下载 PDF 和全屏查看
* 优化分析模型表格数据排序的顺序和部分特定场景下表格的默认展示形式
* 优化事件/指标选择下拉框中虚拟事件和自定义 Session 规则下部分指标的说明
* 消息通知中极光通道支持自己选择生产和测试环境，以满足在极光平台中配置了特定环境用于测试的场景
* 优化广告跟踪批量上传时的异常提示，以提高排错修正效率
* 优化删除项目，使得被删除项目的 AppKey 被复用时不再查询历史垃圾数据
* 优化小舟助手点击帮助文档的跳转，从哪个功能点击进入就跳转到相应功能的说明文档中
* 对所有用户显示当前方舟版本信息<br>

**BUG修复**

* 修复了若干BUG

## V4.5.3 - 2019年11月30日

#### 新增

* 新增了 [项目管理API](/integration/api/api-manage-enterprise/api-enterprise-project)，获取方舟中创建的项目信息
* 新增了 [成员管理API](/integration/api/api-manage-enterprise/api-enterprise-user)，支持内部系统调用创建、管理用户

#### BUG修复

* &#x20;修复了若干BUG

{% hint style="info" %}
从 4.5.3 版本起支持绑定易观方舟小程序，在移动端随时随地查看数据动态
{% endhint %}

![扫一扫易观方舟小程序码](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LvdzAFs7Ys1rUYbzYvr%2F-Lve1ezIYRMOSpmVrvxf%2Fimage.png?alt=media\&token=69da6935-0610-4bd2-b8c0-dcdc0308a8b0)

## V4.5.1 - 2019年11月05日

#### 新增

* 新增了[属性分析API](/integration/api/api-analytics/api-user-attribute)

#### 改进

* 优化了预置看板的缓存，使得查看看板时数据更快速加载
* 性能优化

#### BUG修复

* &#x20;修复了若干BUG

## V4.5.0 - 2019年10月13日

#### 新增

* [智能监控](/features/analytics/pathfinder)，针对上报元事件的触发次数和触发人数的异动进行智能监控
* 事件分析中增加触发时间作为默认筛选条件，可以查看关注的小时区间数据&#x20;
* 新增企业设置功能，可以自由配置收数地址
* 新增[ 分群管理API](https://docs.analysys.cn/ark/integration/api)&#x20;

#### 改进

* 看板增加编辑说明功能，方便所有人员查看
* 分析模块多处优化
  * 下载表格优化，增加显示结果类数据
  * 公共过滤条件和细分属性中的公共属性在切换指标时保留，方便任意切换指标进行查询
  * 添加了结果为无值的说明，以便了解造成无值的可能原因
  * 维度选择着陆页时，可以选择按标题或按URL展示，细化查询维度
* 企业成员优化，通过禁用和启用管理成员状态
* 支持在线手动停止数据流
* SDK支持采集小程序的分享事件及属性，并默认放到埋点方案中

#### BUG修复

* &#x20;修复了若干BUG

## V4.4.2 - 2019年09月27日

#### 新增

* [平台管理类API](/integration/api/api-manage-enterprise)

#### BUG修复

* &#x20;修复了若干BUG

## V4.4.1 - 2019年09月19日

#### 新增

* [管理类API](/integration/api/api-manage-project)

#### 改进

* 持续优化事件分析查询性能

## V4.4.0 - 2019年09月02日

#### **新增**

* **工具**支持小版本的增量更新，大多数的时候你不用下载完整安装包来进行系统升级了
* **分析**热图新增元素点击图（[Web](https://docs.analysys.cn/ark/features/analytics/heatmap/web#3-dian-ji-yuan-su-re-tu)、[APP](https://docs.analysys.cn/ark/features/analytics/heatmap/app#dian-ji-yuan-su-re-tu)），通过元素点击图可以精确了解每个元素被点击的数量
* **分析**中的**Session分析**现在同时支持预置规则及指标与自定义规则
* **看板**预置了不同客户端的数据看板，现在只要回数正常就可以看到当前客户端的基础数据概览
* **消息通知**支持直接将分群推送到外部平台（极光），如过你需要使用外部平台的功能，现在通过分群推送可以实现了
* **消息通知**中新增了**华为**通道
* **消息中心**中可以查看指标监控的信息，未来消息中心也会用于显示更多的系统级通知

#### **改进**

* 优化了**看板**的查询速度

#### Bug 修复

* 修复了若干 bug

## V4.3.5 - 2019年08月30日

* 修复了若干 bug

## V4.3.4 - 2019年07月29日

#### 新增

* 新增了查询 API 和功能 API，满足调用方舟数据结果自定义嵌入其他系统的需求
  * 文档中心新增了 [API 使用说明 ](https://docs.analysys.cn/ark/integration/api)&#x20;
  * 分析图表中新增了获取 API 查询参数入口
  * 项目概览中新增了获取 AppSecret 入口

#### 优化

* 优化了埋点方案
  * 支持埋点方案一键清空，满足不需要预置方案或者批量导入错误后需要快速删除的场景
  * 优化了单条事件的添加方式，支持添加事件和多个属性后一起保存，提高单条添加效率
  * 添加属性 ID 的过程支持行内联想输入，自动填充已使用属性ID 的名称和数据类型，规避同一属性 ID 不同含义不同数据类型的定义错误
  * 优化了埋点方案中下载文件的格式，方便下载更新后再次导入
* 优化了分析图表
  * 单个指标细分维度时，环状图的显示
  * 日期型属性作为维度值时，默认展示的粒度，从秒到天
  * 渠道分析大于三个指标时，默认气泡图优化为表格，更容易解读
* 优化了已共享看板/图表的共享成员数标识，方便直观查看当前看板/图表被共享情况
* 优化了擅自修改节点数不符合 Lisence 时的提醒方式 &#x20;

#### Bug 修复

* 修复了若干 bug

## V4.3.2 - 2019年07月23日

#### **新增**

* 分析模型中选择事件时，支持移入查看事件的说明，更快速的了解事件的具体含义
* 分析模型中，支持字符型属性通过正则表达式来定义条件
* 分布分析中新增了直方图的呈现

#### **改进**

* 优化了埋点方案中添加事件的方式，单条添加时，支持一次性定义事件的多个属性
* 优化了事件分析中事件属性构成的指标顺序，数值型靠前，方便选择总和、均值等指标
* 优化了成员管理中设置成员数据权限的交互，快速分辨哪些用户添加了权限
* 优化中已共享看板的共享标识，快速识别当前看板贡献给了多少用户
* 转化漏斗扩展到了32步，支持定义复杂的业务流程

#### Bug 修复

* 修复了若干 bug

## V4.3.1 - 2019年07月08日

#### **新增**

* **看板**模块新增了邮件订阅，支持将数据报告定时发送到邮箱&#x20;
* **分析**模块新增了四大分析模型和自定义查询
  * [热图分析](/features/analytics/heatmap)，支持分析 Web/H5 页面、APP 的点击位置、点击元素热度分析
  * [分布分析](/features/analytics/distribution)，分析某事件在不同节点上分布，比如洞察用户什么时间更愿意购买商品
  * [间隔分析](/features/analytics/interval)，分析两个事件的时间间隔等
  * [属性分析](/features/analytics/user-attribute)，可以根据用户的属性进行分析
  * [自定义查询](/features/analytics/sql)，支持用户完全自定义查询满足现有分析模型无法支持的分析需求
* **分群**模块新增了分群的导出，支持将用户明细导出，再导入广告系统、CRM 系统等再次使用
* **运营**模块新增了多个短信通道
* **管理**模块新增了项目概览、埋点管理、用户数据权限控制、更多服务商接入
  * [项目概览](/features/project-manegement/overview)支持了解项目 AppKey、回数情况、埋点情况等基础信息
  * [埋点方案](/features/project-manegement/data-integration/schema)管理，支持集中管理埋点需求、设定异常数据处理规则、自动化校验等保证数据质量
  * 元数据管理中，新增事件标签、回数日期、基础数据指标等基础信息，支持分组查看和过滤条件
  * 成员管理中新增用户权限，支持设定指定成员查看指定的数据，满足数据安全性的需求
  * 服务集成配置中新增了多个短信通道（云集、乐信通、领驭、腾讯云）
* **企业平台管理**中新增了[安全设置](/features/enterprise-management/an-quan-she-zhi)，支持企业根据内部安全规范自定义设置
* 新增了 C++ SDK&#x20;

#### **改进**

* 分析模块优化
  * 在每个分析模块中可以通过新建快速创建新的图表
  * 图表中日期添加了星期
  * 下载数据不再限制50条
  * 数据量过大导致超时时，自动开启抽样
  * 渠道分析中支持了气泡图
  * 优化了智能路径分析模型中的条件区域
  * 事件分析分析结果中的 URL 可以直接点击跳转到页面
* 运营模块优化了消息通知、邮件大数据量发送时的效率
* 分群模块优化了计算状态，当出现异常时可以手动刷新计算，支持导出数据
* 管理模块优化
  * 重新调整了导航结构，原元事件、事件属性等合并入元数据管理；可视化埋点、集成 SDK 等并入数据接入管理
  * 易观锆云作为方舟的数据服务商，用户可以自定义配置接入，当接入后可以在方舟的分群中查看分群偏好画像
  * 优化了自定义告警，支持更灵活的时间设置
* 优化了新用户未接入数据时的引导
* 优化了 UI 界面
* 持续的性能优化
* 增加运营模块短信通道

#### Bug 修复

* 修复了若干 bug

## V4.2.2  - 2019年05月09日

#### 新增

* 数据明细验证，可在产品内校验数据有效性
* 帐号安全策略设置，以提升系统安全性并且适应企业中帐号合规要求
* 支持修改项目名称、上传 LOGO、删除项目
* 支持 Lisence 激活、扩容、续期

#### 改进

* 服务端支持 NTP ，以避免因可能时间差异导致的数据不准
* 进行了一些稳定性方面的优化
* 优化了看板缓存，可以提高看板显示速度
* 现在表格支持拖动表头调整列宽了
* 现在用户列表显示时可以记住常用的列

## V4.1.1 - 2019年01月24日

#### 新增

* 新增了[短信推送](/features/operation/sms)，支持自定义分群发送营销短信
* 新增了独立的 [Session 分析](/features/analytics/session)模型，从事件分析当中独立出来，更便捷的分析用户连续的行为、不同频次或时长的用户分布；
* 新增了[监控告警](/features/project-manegement/monitoring/monitoring)，支持自定义监控关键指标，当指标达到设定阈值时自动发送告警消息，查看异常情况

#### 优化

* 优化了漏斗计算的准确性，重复事件时提升到毫秒级别计算漏斗转化
* 优化了数据缓存，超过阀值自动强制刷新缓存数据
* 优化了自动登录时的体验

#### Bug 修复

* 修复了部分情况下用户属性上报缺失的情况

## V4.1.0 - 2019年01月08日

#### 新增

* 新增了[广告跟踪](/features/operation/utm)的功能
  * 支持批量上传生成跟踪链接
  * 支持批量下载生成后的链接
  * 支持链接时同时生成带参数的二维码（可自定义 LOGO 和尺寸）
  * 单条创建支持下拉选择广告来源和媒介，也支持自定义来源和媒介
  * 单条创建时支持在当前页继续生成新的链接
  * 支持增加备注
  * 支持删除无效链接
  * 支持查看单条链接的指标表现
* 新增了预置分群：新访问用户 和 新注册用户 ，支持在各个分析模型中对比分析
* 新增了实验室（用于承载一些实验性功能）

#### 优化

* 优化了主导航，移入分析 、运营 和 管理 可以快速切换二级导航
* 拆分了[消息通知](/features/operation/pushmessage)和[电子邮件](/features/operation/email)  ，可以从二级导航进入，更方便管理和创建邮件
* 优化了分群推送时直接选择消息通知还是电子邮件
* 优化了点击图表元素时 popup 菜单位置，使得数据标签完整出现在可视范围内
* 优化了事件分析多个指标时默认的图表
* 优化了事件分析中数值型图表添加看板时 widget 可控制的大小
* 优化了元事件列表中不包含属性的事件行效果（去掉了箭头，不支持点击展开）
* 优化了小舟助手位置，使得不遮挡主功能
* 优化了按照平台维度细分时显示的维度值，变得更易读

#### SDK 和开放平台

* 新增了 PHP SDK
* SDK 首次访问时间 $first\_visit\_time 强制转化为东八区，方便数据统一处理
* 新增了 presto-kafka 插件，支持通过 presto 查询 kafka 中的数据
* 邮件发送服务支持 SSL

#### Bug 修复

* 修复了事件分析-自定义指标表格模式未显示单位的问题
* 修复了首次创建项目后，不刷新页面不显示进入产品的入口
* 修复了自定义指标分享给其他用户时，显示的为 code 而不是名称的问题
* 修复了数据中非广告系列的问题
* 修复了单机版无法启动数据流的问题
* 修复了部分情况下用户属性上报缺失的情况


# V5.3.3 UI 升级、分布分析重构、维度表动态更新、细节优化等

发布于 2021年03月31日

{% hint style="success" %}
**更新要点：**

1. UI 升级，统一智能分析、智能画像、智能运营三个产品的风格
2. 分布分析重构，新增活跃天数指标，优化图表展示等
3. 维度表支持通过 API 动态更新扩展属性
4. 多处细节优化，提升看数、用数体验
   {% endhint %}

## UI 升级 <a href="#shu-ju-jie-ru-huan-jie-ti-xiao" id="shu-ju-jie-ru-huan-jie-ti-xiao"></a>

{% hint style="info" %}
V5.3.3 版本 UI 进行了重大改动，统一了易观方舟智能分析、智能画像、智能运营三个产品的风格，产品之间可以快速互相切换

细节还在持续优化中，期待您的反馈， [点击这里提交](https://www.analysysdata.com/forum/index)&#x20;
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZM_JvvABGSvZD71eqw%2Fimage.png?alt=media\&token=3d03781a-d9fb-4138-bcf6-1545226a750d)

## 分布分析重构

### 1. 新增活跃天数指标，满足分析用户活跃天数分布

可以查看任意事件在某一个时间区间里的活跃天数，如下图体现过去 90 天里不同活跃天数的用户分布，其中多数用户活跃天数在 2 天到 5 天之间，10 天以上的用户最少

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMjN13q4F0gdPs2B86%2Fimage.png?alt=media\&token=872f778e-5f6d-44a9-8da4-48bc8d2c3567)

支持按周、按月的时间粒度细分，比如下图查看最近4个月里 用户活跃天数的变化

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMjae79p4seGCAORji%2Fimage.png?alt=media\&token=6c3ce01b-79ac-44ba-b45b-2fdb9637d323)

支持细分维度、添加过滤条件、多人群对比

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMjeNOIamLBGLmaBqp%2Fimage.png?alt=media\&token=4e1c784e-c4ac-4d63-aef9-e38ba6e78e7d)

### 2. 活跃时段分布新增了时间热图

通过热点图可以快速查看一段时间里不同时段的触发某个事件的用户情况，比如下图展现近 30 日每天用户在不同时段的活跃情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMqYpi5GSUYhFbex_6%2Fimage.png?alt=media\&token=7e8d667e-ee4e-4496-886f-cfffbb691c15)

也可以按每周几聚合，比如通过下图，可以发现用户基本活跃在工作日上午的 10 点 - 12 点，下午的 14 点 - 15 点

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMkymaU1g0BLY73rWw%2Fimage.png?alt=media\&token=bc223cdd-9d13-410c-97f9-1c1b77f1ec30)

### 3. 优化了各种情况下的图表展示，提升易读性

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMmLzBNePiLTw-P3jg%2Fimage.png?alt=media\&token=d26a28cc-7ce5-4d4f-bcab-ecba9fc09e93)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMnBlyz88iGuxlrNDl%2Fimage.png?alt=media\&token=ce6adb50-62c1-4c75-8d8a-19a6c8fcc57b)

### 4. 新增了A/B 表格展示

按日、周、月时间粒度细分时，支持两种表格形式，查看聚合数据和明细数据

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMmfwgqKESOopuTwP9%2Fimage.png?alt=media\&token=9c5f1cde-2223-45dc-b7ff-639acf5ece1e)

## 分析模块其他优化

### 1. 事件分析在细分维度的时候支持显示各个维度值的占比

比如可以查看各个页面的访问用户占总体浏览页面用户的比例

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMvtXtnugssxC8ZYpw%2Fimage.png?alt=media\&token=d67d0478-3a38-4f7f-81bc-1ddaa8d24fea)

### 2. 事件分析和 Session 分析多指标时支持设置次坐标轴

同时查看多个指标时，如果指标数值的量级差异较大会导致无法有效对比，比如绝对值和比率的指标在同一个图表中时，这时候就可以设置比率的指标在次坐标轴上，更清晰的查看

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMxyTovssJu_wpJARD%2Fimage.png?alt=media\&token=52d9bed3-8927-4dcb-9bd5-0071e1f467b2)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMxrHByCE9pM3XpvBa%2Fimage.png?alt=media\&token=ab06a007-2349-4a96-abc0-d0003571d52e)

### 3. 转化漏斗、事件分析、Session分析新增了条形图

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZMzJrMQkP6r3iLvY_e%2Fimage.png?alt=media\&token=8a18c68d-5c5a-4c63-8c28-0a3f54af11c6)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZN--txo0BkDYtuXZFQ%2Fimage.png?alt=media\&token=b5cd8cd8-da27-4671-bce8-660ecedb5c83)

### 4. 其他优化

* 间隔分析、分布分析、实时分析中新增【新访问用户】的分群
* 留存分析新增了面积堆叠图，通过图表查看留存变化
* 集合类型属性细分维度时，支持按照集合中的各个值细分查看
* 渠道分析中，过滤条件中增加了事件通用属性
* 所有分析模型中过滤条件中运算符选择不等于和不包含时， 预期结果中包含 无值的结果
* 饼图中支持同时显示绝对值和占比
* Session分析自定义切割规则下支持指标重命名
* 长按拖动可调整细分维度的顺序

## 分群模块优化

### 1. 用户分群新增分群说明、支持自定义计算周期和手动即时计算

保存分群时支持设置时单次计算，还是周期性计算

* 每天计算，可以设置计算时间点，通常建议在凌晨
* 每小时计算，自动在整点计算

{% hint style="warning" %}
若同一时段内需要计算的分群数较多，会依次排队计算，可能比设定的时间稍晚
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZN-j1SX9WH_u2ZDSfn%2Fimage.png?alt=media\&token=94526d97-24cb-44d1-92ef-63ce7969291c)

保存后也可以重新设置计算方式，也可以手动刷新，即时计算

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZN-zYRiia7XqdRje6I%2Fimage.png?alt=media\&token=caa66e8f-af98-44a5-bb11-e42e0f792ab8)

### 2. 增加预置分群【所有注册用户】，支持快速选择基于注册用户进行分析

{% hint style="info" %}
所有注册用户是指所有上报的实名用户，用户属性 $is\_login = true
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZN70wDO-iWmWa7QNgH%2Fimage.png?alt=media\&token=e1634c5f-6309-47f4-babb-c9b2272e9c80)

### 3. 单用户行为序列支持过滤干扰事件

单用户行为序列会展示所有实际触发的事件，但对于比如热图事件、点击元素等事件触发上报比较频繁，可能影响排查问题效率时，这时候就可以选择过滤掉

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZMYCLEEIC4k7mm3yK-%2F-MZN5O_pnkgKh38zO3no%2Fimage.png?alt=media\&token=43a7fd35-1037-43a9-abe9-72197dc60a6b)

### 4. 其他

* 单行为序列支持下载
* 用户分群数量默认提升到200

## 看板模块优化

* 支持批量设置共享看板
* 看板中的图表可查看最近计算时间，可单个和批量强制额刷新即刻计算
* 看板中的分群支持显示分群说明、支持强制刷新重新计算
* 看板图表数量较多时，优化看板的加载，提升加载速度

## 其他

* 广告跟踪支持批量下载，包括长链、短链、二维码
* APP推广监测数据页中支持显示数据计算时间和强制刷新
* 支持百度小程序场景值的字典翻译
* 用户属性中开放了【是否是注册用户】属性
* 优化埋点方案/元事件管理中事件下的属性和事件属性的同步机制，及引用事件属性的规则
* 错误日志队列中的日期框选范围优化为通过入库日期过滤，方便过滤事件时间超出接收范围的错误日志
* 权限设置中，多选的下拉框使用标准组件，包含全部选项，支持全部选择和取消，方便快速取消所有选项
* 平台管理-成员管理中默认显示启用的用户列表
* 成员管理支持手机号、邮箱和用户名修改，帐号设置支持用户名修改
* 更换了获取节假日的接口（注：若不支持外网访问，需手动上传节假日，排除节假日功能方能生效）
* 支持在 Ambari 配置定期删除热图数据，释放存储
* 增加系统升级的页面通知用户，避免升级期间，持续loading造成系统故障误解

## **API**

新增**了**维度表 API，支持调用 API 动态更新维度表，扩展维度属性

{% content-ref url="/pages/-MY4KT7H9iZ6n9T7z3E7" %}
[维度表管理](/integration/api/api-manage-project/api-dimension)
{% endcontent-ref %}

## 修复Bug

* 权限最高优先级，关闭某个属性时，权限应该仍然生效
* 修复了数值型属性上传字典后的运算符问题


# V5.2.0 新增归因分析、消息中心、重构埋点方案、优化看数据体验……

发布于 2020年12月31日

{% hint style="success" %}
**更新要点：**

1. 新增归因分析，用于分析站内坑位对目标的贡献度
2. 优化分析图表，e.g. 细分维度选择数据范围、支持地图类型图表等
3. 新增通过文件批量上传用户属性匹配已有用户来进行创建分群的方式
4. 重构埋点方案和元数据管理，e.g. 埋点方案支持标签、单独设置通用属性、在线管理维度表、交互优化等等
5. 新增消息中心，集合离线下载助手、 产品更新动态、告警助手、协作动态通知等
6. 新增日志管理，统计分析成员使用、查询分析、API调用等情况
7. 优化左侧导航交互、支持看板和分析收起和展开
   {% endhint %}

## 新增归因分析&提升看数体验 <a href="#shu-ju-jie-ru-huan-jie-ti-xiao" id="shu-ju-jie-ru-huan-jie-ti-xiao"></a>

### 1. 新增了归因分析 <a href="#id-1-ke-shi-hua-mai-dian-sheng-ji" id="id-1-ke-shi-hua-mai-dian-sheng-ji"></a>

以电商平台为例，在产品中会有不同的引流坑位，比如金刚位、直播入口、有好货、每日推荐等等，通过不同的路径引导用户完成最终的下单支付，运营人员要想让流量收益最大化，就需要分析评估各个坑位对目标的贡献度，从而指导优化。

归因分析模型就用于衡量和评估站内的用户触点对总体转化目标达成所作出的贡献。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQB1gWVoSZQwMaVAB2A%2Fimage.png?alt=media\&token=41448b1d-07e7-4887-aa0b-cf98438253ff)

具体使用方法，详见下方文档。

{% content-ref url="/pages/-MK9DDtbPP5rdWF3mN57" %}
[归因分析（Beta）](/features/analytics/attribution)
{% endcontent-ref %}

### 2. 在分析模型中支持使用维度表扩展的实体属性

在一些分析的场景中，会涉及到产品相关实体，比如商品、课程、企业等等。

这些实体会有很多属性信息，比如商品会有商品ID、商品名称、一级类目、二级类目、品牌、型号、尺寸、颜色等等，如果需要细分到这些维度，就需要将这些数据同样上报到方舟系统当中，但如果采用埋点的方式，就会有大量冗余；更简单的方式就是只上报商品ID，然后建立商品的维度表，做好商品其他属性与商品ID的关联，就可以在分析时快速使用了。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQB1AGbUiYfnGQdi-Qq%2Fimage.png?alt=media\&token=0a331ecd-a2b8-4e8c-8a56-871ad8578491)

### 3. 支持有细分维度时选择展示TopN\BottomN\全部的数据

细分维度后可以选择计算的数据范围，Top10、Top50、Top200、Bottom10、Bottom50、Bottom200和全部

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQLKQrPxiSQ6XE-qzq2%2F-MQLMKz5FYkoSz4W-JpR%2Fimage.png?alt=media\&token=c0a421c6-8c3e-464f-ae98-ce48aaabf498)

通常细分维度时会查看Top10的结果，所以默认会显示Top10，可以自行切换，切换的选项会根据数据量自动判断，比如只有100条，则可选项为Top10、50、Bottom10、50、全部；

当在多个指标的情况下， 再细分维度时，默认Top10以第一个指标的结果为基准排序。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQB3DElawjIJOmjxhBh%2Fimage.png?alt=media\&token=80fdd9dc-1f1f-4d1e-b787-571623341291)

### 4. 单指标细分省份、城市时增加地图类型的展示

在事件分析和Session分析中，单指标细分省份、城市时支持地图的展示方式。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQB9LE9JslIRiDm0KFf%2Fimage.png?alt=media\&token=5f035a5e-b306-4d29-82a6-c8f5c7b82386)

### 5. 部分模型支持使用标签体系拓展分析维度

开启了 **智能画像产品** 服务后，支持在事件分析、属性分析、留存分析、转化漏斗分析模型中使用标签体系拓展分析维度

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQBEkyHU8TQF9whvX4M%2Fimage.png?alt=media\&token=2471b7df-826a-4069-ab98-638ecb0cba03)

### 6. 分析时灵活自定义日期范围

日期选择新增近n日、过去n日、从某日至今、从某日至过去n日、从过去n日至过去m日等自定义范围的选择

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCAdpyRkXo1FKesMMK%2Fimage.png?alt=media\&token=fee801e0-6443-478e-9ff8-2ef835ead502)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCBFSJ0EBJLRXfDXw9%2Fimage.png?alt=media\&token=3867e74d-c71f-4e7f-a986-b26d6e2773a9)

### 7. 分布分析触发次数支持自定义区间

分布分析某事件活跃次数支持自定义划分次数区间

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQBY4QPtH__SSyUZdPo%2Fimage.png?alt=media\&token=ada06367-9edf-4576-bd4f-d3120f15a612)

### 8. 若干细节优化

* 优化大数据量的下载体验
* 按小时的数据明确标识出时间段
* 从分析模型中下钻人群时，时间段的选择自动带入单用户档案中的窗口
* 细分维度和分群支持拖动改变顺序
* 预置看板指标增加说明
* 看板中的图表支持新标签页打开
* loading 样式优化

## 新增用户探查、支持文件导入分群等

### 1. 新增用户探查功能

在一些场景下只需要根据行为、属性、标签条件进行临时性的人群筛选、导出，不需要保存分群，占用分群数量，则可以使用用户探查功能，快速计算用户规模和明细；

支持保存常用条件；支持创建消息提醒。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQBhyYCCwBz_RSmz5ku%2Fimage.png?alt=media\&token=e70724a1-632f-4cc8-bb5e-ee0f51bce172)

### 2. 支持通过文件批量上传用户属性，匹配已有用户创建分群的方式

支持通过Excel文件批量上传快速圈定分群，比如从CRM中到导出一批手机号，想要在方舟中分析他们的行为，则导入手机号的文件，即可创建分群。

{% hint style="info" %}
仅支持在方舟系统中已有的字符串类型用户属性数据，若导入的数据在方舟系统中不存在（未通过SDK上报或数据导入），则不计入创建的分群中，比如导入了10个邮箱，其中只有8个邮箱在方舟中存在，则创建的分群仅包含8人
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQBnOx6DUMHOhDVJx9h%2Fimage.png?alt=media\&token=fd23e497-015a-4a5c-9fce-eaf826134a3f)

### 3. 分群支持未触发事件的用户圈选

优化了未触发某事件的用户筛选方式，原来需要选&#x62E9;**`触发了某事件次数等于0，且用户ID有值`**&#x7684;方式，现在可以通过 **`未触发事件`** 来快速定义，更易理解。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQBsmZEowO5fYhuzuV0%2Fimage.png?alt=media\&token=6259ee03-a169-40e3-a7be-441558058f4a)

## 重构埋点方案和元数据管理

### 1. 埋点方案展示优化，增加回数时间、标签等必要字段展示

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQC1IlrEvjG3dEvqwCx%2Fimage.png?alt=media\&token=8e6adc3a-8363-4be5-bccb-c54ab2cbfb73)

* 各个页面增加了引导说明
* 调整了更新埋点状态、埋点变更记录、事件编辑和删除功能入口
* 表格中展示出了首次出现时间、最后出现时间、标签、埋点方式等字段，作为埋点管理的依据，比如当埋点非常多，且有些埋点在新版本中已经不出现时，就根据最后出现时间正序排列，隐藏掉很久之前的埋点
* 支持在埋点方案中设置事件和属性是否在分析下拉框中显示/隐藏
* 每个埋点的分析中支持快速查看Debug日志、入库日志和错误日志进行数据验证

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQC2iCTR2UVFDfYSaMT%2Fimage.png?alt=media\&token=054d7d8e-90a1-4cda-92b6-dc635b94c97d)

### 2. 支持设置通用属性

通用属性是指所有事件都有的属性，方舟默认会采集部分属性（预置的通用属性），此外若有需要也可以添加自定义通用属性，集成SDK时注册即可。

可以在页面上设置通用属性，通用属性将不会显示在每个事件下方。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQC4ST2K1TJo4Ijv6y3%2Fimage.png?alt=media\&token=e9f19d0a-eeda-41e2-881e-2237bb6d3124)

### 3. 计划外的埋点支持停止入库操作

对于计划外已入库的完整事件，支持停止入库（当一个事件仅有部分属性属于计划外时，不支持关闭入库操作）

入库开关关闭后，后续产生的数据将不再入库（注：Nginx 仍然正常接收，只是不再处理数据入库后参与计算，如果不想让继续上线，需要从代码层面删除埋点）

如果根据实际需要，又需要继续获取此事件上报的数据，可以打开入库开关，但这期间历史未入库的数据不会被恢复

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQC55DcAJY9g_CcRavj%2Fimage.png?alt=media\&token=7ec60b57-613b-44d4-b2ff-3c72d1bfb7f0)

### 4. 优化数据处理规则，更快速的选择严格模式、半严格模式、宽松模式

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQC8KZQEJ9FRsBdnsds%2Fimage.png?alt=media\&token=66acb5a9-aac1-4fd4-8657-1b53c9f3ad87)

### 5. 元事件、事件属性 、虚拟属性等增加引导、增加过滤条件、分组等

元数据管理中各个页面增加了引导说明，增加埋点方式、是否显示等分组和过滤条件

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCBgZMeG8trV2GfD2j%2Fimage.png?alt=media\&token=1d3a7234-ba6d-448a-a697-4a0550661f3f)

### 6. 事件属性支持查看关联事件、是否为通用属性等

事件属性中可以查看引用这个属性的事件数、是否为通用属性；

支持分组显示、支持条件过滤。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCCoz_95bIwOx04IcK%2Fimage.png?alt=media\&token=2692b866-fc58-4738-82a0-b436bc6beb8b)

### 7. 支持在页面上管理维度表

支持在线创建、更新维度表，详细说明查看下列文档

{% content-ref url="/pages/-MKV62cWRIFnCcHnsyk\_" %}
[维度表](/features/project-manegement/meta-data/dimension-table)
{% endcontent-ref %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCFYEepWim9HF2T7Xd%2Fimage.png?alt=media\&token=ec94328e-cbf4-4d3d-9903-c383a6994c5a)

### 8. 若干细节优化

* Session管理、页面组等说明和交互
* 虚拟事件条件和说明优化

## **优化权限相关**

### 1. 设置数据权限时支持选择的属性之间用【或】的运算符

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCFxEsUiQFITma4nyk%2Fimage.png?alt=media\&token=748fd076-a1b5-43af-a361-16a81c877ee8)

### 2. 看板、分析、分群支持共享给指定角色

看板、分析、分群的支持共享给指定角色

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCGHEihfxSpZ24zGGP%2Fimage.png?alt=media\&token=0cd42302-9cb4-407f-9c96-7c233a0db78c)

### 3. 优化选择成员列表中成员显示名和搜索范围，方便快速识别和搜索

搜索的成员列表中显示姓名和邮箱，支持根据姓名、邮箱、手机号和用户名快速搜索

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCGyt0L-dW2GEDd7AP%2Fimage.png?alt=media\&token=e236adb9-0906-4ba7-befc-233b1c3a58c8)

## 优化导航交互、新增消息中心

### **1. 优化导航和菜单**

* 主导航从移入后展开二级导航变为，点击后展开，减少移入后快速选择位置靠下的菜单
* 看板选择和分析条件区域支持收起，方便收起时展示更多内容

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCHwFK9MjBxqOwPc2S%2Fimage.png?alt=media\&token=ee6d5877-799c-4db7-9ce2-4a49e53116cc)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCIb7Mj094VO62_Ok0%2Fimage.png?alt=media\&token=4fbdb475-658c-4182-9593-82a717e5eeeb)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCIpIhQ-acLCEsvVeb%2Fimage.png?alt=media\&token=6c90a54c-8a06-48c9-a5a4-4584a5cc4f8a)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCIwr53Yu_DfdxwSYs%2Fimage.png?alt=media\&token=bd008909-eb85-42fc-a5a5-91c271595cdc)

* 分析模型和项目管理分类显示，方便快速查找同类

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCJLe9lolTdu_6e2tn%2Fimage.png?alt=media\&token=e8fa9685-1752-4b58-80db-22aaa75ddf0d)

### 2. 新增消息中心

* 新增离线下载助手，大数据量文件下载时无需停留在当前页等待，完成后从离线下载助手中获取文件

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCL31Xf_tNE17Z1kmj%2Fimage.png?alt=media\&token=2c364655-602e-4751-a8e2-fbf240b30849)

* 新增产品版本更新通知

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCLHb17Q9I2Vq7GHWX%2Fimage.png?alt=media\&token=34220e60-65d8-42c1-8eb4-9c885e504b70)

* 整合了告警消息，在告警中直接查看数据动态

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCLU7pdmFKmvlOSkIU%2Fimage.png?alt=media\&token=bd92450c-6c3c-4b6c-89f7-ec9039e42389)

* 新增成员协同动态，e.g. 共享看板、图表消息

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCLxTiho6dEfTrAaRv%2Fimage.png?alt=media\&token=543cf311-7d55-4e4d-9a2b-209b8f1ae376)

## **其他**

### 1. 增加日志管理功能

登录平台管理员帐号，进入企业管理后台，可以查看日志统计、用户操作日志、分析查询日志、OpenAPI调用日志

可从页面设置操作日志存留天数，直接从页面导出操作日志

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCO1z07YiO9a2zcGBU%2Fimage.png?alt=media\&token=936ec23a-6176-4912-9072-32044119c706)

### 2. 支持通过邮箱找回密码

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCPAnEMGeR4T3eOtb8%2Fimage.png?alt=media\&token=054e0d3a-7a03-46d5-8e07-d2c0f5f755b0)

### 3. License 到期、事件量超限、节点超限时也支持复制机器码

License 到期、事件量超限、节点超限的情况下系统会弹出输入License的窗口，若有多套方舟系统，可以复制机器码发送给专属的客户成功人员，获取相应系统的License来更新。

### 4. 支持创建Webhook推送，将分群数据快速对接到外呼系统、券系统等内部系统

{% hint style="danger" %}
仅用于个别定制客户，标准版在 **智能运营产品** 中使用
{% endhint %}

Webhook是一种推送机制，当方舟内置的推送无法直接满足时，开发者可以在方舟中注册回调接口，即可在手动触发/满足条件时向指定URL发起 HTTP POST请求，将方舟中的数据推送到指定内部系统（e.g. 呼叫中心、发券系统、内部推送系统等）使用需要经过两步

* Step1 配置Webhook
* Step2 进行Webhook推送

![](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/a/6K1915kG9ib5gBGo/aedd09af76fa472c91c6ccb38fde150f1682.png)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MS2M7aLmiQO_VHaLI50%2F-MS2NvrwlJ_W0S2M_tlt%2Fimage.png?alt=media\&token=04286476-3f8b-43fb-bb5d-74d7304a7135)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQBu6_TCyxJhmbQ9R6-%2F-MQCQBCD-WzCQ2I2NjHd%2Fimage.png?alt=media\&token=0d3b0d43-e3cf-45da-83a5-4841af3109cb)

## **API**

* 新增根据上传用户ID列表创建分群API
* 用户分群列表增加获取分群code入口
* 新增分布分析API
* 分析图表增加离线查询API

## 修复Bug

* Debug日志和错误日志各自支持1000条


# V5.1.0317 体验优化& Bug修复

发布于 2020年12月01日

{% hint style="success" %}
**更新要点：**

1. 优化了体验细节
2. 修复若干 Bug
   {% endhint %}

## 优化

#### 1. 预置看板中指标移入后增加了更直观的数据标签

展示今日截止到查询时的指标数据和昨天完整天的指标数据

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MNWTG9A6ijD8Y_tBx8Y%2F-MNXVdZETYAUoJXmuI1g%2F20201202160130.jpg?alt=media\&token=4c54372a-b7b6-447a-9ced-9f551c7e1851)

#### 2. 页面性能优化

* 优化了单用户档案中行为序列数据量过大时的加载体验
* 优化了事件分析 B表格下数据量过大时的加载体验

## 修复 Bug

* 修复了渠道分析带留存率指标和公共过滤条件时查询异常的问题
* 修复了当前为周日时选择日期组件中的本周时日期范围显示异常
* 修复了自定义指标细分维度查询，当指标在某个维度值下无结果时查询异常的问题
* 修复了当一条数据中有多个属性错误，且包含Profile预置属性时导致的程序异常


# V5.1.0 升级可视化埋点、增强权限控制……

发布于 2020年10月28日

{% hint style="success" %}
**更新要点：**

1. 升级了可视化埋点，支持圈选属性、同级元素等，扩大了可视化圈选边界和效率
2. 整合了数据验证，更便捷高效地完成数据接入验证
3. 增强了权限控制粒度，满足金融级别的数据安全控制
4. 优化了分析、分群、运营环节具体场景的使用体验
   {% endhint %}

## 数据接入和管理环节提效 <a href="#shu-ju-jie-ru-huan-jie-ti-xiao" id="shu-ju-jie-ru-huan-jie-ti-xiao"></a>

### 1. 升级了可视化埋&#x70B9;**，支持圈选属性、圈选同级元素等** <a href="#id-1-ke-shi-hua-mai-dian-sheng-ji" id="id-1-ke-shi-hua-mai-dian-sheng-ji"></a>

{% content-ref url="/pages/-LaQ9Ke-XBLXIMPN\_s34" %}
[可视化埋点](/features/project-manegement/data-integration/virtualizer)
{% endcontent-ref %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MQAGbHvkB9x38lS1gso%2F-MQAJy-L5dfp1Epfzlq3%2Fimage.png?alt=media\&token=0c805708-80e5-4d6b-a032-d1a1f820d68c)

#### 🎨 **支持了Hybrid APP 的可视化埋点**

> 也就是说如果你的APP中嵌入了H5页面，也可以给它埋点啦

#### 🎨 **支持了可视化圈选属性，扩大了可视化可采集的数据边界**

* 可以从页面圈选，用于添加动态属性值的属性
* 可以手动添加固定值，用于添加固定的属性，比如按钮所在页面、位置等

> 比如给网站导航埋点，点击导航定义为一个事件，圈选导航名称作为属性即可

#### 🎨 **支持根据文本、同级元素、同类型等条件选择限定为固定位置、相同名称元素、列表相同元素等快速埋点**

> 比如同样给网站导航埋点，原来有5个菜单，就需要定义5个事件，才能完成采集；V5.1开始只需要定义一个事件，再通过圈选属性，给事件添加属性菜单名称的属性即可

#### **🎨 优化若干细节**

1. 优化已圈选、可圈选、正在编辑的状态，更方便的识别各个元素的编辑状态
2. 优化埋点列表，非当前页面的埋点置于列表下方，并明确标识别
3. 优化埋点列表中已部署和未部署的标识，方便快速了解
4. 可视化埋点和埋点方案的同步
   1. 可视化埋点增删改后可自动同步到埋点方案
   2. 埋点方案修改了可视化埋点的事件名称和属性也支持同步到可视化埋点列表

### 2. 整合了数据验证，支持事件和用户日志全链路数据验证 <a href="#id-2-zheng-he-shu-ju-yan-zheng" id="id-2-zheng-he-shu-ju-yan-zheng"></a>

{% content-ref url="/pages/-LasoXoXdWCEiSKM-2Ws" %}
[数据验证](/integration/data-verification)
{% endcontent-ref %}

#### 💡支持数据从接收、校验、入库全链路的验证

1. [Debug日志](https://docs.analysys.cn/features/project-manegement/data-integration/validation#debug-ri-zhi)（客户端可打印出日志）
2. [入库成功数据](https://docs.analysys.cn/features/project-manegement/data-integration/validation#ru-ku-cheng-gong-shu-ju-yong-yu-ji-suan)（用于计算）
3. [入库失败数据](https://docs.analysys.cn/features/project-manegement/data-integration/validation#ru-ku-cheng-gong-shu-ju-yong-yu-ji-suan)（错误日志）

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvbpGAlRZTTNmTlo0P%2Fimage.png?alt=media\&token=b7225e91-a341-45dc-9f3a-28cbc05a9842)

#### 💡切换左上角菜单，可以验证 **用户日志** 了，即验证集成过程中，用户实名认证、属性等上报是否准确

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvcpcErUIpfOHerP5g%2Fimage.png?alt=media\&token=f7f4f766-7f26-43d8-ab11-5c942913efdb)

### 3. 优化了错误日志的详情，快速定位问题 <a href="#id-2-zheng-he-shu-ju-yan-zheng" id="id-2-zheng-he-shu-ju-yan-zheng"></a>

{% content-ref url="/pages/-LjFiLzE3dBHxB-ALeTo" %}
[数据验证](/features/project-manegement/data-integration/validation)
{% endcontent-ref %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvd_RhARfWh2y-C7aM%2Fimage.png?alt=media\&token=a050a6cb-a041-476c-9903-0a1cb2c41b61)

同时，Debug日志中也会红色标出了错误日志，方便快速识别

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvvEqRTmm_KzULhRhC%2Fimage.png?alt=media\&token=a9c6b92f-b6b9-4bb6-bc60-18216f5e3051)

### ​4. 元数据管理中新增了维度表扩展实体属性

比如采集`支付订单`了事件，要对支付订单从商品品类、品牌、名称、颜色等等维度细分时，就需要上报这些属性，但实际上一个商品的品类、品牌等属性是商品固有的，如果每个用户的每个行为都上报这些属性会造成大量数据冗余，这时候就可以只上报商品ID，通过维度表来扩展商品的属性，来支持后续分析。

{% hint style="info" %}
V5.1版本仅支持通过代码的方式创建，如有需要，请联系专属的技术支持
{% endhint %}

### 5. 事件属性和用户属性的维度字典支持多对一

在元数据管理中，事件属性和用户属性支持上传多对一的维度字典，满足要将多个相同含义但是上报的数据有差异的属性值标准化为同一个值来分析的场景

> 比如设备品牌这个属性，实际上报的数据可能会存在`xiaomi`、`Xiaomi`、`xiaoMi`、`小米`等等，如果不做不做处理，在细分时就会看到多条结果，如果想要进行聚合，就可以上传一个多对一的维度字典，将这些原始值都对应到一个`小米`，那么在分析时，即可看到更标准化的结果

### 6. 新增了项目当前服务状态，出现问题时可快速检查各处异常

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvf5yvMtkUKM4o9jOs%2Fimage.png?alt=media\&token=b0d5e3e8-8e9a-46dd-835e-a10994991693)

## 增强系统权限控制 <a href="#you-hua-fen-xi-huan-jie" id="you-hua-fen-xi-huan-jie"></a>

### 1. 扩展数据权限的设置，提高数据安全性

🗄 支持根据事件、事件属性、用户属性限制数据可见范围

> 比如金融机构，不同城市的机构只能查看自己所辖区域的用户行为

🗄 设置脱敏和隐藏字段

> 比如存款金额、手机号等隐私信息可以设置隐藏或者脱敏处理，防止泄漏

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvi3uGu8cH58xVQD0y%2Fimage.png?alt=media\&token=f4b6a10e-265a-4314-9aba-565c0b9f40f2)

### 2. 新增角色管理，以满足用户给不同的使用者灵活定义功能范围的需求

{% content-ref url="/pages/-M88iRcGlJnV7oBjbgrY" %}
[项目角色管理](/features/project-manegement/role)
{% endcontent-ref %}

系统预置了常用 5 种角色，若不能满足实际需要，支持根据实际需要自定义角色及角色对应的功能和数据范围，满足个性化需求

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvjQPB9-hv5dMysCp4%2Fimage.png?alt=media\&token=051455e9-53d9-4c2c-bd26-c329d808b709)

### 3. 新增资源转移，方便人员离职时快速转移/删除已创建资源

若企业中有人员离职，但其创建的看板、分析后续仍然需要使用或管理，那么在禁用帐号时可以把相应转移资源转移给在职人员；当其创建的数据无效时，也可以选择删除。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvkRREPy7TJPnIFOHo%2Fimage.png?alt=media\&token=cda94240-078c-42a6-b2aa-c71a9bd5539e)

### 4. 通过更新 License 获取单独付费产品模块的使用权限

对于方舟产品矩阵中增加的成员，比如智能画像产品，支持单独采购，获取新的 License，即可快速开启使用，开启后在各个模块即可用到相关功能，比如

* 用户模块新增标签管理功能，进入后可以根据规则创建标签，灵活搭建标签体系
* 支持应用标签体系中创建的标签进行分群

## 增强分析、分群等看数、用数环节体验 <a href="#you-hua-fen-xi-huan-jie" id="you-hua-fen-xi-huan-jie"></a>

### 1. 留存分析支持多事件、新增指标 <a href="#id-1-liu-cun-fen-xi-zhi-chi-xuan-ze-duo-ge-shi-jian" id="id-1-liu-cun-fen-xi-zhi-chi-xuan-ze-duo-ge-shi-jian"></a>

{% content-ref url="/pages/-LaQ9Kda6HWxOukgkzZo" %}
[留存分析](/features/analytics/retention)
{% endcontent-ref %}

#### 🔍 初始和后续行为支持选择多个事件

> 比如社区类APP分析 点赞 或 关注了的用户后续再 启动 的用户留存

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvwbxdgU1WoKoz8yMD%2Fimage.png?alt=media\&token=7b698610-99dd-4ca7-90d5-8fa0ef515004)

#### 🔍 新增了之后连续 N 日的留存/流失用户指标

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLvx4smaZMVp_M_qFmL%2Fimage.png?alt=media\&token=90278fd5-737d-4dee-9b98-4f8884b7f1ee)

### 2. 优化了自定义指标

{% content-ref url="/pages/-LaQ9KePDb\_g--gmYFI1" %}
[事件分析](/features/analytics/event)
{% endcontent-ref %}

#### 📝 自定义指标支持添加条件

> 比如某区域生鲜品类运营小二只关注生鲜品类下的订单金额指标时，就可以在定义指标时选择品类和地域条件限制

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLw4pr2dhxftI1VuiAv%2Fimage.png?alt=media\&token=0fba769f-d82a-4fee-923d-5400652767d9)

#### 📝 在选择事件后可以快速自定义指标，也可以选择了自定义指标后在行内直接编辑修改

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLw3kajtHLWWdEOpG46%2Fimage.png?alt=media\&token=62316fef-b1b4-4252-aed8-65c5e74ad45e)

### 3. 优化了所有属性下拉框

**📃** 增加了事件属性说明，以便多人使用同一属性时能更清楚属性的含义

📃 对数值和日期类型的属性值做了特殊标识，在细分维度和作为指标时的更深度的使用

* 数值型，支持自定义数据区间查看，可以进行求和、均值、最大值、最小值、人均值、去重数运算
* 日期型，支持按时间粒度细分查看

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLw7LbR8hY0dtkQpcc6%2Fimage.png?alt=media\&token=a8a177ec-db8e-4311-8ced-d40394c88019)

### 4. 维度值支持排序

* 数值型维度值支持按数据/数据区间大小排序
* 日期型支持按日期正序/倒序排序
* 字符串型支持按字母顺序排序

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLwB-I2paeT8CRJCl2S%2Fimage.png?alt=media\&token=82e3cdd7-5a32-4480-8ada-17ec215dd30d)

### 5. 用户分群支持用户自定义可见范围，保证分群明细的数据安全

原用户分群创建时默认对全员可见，对于有数据安全需要的场景可以设置仅自己可见

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLvSVjFgdyOHAliFzWj%2F-MLwCDSORwwUhiMNHBJ9%2Fimage.png?alt=media\&token=91faf0c0-5ced-4739-9998-11a171230531)

### 6. 广告跟踪支持生成短链，以便直接使用和生成的二维码易读性

创建UTM参数广告跟踪链接时，默认支持短链接，方便直接投放URL时使用；同时使用短链接生产二维码，增加识别度

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLwCbAgUPnV0tLAWaNs%2F-MLwDhFrOnHIliQXPDrN%2Fimage.png?alt=media\&token=7adf8550-704b-42de-9939-ddd6017f7f80)

### 7. 优化消息通知

#### 💬 支持添加自定义参数，满足点击通知后进入到指定页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLwCbAgUPnV0tLAWaNs%2F-MLwFM9RSAc71D0s1ZU4%2Fimage.png?alt=media\&token=1235f267-ed59-48a4-82fc-2e5d05f3cc7a)

#### **💬 增加了阿里云和信鸽推送通道**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLwCbAgUPnV0tLAWaNs%2F-MLwHVeuQpu7Q7tZyzZq%2Fimage.png?alt=media\&token=458804a9-05e1-4864-93a5-e63c8959c593)

### **8. 其他若干优化**

* UA 解析设备类型更准确
* Session分析支持按事件属性分组查询
* 更新事件预置属性的状态
* 优化看板缓存
* 优化看板引导
* 优化上传字典时的异常处理和提示
* 优化语言是英文时的展示细节

## API 相关

* 新增Session分析API
* 新增渠道分析API
* 新增自定义SQL查询API
* 新增创建、修改虚拟事件API
* 新增了注册埋点的API
* 新增了脱敏在API中的应用

## 修复Bug

* 当上传了字典后，搜索属性值不能搜索到全部属性值的问题
* 事件和属性ID没有小写处理的问题
* 创建成员时在输入密码时点击回车会自动关闭窗口的问题


# 名词解释

## 1 行为分析常见名词

### 指标（Metrics）

也叫度量，是量化衡量的标准。比如衡量APP基础运营情况的指标会有：活跃用户数、使用时长、打开次数等，衡量留存情况的指标会有：次日留存率、留存用户数等等

在有一些分析场景中，也会基于原子指标运算得出衍生指标，比如指标 A 和指标 B 经过一些计算，得到一个新的指标 C。

{% hint style="info" %}
易观方舟产品当中会预置一些常用指标，比如页面浏览量、跳出率等；

更多指标可以通过上报的事件、事件属性来灵活构建，比如上报了 *点击结算*  事件，可以定义 *点击结算的商品金额总和* 这样的指标

也可以在构建的指标基础上进行四则运算运算，比如 *点击结算的商品金额总和-退货的商品金额总和*
{% endhint %}

*更多详见*

{% content-ref url="/pages/-LdiU\_fPCGF81OL56EaE" %}
[指标说明](/features/metrics-and-dimensions)
{% endcontent-ref %}

### 维度（Dimensions）

指人们分析事物的角度。比如，分析活跃用户，可以从时间的维度，也可以从地域的维度去看，也可以时间、地域两个维度组合去分析。&#x20;

有层次关系的维度，就可以根据分析需求改变维的层次，变换分析的粒度钻取，比如分析活跃用户，从地域这个维度类型上，可以细分到省份、城市、县、乡镇的用户，也可以向上汇总。 不同维度有些是相互独立的，比如时间维度和地域维度；但有些维度是有层次关系的，比如省份维度和城市维度。

维度也可以分为定性维度和定量维度（根据数据类型划分）。数据类型为字符型即定性维度，如城市、性别等；数据类型为数值型数据的即定量维度，如收入、年龄、消费金额等，定量维度一般需要数值分组处理，比如年龄划分为20岁以下，20\~29岁，30\~39岁等。

{% hint style="info" %}
易观方舟产品当中，事件的属性、用户的属性都可以作为维度来使用。
{% endhint %}

**指标和维度的组合分析**

{% hint style="info" %}
通常我们会关注PV、UV、注册用户数、留存用户数、销售额等等这样的指标，来综合反映网站、APP、小程序等等的表现，但很容易陷入总值、均值的陷阱中，以为表现都OK，这时候细分维度就是一个很好的发现问题、发现隐藏优化机会的方式。
{% endhint %}

比如某APP的注册转化率是10.23%，低于行业水平，在寻找优化方向时就可以选细分维度来发现问题，通过细分结果发现 OPPO K5 这个型号的注册转化率远低于其他型号，进一步验证发现原来是该型号上存在兼容性问题，导致注册环节大量失败

| 设备型号              | 新用户数    | 注册转化率  |
| ----------------- | ------- | ------ |
| 华为Mate30 Pro      | 123,400 | 23.45% |
| OPPO K5           | 124,340 | 5.20%  |
| iPhone 11 Pro Max | 245,600 | 20.23% |
| ……                | ……      | ……     |

## 2 易观方舟相关名词

### 用户（User）

指与网站、APP、小程序等产生交互的主体。不同分析产品中对用户的标识可能会又差异，比如有的产品中把不同的设备即定义为不同的用户，有的产品中会根据用户的手机号、邮箱等来唯一标识。

{% content-ref url="/pages/-LaQ9Ke3cW1q11XYgBrY" %}
[如何准确识别用户](/integration/prepare/user-identify)
{% endcontent-ref %}

### 事件（Event）

指用户在使用网站、APP、小程序时发生的行为。一条事件包含5个基本要素：何人、何时、何地、通过何种方式、发生了何种行为。

| Event要素 | 要素说明      | 采集的数据                                      | 示例                                                                                                   |
| ------- | --------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| Who     | 参与事件的用户   | 用户唯一ID                                     | H522a3bd525a2af                                                                                      |
| When    | 事件发生的时间   | 自动获取 事件当时时间                                | 11月11日00:02:03                                                                                       |
| Where   | 事件发生的地理位置 | 自动获取 IP、GPS信息                              | 114.242.249.113                                                                                      |
| How     | 事件发生的方式   | 使用的环境                                      | <p>设备品牌：Apple <br>设备型号：iPhone 6s<br>操作系统：iOS<br>屏幕分辨率：1920\*1680<br>运营商：中国联通 <br>网络类型：Wifi<br>……</p> |
| What    | 事件的内容     | <p>自定义采集的事件：EventID <br>事件属性：Key-Value</p> | <p>add\_to\_cart <br>product\_name：耳麦<br>product\_price：666</p>                                      |

其中描述发生的位置、 方式、具体内容就被称为事件属性，不同的事件属性可以有不同的值。

{% hint style="info" %}
导入用户和事件的数据使用易观方舟的前提，可以通过 SDK 采集上报，也可以通过导入。
{% endhint %}

### 分析模型

指分析具体场景的通用框架。比如分析流量质量可以选择 *渠道分析* 的分析模型，快速选择指标、转化目标和渠道维度即可查看不同来源的流量数量和质量；分析路径转化情况选择 *转化漏斗* 分析模型，快速定义漏斗步骤查看转化率。

易观方舟提供了围绕用户生命周期的数十个分析模型，详见

{% content-ref url="/pages/-LaQ9KgwAO6SnQNoDBZB" %}
[分析](/features/analytics)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 指标说明

指标是度量，是量化衡量的标准。

不同类型的业务、不同的产品阶段、不同的角色（老板、产品、运营等）所关注的指标会有差异，大部分指标都源自于用户的行为，因此易观方舟支持通过十余个分析模型选择埋点事件和属性高度灵活地构建指标，多种维度细分实时查询，大大提升数据监控和分析灵活性和效率；当然也预置了一些访问级的常用指标。&#x20;

其中提供的分析模型也都围绕着用户生命周期，与通常用AARRR框架搭建指标体系的思路一致，以下列举一些常用的分析模型和可构建的指标，详细说明阅读：

{% content-ref url="/pages/-LaQ9KgwAO6SnQNoDBZB" %}
[分析](/features/analytics)
{% endcontent-ref %}

## 常用分析模型和指标构建

| 常用模型      | 可构建的指标                                                                                       |
| --------- | -------------------------------------------------------------------------------------------- |
| 事件分析      | <p>所有基于事件的原子指标都可以通过事件分析来构建，比如常见的活跃用户数、启动次数、支注册用户数、人均支付金额等指标；</p><p>也支持原子指标之间进行四则运算构建衍生指标</p> |
| Session分析 | 会话级别的指标，比如访问次数、访问时长、跳出率等指标                                                                   |
| 渠道分析      | 会话级别的指标，细分渠道维度，比如不同流量来源的访问用户数、不同着陆页的页面浏览量等                                                   |
| 留存分析      | N日/周/月留存用户、留存率、流失用户、流失率等                                                                     |
| 转化漏斗      | 关键路径的转化用户数、转化率、转化时长等                                                                         |
| 属性分析      | 用户构成，比如地理位置分布、会员类型分布等                                                                        |
| 分布分析      | 维度值的区间分布，比如使用次数分布、使用时段分布、支付订单金额分布                                                            |

## 1 基于事件分析构建指标

### Web 页面浏览量（PV）

指 Web 页面浏览的总次数，同一页面刷新多次也会被重复计入。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuGIAVCI7uAd45F5slx%2F-LuHwFIU8zsIfH6fW-5w%2Fimage.png?alt=media\&token=7c8b2676-e0ee-4a12-b2ba-15e0eca47ad7)

### Web 访问用户数（UV）

UV（Unique Visitor），通常用以表示Web端网站的去重访问用户。对于网站而言，根据cookie生成的ID为判断标准，如果访客更换浏览器或清除cookie，会计为新的UV。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuGIAVCI7uAd45F5slx%2F-LuHy8P6SK9ry9r5PKwM%2Fimage.png?alt=media\&token=4bc7d6fc-4403-405a-8615-dfb367048c3d)

### APP 活跃用户数

传统意义上活跃用户是指一段时间里启动APP的设备数，时间粒度往往是日、月，按日统计时就是 DAU，按月统计就是 MAU

{% hint style="info" %}
在方舟中用户是指与网站、APP、小程序等产生交互的主体，使用方可以自己在上报数据的时候决定使用设备ID标识，还是注册用户标识。

可以自定义什么是活跃用户，可以是启动的用户数，也可以是发生任意行为的用户，也可以是登录的用户……根据实际业务口径去构建即可

若同时有Web、APP、小程序的数据接入，也可以添加条件过滤或者是细分平台维度
{% endhint %}

**示例：**

> 定义：移动端启动的用户数，同一用户在一天内访问多次仅被计为一个用户
>
> 指标：启动的触发用户数
>
> 条件：平台 = Android、iOS
>
> 分群：所有用户
>
> 时间粒度：按日

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuC9YVrJ-fC-gRMOnFk%2F-LuCNIpLiZI6ptY_mO0P%2Fimage.png?alt=media\&token=2e4a10c6-0fd2-415f-95eb-57568682b092)

### APP 启动次数

指启动 APP 的总次数。启动多次会被累加。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuLSQBgooipNRzTIrOq%2Fimage.png?alt=media\&token=12496a9f-deb1-41b0-b4e9-44099cb68f8e)

### 新增用户数

通常意义上新增用户是以首次启动 APP 或首次访问网站来定义，APP 卸载后再安装，后者网站被清除cookie ，都会被计为新增用户。

{% hint style="info" %}
方舟当中预置了 **新访问用户** 动态分群，方便在各个分析模块中快速选择查看新用户表现。
{% endhint %}

在 *新访问用户* 的分群下，选择 *启动的触发用户数* 即为常规意义上的新增用户数，若Web、APP等多平台数据上报在一个项目中，则可以条件过滤，或者细分平台维度

在图表区域选择不同的时间粒度，即按日、周、月去查询各个粒度下的新增用户数，也可以选择数值图，查看选定区间里的新增用户

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuGIAVCI7uAd45F5slx%2F-LuHELCiwv-RrFAxA96z%2Fimage.png?alt=media\&token=9d04b462-10c9-4e34-a359-682532353537)

{% hint style="info" %}
预置的新访问用户是根据首次访问时间是哪一天来判断用户是哪一天新增的，所以选择在所有用户下，选择启动的触发用户数，添加首次访问时间 是在启动当天  也可以得到相同的结果

⚠️首次访问时间是 SDK 判断用户是首次访问时调用 profile\_set\_once 上报，所以在接入阶段一定要验证是否正确集成
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuGIAVCI7uAd45F5slx%2F-LuHE-LaGiqVIe53KUZ3%2Fimage.png?alt=media\&token=da04c231-97b3-40ed-b4f2-3be7168fa316)

{% hint style="warning" %}

1. 不建议在新访问用户分群下的基础上，选择任意事件的触发用户数保存为新增用户，因为任意事件可能包含了一些被动事件，比如消息推送成功、服务端返回的成功事件等。
2. 在所有用户基础上，选择启动的触发用户数，添加条件是否安装后首日访问 = 是，也可以作为新增用户的定义，但与系统预置的新访问用户的口径不一致，因为数据上报的差异可能会出现偏差，不具有可比性，所以尽量在同一产品中使用相同口径。
   {% endhint %}

### 新增注册用户数

对于有帐号体系的产品来说，相较于访问用户数，用注册用户数衡量有效用户会更精准。在选定时间段内注册成功的用户会被计入新增注册用户。

{% hint style="info" %}
方舟当中预置了 新增注册用户 动态分群，但当且仅当在用户属性中上报了注册时间，且属性ID 使用预置的 $signup\_time

另外，为了更准确的获取注册成功的时间，建议在服务端而非客户端埋点。
{% endhint %}

**除了上述基础指标之外， 事件分析可以基于事件、事件属性构建出任意指标，在指定分群下、指定时间范围、时间粒度下分析**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuLaaKCoB_N-O0FgGUA%2Fimage.png?alt=media\&token=822ea471-dd0e-44b7-b066-0e29460f5d6a)

{% hint style="info" %}
**事件和属性都来自于SDK埋点上报或数据导入。**
{% endhint %}

### 事件 X 的触发用户数

指点击了事件 X 的用户数。同一用户在同一个时间粒度里发生多次行为时仅被计为一个用户。

如下图，表示本月每天支付成功的用户数，当同一个用户在同一天里多次购买成功支付时，在这一天里这个用户只会被记1。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuLqlaRKpPuweQJxETm%2Fimage.png?alt=media\&token=b802a598-db46-4c56-8df7-a0faba031367)

### 事件 X 的触发次数

指点击了事件 X 的总次数。同一用户在同一个时间粒度里发生多次行为时会累加。

如下图，表示本月每天支付成功的次数，当同一个用户在同一天多次购买支付成功时，次数会被累加。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuLr4NhfpJTCYmhTX-V%2Fimage.png?alt=media\&token=5d8da77d-abd0-4d0f-a125-73dec2d64df5)

### 事件 X 的人均触发次数

指人均点击事件 X 的次数 = X 的触发次数 / X的触发用户数

如下图，表示本月每天人均支付成功的次数。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuLrk221Jc6q08ukcfW%2Fimage.png?alt=media\&token=367daea4-fe94-49eb-a946-9b9cce020d25)

### 事件 X 的属性 Y 的去重数

指在触发事件 X 时 属性 Y 出现的独立去重个数。

如下图，表示本月里每天用户支付成功的商品类别数量。比如11月11日里，3个用户成功购买，分别购买了如下，则支付成功的商品分类数量为5

| 商品一级分类 | 小明 | 小李 | 小王 |
| ------ | -- | -- | -- |
| 电子设备   | 1  | 1  | 1  |
| 服装     | 2  | 3  | 1  |
| 家具     | 1  | 0  | 2  |
| 植物     | 2  | 0  | 0  |
| 食品     | 4  | 1  | 4  |
| 虚拟商品   | 0  | 0  | 0  |

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuLzwHTHfCrbT3ymniS%2Fimage.png?alt=media\&token=d0f12667-753b-4171-8894-bf3379e492d8)

### 事件 X 的属性 Y 的总和

指选定事件的属性的属性值总和。

如下图，表示本月里每天用户支付成功的订单金额总和。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuM2aXZGmZzjB2cobI6%2Fimage.png?alt=media\&token=d2e00f32-ee5e-46a6-8ce7-4c3f033a65bb)

### 事件 X 的属性 Y 的均值

指选定事件的属性的属性值的算数平均数 = 属性值总和 / 属性值个数。

如下图，表示本月里每天用户支付成功的订单的平均金额，即订单金额总和/订单数。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuM65kPPHppDlwGUK0M%2Fimage.png?alt=media\&token=32850fe0-4385-4eb6-83f9-e9f2b975b1fe)

### 事件 X 的属性 Y 的最大值

指选定事件的属性的属性值中的最大值。

如下图，表示本月里每天用户支付成功的最大订单金额。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuMDRx3XDqx7JUC0xJo%2Fimage.png?alt=media\&token=6d24585a-d707-4b14-ac1a-c4965db9d750)

### 事件 X 的属性 Y 的最小值

指选定事件的属性的属性值中的最小值。

如下图，表示本月里每天用户支付成功的最小订单金额。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuMDuSSzIBNHfpPrm-N%2Fimage.png?alt=media\&token=91635d80-7618-48fe-93ab-86f7732f3ff6)

### 事件 X 的属性 Y 的人均值

指选定事件的属性的属性值总和 / 事件的触发用户数。

如下图，表示本月里每天平均每个用户支付的订单金额。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuMEFwBtZnG7Q6Q0S3k%2Fimage.png?alt=media\&token=77248ff6-f2f1-4382-b580-b1c7b3148e64)

### **自定义指标公式**

{% hint style="info" %}
除了事件相关指标外，方舟支持自定义指标公式，构建无法通过选择事件得出的指标，比如 ARPU、ROI 等。

支持加、减、乘、除、括号及常数的四则运算
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuMFd_O09VAWWe_0sGm%2Fimage.png?alt=media\&token=44c3e2d6-676e-4d0f-8629-ec8b1579c9a9)

比如通过支付订单金额总和 - 退货金额总和 即可创建出实际完成订单金额的指标，如下图表示过去7天实际完成订单金额的趋势，可以增加额外指标对比分析。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuI-jzgs4djz-UmwjNr%2F-LuMGGySwocBK_NnEVar%2Fimage.png?alt=media\&token=5c2680eb-2aee-43cb-b1ce-496c74906d4a)

更多使用详见

{% content-ref url="/pages/-LaQ9KePDb\_g--gmYFI1" %}
[事件分析](/features/analytics/event)
{% endcontent-ref %}

## 2 基于 Session 分析的指标

事件是指何人何时在何地用何种方式做何事的单点用户行为。会话（Session）则指一系列的事件，用以描述用户在一次访问中做了一些什么事儿。进而分析用户来访的频次、时长、深度等，从不同角度指导精细化运营。

{% hint style="info" %}
怎样一系列的行为？方舟默认session切割的规则详见：<https://docs.analysys.cn/ark/features/analytics/channel/session>
{% endhint %}

以下指标都基于默认的 Session 规则来计算：

### 访问次数

指用户访问应用的总次数，即会话（session）数。

### 人均访问次数

人均访问次数 = 访问次数（Session数）/ 访问用户数（UV）。

### 总访问时长

Session 时长之和

### 单次访问时长

单次访问时长 = Session时长之和 / 访问次数（Session数）。

### 单次访问深度

单次访问深度 = Session事件之和 / 访问次数（Session数）。

### 跳出次数

指访问一个页面后离开的Session数。

### 跳出率

跳出率 = 访问了一个页面的Session数 / 总的Session数 \* 100%

当用户来到网站后，除了浏览着陆页之外，没有发生其他任何操作就离开了网站，被视为跳出。用来衡量着陆页的质量。

### 退出次数

该页面是会话中“最后一页”的Session数。

### 退出率

某页面退出率 = 从某页面离开网站的次数/该页面浏览总次数\*100%

当用户从某个页面离开了网站，即视为退出。退出率只能用来分析特定流程中的某些页面能不能满足用户的需求的问题。

### 人均访问时长

人均访问时长 = Session时长之和 / 访问用户数（UV）

### 总页面停留时长

所有页面停留时长累加

### 平均页面停留时长

平均页面停留时长 = 总页面停留时长 /（PV - 退出次数）

更多使用方法详见

{% content-ref url="/pages/-LaQ9Kf03oRCw0sIyuws" %}
[Session 分析](/features/analytics/session)
{% endcontent-ref %}

## 3 基于渠道分析的指标

{% hint style="info" %}
渠道分析模型中分析的是用户的每一次访问的来源（即一个Session的来源）。当用户产生一次访问时，会根据上报的URL中的UTM参数、referrer信息来识别不同的渠道属性，具体处理规则详见文末 [《附：渠道来源识别规则》](/features/analytics/channel/processing-logic)
{% endhint %}

从下拉框中可以选择不同平台下的渠道分析维度，具体维度如下：

| 属性名称     | 属性说明                       | 平台             | 预置属性ID                 | SDK采集/数据处理说明           |
| -------- | -------------------------- | -------------- | ---------------------- | ---------------------- |
| 来源地址     | 页面来源                       | Web/H5、小程序     | $referrer              | SDK上报                  |
| 来源域名     | 页面来源域名，e.g.baidu.com       | Web/H5         | $referrer\_domain      | SDK上报                  |
| 渠道来源分组   | 渠道来源分组，e.g.搜索引擎、社交媒体、直接访问等 | Web/H5         | $traffic\_source\_type | 根据规则处理，方舟提供预置分组        |
| 活动/广告名称  | 活动/广告名称                    | Web/H5、小程序、APP | $utm\_campaign         | SDK上报，部分数据处理           |
| 活动/广告媒介  | 活动/广告媒介                    | Web/H5、小程序、APP | $utm\_medium           | SDK上报，部分数据处理           |
| 活动/广告来源  | 活动/广告来源                    | Web/H5、小程序、APP | $utm\_source           | SDK上报，部分数据处理           |
| 活动/广告内容  | 活动/广告内容                    | Web/H5、小程序、APP | $utm\_content          | SDK上报，部分数据处理           |
| 活动/广告关键字 | 活动/广告关键字                   | Web/H5、小程序、APP | $utm\_term             | SDK上报，部分数据处理           |
| 搜索引擎     | 标识搜索引擎来源，e.g.百度            | Web/H5         | $search\_engine        | 根据referrer解析           |
| 搜索词      | 标识搜索词，e.g.易观方舟             | Web/H5         | $search\_keyword       | 根据referrer解析           |
| 社交媒体     | 标识社交媒体来源，e.g.微博            | Web/H5         | $social\_media         | 根据referrer解析           |
| 社交媒体分享来源 | 标识社交媒体分享来源，e.g.微信朋友圈、微信群   | Web/H5         | $social\_share\_from   | 根据referrer和url解析       |
| APP下载渠道  | 下载渠道                       | APP            | $channel               | SDK上报                  |
| 场景值      | 标识小程序的场景值，e.g顶部搜索框的搜索结果页   | 小程序            | $scene                 | SDK上报，根据referrer中的参数解析 |
| 场景值类型    | 标识小程序的场景分类                 | 小程序            | $scene\_type           | 根据规则方舟，方舟提供预置分组        |

### 渠道的基础指标

| 基础指标      | 指标说明                                                                                                           | 平台             |
| --------- | -------------------------------------------------------------------------------------------------------------- | -------------- |
| 访问用户数（UV） | Unique Visitor， 访问用户的去重数                                                                                       | Web/H5、小程序     |
| 访问次数      | 指用户访问应用的总次数，即会话（Session）数                                                                                      | Web/H5、小程序     |
| 浏览量（PV）   | 指用户浏览Web/H5页面的总次数，同一个页面访问多次会被重复计                                                                               | Web/H5、小程序     |
| 人均访问次数    | 人均访问次数=访问次数/访问用户数（UV）                                                                                          | Web/H5、小程序     |
| 人均页面浏览量   | 人均页面浏览量=浏览量（PV）/访问用户数（UV）                                                                                      | Web/H5、小程序     |
| 人均访问时长    | 人均访问时长=Session时长之和/访问用户数（UV）                                                                                   | Web/H5、小程序     |
| 单次访问页面浏览量 | 平均每次访问浏览页面的次数，单次访问页面浏览量=浏览量（PV）/访问次数                                                                           | Web/H5、小程序     |
| 单次访问时长    | 平均每次访问的时长，单次访问时长=总访问时长/会话数                                                                                     | Web/H5、小程序     |
| 单次访问事件数   | 平均每次访问的事件数量（包括浏览页面和点击事件），单次访问事件数=总访问事件数/会话数                                                                    | Web/H5、小程序     |
| 跳出率       | 跳出率=访问了一个页面的Session数/总的Session数。用户进入着陆页就离开用户来到网站后，除了浏览LandingPage之外，没有发生其他任何操作就离开了网站，被视为跳出。用来衡量Landingpage的质量。 | Web/H5、小程序     |
| 次日留存率     | 某日访问的用户在第2日再次来访问的用户数                                                                                           | Web/H5、小程序、APP |
| 7日留存率     | 某日访问的用户在第7日再次来访问的用户数                                                                                           | Web/H5、小程序、APP |
| 14日留存率    | 某日访问的用户在第14日再次来访问的用户数                                                                                          | Web/H5、小程序、APP |
| 30日留存率    | 某日访问的用户在第30日再次来访问的用户数                                                                                          | Web/H5、小程序、APP |
| 活跃用户数     | Unique Visitor， 访问用户的去重数                                                                                       | Web/H5、小程序、APP |
| 访问次数      | 指用户访问应用的总次数，即会话（Session）数                                                                                      | Web/H5、小程序、APP |
| 人均访问时长    | 人均访问时长=Session时长之和/访问用户数（UV）                                                                                   | Web/H5、小程序、APP |

### 渠道的转化目标

每一次活动的转化目标可能会不同，方舟支持自定义选择一个事件作为转化目标，来更有效的衡量不同渠道最终的转化质量。

| 转化指标        | 指标说明                         | e.g. 转化目标：点击购买 ；访问来源：谷歌搜索        |
| ----------- | ---------------------------- | -------------------------------- |
| x事件的转化用户数   | 指某个渠道进来的用户触发了x事件的用户数         | 从谷歌搜索进入网站之后点击购买的用户数              |
| x事件的转化用户数占比 | x事件的转化用户数/总访问用户数             | 从谷歌搜索进入网站之后点击购买的用户数/进入网站访问的总用户数  |
| x事件的转化次数    | 指某个渠道进来的用户触发了x事件的会话次数        | 从谷歌搜索进入网站之后发生了点击购买的访问次数          |
| x事件的转化次数占比  | x事件的转化次数/总访问次数               | 从谷歌搜索进入网站之后发生了点击购买的访问次数/进入网站的总次数 |
| x事件的y属性z指标  | x事件的y属性z指标（不同数据类型的属性值有不同的指标） | 从谷歌搜索进入网站之后点击购买的购买金额的总和          |

更多使用说明详见

{% content-ref url="/pages/-LaQ9Kixg-AyzM6bwcvf" %}
[渠道分析](/features/analytics/channel)
{% endcontent-ref %}

## 4 基于留存分析构建指标

留存，是指用户在 APP、网站等应用上使用过，并一段时间后仍有使用。

留存分析模型是一种衡量用户健康度/参与度的方法，超越下载量、DAU 等这样的虚荣指标，深入了解用户的留存和流失状况，发现影响产品可持续增长的关键因素，指导市场决策、产品改进、提升用户价值等等。

### 留存**用户**数

指发生初始行为的用户经过一段时间后，发生了回访行为的用户。

例如选择条件：初始行为=点击购买，回访行为=点击购买，4月1日发生购买的用户200人，这200人中4月2日再次购买的用户有100人，4月4日再次购买的用户有50人，则第1日自定义留存用户为100，第3日留存用户为50。

### **留存率**

&#x20;指第N日/周/月后回访的留存用户数对于初始行为用户数的占比。

### 流失用户数

指发生初始行为的用户经过一段时间后，没有再次回访行为的用户。

### **流失率**

指第N日/周/月后没有回访的用户数对于初始行为用户数的占比。

{% hint style="info" %}
根据选择不同的条件构建新用户、活跃用户或者特定行为的留存、流失
{% endhint %}

### **新用户留存**

**移动端：** 在新访问用户下选择条件【初始行为 = 启动，回访行为 = 启动】，即可分析新用户在首次使用应用后的留存情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMOcvs5FHTN_4T7cd2%2F-LuMXANMOCA3wkNnvMKR%2Fimage.png?alt=media\&token=f03a7111-0398-4ba8-a1f5-9a47a143a8a3)

**H5/Web/小程序：** 在新访问用户下选择条件【初始行为 = 浏览页面，回访行为 = 浏览页面】，即可分析新用户在访问网站后的留存情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMOcvs5FHTN_4T7cd2%2F-LuMXecdBm2Ik8ynhR3h%2Fimage.png?alt=media\&token=e773131a-5a94-49b2-a5bd-34fc5a82632f)

### **活跃用户留存**

**移动端：** 在所有用户下选择条件【初始行为 = 启动，回访行为 = 启动】，即可分析活跃的用户后续使用应用的情况

**H5/Web/小程序：** 在所有用户下选择条件【初始行为 = 浏览页面，回访行为 = 浏览页面】，即可分析用户活跃的用户在后续访问网站的情况

### **自定义留存**

相较分析新增/活跃用户的总体留存情况，关注业务的核心事件使用情况，会更有利于发现用户的行为模式和其中可能存在的问题。

e.g. 对于电商的运营，可以定义【 初始行为 = 支付订单，回访行为 = 支付订单】 了解用户的复购行为，多长时间会产生复购，可以进一步分析这些忠实用户的行为特征；对于问答应用，可以定义【初始行为 = 注册 ，回访行为 = 评论 】，了解用户在注册后有多少用户在多长的频率里会参与进来。

**不同的分析场景中可以设置多个不同的留存条件来分析：**

**初始行为和回访行为设置为相同**，对比不同的功能，重复发生的情况，发现用户对不同功能的使用粘性；

**初始行为相同，设置不同的回访行为**，对比同一个优化，是否对其他功能有不同的影响；

**回访行为相同，设置不同的初始行为**，对比发现不同的运营手段、产品功能对核心业务目标的影响。

更多使用说明详见

{% content-ref url="/pages/-LaQ9Kda6HWxOukgkzZo" %}
[留存分析](/features/analytics/retention)
{% endcontent-ref %}

## 5 基于转化漏斗的指标

### 总体转化率

总体转化率 = 最后一步转化的用户数 / 第一步用户数 \* 100%

### 各步骤转化用户数

指在一定的窗口期内有序触发了自定义行为事件的用户，即完成从上一步骤到下一步骤转化的去重用户数

### 各步骤转化率

第 n 步转化率  =第 n+1 步骤转化用户数 / 第 n 步转化用户数 \* 100%

### 各步骤流失用户数

指在一定的窗口期内触发了上一步事件但下一步事件未有序触发的用户，即上一个步骤的用户数 - 上个步骤到该步骤转化的用户数

### 各步骤流失率

第 n 步流失率=（第 n 步转化用户数 - 第 n+1 步骤转化用户数）/ 第 n 步转化用户数

### **转化时间中位数**

指完成从上一步骤到下一步骤转化，用户所需时间的中位数

{% hint style="info" %}
**实际应用场景**

通过细分维度提高核心漏斗转化率，洞察转化率优化空间。

解决流程：

1. 构建转化漏斗：通过漏斗分析，清晰展示漏斗的转化率
2. 通过细分维度进行漏斗下钻，发现移动端的转化率明显低于平均水平
3. 解决办法：首先通过行为序列判断是否因为兼容而产生问题，其次去为移动端单独准备着陆页
   {% endhint %}

![移动端的转化率明显低于平均转化率](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LeLPDfz95EhP9QPOGgE%2F-LeLk3aKElw4JPtI_FVg%2Fzhuce.png?alt=media\&token=ec438c64-7571-4513-8ec7-c521048c00e8)

更多使用说明详见

{% content-ref url="/pages/-LaQ9KgjpPkNShqEmeQ6" %}
[转化漏斗](/features/analytics/funnel)
{% endcontent-ref %}

## 6 基于属性分析的指标

通过属性分析，可以快速查看在不同属性上的用户数分布情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMdkJEaHtJREVbJQSj%2F-LuMeREBrEkdfhVapj4A%2Fimage.png?alt=media\&token=b6becda9-9ed6-4223-acaa-f85466dc6cfa)

更多使用说明详见

{% content-ref url="/pages/-Lj0\_a3E-nkSTZxG6kQp" %}
[属性分析](/features/analytics/user-attribute)
{% endcontent-ref %}

## 7 基于分布分析构建指标

### 事件 X 的频次分布

统计某一个事件发生次数的分布情况，默认区间为 \[0,3)、 \[3,5) 、\[5,10)、\[10,20)、\[20,50)、\[50,100)、\[100,+∞)

如下图，表示过去7日，启动小于3次、3～5次、5～10次、10～20次、20～50次、50～100次、100次以上的用户数

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMdkJEaHtJREVbJQSj%2F-LuMfJ2Oq-kZC0xeZ_3M%2Fimage.png?alt=media\&token=7ae809e2-fd07-442e-b85d-469d1e495ffa)

### 事件 X 的发生时段分布

统计某一个事件发生时间的分布情况，默认区间以每小时为间隔，共分为 24段

如下图，表示过去7日，各个时段启动的用户分布

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMdkJEaHtJREVbJQSj%2F-LuMfafiBKEhefEiklzt%2Fimage.png?alt=media\&token=b694b2f6-209e-48a2-b015-78a8815431ad)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMdkJEaHtJREVbJQSj%2F-LuMfprZ-ABF0qIxSDVg%2Fimage.png?alt=media\&token=aad93cc8-383e-4c1c-8c46-81b60265ce13)

### 事件 X 的属性 Y 的 Z 的分布

指选定事件的属性的属性值的总和/均值/最大值/最小值/人均值的分布

如下图，表示过去7日支付金额总额的用户分群情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LuMdkJEaHtJREVbJQSj%2F-LuMk0BxWKzJaqiw-R-a%2Fimage.png?alt=media\&token=34e91b95-845e-4bee-9221-e54cf446e8a1)

更多使用说明详见

{% content-ref url="/pages/-LhYF\_mJGKQR2kY12VT3" %}
[分布分析](/features/analytics/distribution)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 看板

在实际的业务分析过程中，不同角色对数据有不同的关注需求，比如，

* 老板关注总体用户表现、营收相关指标；
* 产品经理关注用户使用路径、转化漏斗、关键功能使用等数据；
* 市场推广人员关注不同渠道的质量等等

易观方舟支持十余个分析模型、分群构建指标、图表；不同角色可以根据自身对数据的跟踪需要将分析过程中保存的指标和图表添加到看板中，构成自定义看板，方便日常数据监控；发现异常时可以再次进入每个图表进行深入分析；同时也支持共享看板， 进行团队间的协作。

![](https://imguserradar.analysys.cn/fangzhou/img/2018/07/201807061143524740.png)

进入看板模块：

* 左侧为看板导航，可以快速的切换看板，提供创建看板、看板分组的入口、支持快速搜索看板；
* 右侧为看板的内容区域，展现由图表、指标组成的具体看板内容。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDU2NnPP9SnucNEwVbn%2F-MDU2dgZeeiJaa-I_4Jr%2Fimage.png?alt=media\&token=9c7648e3-a64b-4631-b8b5-360969b60c18)

## 1. 创建看板

两个入口：

* 看板导航上的创建图标&#x20;
* 看板库中的创建看板

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDU2NnPP9SnucNEwVbn%2F-MDU3J9h0UcjWiNXuhBw%2Fimage.png?alt=media\&token=68aa023a-8a89-4f97-ada8-9f63df03a2a5)

点击创建看板后，直接进入到未命名看板中，点击添加图表，选择已创建的分析图表或者分群指标添加到看板中

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9UIakH-_5Rd9cNzL5%2F-MK9XfKkObcjGTTxy2Dc%2Fimage.png?alt=media\&token=b0d5e0f7-712b-4bfd-916f-f7b5eed522fe)

## 2. 看板的操作

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9UIakH-_5Rd9cNzL5%2F-MK9XNCMfLBdnNoyDol5%2Fimage.png?alt=media\&token=4928db7c-bbd1-465b-8de3-2800c6ec0d3e)

### A. 添加图表

点击添加按钮，在抽屉中可以选择已保存的图表、分群添加到看板；

当没有已有图表时，支持创建新的图表。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120231007398.gif)

### **B**. 切换全局时间范围和粒度

对于已经配置好图表的看板，如果想要临时切换一个时间段查看，可以点击日期图表，快速切换时间范围和时间粒度

{% hint style="info" %}

1. 选择的时间范围和时间粒度为临时生效，不会覆盖原有的条件；
2. 仅对图表中时间范围为相对日期的图表生效，例如，其中一个图表是 6 月 6 日注册用户数，则切换到临时时间范围为近 7 日时，并不会改变结果。
   {% endhint %}

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111538076022.gif)

### C. 邮件订阅

如果不想每天登录系统查看报表或者想要发送给老板汇报，可以邮件订阅按钮来订阅看板

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDU2NnPP9SnucNEwVbn%2F-MDU7NPNOkyUWeGZju-c%2Fimage.png?alt=media\&token=423183a4-dc52-466b-864c-48af4df93472)

| 发送时间选择 | 相关可选时间   | 最小时间粒度 | 实际推送触发时间       |
| ------ | -------- | ------ | -------------- |
| 立即发送   | -        | -      | 点击确定按钮，发送一次    |
| 每天发送   | 时：分：秒    | 小时     | 每天 设置的时分秒发送一次  |
| 每周发送   | 周几 时：分：秒 | 小时     | 每周几 设置的时分秒发送一次 |

设置成功后，会按触发时间发送PDF文档到对应的邮箱。

{% hint style="info" %}
**私有化部署客户，需先请运维协助完成邮箱服务配置**
{% endhint %}

### D. 共享看板

当团队中有多人需要查看相同报表时，只需要要一个创建共享给其他成员即可，有三种共享方式：

1. 项目内所有成员（当在共享后有新成员加入时同样会看到共享的看板）
2. 指定成员
3. 指定角色（即将在 V5.2 版本中支持）

当想要取消共享时，选择仅自己可见即可

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111543431390.gif)

当确定共享后，被共享成员就可以在看板导航中看到共享的看板，在标题中可以看到标识。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9UIakH-_5Rd9cNzL5%2F-MK9_FSaOQy_u-od9jqQ%2Fimage.png?alt=media\&token=82a62bf0-0ea5-4179-a32e-4922a12eb864)

{% hint style="info" %}
对于别人共享的看板，只能另存为编辑，不能直接修改
{% endhint %}

### E. 另存为

若想要在其他成员共享的看板基础上修改，或者在已有看板上增加或减少少量图表时，可以点击看板右上角的另存为，保存成新的看板，然后在新的看板上进行修改。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDU2NnPP9SnucNEwVbn%2F-MDU6ymWT6PKFfVwcZqt%2Fimage.png?alt=media\&token=c8c2b7f5-0ec8-428b-95e7-736e48049823)

### F. **下载 PDF 报告**

支持将当前看板的图表以PDF的格式下载下来，方便进一步汇报。

### **G. 全屏显示**

对于部分客户，需要将看板中的数据在大屏上显示，这时候就可以点击全屏显示，看板的内容就会充满全屏；点击`Esc`或者退出全屏，就可以再次回到看板。

### **H. 强制刷新数据**

为了减少查看看板时数据加载的等待时间，增加来缓存机制，数据不会自动实时更新

{% hint style="info" %}

1. 保存的看板会每天凌晨进行计算作为缓存， 手动点击强制刷新会看到最新结果
2. 当看板中存在图表的时间范围包含今日，则会在新增数据量距离上一次查看累计超过2%的变化时再次重新缓存，手动点击强制刷新同样会看到最新结果
   {% endhint %}

### **I. 删除看板**

配置错误或者不想要的看板可以直接删除

{% hint style="info" %}
收到的系统预置或者其他成员共享的看板目前无法删除
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDU2NnPP9SnucNEwVbn%2F-MDU7C8CGKJ3sC8kmWal%2Fimage.png?alt=media\&token=293e429a-3723-4873-a0cd-86c9a1dd6079)

### J. 重命名

移入看板名称，即可行内重命名

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9UIakH-_5Rd9cNzL5%2F-MK9dquscmV5TlIol9EP%2Fimage.png?alt=media\&token=11170d88-3ba8-4fdc-b0d3-3c53b45df70e)

### &#x20;K. 添加看板说明 <a href="#j-zhong-ming-ming" id="j-zhong-ming-ming"></a>

‌标题下方可以添加看板说明，说明报表主题等

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9UIakH-_5Rd9cNzL5%2F-MK9dVxRJEO9ZciLfTN1%2Fimage.png?alt=media\&token=6343ae74-924d-441f-bec2-55692e13081d)

## 3. 看板中图表的操作

看板中的图表支持拖动位置和大小、支持切换范围和粒度、支持进入详情页等操作。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120318017196.png)

### A. 进入详情页

点击图表标题，可以直接进入详情页。

### B. 切换时间范围、图表类型

有些情况下，不改变条件，只是想要扩大时间范围或者图表类型，也可以临时切换选项

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MK9UIakH-_5Rd9cNzL5%2F-MK9ejmcVpgJLhF-8ckb%2Fimage.png?alt=media\&token=820bf0ce-7dd2-45ca-aa8e-4a2320aa079e)

### C. 拖动图表位置

当移入图表标题所在行，鼠标变成 十 字形时，即可拖动。

### D. 拖动图表大小

移入到某个图表时，拖动右下角，即可改变图表大小，灵活配置自己想要的看板。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120333094040.gif)

### E. 移除图表

对于看板中某些不再关注的图表可以选择移除。

{% hint style="warning" %}
并非删除了图表本身，若是误操作，可通过下方添加图表按钮重新添加。
{% endhint %}

## 4. 看板导航区

点击看板导航的可以快速切换不同看板的内容、支持快速搜索、拖动位置等等。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120339361904.png)

### A. 创建看板或看板分组

当创建的看板过多，或者是系统预置、团队成员共享了不关注的看板，都可以创建要给看板分组，进行整理。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120342595340.png)

### B. 看板库入口

点击看板库图标，即可进入到看板库。

### C. 搜索

当创建的看板过多时，可以快速搜索。

### D. 拖动看板

可以快速拖动看板，将经常关注的拖动到最上方，也可以某个看板拖动到看板分组当中。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120350104873.gif)

### E. 看板 / 看板分组的操作

移入看板或看板分组后，右侧会出现 `…`，点击即可进行更多操作。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111511471601.png)

对于系统预置或其他已经不关注的看板，可以点击取消固定导航，这时在导航中将看不到该看板，但并不标识删除，若想恢复看板，可以进入看板库找到相应看板，点击添加固定导航即可。

其他功能，如字面意思，功能不一一说明。

## 5. 看板库

看板库中，记录全部看板，快速对看板进行共享、另存为、固定到导航、删除等操作。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111507230962.png)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 分析

在实际的业务分析中，不同的场景需要用到不同的分析方法，分析模块集中了运营各个环节常用的一些分析模型。

## 1. 新建图表

从分析导航中选择想要的分析模型

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MCer1839_MCjG-cpBzw%2F-MCes_D3Nt3yF3AAdPst%2Fimage.png?alt=media\&token=2adc12dc-4b68-43ff-a385-4afa72ee3563)

## 2. 使用图表

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MCer1839_MCjG-cpBzw%2F-MCexMXOPrxvQJiQoq-Z%2Fimage.png?alt=media\&token=6d29e812-04c3-4deb-8e09-4f90d3d89078)

A. 新建、查看该分析模型已经创建的图表

B. 分析模型条件创建区

C. 设置图表名称以及图表级别的操作：保存、另存为、共享、下载等

D. 时间选择、时间粒度、图表类型、图表展示数据展示区

## 3. 查看所有图表

从分析导航中进入全部分析可以查看所有分析模型创建的图表

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MCer1839_MCjG-cpBzw%2F-MCf9OK2RxNdcpNfmB3o%2Fimage.png?alt=media\&token=ce1f2543-cb04-4183-ae64-778b0ff1aab9)

###

## 支持的分析模型

每个模型的具体的使用方法前往阅读相应章节

**1. 获取用户**

{% content-ref url="/pages/-LaQ9Kixg-AyzM6bwcvf" %}
[渠道分析](/features/analytics/channel)
{% endcontent-ref %}

{% content-ref url="/pages/-Lck5B\_6mVqx0C5crPYE" %}
[热图分析](/features/analytics/heatmap)
{% endcontent-ref %}

**2. 了解用户**

{% content-ref url="/pages/-LaQ9KePDb\_g--gmYFI1" %}
[事件分析](/features/analytics/event)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9Kf03oRCw0sIyuws" %}
[Session 分析](/features/analytics/session)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KitjpDDC-NwoYI4" %}
[实时分析](/features/analytics/realtime)
{% endcontent-ref %}

**3. 用户转化**

{% content-ref url="/pages/-LaQ9KgjpPkNShqEmeQ6" %}
[转化漏斗](/features/analytics/funnel)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KipB3b7R62eWQA-" %}
[智能路径](/features/analytics/pathfinder)
{% endcontent-ref %}

**4. 用户留存**

{% content-ref url="/pages/-LaQ9Kda6HWxOukgkzZo" %}
[留存分析](/features/analytics/retention)
{% endcontent-ref %}

更多模型持续开发中……

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 事件分析

事件，是指用户在 APP、网站等应用上发生的行为，即何人，何时，何地，通过何种方式，做了什么事。

事件分析模型主要用于分析用户在应用上的行为，比如打开 APP、注册、登录、支付订单等。通过触发用户数、触发次数、访问时长等基础指标度量用户行为，同时也支持指标的运算，构建复杂的指标衡量业务过程。

## 事件分析能解决哪些问题？

1. 监测产品每天的用户数、访问次数、使用时长；趋势是否发生了变化？引起变化的因素有哪些？
2. 北京地区的用户和上海地区的用户，购买家电品类的金额分布差异在哪里？
3. 今天在产品中发起了一个话题，各个时段用户的参与情况如何？
4. 最近半年付费用户数和 ARPU 值是多少？

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LvODRwKSjtKYsnM2QUw%2F-LvOF7TMVXf0yZjBDGcK%2Fimage.png?alt=media\&token=39be0c8f-e93e-499a-a08b-8eaccca693bc)

## 1. 定义指标区

左侧为指标定义区域，选择要分析的指标，支持细分维度与条件过滤，同时支持通过分析用户群进行人群对比

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LvODRwKSjtKYsnM2QUw%2F-LvOG18x6E33Ol_-O1yE%2Fimage.png?alt=media&amp;token=23290d74-f3d8-4d0e-895b-da2c915bd442" alt=""></div>

### 1.1 选择指标

从下拉框中选择指标，指标有**事件相关指标**和**自定义指标**两大类型：

#### **1.1.1 事件相关指标**

**有两种组成结构**

A. 事件 - 事件支持的指标，例如：提交订单的触发用户数，表示有多少人点击了提交订单；

B. 事件 - 事件的属性 - 属性值支持的指标，例如 提交订单的优惠券金额的总和，表示提交订单时总共使用了多少优惠券。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141233299337.png)

**对所有事件都支持计算的指标：**

* 触发用户数：触发选定事件的去重用户数，例如加入购物车的触发用户数
* 触发次数：触发选定事件的总次数，例如加入购物车的触发次数
* 人均触发次数： 平均每个用户触发选定事件的次数，例如加入购物车的人均触发次数

**属性值以下五种类型，不同类型支持计算的指标有差异：**

* 字符串
* 数值型
* 布尔值
* 日期时间
* 字符串集合

> 注意：在集成 SDK 时，不同类型的属性值需要满足不同的数据格式，才能在分析时正确使用，详见《[SDK指南》](/integration/prepare/data-type#shu-xing-zhi-de-shu-ju-lei-xing)。

**对所有属性值类型的属性都支持计算的指标：**

* 去重数：在选定时间范围内，该属性出现的独立去重个数，例如加入购物车商品的数量

**对数值型属性值的属性支持计算的指标：**

* 总和：选定属性的属性值求和，例如加入购物车的商品金额之和
* 均值：选定属性的属性值算数平均数，例如加入购物车的商品金额均值
* 最大值：选定属性的属性值最大值，例如加入购物车的商品最大金额
* 最小值：选定属性的属性值最小值，例如加入购物车的商品最小金额
* 人均值：选定属性的属性值人均值，例如人均加入购物车的商品金额

### **1.2 自定义指标**

除了事件相关指标外，方舟支持自定义指标公式，构建无法通过选择事件得出的指标，比如 ARPU、ROI 等。

支持两种方式创建：

#### **A. 点击独立的“自定义指标公式”入口开始创建**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJK192nTWsXd-RUenS%2Fimage.png?alt=media\&token=b7ddb3ac-0ff2-44e7-9736-f34495e0442b)

* 输入公式，支持选择的指标、常数之间的加、减、乘、除四则运算
* 选择指标结果值的数值类型：整数、两位小数和百分数
* 添加指标单位
* 命名指标
* 保存

当选择 **保存并开始计算** 时，会自动计算结果并展示；当选择仅保存时，会保存在下拉框中，后续分析时可选择。

定义完成后，下次就可以从下拉框中已保存的指标中快速选择；如果需要修改指标定义的话，可以选择下拉框中右上角的管理功能进行编辑。

#### **B. 选择了某个单独的指标分析过程中选择自定义指标图标开始创建**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJM5YJ6aZcFEergIVm%2Fimage.png?alt=media\&token=e8fe6a92-b576-4a15-8768-b3f9a4f8fe15)

{% hint style="info" %}
如何在创建自定义指标时选择某个事件中的一部分应该怎么做呢？

例如，我有一个事件是支付成功，支付方式包括微信、支付宝及银联，现在只想让创建的自定义指标中包含微信支付，有两种方式可实现

1. 在选择事件后添加条件 支付方式=微信支付
2. 创建虚拟事件，选择支付成功，支付方式=微信支付，保存为虚拟事件，创建自定义指标时，选择虚拟事件即可。
   {% endhint %}

### 1.3 细分维度

**维度**指分析事物的角度。例如，分析活跃用户，可以从时间的维度，也可以从地域的维度去看，也可以时间、地域两个维度组合去分析。

有层次关系的维度，就可以根据分析需求改变维的层次，变换分析的粒度钻取，比如从地域这个维度类型上，可以细分到省份、城市、县、乡镇的用户，也可以向上汇总。

维度也可以分为定性维度和定量维度（根据数据类型划分）。

数据类型为字符型即定性维度，如城市、性别等；

数据类型为数值型数据的即定量维度，如收入、年龄、消费金额等，定量维度一般需要数值分组处理，例如年龄划分为 20 岁以下，20\~29 岁，30\~39 岁等，更多类型如下：

| 数据类型 | 维度处理方式                                        | 举例属性                                                                                            | 查询用户数，按举例维度细分                                                                                                       |
| ---- | --------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| 字符串  | 按离散值                                          | <p>商品类别<br>上报的属性值：<br>3C电器、服装、化妆品……</p>                                                         | <p>3C电器：12人<br>服装：12人<br>化妆品：18人</p>                                                                                |
| 数值型  | <p>按离散值<br>自定义区间分组</p>                        | <p>商品价格<br>上报的属性：<br>12、20、90、300……</p>                                                         | <p>按离散值：<br>12：2人<br>20：3人<br>90：13人<br>300：1人<br>按用户自定义区间的话可能是：<br>(-∞,50)：5人<br>\[50,200)：13人<br>\[200,+∞]：1人</p> |
| 布尔值  | 按离散值                                          | <p>是否使用优惠券<br>上报的属性值：<br>true、false</p>                                                         | <p>使用了优惠券的：12人<br>没有使用优惠券的：18人</p>                                                                                  |
| 日期时间 | <p>按分钟、小时、日、周、月、季、年<br>按时段汇总：按分钟、小时、日、周，月</p> | <p>下单时间<br>上报的属性值：<br>2017-03-12 12:12:32、<br>2018-03-15 12:12:32、<br>2018-04-12 12:12:32……</p> | <p>不按时段汇总，按月：<br>2017年3月：23人<br>2018年3月：27人<br>2018年4月：12人<br>按时段汇总，按月：<br>每年3月：50人<br>每年4月：12人</p>                 |
| 集合   | 按单个字符串的离散值                                    | <p>用户爱好<br>上报的属性值：<br>\[网球，摄影]、\[户外，摄影]、\[户外、壁球]……</p>                                          | <p>\[网球，摄影]：34人<br>\[户外，摄影]：53人<br>\[户外、壁球]：23人</p>                                                                 |

**单个指标时**，支持细分的维度，包括事件自定义属性、事件通用属性、用户属性。

**多个指标时**，支持细分的维度，包括公共的属性、事件通用属性、用户属性。

维度选择下拉框中，**数值型**和 **日期时间型**的维度有特殊标识，点击可以进行设置：

#### **A. 数值型维度分组方法**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJP82_IY_vaFzviOu3%2Fimage.png?alt=media\&token=29ec4f27-00f6-4317-baaa-e59205947567)

#### **B.日期型维度分组方法**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJOoC28AZSSzqbd-PL%2Fimage.png?alt=media\&token=7698125e-82dc-4fc8-9a78-634087e91ca6)

### 1.4 增加过滤条件

对于单个事件可以添加条件限制，也可以添加公共过滤条件，约束多个指标

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJNA1rszaclVb1VcYP%2Fimage.png?alt=media\&token=fa2d39a7-2e58-4e1f-b310-3cdd73643563)

条件按照 **属性 - 运算符 - 属性值** 的结构构成，属性包括**事件自定义属性**、**通用属性**、**用户属性**三种类型。

不同的属性值的数据类型支持不同的操作符：

#### **A. 字符串**

| 操作符          | 使用场景                                       | e.g.                             |
| ------------ | ------------------------------------------ | -------------------------------- |
| =(等于)        | 当输入一个值时，表示等于某个具体确定的属性值；当输入多个时，表示满足其中的一项或多项 | 设备品牌 = 苹果；设备品牌   满足 苹果、小米中的任意一个  |
| ≠（不等于）       | 完全排除输入的某个或多个属性值                            | 设备品牌 ≠ 苹果；设备品牌   不满足 苹果、小米中的任何一个 |
| like（包含）     | 查找属性值中包含某些字符的值                             | 设备品牌 中 包含 苹果   这个词的              |
| notlike（不包含） | 排除属性值中包含某些字符的值                             | 设备品牌中 不包含 苹果   这个词的              |
| 有值           | 查找有属性值的数据                                  | 有设备品牌名称的                         |
| 无值           | 查找无属性值的数据                                  | 无设备品牌名称的                         |

{% hint style="info" %}
对于包含字典属性，目前不支持 like（模糊匹配）和 notlike（不匹配）。
{% endhint %}

#### **B. 数值型**

| 操作符     | 使用场景        | 例如             |
| ------- | ----------- | -------------- |
| =（等于）   | 等于某个具体数字    | 商品金额 = 100     |
| ≠（不等于）  | 不等于某个数字     | 商品金额 ≠ 100     |
| <（小于）   | 小于某个数字      | 商品金额 < 100     |
| ≤（小于等于） | 小于等于某个数字    | 商品金额 ≤ 100     |
| >（大于）   | 大于某个数字      | 商品金额 ＞ 100     |
| ≥（大于等于） | 大于等于某个数字    | 商品金额 ≥ 100     |
| 介于区间    | 在某个数据区间内的数值 | 100＜商品金额 ≤ 500 |
| 有值      | 所有数字        | 任意商品金额         |
| 无值      | 所有空白项       | 无商品金额          |

#### **C. 布尔值**

| 操作符 | 使用场景      | e.g.     |
| --- | --------- | -------- |
| 为真  | 某个判断为真    | 是否成功 = 是 |
| 为假  | 某个判断为假    | 是否成功 = 否 |
| 有值  | 查找有属性值的数据 | 有值       |
| 无值  | 查找无属性值的数据 | 无值       |

#### **D. 日期时间**

| 操作符      | 使用场景          | e.g.                       |
| -------- | ------------- | -------------------------- |
| 绝对时间     | 在某个具体的时间范围    | 在 2018/12/14-   2018/12/17 |
| 相对当前时间点  | 在相对当前的某段时间里   | 在近 30 天内                   |
| 相对事件发生时间 | 在相对事件发生的某段时间里 | 登录之前的 5 分钟里                |
| 有值       | 查找有属性值的数据     | 有日期                        |
| 无值       | 查找无属性值的数据     | 无日期                        |

{% hint style="info" %}
近 n 日包括查询当日

过去 n 日不包括当时
{% endhint %}

#### **E. 字符串集合**

| 操作符          | 使用场景         | 例如               |
| ------------ | ------------ | ---------------- |
| like（包含）     | 集合中包含某个字符的值  | 用户标签   包含 摄影 字段  |
| notlike（不包含） | 集合中不包含某个字符的值 | 用户标签   不包含 摄影 字段 |
| 有值           | 查找有属性值的数据    | 有用户标签            |
| 无值           | 查找无属性值的数据    | 无用户标签            |

### 1.5 选择对比分群

方舟支持在某个细分分群下查看指标，也支持多个分群对比

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJQPF3DzEg1Fslqag1%2Fimage.png?alt=media\&token=83cfadde-4cfe-4358-ad12-408bdf73fded)

## 2. 图表展示区

图表展示区，可以选择时间范围，时间粒度，图表样式

### 2.1 时间范围

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MIJJIKjSthfhSoBX79-%2F-MIJQXse9nrIL_jiID8V%2Fimage.png?alt=media\&token=25baca5c-8d26-40f3-aed4-40b7e79e0695)

可以选择近30日、今日、上周等常用范围，也可以在右侧自定义开始时间和结束时间。

当选择的是相对时间保存图表后，以后查询时会展示动态的时间范围。

例如今天是3月16日，选择查询近7日，查询结果是3月9日至3月15日的数据；在3月21日打开保存的该图表时，查看到的数据将是3月14日至3月20日。

当选择对比日期时，可以对比上一时段、去年同期、自定义对比指标表现

{% hint style="info" %}
**对比上一时段**：从选择时间范围向后移动相同天数的时间范围，比如当前选择的是1月9日-1月15日，选择了对比上一时间，则对比的是1月2日-1月8日，即可以分别对比1月9日与1月2日，1月10日与1月3日……的指标差异&#x20;

\
&#x20;**对比去年同期**：对比当前时间段与去年同期的时间段，比如当前选择的是2019年1月9日-1月15日，选择了对比上一时间，则对比的是2018年1月9日-1月15日，即可以分别对比2019年1月9日与2018年1月9日，2019年1月10日与2018年1月10日……的指标差异

\
&#x20;**自定义对比**：自定义时间范围，比如当前选择的是1月9日-1月15日，自定义对比1月8日-1月14日，即可分别对比1月9日与1月8日，1月10日与1月9日……的指标差异
{% endhint %}

### 2.2 时间粒度

可选择的时间粒度，包括

| 时间粒度 | 说明                                                   |
| ---- | ---------------------------------------------------- |
| 按合计  | 可以查看选定时间范围内的汇总                                       |
| 按分钟  | 按分钟聚合，实时计算                                           |
| 按小时  | 按小时聚合，实时计算                                           |
| 按日   | 默认按照从 00:00:00 到 23:59:59 的完整日聚合，当时间范围中包含今日时，最多延迟几分钟 |
| 按周   | 默认周一到周日的自然周聚合，当时间范围不足自然周时，计算的是选择范围内所在周若干天的聚合         |
| 按月   | 当时间范围不足自然月时，计算的是选择范围内所在月若干天的聚合                       |

### 2.3 图表样式

展示不同的指标、条件、人群、维度组合查询结果，展示样式包括线形图、柱状图、堆积图和数据表格，以下将举例说明：

#### **A. 不同版本的活跃用户趋势**

在细分维度中，选择版本后，就可以查到各个版本的活跃用户数量，选择柱状堆叠图展示

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111740019031.png)

#### **B. 不同渠道的用户购买理财产品的金额**

选择表格展示

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111746142403.png)

## 3. 其他功能

其他保存、下载共享、抽样计算、强制刷新等等所有分析模型通用功能，详见[《分析》](/features/analytics)。

## 常见问题

### 1 在事件分析中查询得到的注册成功用户数为什么与用户数据库中查询到的结果不一致？

客户端数据上报会因为**网络环境等特殊原因**导致数据不能100%发送到方舟。方舟采取了很多手段来减少这种误差。但对于关键业务数据，我们依然建议您可以进行服务端上报。采用与您自身数据库所处网络类似的网络环境可以极大避免重要数据差异。

下面是我们建议通过服务端上报的数据：

* 注册成功时的用户信息
* 购买成功时的订单信息
* 支付成功信息

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 渠道分析

{% hint style="info" %}
**渠道分析功能的使用需要相应平台集成支持该功能的SDK：**

Android SDK ：v4.1.2 及以上\
iOS SDK： v4.1.2 及以上\
JS SDK：v4.1.3 及以上\
小程序 SDK：v4.1.3 及以上
{% endhint %}

渠道，即企业（产品）与用户产生互动的各个触点，比如搜索引擎、社交媒体、广告平台、线下站会等等。

一个完整的用户旅程，通常包括：站外渠道→展示创意→投放 URL →着陆页→辅助转化文案及 CTA →应用商店（仅移动端）→产品转化 6大关键环节，每个环节都有相应的指标来衡量渠道入口。

| 用户旅程        | 影响因素                                       | 度量指标                                       | 优化点                           | 通常负责的团队 |
| ----------- | ------------------------------------------ | ------------------------------------------ | ----------------------------- | ------- |
| 站外渠道        | <p>用户匹配度 <br>广告出价</p>                      | <p>展示量 <br>点击量</p>                         | <p>渠道选择 <br>人群优化 <br>智能出价</p> | 市场/运营   |
| 创意          | <p>用户匹配度 <br>创意吸引度</p>                     | CTR（Click Through Rate，点击率）                | <p>创意优化 <br>A/B测试</p>         | 市场/运营   |
| 链接URL       | 是否可以打开                                     |                                            |                               | 市场/运营   |
| 着陆页         | <p>着陆页质量 （与创意的符合程度、着陆页本身的内容）<br> 用户匹配度</p> | <p>着陆页PV  <br>着陆页UV  <br>加载时长  <br>跳出率</p> | 着陆页优化                         | 市场/运营   |
| 辅助转化的内容及CTA | 辅助转化的内容相关性 CTA（Call To Action，召唤用户行动）      | <p>停留时长 <br> 访问深度 <br> ……</p>              | 辅助转化内容CTA                     | 运营/产品   |
| 产品转化        | 产品设计                                       | <p>转化用户  <br> 转化率  <br>e.g. 下载、注册成功、交易</p> | 产品本身                          | 产品      |

站外渠道的广告展示量、点击量等数据方舟目前无法获得，不在范畴之内。

渠道分析模型用于分析用户（包括访客）的访问来源，通过访问用户数、访问次数、访问时长、跳出率等基础指标评估渠道质量，同时也支持自定义转化目标衡量渠道的转化效果。

## 渠道分析能解决哪些问题？

1. 各个渠道实时的访问用户数、浏览量如何？
2. 上周选择了多个渠道对网站进行了推广，各个渠道带来的用户注册量如何？
3. 社交媒体、搜索引擎、外部链接……哪个渠道带来的用户留存率更高？
4. 微信来源用户更多集中在公众号还是朋友圈？
5. 哪些搜索词带来的流量很大，且转化效果也好？

   ……

## 功能说明

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDENDAyjHcrEmG1VEn3%2F-MDEO2M2fyg6q546u0eG%2Fimage.png?alt=media\&token=1b3d0126-7883-4d1e-af7b-7fac847cbf6b)

### 1. 定义指标区

左侧为指标定义区域，选择分析的平台、渠道的维度、基础指标和转化指标，衡量渠道表现

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDENDAyjHcrEmG1VEn3%2F-MDEOlF8su61UfTp6d1X%2Fimage.png?alt=media\&token=e0d47e0b-c303-42aa-ad8d-deebf71a3a25)

#### 1.1 选择分析平台

选择要分析的平台，比如 Web/H5、APP、小程序，因为各个平台衡量的指标和细分维度会略有差异，所以需要分开查看。

支持在选定平台下添加条件过滤，比如查看 Web/H5 平台下某个具体着陆页的访问来源情况；APP 某个版本的用户来源情况。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDENDAyjHcrEmG1VEn3%2F-MDEPAePJ9WIqXphFgVA%2Fimage.png?alt=media\&token=714f5a85-edaf-4430-8a90-839ce247f686)

#### 1.2 选择分析渠道的维度

{% hint style="info" %}
渠道分析模型中分析的是用户的每一次访问的来源（即一个Session的来源）。当用户产生一次访问时，会根据上报的URL中的UTM参数、referrer信息来识别不同的渠道属性，具体处理规则详见文末 [《附：渠道来源识别规则》](/features/analytics/channel/processing-logic)
{% endhint %}

从下拉框中可以选择不同平台下的渠道分析维度，具体维度如下：

| 属性名称     | 属性说明                       | 平台             | 预置属性ID                 | SDK采集/数据处理说明           |
| -------- | -------------------------- | -------------- | ---------------------- | ---------------------- |
| 来源地址     | 页面来源                       | Web/H5、小程序     | $referrer              | SDK上报                  |
| 来源域名     | 页面来源域名，e.g.baidu.com       | Web/H5         | $referrer\_domain      | SDK上报                  |
| 渠道来源分组   | 渠道来源分组，e.g.搜索引擎、社交媒体、直接访问等 | Web/H5         | $traffic\_source\_type | 根据规则处理，方舟提供预置分组        |
| 活动/广告名称  | 活动/广告名称                    | Web/H5、小程序、APP | $utm\_campaign         | SDK上报，部分数据处理           |
| 活动/广告媒介  | 活动/广告媒介                    | Web/H5、小程序、APP | $utm\_medium           | SDK上报，部分数据处理           |
| 活动/广告来源  | 活动/广告来源                    | Web/H5、小程序、APP | $utm\_source           | SDK上报，部分数据处理           |
| 活动/广告内容  | 活动/广告内容                    | Web/H5、小程序、APP | $utm\_content          | SDK上报，部分数据处理           |
| 活动/广告关键字 | 活动/广告关键字                   | Web/H5、小程序、APP | $utm\_term             | SDK上报，部分数据处理           |
| 搜索引擎     | 标识搜索引擎来源，e.g.百度            | Web/H5         | $search\_engine        | 根据referrer解析           |
| 搜索词      | 标识搜索词，e.g.易观方舟             | Web/H5         | $search\_keyword       | 根据referrer解析           |
| 社交媒体     | 标识社交媒体来源，e.g.微博            | Web/H5         | $social\_media         | 根据referrer解析           |
| 社交媒体分享来源 | 标识社交媒体分享来源，e.g.微信朋友圈、微信群   | Web/H5         | $social\_share\_from   | 根据referrer和url解析       |
| APP下载渠道  | 下载渠道                       | APP            | $channel               | SDK上报                  |
| 场景值      | 标识小程序的场景值，e.g顶部搜索框的搜索结果页   | 小程序            | $scene                 | SDK上报，根据referrer中的参数解析 |
| 场景值类型    | 标识小程序的场景分类                 | 小程序            | $scene\_type           | 根据规则方舟，方舟提供预置分组        |

#### 1.3 选择衡量渠道的基础指标

| 基础指标      | 指标说明                                                                                                           | 平台             |
| --------- | -------------------------------------------------------------------------------------------------------------- | -------------- |
| 访问用户数（UV） | Unique Visitor， 访问用户的去重数                                                                                       | Web/H5、小程序     |
| 访问次数      | 指用户访问应用的总次数，即会话（Session）数                                                                                      | Web/H5、小程序     |
| 浏览量（PV）   | 指用户浏览Web/H5页面的总次数，同一个页面访问多次会被重复计                                                                               | Web/H5、小程序     |
| 人均访问次数    | 人均访问次数=访问次数/访问用户数（UV）                                                                                          | Web/H5、小程序     |
| 人均页面浏览量   | 人均页面浏览量=浏览量（PV）/访问用户数（UV）                                                                                      | Web/H5、小程序     |
| 人均访问时长    | 人均访问时长=Session时长之和/访问用户数（UV）                                                                                   | Web/H5、小程序     |
| 单次访问页面浏览量 | 平均每次访问浏览页面的次数，单次访问页面浏览量=浏览量（PV）/访问次数                                                                           | Web/H5、小程序     |
| 单次访问时长    | 平均每次访问的时长，单次访问时长=总访问时长/会话数                                                                                     | Web/H5、小程序     |
| 单次访问事件数   | 平均每次访问的事件数量（包括浏览页面和点击事件），单次访问事件数=总访问事件数/会话数                                                                    | Web/H5、小程序     |
| 跳出率       | 跳出率=访问了一个页面的Session数/总的Session数。用户进入着陆页就离开用户来到网站后，除了浏览LandingPage之外，没有发生其他任何操作就离开了网站，被视为跳出。用来衡量Landingpage的质量。 | Web/H5、小程序     |
| 次日留存率     | 某日访问的用户在第2日再次来访问的用户数                                                                                           | Web/H5、小程序、APP |
| 7日留存率     | 某日访问的用户在第7日再次来访问的用户数                                                                                           | Web/H5、小程序、APP |
| 14日留存率    | 某日访问的用户在第14日再次来访问的用户数                                                                                          | Web/H5、小程序、APP |
| 30日留存率    | 某日访问的用户在第30日再次来访问的用户数                                                                                          | Web/H5、小程序、APP |

#### 1.4 选择渠道的转化目标

每一次活动的转化目标可能会不同，方舟支持自定义选择一个事件作为转化目标，来更有效的衡量不同渠道最终的转化质量。

| 转化指标        | 指标说明                         | e.g. 转化目标：点击购买 ；访问来源：谷歌搜索        |
| ----------- | ---------------------------- | -------------------------------- |
| x事件的转化用户数   | 指某个渠道进来的用户触发了x事件的用户数         | 从谷歌搜索进入网站之后点击购买的用户数              |
| x事件的转化用户数占比 | x事件的转化用户数/总访问用户数             | 从谷歌搜索进入网站之后点击购买的用户数/进入网站访问的总用户数  |
| x事件的转化次数    | 指某个渠道进来的用户触发了x事件的会话次数        | 从谷歌搜索进入网站之后发生了点击购买的访问次数          |
| x事件的转化次数占比  | x事件的转化次数/总访问次数               | 从谷歌搜索进入网站之后发生了点击购买的访问次数/进入网站的总次数 |
| x事件的y属性z指标  | x事件的y属性z指标（不同数据类型的属性值有不同的指标） | 从谷歌搜索进入网站之后点击购买的购买金额的总和          |

### 2. 选择对比分群区

支持选择某个细分分群，查看他们从各个不同渠道访问进入产品中的情况；也支持多个分群对比，比如对比所有用户的访问来源和新访用户的访问来源

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDENDAyjHcrEmG1VEn3%2F-MDEPdyIWTtCBHF2_-Kr%2Fimage.png?alt=media\&token=6f7a5d79-3202-41f0-b2ed-655a05ab4dfa)

### 3. 图表展示区

图表展示区，可以选择时间范围，时间粒度，图表样式

#### 3.1 时间范围

渠道分析记录的是用户每一次访问的来源，同一个用户每次访问都可能会从不同的来源进入产品当中，比如小鸣昨天从搜索引擎中打开方舟进入查看，今天直接从收藏夹中打开，所以在分析时一定需要框定时间范围。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDENDAyjHcrEmG1VEn3%2F-MDEQ3CHVrvWHRC_pNmG%2Fimage.png?alt=media\&token=90bdafb6-0cf4-4730-8641-fd2231878814)

可以选择近30日、今日、上周等常用范围，也可以在右侧自定义开始时间和结束时间。

当选择的是相对时间保存图表后，以后查询时会展示动态的时间范围。

例如今天是3月16日，选择查询近7日，查询结果是3月9日至3月15日的数据；在3月21日打开保存的该图表时，查看到的数据将是3月14日至3月20日。

{% hint style="info" %}
**当选择对比日期时，可以对比上一时段、去年同期、自定义对比指标表现：**

**对比上一时段**：从选择时间范围向后移动相同天数的时间范围，比如当前选择的是1月9日-1月15日，选择了对比上一时间，则对比的是1月2日-1月8日，即可以分别对比1月9日与1月2日，1月10日与1月3日……的指标差异&#x20;

**对比去年同期**：对比当前时间段与去年同期的时间段，比如当前选择的是2019年1月9日-1月15日，选择了对比上一时间，则对比的是2018年1月9日-1月15日，即可以分别对比2019年1月9日与2018年1月9日，2019年1月10日与2018年1月10日……的指标差异

**自定义对比**：自定义时间范围，比如当前选择的是1月9日-1月15日，自定义对比1月8日-1月14日，即可分别对比1月9日与1月8日，1月10日与1月9日……的指标差异
{% endhint %}

#### 2.2 分析方法

**A. 合计**

合计，表示可以查看一段时间里整体的来源分布。

**B. 趋势**

趋势，可以按照一定的时间粒度聚合，比如查看一段时间里每一天的用户来源分布，也可以查看每周的指标表现。

| 时间粒度 | 说明                                                   |
| ---- | ---------------------------------------------------- |
| 按合计  | 可以查看选定时间范围内的汇总                                       |
| 按分钟  | 按分钟聚合，实时计算                                           |
| 按小时  | 按小时聚合，实时计算                                           |
| 按日   | 默认按照从 00:00:00 到 23:59:59 的完整日聚合，当时间范围中包含今日时，最多延迟几分钟 |
| 按周   | 默认周一到周日的自然周聚合，当时间范围不足自然周时，计算的是选择范围内所在周若干天的聚合         |
| 按月   | 当时间范围不足自然月时，计算的是选择范围内所在月若干天的聚合                       |

#### 2.3 图表结果

展示不同的指标、条件、分群、维度、时间范围、分析方法组合查询结果，支持折线图、柱状图、条形图、面积图、气泡图和表格，不同场景下会推荐合适的图形。

> 以下就指标（Metric）、维度（Dimension）和分群（Segmentation）的组合来说明，例如 nM1D1S 即表示选择了 多个指标 1个维度 1个分群的场景&#x20;

| 场景     | 分析方法 | 时间粒度        | 时间对比 | 支持的图表              | 默认显示 | 时间对比时默认显示 |
| ------ | ---- | ----------- | ---- | ------------------ | ---- | --------- |
| 1M1D1S | 趋势   | 分钟/小时/日/周/月 | √    | 折线图、柱状图、面积图、表格     | 折线图  | 表格        |
| nM1D1S | 趋势   | 分钟/小时/日/周/月 |      | 表格                 | 表格   |           |
| 1MnD1S | 趋势   | 分钟/小时/日/周/月 | √    | 折线图、柱状图、面积图、表格     | 表格   | 表格        |
| nMnD1S | 趋势   | 分钟/小时/日/周/月 |      | 表格                 | 表格   |           |
| 1M1DnS | 趋势   | 分钟/小时/日/周/月 |      | 折线图、柱状图、面积图、表格     | 柱形图  |           |
| nM1DnS | 趋势   | 分钟/小时/日/周/月 |      |                    |      |           |
| 1MnDnS | 趋势   | 分钟/小时/日/周/月 |      | 表格                 | 表格   |           |
| nMnDnS | 趋势   | 分钟/小时/日/周/月 |      |                    |      |           |
| 1M1D1S | 合计   |             | √    | 环状图、柱状图、条形图、表格     | 环状图  | 表格        |
| nM1D1S | 合计   |             | √    | 环状图、柱状图、条形图、气泡图、表格 | 气泡图  | 表格        |
| 1MnD1S | 合计   |             | √    | 环状图、柱状图、条形图、表格     | 表格   | 表格        |
| nMnD1S | 合计   |             | √    | 环状图、柱状图、条形图、气泡图、表格 | 表格   | 表格        |
| 1M1DnS | 合计   |             | √    | 环状图、柱状图、条形图、表格     | 环状图  | 表格        |
| nM1DnS | 合计   |             | √    | 表格                 | 表格   | 表格        |
| 1MnDnS | 合计   |             | √    | 环状图、柱状图、条形图、表格     | 表格   | 表格        |
| nMnDnS | 合计   |             | √    | 表格                 | 表格   | 表格        |

以下将结合具体场景举例说明：

**A. 分析各类渠道上获取的新用户访问趋势**

选择【新访问用户】分群，选择【渠道来源分组】维度，选择【访问用户数】指标，分析方法【趋势】，时间粒度【按日】

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDET_BJLyDo_PvyRZjj%2F-MDEUaRy5Slt95PElNGY%2F20200727165604.jpg?alt=media\&token=42b9ba88-8781-4ad3-8900-554e73c09be1)

**B. 分析各类渠道上新增老用户的差异**

选择【新访问用户】、【所有用户】分群，选择【渠道来源分组】维度，选择【访问用户数】指标，分析方法【合计】

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDET_BJLyDo_PvyRZjj%2F-MDEVYGsnOybgCokOZGL%2F20200727165939.jpg?alt=media\&token=a9f000ac-a232-48bc-b557-493d37e61ae5)

**C. 分析不同搜索引擎来源的用户访问质量**

选择【新访问用户】分群，选择【搜索引擎】维度，选择【访问用户数】、【跳出率】、【浏览量】指标，分析方法【合计】，选择散点图，可以查看质量矩阵，快速识别访问用户数高，跳出率又低的高质量渠道

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDET_BJLyDo_PvyRZjj%2F-MDEfENfccDK_Dpvbjkg%2Fimage.png?alt=media\&token=9c21d334-b8f3-4430-b74f-34966da77a06)

**D. 分析不同着陆页的指标表现**

选择【新访问用户】分群，选择【着陆页】维度，选择【访问用户数】、【跳出率】等指标，通过表格可以直观查看各个着陆页的各个指标标表现

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MDET_BJLyDo_PvyRZjj%2F-MDEenzmXsa94AzMG8Kr%2F20200727174656.jpg?alt=media\&token=66b6145b-6d0a-4c58-8299-307125f0c4f9)

### 4. 其他功能

其他保存、下载共享、抽样计算、强制刷新等等所有分析模型通用功能，详见[《分析》](/features/analytics)。

## 常见问题

### 1. 为什么按照某个渠道维度细分，各维度值的访问用户数加和不等于总用户数？

渠道分析模型分析的是用户每次的访问来源，在一段时间里同一个用户可能会从多个来源访问进入，那会在多个渠道上分别记录该用户。比如，小鸣上午从谷歌搜索进入方舟，下午从知乎的文章进入方舟网站，那么在查看谷歌来源的时候小鸣会被记入，在查看知乎来源的时候小鸣也会被记录，按照各维度值加总的时候就是会不等于总数，但按访问次数去查看时，各维度值访问次数之和=总访问次数。

### 2. 为什么我的项目查看渠道分析时都没有数据？

渠道分析需要使用 v4.1.3.1\_20181228 之后的SDK上报数据，所以建议更新到最新的SDK，尤其是私有化的项目。

### 3. 什么样的情况会被记录为直接访问？

一般来说，以下情况会被判定为直接访问：

* 通过在 Flash、邮件客户端、MS Office、PDF文档、APP中直接点击链接（未加任何标记）跳转来的访问；
* 在地址栏中直接输入 URL 打开的访问
* 从收藏夹或书签中打开的访问；
* 302 的重定向有时候会导致 referral 被删除
* http 重定向成 https 时，referral 不会传递，主要是因为安全因素
* 其他 referral 为空的情况

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 渠道相关名词解释

**渠道识别**

移动端和 Web 端略有差异

* Web 端/小程序：国内外都是通过URL的 Referer 和 LinkTag（e.g. UTM 参数） 识别；
* 移动端：国外通过 Google Play 和 AppStore 的参数传递来实现；国内应用商店百花齐放，情况比较复杂，通过渠道包、OneLink、DeepLink 等多种方式实现

**Referer**

HTTP Referer是header的一部分，当浏览器向web服务器发送请求的时候，一般会带上Referer，告诉服务器我是从哪个页面链接过来的，是一个页面的物理来源，部分情况下出于安全/隐私考虑会被隐藏。

通过对这个值的解析，可以知道来源 domain 甚至具体页面，还可以将 domain 进行可读性转义。

**Link Tag**

广告链接标记，通过类似 UTM 的参数来标记，在标记的目标页面 URL 中携带，可以人为配置，具体使用方法详见[《广告跟踪》](/features/operation/utm)。

**会话（Session）**

Session 是一系列用户行为的集合。来源标识的也是一个 Session 的来源。

怎样一些列行为算是一个Session？详见 [《附6 Session 规则》](/features/analytics/channel/session)

**着陆页（LandingPage）**

用户进入目标网站的第一个页面。用户访问的一般过程：站内着陆页A → 后续受访页面B→ 后续受访页面……→ 站内出口页X

**跳出**

用户来到网站后，除了浏览LandingPage之外，没有发生其他任何操作就离开了网站，被视为跳出。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 来源识别规则

易观方舟会根据一次访问中着陆页的来源来判断当次访问的来源，且本次访问（Session）中所有的事件都会继承这次访问的来源。

数据上报后会根据日志当中 url 中的UTM 参数 、 $referrer （$referrer\_domain）、$channel、消息相关事件中的utm参数等按照一定规则来处理，给每条日志添加UTM参数来源

同时根据如下规则和优先级会对渠道来源进行分组

| 渠道来源类型    | 预定义的识别规则                                                                                      |
| --------- | --------------------------------------------------------------------------------------------- |
| 消息通知      | <p>$utm\_campaign\_id 不为空<br>$utm\_medium = push\_notification</p>                            |
| 电子邮件      | <p>$utm\_campaign\_id 不为空 <br>$utm\_medium = email</p>                                        |
| 系统预定义的XXX | <p>$utm\_campaign\_id 不为空 <br>$utm\_medium = xxx</p>                                          |
| 指定广告跟踪    | <p>$utm\_source 不为空 <br>$utm\_campaign 不为空<br>$utm\_medium ≠ push\_notification,email,xxx</p> |
| 搜索引擎      | <p>$utm\_campaign 为空<br>$utm\_medium = search</p>                                             |
| 社交媒体      | <p>$utm\_campaign 为空<br>$utm\_medium = social</p>                                             |
| 外部链接      | <p>$utm\_campaign 为空<br>$utm\_medium = referral</p>                                           |
| 直接访问      | <p>$utm\_campaign 为空<br>$utm\_medium = direct</p>                                             |

{% hint style="info" %}
[点这里查看详细识别规则](https://www.processon.com/embed/5c3eea0ae4b0641c83de6544)
{% endhint %}

示例说明

{% hint style="info" %}
1\. 小鸣打开了google，通过 Q 这个搜索词，找到了您的网站，那我们会根据点击网站时上报日志中的referrerdomain识别出来是谷歌，谷歌的域名被识别为搜索引擎，那么本次访问的所有事件都会加上 utm\_medium = search 的来源，归为搜索引擎的来源类型，并进一步解析搜索词&#x20;

2\. 小鱼通过知乎中的链接进入到您的网站，我们会根据访问记录中的referrerdomain识别出它是知乎，知乎属于社交媒体，那么本次访问会标记为来源知乎，渠道来源类型属于社交媒体&#x20;

3\. 小芳收到了一封您的网站通过方舟发送的邮件，她点击了邮件中的立即查看按钮进入到网站中，那我们会根据点击网站时上报的url识别出来其中utm参数，判断为电子邮件&#x20;

4\. 小平在公众号上扫描了您创建的带UTM参数的二维码，进入网站时，我们会根据url中的参数解析为相应的来源，归为指定广告跟踪 ……
{% endhint %}

**另外，易观方舟同时兼容了百度统计的参数解析，即如果您自主投放时使用了hm参数，也是可以成功解析**

对应关系如下：

| 百度统计hm参数 | 参数名称 | 说明                | 对应参数名          |
| -------- | ---- | ----------------- | -------------- |
| hmsr     | 媒介平台 | 广告所投放的平台，如：新浪、搜狐等 | $utm\_source   |
| hmpl     | 计划名称 | 广告所属的推广计划，如：元旦促销  | $utm\_medium   |
| hmcu     | 单元名称 | 广告所属的推广单元，如：七夕促销  | $utm\_campaign |
| hmkw     | 关键词  | 该条广告对应的关键词        | $utm\_term     |
| hmci     | 创意   | 广告内容的简要描述信息       | $utm\_content  |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 搜索引擎

| 域名                                            | 搜索引擎   | 关键字参数   |
| --------------------------------------------- | ------ | ------- |
| [www.baidu.com](http://www.baidu.com)         | 百度     | wd      |
| tw\.baidu.com                                 | 百度     | wd      |
| m.baidu.com                                   | 手机百度   | word    |
| google.cn                                     | 谷歌     | q       |
| m.google.cn                                   | 谷歌     | q       |
| google.com.hk                                 | 谷歌     | q       |
| google.com.tw                                 | 谷歌     | q       |
| [www.google.com.sg](http://www.google.com.sg) | 谷歌     | q       |
| google.com                                    | 谷歌     | q       |
| sogou.com                                     | 搜狗     | query   |
| m.sougou.com                                  | 搜狗     | keyword |
| so.com                                        | 360搜索  | q       |
| m.so.com                                      | 360搜索  | q       |
| bing.com                                      | 必应     | q       |
| sm.cn                                         | 神马搜索   | q       |
| so.m.sm.cn                                    | 神马搜索   | q       |
| chinaso.com                                   | 中国搜索   | q       |
| zhongsou.com                                  | 中搜     | w       |
| search.yahoo.com                              | 雅虎搜索   | p       |
| sg.search.yahoo.com                           | 雅虎搜索   | p       |
| easou.com                                     | 宜搜     | q       |
| youdao.com                                    | 有道     | q       |
| yicha.cn                                      | 易查搜索   | key     |
| naver.com                                     | NAVER  | query   |
| yandex.com                                    | Yandex | text    |
| yandex.ru                                     | Yandex | text    |

###

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 社交媒体

| 域名                  | 社交媒体      |
| ------------------- | --------- |
| t.cn                | 微博        |
| weibo.com           | 微博        |
| weibo.cn            | 微博        |
| desktop.weibo.com   | 微博        |
| qzone.qq.com        | QQ空间      |
| im.qq.com           | QQ        |
| qun.qq.com          | QQ群       |
| wx.qq.com           | 微信        |
| wechat.com          | 微信        |
| weixin.qq.com       | 微信        |
| mp.weixin.qq.com    | 微信        |
| mp.weixinbridge.com | 微信        |
| linkedin.com        | 领英        |
| maimai.cn           | 脉脉        |
| zhihu.com           | 知乎        |
| douban.com          | 豆瓣        |
| lofter.com          | Lofter    |
| facebook.com        | Facebook  |
| twitter.com         | Twitter   |
| myspace.com         | MySpace   |
| instagram.com       | Instagram |
| t.qq.com            | 腾讯微博      |
| t.sohu.com          | 搜狐微博      |
| renren.com          | 人人网       |
| share.renren.com    | 人人网       |
| page.renren.com     | 人人网       |
| life.renren.com     | 人人网       |
| xiaozu.renren.com   | 人人网       |
| kaixin001.com       | 开心网       |
| love.163.com        | 花田        |
| immomo.com          | 陌陌        |
| tantanapp.com       | 探探        |
| zhenai.com          | 珍爱网       |
| jiayuan.com         | 世纪佳缘      |
| baihe.com           | 百合网       |

**鉴于微信在目前的流量获取中占据了非常重要的位置，所以我们根据微信环境中打开的数据参数进行了进一步识别**

| 分享来源   | 场景                                           | 说明                                                                         |
| ------ | -------------------------------------------- | -------------------------------------------------------------------------- |
| 微信-公众号 | 公众号中查看图文消息-点击“阅读原文”                          | 根据UA判断是否是微信环境，根据referrer中包含的mp.weixinbridge.com、mp.weixin.qq.com 来识别出来自公众号 |
| 微信-朋友圈 | 朋友圈里查看分享的页面类链接                               | 根据UA判断是否是微信环境，再根据微信在url中添加的 from=timeline 参数来识别                            |
| 微信-群聊  | 查看分享给群组的页面链接                                 | 根据UA判断是否是微信环境，再根据微信在url中添加的 from=groupmessage 参数来识别                        |
| 微信-单聊  | 查看分享给单个好友的页面链接                               | 根据UA判断是否是微信环境，在根据微信在url中添加的from=singlemessage参数来识别                         |
| 微信-其他  | 公众号中直接的文字/图片链接、朋友圈/群聊/单聊消息中的URL链接、扫描在微信中的二维码 | 如果没有自定义加参数的话，只能根据UA判断是微信中打开，但无法识别更具体的来源                                    |

###

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 小程序场景值

## 场景类型

微信小程序官方设置了几十个场景值，便于分析，易观方舟对此也进行了归类

| 序号 | 场景类型        | 备注                                |
| -- | ----------- | --------------------------------- |
| 1  | 快捷入口        |                                   |
| 2  | 搜索          |                                   |
| 3  | 广告投放        |                                   |
| 4  | 公众号         |                                   |
| 5  | 分享          |                                   |
| 6  | 二维码/条码/小程序码 | 2020年3月3日从 二维码 修改为 二维码/条码/小程序码    |
| 7  | 应用/小程序间的跳转  | 2020年3月3日从 小程序间的跳转 修改为 应用/小程序间的跳转 |
| 8  | 模板消息/订阅消息   | 2020年3月3日从 模板消息 修改为 模板消息/订阅消息     |
| 9  | 微信卡包/支付     | 2020年3月3日从 卡券 修改为 微信卡包/支付         |
| 10 | 测试          |                                   |
| 11 | 其它          |                                   |

## 场景值

| 场景值ID | 说明                                         | 场景类型        | 备注                           |
| ----- | ------------------------------------------ | ----------- | ---------------------------- |
| 1001  | 发现栏小程序主入口，「最近使用」列表（基础库2.2.4版本起包含「我的小程序」列表） | 快捷入口        |                              |
| 1022  | 聊天顶部置顶小程序入口（微信客户端6.6.1版本起废弃）               | 快捷入口        |                              |
| 1023  | 安卓系统桌面图标                                   | 快捷入口        |                              |
| 1026  | 发现栏小程序主入口，「附近的小程序」列表                       | 快捷入口        | 2020年3月3日从 其它 更新为 快捷入口       |
| 1054  | 顶部搜索框小程序快捷入口（微信客户端版本6.7.4起废弃）              | 快捷入口        |                              |
| 1089  | 微信聊天主界面下拉，「最近使用」栏（基础库2.2.4版本起包含「我的小程序」栏）   | 快捷入口        |                              |
| 1090  | 长按小程序右上角菜单唤出最近使用历史                         | 快捷入口        |                              |
| 1103  | 发现栏小程序主入口，「我的小程序」列表（基础库2.2.4版本起废弃）         | 快捷入口        |                              |
| 1104  | 微信聊天主界面下拉，「我的小程序」栏（基础库2.2.4版本起废弃）          | 快捷入口        |                              |
| 1131  | 浮窗打开小程序                                    | 快捷入口        | 2020年3月3日新增                  |
| 1158  | 群工具打开小程序                                   | 快捷入口        | 2021年1月18日新增                 |
| 1169  | 发现栏小程序主入口，各个生活服务入口（例如快递服务、出行服务等）           | 快捷入口        | 2021年1月18日新增                 |
| 1011  | 扫描二维码                                      | 二维码/条码/小程序码 |                              |
| 1012  | 长按图片识别二维码                                  | 二维码/条码/小程序码 |                              |
| 1013  | 扫描手机相册中选取的二维码                              | 二维码/条码/小程序码 |                              |
| 1025  | 扫描一维码                                      | 二维码/条码/小程序码 |                              |
| 1031  | 长按图片识别一维码                                  | 二维码/条码/小程序码 |                              |
| 1032  | 扫描手机相册中选取的一维码                              | 二维码/条码/小程序码 |                              |
| 1047  | 扫描小程序码                                     | 二维码/条码/小程序码 |                              |
| 1048  | 长按图片识别小程序码                                 | 二维码/条码/小程序码 |                              |
| 1049  | 扫描手机相册中选取的小程序码                             | 二维码/条码/小程序码 |                              |
| 1124  | 扫“一物一码”打开小程序                               | 二维码/条码/小程序码 | 2020年3月3日新增                  |
| 1125  | 长按图片识别“一物一码”                               | 二维码/条码/小程序码 | 2020年3月3日新增                  |
| 1126  | 扫描手机相册中选取的“一物一码”                           | 二维码/条码/小程序码 | 2020年3月3日新增                  |
| 1150  | 扫一扫商品条码结果页打开小程序                            | 二维码/条码/小程序码 | 2020年3月3日新增                  |
| 1153  | “识物”结果页打开小程序                               | 二维码/条码/小程序码 | 2020年3月3日新增                  |
| 1007  | 单人聊天会话中的小程序消息卡片                            | 分享          |                              |
| 1008  | 群聊会话中的小程序消息卡片                              | 分享          |                              |
| 1036  | App 分享消息卡片                                 | 分享          |                              |
| 1044  | 带 shareTicket 的小程序消息卡片                     | 分享          |                              |
| 1096  | 聊天记录，打开小程序                                 | 分享          |                              |
| 1020  | 公众号 profile 页相关小程序列表（已废弃）                  | 公众号         |                              |
| 1035  | 公众号自定义菜单                                   | 公众号         |                              |
| 1043  | 公众号模板消息                                    | 公众号         |                              |
| 1058  | 公众号文章                                      | 公众号         |                              |
| 1074  | 公众号会话下发的小程序消息卡片                            | 公众号         |                              |
| 1082  | 公众号会话下发的文字链                                | 公众号         |                              |
| 1091  | 公众号文章商品卡片                                  | 公众号         |                              |
| 1102  | 公众号 profile 页服务预览                          | 公众号         |                              |
| 1152  | 订阅号视频打开小程序                                 | 公众号         | 2021年1月18日新增                 |
| 1157  | 服务号会话页打开小程序                                | 公众号         | 2021年1月18日新增                 |
| 1045  | 朋友圈广告                                      | 广告投放        |                              |
| 1046  | 朋友圈广告详情页                                   | 广告投放        |                              |
| 1067  | 公众号文章广告                                    | 广告投放        |                              |
| 1068  | 附近小程序列表广告（已废弃）                             | 广告投放        |                              |
| 1084  | 朋友圈广告原生页                                   | 广告投放        |                              |
| 1095  | 小程序广告组件                                    | 广告投放        |                              |
| 1014  | 小程序模板消息                                    | 模板消息/订阅消息   |                              |
| 1073  | 客服消息列表下发的小程序消息卡片                           | 模板消息/订阅消息   |                              |
| 1081  | 客服消息下发的文字链                                 | 模板消息/订阅消息   |                              |
| 1088  | 会话中查看系统消息，打开小程序                            | 模板消息/订阅消息   | 2020年3月3日新增                  |
| 1107  | 订阅消息，打开小程序                                 | 模板消息/订阅消息   | 2020年3月3日新增                  |
| 1005  | 微信首页顶部搜索框的搜索结果页                            | 搜索          |                              |
| 1006  | 发现栏小程序主入口搜索框的搜索结果页                         | 搜索          |                              |
| 1027  | 微信首页顶部搜索框搜索结果页「使用过的小程序」列表                  | 搜索          |                              |
| 1042  | 添加好友搜索框的搜索结果页                              | 搜索          |                              |
| 1053  | 搜一搜的结果页                                    | 搜索          |                              |
| 1106  | 聊天主界面下拉，从顶部搜索结果页，打开小程序                     | 搜索          | 2019年2月26日新增                 |
| 1019  | 微信钱包（微信客户端7.0.0版本改为支付入口）                   | 微信卡包/支付     | 2020年3月3日从 其它 更新为 微信卡包/支付    |
| 1028  | 我的卡包                                       | 微信卡包/支付     |                              |
| 1029  | 小程序中的卡券详情页                                 | 微信卡包/支付     |                              |
| 1034  | 微信支付完成页                                    | 微信卡包/支付     | 2020年3月3日从 模板消息 更新为 微信卡包/支付  |
| 1052  | 卡券的适用门店列表                                  | 微信卡包/支付     |                              |
| 1057  | 钱包中的银行卡详情页                                 | 微信卡包/支付     |                              |
| 1071  | 钱包中的银行卡列表页                                 | 微信卡包/支付     |                              |
| 1072  | 二维码收款页面                                    | 微信卡包/支付     |                              |
| 1092  | 城市服务入口                                     | 微信卡包/支付     | 2020年3月3日从 其它 更新为 微信卡包/支付    |
| 1097  | 微信支付签约原生页，打开小程序                            | 微信卡包/支付     |                              |
| 1148  | 卡包-交通卡，打开小程序                               | 微信卡包/支付     | 2020年3月3日新增                  |
| 1037  | 小程序打开小程序                                   | 应用/小程序间的跳转  |                              |
| 1038  | 从另一个小程序返回                                  | 应用/小程序间的跳转  |                              |
| 1065  | 从短信、邮件、微信外网页等场景打开小程序                       | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1069  | 移动应用                                       | 应用/小程序间的跳转  | 2020年3月3日 从其它 变更为 应用/小程序间的跳转 |
| 1100  | 红包封面详情页打开小程序                               | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1119  | 【企业微信】工作台内打开小程序                            | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1120  | 【企业微信】个人资料页内打开小程序                          | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1121  | 【企业微信】聊天加号附件框内打开小程序                        | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1135  | 小程序profile页其他小程序列表，打开小程序                   | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1146  | 地理位置信息打开出行类小程序                             | 应用/小程序间的跳转  | 2020年3月3日新增                  |
| 1155  | “单页模式”打开小程序                                | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1167  | H5 通过开放标签打开小程序                             | 应用/小程序间的跳转  | 2021年1月18日新增                 |
| 1017  | 前往小程序体验版的入口页                               | 测试          |                              |
| 1030  | 自动化测试下打开小程序                                | 测试          |                              |
| 1059  | 体验版小程序绑定邀请页                                | 测试          |                              |
| 1000  | 其他                                         | 其它          | 2019年2月26日新增                 |
| 1010  | 收藏夹                                        | 其它          | 2021年1月18日新增                 |
| 1024  | 小程序 profile 页                              | 其它          | 2020年3月3日从 快捷方式 更新为 其它       |
| 1039  | 摇电视                                        | 其它          |                              |
| 1056  | 聊天顶部音乐播放器右上角菜单                             | 其它          |                              |
| 1064  | 微信首页连Wi-Fi状态栏                              | 其它          |                              |
| 1077  | 摇周边                                        | 其它          |                              |
| 1078  | 微信连Wi-Fi成功提示页                              | 其它          |                              |
| 1079  | 微信游戏中心                                     | 其它          |                              |
| 1099  | 页面内嵌插件                                     | 其它          |                              |
| 1113  | 安卓手机负一屏，打开小程序（三星）                          | 其它          | 2020年3月3日新增                  |
| 1114  | 安卓手机侧边栏，打开小程序（三星）                          | 其它          | 2020年3月3日新增                  |
| 1129  | 微信爬虫访问                                     | 其它          | 2020年3月3日新增                  |
| 1133  | 硬件设备打开小程序                                  | 其它          | 2021年1月18日新增                 |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# Session 规则

> 怎样的一系列行为算是一个Session？ 通常如下
>
> * iOS应用：用户屏熄、home键切换到后台、杀掉进程、跨天等视为会话结束
> * Android应用：用户杀掉进程、屏熄、按home键超过30秒、跨天等视为会话结束
> * H5/Web应用：用户从打开网页到离开视为一次会话，包括关闭整个浏览器、30分钟未进行新打开页面、触发事件等活动。如果一次访问跨天的话，会被切割成两次会话

**易观方舟根据用户实际访问的场景，抽象成以下四种规则，来判断一次访问，即生成sessionID**

| 切割规则            | 优先级 |
| --------------- | --- |
| 跨天              | 1   |
| 强制切割-帐号切换（暂未上线） | 2   |
| 强制切割-广告来源切换     | 3   |
| 新进程             | 4   |
| 可见页面间隔时间        | 5   |

{% hint style="info" %}
可见页面间隔时间是指上个页面关闭的时间到当前页面打开的时间间隔

打开APP后可能会离开页面（比如调起其他应用、熄屏、退到后台，再次回到页面中），间隔时间超过30s时，会切割Session；

Web端切换到其他网页后再次回到当前页面，间隔时间超过30min时，会切割Session
{% endhint %}

**实际用户的使用场景**

| 场景                               | 规则覆盖         |
| -------------------------------- | ------------ |
| 在Web端访问 → APP端访问（跨屏）             | 跨屏本身换Session |
| 从今天玩到明天                          | 跨天           |
| 帐号 X 使用 APP 后退出登录，切换到帐号 Y        | 强制切割-帐号切换    |
| APP-B 中的 deeplink → APP-A        | 强制切割-广告来源切换  |
| 通过消息通知打开 APP-A                   | 强制切割-广告来源切换  |
| 在APP-A → APP-B中的deeplink → APP-A | 强制切割-广告来源切换  |
| 直接打开 APP-A                       | 新进程          |
| 主动杀掉进程                           | 新进程          |
| 在 APP 中 → 调起支付/分享 →  APP         | 可见页面间隔时间     |
| 在 APP → 接电话 → 回到 APP             | 可见页面间隔时间     |
| 点击home键                          | 可见页面间隔时间     |
| 点击两次返回                           | 可见页面间隔时间     |
| 锁屏                               | 可见页面间隔时间     |
| 熄屏                               | 可见页面间隔时间     |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# Session 分析

{% hint style="info" %}
**session分析功能的使用需要相应平台集成支持该功能的SDK：**

Android SDK ：v4.1.2 及以上\
iOS SDK： v4.1.2 及以上\
JS SDK：v4.1.3 及以上\
小程序 SDK：v4.1.3 及以上
{% endhint %}

{% hint style="info" %}
**session分析功能支持自定义切割规则：**

v4.4.0 及以上
{% endhint %}

除了分析每一个事件之外，方舟还支持基于 Session 的分析。

Session，即会话，是指在指定的时间段内在您的网站/H5/小程序/APP上发生的一系列用户行为的集合。例如，一次会话可以包含多个页面浏览、交互事件等。Session 是具备时间属性的，根据不同的切割规则，可以生成不同长度的 Session，关于方舟的 Session 的默认规则为“系统预置规则”，具体请参考：[Session 规则](/features/analytics/channel/session)。其他自定义切割规则可以在管理-元事件管理-[Session管理](https://docs.analysys.cn/ark/features/project-manegement/yuan-shu-ju-guan-li/session)中创建新的session切割规则或修改原有session切割规则。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lp8E0WCDjL8LLdsBdNf%2F-Lp8F4VrXMsjUs36thD1%2Fimage.png?alt=media\&token=bca53aaa-bb87-4214-81a8-c3b8d42bcf8c)

在 Session 分析中，易观方舟支持多种度量 Session 访问质量的指标，包括：

* 访问次数
* 人均访问次数
* 总访问时长
* 单次访问时长
* 单次访问深度
* 跳出次数
* 跳出率
* 退出次数
* 退出率
* 人均访问时长
* 总页面停留时长
* 平均页面停留时长

{% hint style="info" %}
跳出次数和跳出率仅支持 Web/H5/小程序的统计分析
{% endhint %}

同时，不同于事件分析，Session 分析中额外支持了一些维度的细分，以满足特定场景下针对 Session 分析的需求，包括：

* 渠道来源分组：用以区分每次访问的渠道来源，仅适用于 Web/H5/小程序
* 浏览页面数：以步长5为间隔，统计每次浏览页面数的分布情况
* 着陆页：用以区分每次访问的着陆页，可以评价不同着陆页的访问质量
* 退出页：用以区分每次访问的退出页，可以评价不同页面的退出情况，找到退出率高的页面进行优化
* 访问时长：按照 0-3 secs，3-10 secs，10-30 secs，30-60 secs，1-3 mins，3-10 mins，10-30 mins，30-60 mins，1 hour 以上的区间进行划分，统计每次访问的时长分布

{% hint style="info" %}
根据实际分析场景，一些指标和维度之间不能形成细分关系，比如：着陆页和退出次数、退出率；退出页和跳出次数、跳出率等，相关逻辑关系已经体现在产品交互中，用户选择相应的 Session 指标，在细分维度中都是具备实际分析意义的可选维度
{% endhint %}

## 功能说明

![分析-Session 分析](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lc-4NAvXcrZ5zIZJW81%2F-Lc-AkOVGnmjTgobgWNn%2Fimage.png?alt=media\&token=922159f2-7af9-4ef9-b13d-7cb0a62eb536)

同事件分析类似，Session 分析支持多指标、多维度和多过滤条件，同时也支持多用户分群之间的横向对比，在分析展现层面，支持以下图表类型：

* 趋势图
* 面积图
* 时间维度柱图
* 柱形图
* 饼图
* 数值图
* 表格

同时，在 Session 分析中，支持按照日、周、月三种不同粒度来进行统计分析，用户可以根据查询数据的时间跨度来选择合适的粒度进行分析。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 实时分析

实时分析，可以实时检测用户点击情况，使用路径，查看使用应用的人员信息，包括地域，设备属性，使用行为等。

## 实时分析模型能解决哪些问题？

1. 市场人员刚刚上线了一个活动，如何及时了解到用户的点击情况？
2. 产品刚刚更新上线，如何快速了解到产品的更新后，用户的下载/使用是否正常？
3. 收到一个用户在使用过程中遇到的 bug反馈，如何需要快速查找到该用户发现其使用路径进而解决bug？

## 功能说明

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811221718440115.png)

### 1. 条件定义标区

左侧为条件区域，搜索用户、展示事件、满足条件去查看用户的详细信息

#### 1.1 搜索用户

支持按照用户的属性模糊查询，默认为用户ID ，可下拉选择任一用户属性

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811221724386659.png)

#### 1.2 展示事件

选择展示的事件， 可以选择触发一个或多个事件，查看触发事件的用户详情

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811221727254847.png)

#### 1.3 满足条件

选择满足条件，可以按照事件属性设置条件，查看满足的条件的用户详情

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811221730437556.png)

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811221730492872.png)

#### 1.4 筛选用户群

用户群默认基于所有用户计算路径，也可以选择其他已保存人群进行计算。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811281445185608.png)

### 2. 数据展示区

数据展示区，默认展示最新的 500 条数据，每次刷新页面时重新加载最新数据，会记录新增加事件数据；也可以选择时间范围，展示字段。

#### 2.1 时间范围

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811281450006618.png)

可以选择今日、昨日、近7日、近30日及 近90等常用范围，也可以在右侧自定义开始时间和结束时间。

#### 2.2 展示字段

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811281455432685.png)

列表中展示用户行为记录，具体字段包括：

* 事件发生时间
* 用户ID，点击可进入单用户行为档案
* 事件ID
* 事件的通用属性：可通过列选择项展开，选择您想要关注的字段

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811281452554754.png)

点击字段位置，可展开事件的全部属性。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/11/201811281458369246.png)

点击用户ID，可以查看单一用户的行为数据，详见[《单用户档案》](/features/user/user-sequence)。

### 3. 其他功能

其他保存、强制刷新等等所有分析模型通用功能，详见[《分析》](/features/analytics)。

## 常见问题

#### 为什么已完成绑定的用户还是会在这里看到他们的匿名ID？

这里显示的用户ID如实反映了用户匿名ID的和绑定后的注册ID，即使这个用户已经完成了绑定。这是正常的。分析时都会使用注册ID。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 留存分析

留存，是指用户在 APP、网站等应用上使用过，并一段时间后仍有使用。

留存分析模型是一种衡量用户健康度/参与度的方法，超越下载量、DAU 等指标，深入了解用户的留存和流失状况，发现影响产品可持续增长的关键因素，指导市场决策、产品改进、提升用户价值等。

## 留存分析能解决哪些问题？

1. 上个月做了一次产品迭代，如何评估其效果？是否完成了产品经理期望完成的行为？
2. 作为一个社交 APP，在注册后不添加好友和添加 10 个好友的用户后续留存有差异吗？
3. 短期留存低，长期留存一定很差吗？
4. 两个推广渠道带来不同的用户，哪个渠道的用户更有可能是的高价值用户？
5. 近 30 天注册的用户，半个月都没有回访的用户比例是多少？

   ……

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LvOxpyQyw9qAIx4ozvr%2F-LvOyGS00rFW-ksup1Q9%2Fimage.png?alt=media\&token=e44e143e-c100-4442-83b4-1eec8f76a1ce)

## 1. 定义指标

上方为指标定义区域，定义留存条件，指标定义、细分维度查看，支持条件过滤，支持多个人群的对比分析，支持对全量数据随机抽样计算。

### 1.1 定义留存

留存是基于某个用户群体的初始行为时间来计算的，描述发生了某个行为的同期群，在一段时间后是否发生了期望的行为。

初始行为和后续行为均可以是任意事件或者某个具体的事件

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MHu8Hdl0TJe9LgqtAfR%2F-MHuKdG_kgRee2k35cWM%2Fimage.png?alt=media\&token=7ce3a141-5d94-45f5-b60e-102b0a6dd123)

**通常的三类留存可以这样来构建：**

#### **A. 新增用户留存**

**移动端：** 选择条件【初始行为 = 启动，后续行为 = 启动】，分群=新访问用户，即可分析新访用户的留存情况

**H5/Web/小程序：** 选择条件【初始行为 = 浏览页面，后续行为 = 浏览页面】，分群=新访问用户，即可分析新访用户的留存情况

{% hint style="info" %}
同样也可以根据业务需求，自定义新增用户
{% endhint %}

#### **B. 活跃用户留存**

**移动端：** 选择条件【初始行为 = 启动，回访行为 = 启动】，分群=所有用户，即可分析活跃的用户后续使用应用的情况

**H5/Web/小程序：** 选择条件【初始行为 = 浏览页面，回访行为 = 浏览页面】，分群=所有用户，即可分析用户活跃的用户在后续访问网站的情况

#### **C. 自定义留存**

相较分析新增/活跃用户的总体留存情况，关注业务的核心事件使用情况，会更有利于发现用户的行为模式和其中可能存在的问题。

> e.g. 对于电商的运营，可以定义【 初始行为 = 支付订单，后续行为 = 支付订单】 了解用户的复购行为，多长时间会产生复购，可以进一步分析这些忠实用户的行为特征；

> 对于问答应用，可以定义【初始行为 = 注册 ，回访行为 = 评论 】，了解用户在注册后有多少用户在多长的频率里会参与进来。

**不同的分析场景中可以设置多个不同的留存条件来分析：**

**初始行为和后续行为设置为相同**，对比不同的功能，重复发生的情况，发现用户对不同功能的使用粘性；

**初始行为相同，设置不同的后续行为**，对比同一个优化，是否对其他功能有不同的影响；

**后续行为相同，设置不同的初始行为**，对比发现不同的运营手段、产品功能对核心业务目标的影响。

{% hint style="info" %}
V5.1 及以上版本初始行为和后续行为支持选择多个，比如分析使用A功能或者B功能的用户后续回访的用户，可以通过设定以下条件来查询

初始行为：点击A功能 或 点击B功能

后续行为：启动
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MHu8Hdl0TJe9LgqtAfR%2F-MHuQp-lrquRd3vwjNDu%2Fimage.png?alt=media\&token=0f567649-fd1f-4d32-b4c2-f114456d4133)

### 1.2 筛选条件

可以增加某个行为的条件约束，查看满足这些条件下的用户行为，

e.g.对于电商运营，可以查看具体某个品类的复购情况，【初始行为 = 支付订单，商品品类 = 3C；后续行为 = 支付订单，商品品类 = 3C】。

### 1.3 指标切换

可查看第 N 日/之后连续 N 日的留存/流失用户

| 指标                     | 说明文案                                                                                                    |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| 第 N 日 - 留存用户数 和 留存率    | <p>在某一日/周/月发生了初始行为的用户在第 N 日/周/月时发生了后续行为的用户记为留存用户</p><p>留存率是指第 N 日/周/月时发生了后续行为的留存用户在初始行为用户中的占比</p>       |
| 第 N 日 - 流失用户数 和 流失率    | <p>在某一日/周/月发生了初始行为的用户在第 N 日/周/月时没有发生后续行为的用户记为流失用户</p><p>流失率是指第 N 日/周/月时流失的用户在初始行为用户中的占比</p>             |
| 之后连续 N 日 - 留存用户数 和 留存率 | <p>在某一日/周/月发生了初始行为的用户在之后连续 N 日/周/月发生了后续行为的用户记为留存用户</p><p>留存率是指之后连续 N 日/周/月发生了后续行为的留存用户在初始行为用户中的占比</p>   |
| 之后连续 N 日 - 流失用户数 和 流失率 | <p>在某一日/周/月发生了初始行为的用户在之后连续 N 日/周/月没有发生后续行为的用户记为流失用户</p><p>流失率是指之后连续 N 日/周/月没有发生后续行为的流失用户在初始行为用户中的占比</p> |
| 同时分析指标                 | 可以同时分析留存用户在每个周期里的指定指标的表现，比如选择【初始行为：支付订单】【后续行为：支付订单】【同时分析指标：支付订单的金额】即可分析回购用户的回购金额                        |

### 1.4 细分维度

支持同时查看某个维度不同属性值的留存，比如不同城市的新用户留存，细分发现影响留存的特定因素。

对于不同属性值类型支持不同的分组方式，同《[事件分析 - 1.3 细分维度](/features/analytics/event#13-xi-fen-wei-du)》

### 1.5 人群选择

默认基于所有用户计算留存，可以选择其他已保存人群，e.g.要分析北京地区用户留存，选择北京地区的用户即可。也可点击对比分群，选择对应的人群进行对比分析。

## 2. 图表展示

图表展示区，可以选择时间范围、时间粒度、

### 2.1 时间范围

**时间范围限制的是初始行为发生的日期**

e.g 选择了【2018/03/01-2018/03/07】【初始行为 = 注册，后续行为 = 任意事件】则计算的是在2018/03/01-2018/03/07这段时间里，每一天注册的用户，在随后30天里再次回访的留存用户。

### 2.2 时间粒度

可选择的时间粒度，包括：

* **按日**，可分别查看次日、7日、14日及 30日留存
* **按周**，可分别查看次周、8周、12周及 24周留存
* **按月**，可分别查看次月、6月、12月及 24月留存

### 2.3 第 N 日留存/流失

**第 N 日留存用户数**指在某个时间发生了初始行为 X 的用户，在之后的第 N 日/周/月进行了后续行为 Y 的用户（ X 可以等于 Y ）。

例如：

> 初始行为 = 点击购买
>
> 后续行为 = 点击购买
>
> 4月1日发生购买的用户200人，这200人中4月2日再次购买的用户有100人，4月4日再次购买的用户有50人，
>
> 则第1日留存用户为100，第3日留存用户为50。

**第 N 日流失用户数**指在某个时间发生了初始行为 X 的用户，在之后的第 N 日/周/月没有进行后续行为 Y 的用户（ X 可以等于 Y ）。

例如：

> 初始行为 = 点击购买
>
> 后续行为 = 点击购买
>
> 4月1日发生购买的用户200人，这200人中4月2日没有购买的用户有100人，4月4日仍然没有购买的用户有50人，
>
> 则第1日流失用户为100，第3日流失用户为50。

**基础计算规则**

假设定义初始行为是 X 事件，回访行为是 Y 事件。

2017/03/01-2017/03/08 小明各天的行为序列为：

| 2017/3/1 | 2017/3/2 | 2017/3/3 | 2017/3/4 | 2017/3/5 | 2017/3/6 | 2017/3/7 | 2017/3/8 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| XYXY     | ABC      | YCX      | DDY      | ABC      | BYC      | ABC      | DDY      |

那么计算 2017/03/01的7日留存，则需要在3月1日之后加上7日，查找2017/03/01-2017/03/08范围内，是否发生了后续行为 Y 事件，小明会被算作第2日、第3日、第5日、第7日的留存；则第1日、第4日、第6日被算作流失。

但是若细分维度时，会略有差异，分别说明提供的两类细分维度：

**用户属性：** 根据用户属性来分组，e.g. 性别，如果小明是男，则会被算到男性用户的留存当中

**事件属性：** 根据初始行为的事件属性分组。如果用户触发了多次初始行为，并且属性值不相同，会按用户首次初始行为的属性值进行分组，e.g. 设备品牌，如果小明3月1日方开始用 iPhone X 点击了XY，随后更换了华为 Mate8 又点击了 XY 事件，则小明会被算到 iPhone X 的分组中。

可以对比不同人群的留存，探索发现影响留存/流失的原因

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MHu8Hdl0TJe9LgqtAfR%2F-MHuY9O2gaLC0p0jaQU6%2Fimage.png?alt=media\&token=3677bc2e-005e-4983-b79f-64e90e491772)

### 2.4 之后连续 N 日留存/流失

**之后连续 N 日留存用户数**指在某个时间发生了初始行为 X 的用户，在之后连续 N 日/周/月进行了后续行为 Y 的用户（ X 可以等于 Y ）。

例如：

> 初始行为 = 点击购买
>
> 后续行为 = 点击购买
>
> 4月1日发生购买的用户200人，这200人中4月2日再次购买的用户有100人，4月3日再次购买的用户有50人，4月4日没有人购买，4月5日有50人再次购买
>
> 则之后连续1日后留存用户为100，2日后留存用户为50，3日、4日都为0。

**之后连续 N 日流失用户数**指在某个时间发生了初始行为X的用户，在之后的连续 N 日/周/月没有进行后续行为 Y 的用户（ X 可以等于 Y ）。

例如：

> 初始行为 = 点击购买
>
> 后续行为 = 点击购买
>
> 4月1日发生购买的用户200人，这200人中4月2日没有购买的用户有100人，4月3日都发生了购买，4月4日没有购买的用户有50人，
>
> 则之后连续1日流失用户为100，2日、3日都为0。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MHu8Hdl0TJe9LgqtAfR%2F-MHuYPaQBRzfhB5UNe9I%2Fimage.png?alt=media\&token=98045004-ef80-48ca-911a-a38ea362e11a)

### 2.5 留存曲线

留存曲线用来表现【目标用户】的回访比例按照天数衰减的趋势。

对于常见的留存曲线，可以将其分为三个部分：第一部分是振荡期，第二部分是选择期，第三部分是平稳期。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLqFBGNUwAF4Lu73UBE%2F-MLqGDOmDUMHWPDdlXXE%2Fimage.png?alt=media\&token=f92b0d64-a81a-429e-92f7-f8c4e9e6fa16)

对于不同时期，我们应该有不同策略，总的来说，在振荡期和选择期，我们应该关注新用户的留存，进入平稳期以后，着重关注产品功能的留存。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MHu8Hdl0TJe9LgqtAfR%2F-MHuYb0cfmDKUaBpS00l%2Fimage.png?alt=media\&token=eb627d99-2eea-46c7-9b27-f90340411c81)

方舟留存曲线展示的是留存表格中的第一行的概括

* 留存用户是已发生日期的累加值
* 留存率是当前列每个数据与初始行为用户数的加权平均数

合计列第N日的留存的计算逻辑为：每一日的第N日留存的留存用户的算术累加和/剔除未发生日期的目标用户数的算术累加和。

例如：当前日期为0923，查询过去7日(0916-0922)的留存。以合计列的第4日留存的计算逻辑举例：已知0920的第4日为0924，从0920开始往后的日期的第4日都是未来时间，未来日期不会有回访行为，因此计算合计列的第3日留存计算公式为：留存率=0.83%=(6+76+65+4)/(6180+5732+5497+800)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MHu8Hdl0TJe9LgqtAfR%2F-MHufqhqIUCIi16D5uPN%2Fimage.png?alt=media\&token=a0ac2fd6-0aa3-4f25-99a1-30a111da4e69)

###

### 2.4 人群下钻分析

所有图表中的数据节点，都可以下钻查看人群概览以及保存人群。

下钻人群下钻功能与分群一致，可在[分群](/features/user)中作进一步了解。

## 3. FAQ

### **3.1 初始行为和后续行为选择相同事件，当日留存率为什么不是100%**

当日留存的规则是：用户在触发了初始行为的当日触发了后续行为，不考虑初始行为和后续行为的发生顺序。但是用户触发的1次行为，不能同时作为初始行为和后续行为，因此初始行为和后续行为选择相同事件时，当日触发次数必须大于等于2次才会被计为当日留存。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 转化漏斗

转化漏斗模型，是分析用户使用某项业务时，经过一系列步骤转化效果的方法。

在理想情况下，用户会沿着产品设计的路径到达最终目标事件，但实际情况是用户的行为路径是多种多样。通过埋点事件配置关键业务路径，可以分析多种业务场景下转化和流失的情况，不仅找出产品潜在问题的位置，还可以定位每个环节流失用户，进而定向营销促转化。

## 转化漏斗能解决哪些问题？

1. 官网流量很大，但注册用户很少，是过程中哪个环节除了问题？
2. 用户从“注册 – 绑卡 - 提交订单 - 支付订单” 总体转化率如何？
3. 不同地区的用户支付转化率有什么差异？
4. 两个推广渠道带来不同的用户，哪个渠道的注册转化率高？
5. 上周针对注册环节的问题做了一次优化，转化率趋势是否有提升？

   ……

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LvOIHM-SfmkArp-0NjR%2F-LvOS7gCXA5m8uubPfkI%2Fimage.png?alt=media\&token=93b4a4bb-3b42-4602-bb1a-d32049bb7a89)

## 1. 定义指标区

左侧为指标定义区域，建立转化漏斗，细分维度查看，支持条件过滤，支持多个人群的对比分析。

### 1.1 建立漏斗

每个漏斗至少由两个步骤构成，每个步骤可以选择相应事件，包括页面事件和点击事件。

每个事件都可以增加筛选条件作为约束，例如对于启动事件，可以限定平台属性值为Android，购买理财可以限定购买金额属性值大于10000。

每个步骤的事件为有序关系，第二步用户必定为第一步的用户，后面依次类推。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MG1cYZX2CZtdihXEPBm%2F-MG1fGw1tzm_0jRHFEW3%2Fimage.png?alt=media\&token=0c171a27-1c0d-4566-afcc-dd59286a691d)

**转化周期：**&#x662F;指用户需要在限定的时间内完成所有转化步骤才算转化成功，否则计为流失。

{% hint style="info" %}
&#x20;默认转化周期为 7 天，支持用户自定义，最短 1 分钟，最长 180 天

**注意：这里的 天  代表24小时，非自然天**
{% endhint %}

### 1.2 细分维度：按X查看

点击细分维度后，选择细分的维度即可查看具体维度不同属性值的转化漏斗，细分发现转化率差异。例如查看不同平台的或不同性别用户的转化漏斗。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LvOIHM-SfmkArp-0NjR%2F-LvOSdzqaF2zgcDZoSmW%2Fimage.png?alt=media\&token=9f65954f-bde2-4284-9cd8-9175f44468ab)

{% hint style="info" %}
只能选择一个维度展开。
{% endhint %}

#### **维度包括3类属性：**

* 公共的事件属性
* 各个步骤事件的自定义属性： 假设选择步骤 4 的属性“产品名称”，表示在完成转化/确认流失的用户中，按照转化到步骤 4 时的“产品名称”的值来进行分组。

  若没有转化到步骤 4，则按照"(无值)"组处理。
* 用户属性：根据用户属性来分组，e.g. 性别，则会按照 男、女 各自用户来分组。

点击细分维度选择下拉框中，对 **数值型** 和 **日期时间型** 做特殊标识；

当分组个数超出 50 个时，默认展示最近的时间单位内指标数值最大的50个分组，可以在图例自行选择其他的分组。

**A. 数值型维度分组方法**

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141124296588.png)

**B. 日期型维度分组方法**

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141129271063.gif)

### 1.3 公共过滤条件

假设选择的是公共过滤条件是城市-北京市，则A、B 、C、D 4个步骤中的用户都按北京市的值进行转化计算。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808171408208357.png)

### 1.4 筛选用户群

可点击所有用户下拉菜单选择自定义人群，查看人群漏斗情况；可对比多个人群的漏斗情况，当选择多个人群时，不能再细分维度；可对全量用户进行随机抽样，查看漏斗情况。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141134020903.png)

## 2. 图表展示

图表展示区，可以选择时间范围，默认近30日。

### 2.1 时间范围

时间范围限制的是第一个步骤发生的日期。

### 2.2 图表展示

不同的漏斗、条件、人群、维度组合可以可视化呈现。

### 2.3 转化/转化趋势

转化查看所选用户群的总体转化情况。 转化趋势可查看总体转化率，也可按步骤查看每步之间的转化率、转化用户数、转化时间中位数和流失用户数。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141144409929.png)

#### **A. 单个人群的关键路径转化漏斗**

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141017396454.png)

#### **B. 多个人群的在同一关键路径的转化对比**

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808141019522396.png)

### 2.4 指标算法

**总体转化率** = 最后一步转化的用户数 / 第 1 步的用户数 \* 100%;

**各步骤转化率** = 第 n 步转化的用户数 / 第 n -1 步的用户数 \* 100%；

**转化用户数 =** 指完成从上一步骤到下一步骤转化的的去重用户数；

**转化时间中位数 =** 指完成从上一步骤到下一步骤转化，用户所需时间的中位数；

**流失用户数 =** 指上一个步骤的用户数 - 上个步骤到该步骤转化的用户数；

#### **基础计算规则**

假设一个注册流程的事件：点击注册-输入邮箱-输入密码-输入手机号-注册成功5个步骤，以下用 A - B - C - D - E 表示，则建立漏斗的事件为 A - B - C - D - E ，选择 2018/03/01-2018/03/07，转化周期为2&#x5929;**。**

e.g.在 2018/03/01-2018/03/07内触发了A事件

1.若在触发A事件后的两天内，按顺序完成了 B - C - D - E，则视为一次完整的转化。

2.若在这个过程中，穿插完成了其他步骤或者事件,用户的行为序列为 A - B - F - C - G - D - H - H - E，则依然视为完成了一次完整的转化。

3.若在触发A事件的两天内顺序触发了 B - C - D - E，两天后才触发 E，则 A - B - C -D 记为转化，D - E 视为流失。

4.若在触发A事件的两天内顺序触发了 B - C - E，而漏掉了 D，也不算一次完整的转化，A - B - C 记为转化， C - D 视为流失。

5.若在触发A事件的两天内顺序触发了 B - D - C - E，则 A - B 记为转化，B - C 视为流失。

> 注：3 、4、5 最终均触发了 E 事件，完成了注册，但并未按漏斗规定的时间和顺序进行转化，所以最终的转化率皆为 0。

若一个用户在所选时间范围里有多个事件都符合某个转化步骤的定义，则优先选择靠近最终转化目标的事件作为转化事件，并在达到目标时停止计算。

**同时发生的事件**

对于一秒内发生的两个事件，如果是不同事件，在计算漏斗时我们会认为他们是“同时”发生的。也就是说，无论他们实际发生的先后顺序是什么，我们都会计算为转化。例如，一个人如果先触发了事件A，然后又在一秒内触发了事件B，对于以下情况都会认为是转化：

> 事件A > 事件B 或 事件B > 事件A

如果是同一事件，我们会将计算精度提高到1毫秒来确定他们发生的先后顺序，以得到准确的转化数据。假如两个相同事件发生在同一秒，则我们会认为它们之间没有转化。

{% hint style="info" %}
从5.1版本开始，漏斗分析统一成毫秒精度，假设两个事件发生在同一毫秒，则我们会认为他们之间没有转化。
{% endhint %}

## 3. 人群下钻分析

所有图表中的数据节点，都可以下钻查看人群概览以及保存人群。

下钻人群下钻功能与分群一致，可在[分群](/features/user)中作进一步了解。

## 4.  FAQ

### 4.1 漏斗分组结果与筛选条件下结果不一致

答：漏斗分析中，筛选条件是先筛选再计算出漏斗，而分组是先计算出漏斗再进行分组，即筛选条件是作用于计算漏斗之前，分组是作用于计算漏斗之后，所以二者的结果可能不一致。比如，漏斗定义的步骤是A-B-C。某用户的行为的序列是A1(操作系统=Andriod)-A2(操作系统=iOS)-B-C，此时无论筛选操作系统等于Android还是iOS，那么最终该用户都有转化。当按“操作系统”分组时，按照漏斗的计算规则该用户的漏斗转化为A2(操作系统=iOS)-B-C，即该用户的转化将会被分组到iOS。此时，漏斗分组下Android的分组结果与筛选条件筛选操作系统等于Android的结果不一致。

### 4.2 漏斗分析的用户数与事件分析的触发用户数不一致

答：区分非分组场景和分组场景。

非分组场景下，漏斗第一步与事件分析不一致，检查二者其他条件是否一致，比如筛选条件、抽样。检查是否缓存导致，都强制刷新。其他步骤结果不一致，是正常的。

分组场景下，漏斗的分组是基于用户的最优转化路径进行分组的。单周期内，单个用户最多只会算1次转划。而事件分析的分组，是明细粒度的。单个用户单个周期内不同的分组取值，所有分组都会被计算。比如，漏斗定义的步骤是A-B-C。某用户的行为的序列是A1(操作系统=Andriod)-A2(操作系统=iOS)-B-C。事件分析中，A事件按操作系统分组，Android与iOS都会计算，漏斗分析中，转划只会被计算到iOS分组。

### 4.3 漏斗的总体转划率没有按天转划率高

答：因为总体是单独作为一个整体的周期计算的，而单个用户在单个周期最多只会算1次转化，所以当每天转划的用户重叠度很高时，总体的转划率就有可能比按天的转划率低。

比如，1号有a、b、c、d 4个用户，其中b、c、d 都转化了，2号有b、c、d 、e 4个用户，其中还是b、c、d 转化了。3号有b，c，d，f 4个用户，其中还是b、c、d转划了。此时1-3号每天的转划率都是75%。总体是a、b、c、d、e、f 6个用户3个用户有转划，转划率50%。

### 4.4 按漏斗非首步事件属性分组时，转划率看上去都是100%

答：漏斗定义的步骤为A-B-C-D 。按事件C的属性分组。漏斗的分组是基于用户的最优转化路径进行分组的，当且仅当，用户的最优转化路径中包含C这个事件，对应C事件的分组属性才可能有值。。也就是说，当且仅该用户的最长转化路径大于等于3时，对应C事件的分组属性才可能有值。因此，当按漏斗的第三步的某属性分组时，所有属性有值的分组中，A-B以及B-C的转化都会是100%。未转化的用户，都分到了(无值) 的分组中。

即，当按漏斗非首步事件的属性分组时，该分组步骤之前的环节在分组值有值的分组下，转化率都会是100%。

### 4.5 调整漏斗步骤后，其他步骤的数据也发生了变化

答：区分非分组场景和分组场景。举个例子，原来A-B-C-D-E 5步漏斗，现在删除漏斗第三步，变为A-B-D-E的漏斗。

非分组场景下，漏斗某一步步骤发生了调整，会影响后面步骤转化的判定。即举例中，漏斗第一步、第二步的用户数以及转划率不会发生改变，后续步骤的转划用户数将有可能改变。

分组场景：漏斗任何一步发生变化，对最优转划路径的判定都会产生影响，因此每一步转化用户数都有可能发生变化。举个例子，某个用户的行为序列为 A-B-D-E-A-B-C-D-E，如果漏斗定义是A-B-C-D-E，那么用户最优转化步骤为A-B-D-E-**A-B-C-D-E**.而漏斗定义为A-B-D-E时，漏斗的最优路径为**A-B-D-E**-A-B-C-D-E。最优路径判定的不同，将导致用户的最终转划所属的分组也不同。分组场景下的合计项与非分组场景一样，变化步骤之前漏斗步骤的结果不会发生变化。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 智能路径

路径，是指用户在应用中使用的行为轨迹。在产品的运营过程中，无论是产品、运营还是市场团队都希望能够清晰的了解其用户行为路径，来验证运营思路、指导产品迭代优化，达到用户增长、转化的最终目的。

当有明确的转化路径时，通过预先建立漏斗来监测转化率会比较容易（详见[转化漏斗分析模型](/features/analytics/funnel)）。但是很多情况下，虽然有最终的转化目标，但是用户到达该目标却有多条路径，无法确定哪条路径是用户走的最多的路径，哪条转化路径最短，这时候就需要智能路径分析模型的帮助。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJfqNcLXc8t1at3f70u%2Fimage.png?alt=media\&token=864fb363-ab72-4828-8584-d62faada7e8f)

## 智能路径能解决哪些问题？

1. 用户主要从哪条路径最终形成支付转化的？
2. 用户离开预想的路径后，实际走向是什么？
3. 不同的特征用户行为路径有什么差异？

   ……

## 1. 定义指标区

上方为指标定义区域，选择事件范围，定义目标行为，设置用户属性，观察路径转化情况。

### 1.1 选择参与路径分析的事件范围

支持选择全部事件，也支持选择部分事件，用于比如只关注页面间的跳转的场景，就可以只选择浏览页面；也可以过滤掉一些干扰事件。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJfqVbXUFXeq0DA2cGc%2Fimage.png?alt=media\&token=dec782c8-1e28-499f-95a2-de75147ed9b7)

### 1.2 选择目标事件

确定想要观察的目标行为，通常是业务中需要引导用户完成的某个功能或到达的某个页面。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJfqsHUmDirkQQsSs1b%2Fimage.png?alt=media\&token=df80d476-aa36-4e07-9e77-db0324d76bff)

可以将 **目标事件** 设置为 **起始事件** 分析发生该行为后后续的行为路径；或者设置为 **结束事件**，分析其来源路径。

> 在电商中，加入购物车是支付成功这个最终转化目标的前一步，但很多用户在加入购物车之后，并不会提交订单，进而支付，这时选择 **目标事件** 为 "加入购物车" ，并设置为 **起始事件**，分析用户在加入购物车后的行为路径，究竟是被页面上的其他推荐吸引了目光还是走向何处。

#### 限制事件间隔时间（即转化路径的时间范围）

表示查看指定时间段内的行为轨迹

* 目标事件为**起始事件**时，表示查看触发目标事件**后**限定时间段内的行为轨迹
* 目标事件为**结束事件**时，表示查看触发目标事件**前**限定时间段内的行为轨迹

默认 30 分钟，可以根据业务需要自定义

> 比如启动是目标起始事件，时间间隔是 30 分钟 ，&#x20;
>
> 某个行为序列是 启动 - A-B-C……X-Y-Z ， 到了X时，已经超过 30 分钟了，则 Y-Z 不算在转化路径内

### 1.3 细分维度

选择按某一事件的事件维度，展开用户路径；比如查看页面之间的路径时，可以细分浏览页面-页面标题

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJfsNvHJXV39813cWOh%2Fimage.png?alt=media\&token=8007c8e3-4a45-4129-9425-4e9bf761c9cd)

### 1.4 过滤条件

支持根据用户属性作为条件，查看比如钻石用户的行为路径

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJfseWUFDPKNxWzb2KN%2Fimage.png?alt=media\&token=bb2dc2c1-12b4-4055-818b-6ba8d0d2cd23)

## 2. 分析用户群

默认基于所有用户计算路径，也可以选择其他已保存人群

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJftA2LY_Ym1XRR9l90%2Fimage.png?alt=media\&token=1b68776f-1604-4f47-be98-e7767c38a129)

## 3. 图表展示

图表展示区，可以选择时间范围，默认近7日，可以自定义选择日期，通过时间范围筛选出完成过目标事件的用户，再从中计算各条转化路径，展示出最频繁的路径。

通过桑基图的方式查看各个路径转化，每个节点事件的访问次数，从该节点上后续有访问的留存量和直接跳出的流失量。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJfoDen3t4A8twiW4G-%2F-MJftRheLVhd0KvkovUs%2Fimage.png?alt=media\&token=5c2b4515-cc7c-486a-bb49-ce1faded32c7)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 归因分析（Beta）

归因分析，主要用于衡量和评估站内的用户触点对总体转化目标达成（如订单总金额）所作出的贡献，核心评价指标为“转化贡献度”。‌

所谓触点，就是用户与产品进行交互的接触点（如运营位、搜索、导航等）。这些触点，承担着引导用户行为、促进用户转化的作用。

## **概述**

在做运营活动时，运营同学可能会在产品内的多个运营位上投放活动素材，试图在用户与产品交互过程中的各个触点上，吸引用户的注意力，引导流量走向和用户的行为，促成最终的转化。

此外，用户本身可能还会通过搜索、内容推荐等触点获取信息，这些触点对用户是否能达成转化也在发挥着重要作用。

也就是说，在用户的转化路径上，站内的众多触点都参与了对用户的劝说和引导，影响了用户的最终决策。

那么，对比各个用户触点，它们对关键指标的达成分别贡献了多大的力量，是否都如运营人员所预期的那样，具有优秀的转化能力；亦或者，存在被低估的情况？在之后的运营中，该如何调整对各运营位资源投入的权重分配？

对于以上问题，归因分析提供了一种直观的度量 —— **转化贡献度**，可以非常直接地量化每个运营位、每个触点的转化效果和价值贡献。

结合归因分析以及漏斗分析等功能，您可以更加综合、全面地对各运营位的转化能力进行对比分析，通过运营资源配置的调整，实现产品价值最大化，促进产品数据和运营指标的提升。

## **功能说明**

通过简单的几步设置，您就可以直观地看到，各触点对总体转化指标的贡献情况。

1\) 定义转化目标——目标事件

2\) 定义用户触点——触点事件

3\) 选择归因模型——方舟目前提供五种常见的归因模型供您选择

4\) 定义窗口期——用户完成一次转化的时间期限

5\) 选择查询时间范围——目标事件发生的时间范围

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCB2tRsQd9IxG1RAjb%2FCapto_Capture%202020-11-03_16-10-11_.jpg?alt=media&amp;token=efaea5af-d20c-46b8-b2eb-2e902991764c" alt=""></div>

### 1. **目标事件定义**

* 目标事件：

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBDd0ouDskJo0jOUo%2Fimage.png?alt=media&amp;token=71909d88-9d01-4b25-8d44-850cd45b5ade" alt=""></div>

标志用户完成一次转化的事件，如“支付订单”**；**&#x652F;持选择任一元事件作为目标事件。

* 目标事件的前向关联事件：

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBJBXIyonj-HtKYVh%2Fimage.png?alt=media&amp;token=1c12fd1c-07c5-4b51-bcfd-583dc422cf80" alt=""></div>

所谓前向关联事件，是指在目标事件触发之前发生的，与转化目标高度相关的事件，是对促进用户达成转化目标起到桥梁和纽带作用的事件。

通过设置前向关联事件，可以更进一步精确地定义一次转化，从而更加精准地回溯和还原用户转化的路径，提升归因模型的精度。

前向关联事件不必然是用户完成目标事件之前的上一步操作行为，但必然是触点事件之后、目标事件之前发生的动作。

举例来说，在电商类App中，用户在下单购买商品前，一般会有 “浏览商品详情页”，“加入购物车”的操作，我们可以认为这两个事件是与“购买商品”事件高度相关的前向关联事件。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBWPtxP5kuGQgJ3DZ%2FCapto_Capture%202020-11-03_15-58-53_.jpg?alt=media&amp;token=07661c26-90dd-410f-ba59-6093e1392211" alt=""></div>

通过”关联属性“，能够更加精确地限定前向关联事件的生效条件：当前向关联事件与目标事件的某一共有属性值相等时，该前向关联事件的定义才生效。

### 2. **触点事件定义**

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBcM6GyoxVOO5c7O1%2Fimage.png?alt=media&amp;token=8c95ec50-b434-4758-9d34-3118082dac8b" alt=""></div>

* 触点事件：

归因分析的评价对象，如点击banner、点击商品推荐位等。

* 直接转化：

在窗口期内，触发了目标事件，但没有触发任何触点事件的转化，即被视为直接转化触发了目标事件。

* 细分维度：

通过细分维度，将不同维度值的触点事件视为更细粒度的用户触点。

### **3. 归因模型**

用户从首次接触产品上发布的运营消息、与运营位产生交互，到最终完成转化，整个转化路径可能会经过多个触点。在用户的转化路径上，各触点对转化的功劳权重各不相同，您可以根据具体的业务场景和分析需求，来选择相应的归因模型。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBiP0PA0_c3RywI7Z%2Fimage.png?alt=media&amp;token=010aad42-7e89-4463-b716-d0f8a4bfb179" alt=""></div>

目前，方舟提供了5种归因模型供您选择，模型说明详见下表：

| 模型         | 模型说明                                                       |
| ---------- | ---------------------------------------------------------- |
| **首次触点归因** | 将转化功劳 100% 归于首次互动的待归因事件                                    |
| **末次触点归因** | 将转化功劳 100% 归于末次互动的待归因事件                                    |
| **线性归因**   | 将转化功劳平均分配给转化路径上的所有待归因事件                                    |
| **位置归因**   | 按待归因事件在转化路径上的位置分配转化功劳，一般首次和末次互动的事件各占 40% ，中间触点的事件均分剩余的 20% |
| **时间衰减归因** | 按待归因事件发生的时间顺序，分配转化功劳，距离目标事件发生时间越近的待归因事件，做出的贡献越大，分配到的功劳越多   |

### 4. **窗口期**

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBoyVWSdJaijob-T1%2Fimage.png?alt=media&amp;token=da6c14e8-c45b-4edc-9de3-42c8a48a7ac5" alt=""></div>

所谓窗口期，即为从触发触点事件开始，到触发目标事件，完成一次目标转化的时间限制。

### 5. **查询时间范围**

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBtmKrjun95JkYmWr%2Fimage.png?alt=media&amp;token=5ee97a1d-b85d-421d-9968-a46185825b33" alt=""></div>

查询时间范围，为目标事件的发生时间范围。

## **查询结果说明**

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCBzH9cEEBYnGK2Iu9%2FCapto_Capture%202020-11-03_16-08-08_.jpg?alt=media&amp;token=68e1c49d-b1e1-4cdc-b5e2-dda8e572a820" alt=""></div>

结果表格中各数据项及指标含义，见下表：

| **指标**      | **指标含义**                                                       |
| ----------- | -------------------------------------------------------------- |
| 触点事件的发生次数   | 统计范围内，触点事件的发生次数                                                |
| 有效触点事件的发生次数 | 统计范围内，带来转化的触点即为有效触点事件                                          |
| 转化贡献度       | 统计范围内，触点事件对总转化量指标的贡献度                                          |
| 转化贡献量       | <p>统计范围内，触点事件对总转化指标（如目标事件总次数）的贡献量</p><p>转化贡献量=总体转化量\*转化贡献度</p> |

通过切换“转化目标”，可以查看触点对不同指标的贡献度。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLCAkVnC98mac-sgH1x%2F-MLCC3RF7RjKwHyNQg5u%2Fimage.png?alt=media&amp;token=bf7b658d-0ff0-4261-9aac-cb19188c1d0c" alt=""></div>

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 热图分析

热图分析模型能够用热谱图直观呈现用户在网站、H5页面、APP上的点击、滚动行为，帮助产品、运营人员了解用户的点击偏好，辅助做页面设计优化、内容调整等。

## 常见热图类型和使用场景

| 热图类型   | 示例                                                                                                                        | 使用场景                                                                                                                                                            |
| ------ | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 点击位置热图 | ![image](https://imguserradar.analysys.cn/fangzhou/img/2019/04/201904171402052004.png)                                    | <p>展示用户在网站上所有点击的位置，聚集的点击越多，颜色越亮。</p><p>通常用于分析着陆页 </p><p>1 是否点击了CTA的内容？</p><p>2 是否有被大量点击的重要按钮或元素被放到了很少有用户到达的地方？</p><p>3 是否有用户点击的图片或文字其实没有链接？e.g.产品特征，icon+文字</p> |
| 点击元素热图 | ![image](https://imguserradar.analysys.cn/fangzhou/img/2019/04/201904171402052731.png)                                    | <p>展示可交互元素的点击情况。</p><p>用于分析：</p><p>1 具体是哪些元素吸引了多少点击？占据了整页点击多少比例？</p><p>2 是否有不符合我们预期的失误诱导？</p><p>(需 JS SDK > 4.3.1)</p>                                          |
| 浏览深度线  | ![image](https://imguserradar.analysys.cn/fangzhou/img/2019/04/201904171402040221.png)                                    | <p>展示用户抵达某个区域的留存比例。百分比越低，越少用户能够看到这一位置。</p><p>通常用于</p><p>1 寻找CTA的最佳位置</p><p>2 内容营销转换监测e.g.数据骤降时，说明哪里出现了内容上的断裂，用户没有兴趣再看下去</p>                                     |
| 注意力热图  | <img src="https://imguserradar.analysys.cn/fangzhou/img/2019/04/201904171411256839.png" alt="image" data-size="original"> | <p>展示用户在某个区域停留的时长，停留的时间越长，该区域颜色越亮</p><p>通常用于分析</p><p>1 了解到网页哪些内容吸引访客，哪些内容认为重要却被用户忽略？</p><p>2 是否有被用户仔细阅读的内容放到了过于靠下的位置？</p>                                       |

不同类型的热图各有优缺点，比如，点击位置热图，劣势是上报的数据量会增加，但可以非常直观的定性分析用户的探索性需求，发现非交互元素上意料之外的大量点击；点击元素热图，过滤掉了部分不可点击的内容，对可点击元素可以集中定量分析，但就会不够直观。

在不同场景下选择适合的类型，目前方舟已经支持了 Web 端的点击位置热图、点击元素热图、浏览深度线，APP 端的点击位置热图和点击元素热图。

## Web/H5 热图

支持网站、H5 页面的点击位置热图、点击元素热图和浏览深度线， 支持两种查看方式：

* 嵌入式——在方舟产品中查看页面热图，可切换不同的平台
* 交互式——在原网站页面查看

{% content-ref url="/pages/-Ld3bGKKDsABVPbb3iCz" %}
[Web/H5 热图](/features/analytics/heatmap/web)
{% endcontent-ref %}

## APP 热图

目前支持原生应用的点击位置热图和点击元素热图。

{% content-ref url="/pages/-Ld3bKftoNnEqsx-wRRM" %}
[APP 热图](/features/analytics/heatmap/app)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# Web/H5 热图

Web 端支持点击位置热图、点击元素热图和浏览深度线，支持在方舟网站中查看，也支持在网站原页面上查看

{% tabs %}
{% tab title="点击位置热图" %}
![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm8zk7OhPuNjKbXblx9%2F201904171402052004.png?alt=media\&token=dbea0892-673a-4e26-85ad-fb810766ae57)
{% endtab %}

{% tab title="点击元素热图" %}
![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm8zu5_ejCe5w70Jhw5%2F201904171402052731.png?alt=media\&token=ad7a6bcc-aab3-4fa2-b3b9-7ce124cd3ce0)
{% endtab %}

{% tab title="浏览深度线" %}
![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm8zrZQ_t5_xQzA97Et%2F201904171402040221.png?alt=media\&token=b4ac009e-b108-49f3-8131-c7e31e45633a)
{% endtab %}
{% endtabs %}

## 使用前准备

使用**点击位置热图、点击元素热图**功能，需要 SDK 升级到 v4.3.0 及以上，设置 `autoHeatmap` 为 `true`，详见 [《JS SDK 集成指南》](/integration/sdk/js/js#autoheatmap)

使用**浏览深度线**功能，需要 SDK 设置 `autoWebstay` 为 `true`，详见 [《JS SDK 集成指南》](/integration/sdk/js/js#autowebstay)

## 1. 页面/页面组热图列表

支持合参页面、原始页面、页面组三种页面的热图，三者的区别：

{% tabs %}
{% tab title="合参页面热图" %}

| <p><strong>合参页面是指去除尾部参数的相同URL的页面</strong></p><p></p><p>合参页面解决参数不同但实际是同一个页面的问题，系统自动合并，合参前后页面本身不变。 <br><br>如上举例，在不同的推广渠道带不同的参数，原始页面会不同，但着陆页相同，为了分析用户在着陆页本身的行为时，就需要将不同参数的同一页面进行汇总。</p> |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| {% endtab %}                                                                                                                                                                        |

{% tab title="页面组热图" %}

| <p><strong>页面组是具有共同结构特征的页面集合</strong></p><p></p><p>解决参数不同、页面URL不同、但实际是同一个页面结果的问题，需要手动定义。<br><br>有很多页面结构本身是相同的，比如商品详情页、新闻资讯页、博客内容页等，只是其中的内容会有差异，如果需要对同一个结构特征的页面进行分析，就可以创建页面组，如何创建详见<a href="/features/project-manegement/meta-data/pagegroup#1-chuang-jian-ye-mian-zu">《页面组管理》</a>。</p> |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| {% endtab %}                                                                                                                                                                                                                                                                           |

{% tab title="原始页面热图" %}

| <p><strong>原始页面是指没有去除尾部参数的页面，保存原来的URL</strong></p><p></p><p>拿方舟首页举例，正常来说地址应该是 <a href="https://ark.analysys.cn/"><https://ark.analysys.cn></a>，但很多时候为了推广，会把链接放到把它放在不同的地方，就需要加上不同的参数来标识来源，通过会在链接后面加问号 ？加不同的参数，例如 <a href="https://ark.analysys.cn/?utm_campaign=on&#x26;utm_medium=media&#x26;utm_source=analysys&#x26;utm_content=fzbutton&#x26;utm_term=guide%EF%BC%8C"><https://ark.analysys.cn/?utm_campaign=on&#x26;utm_medium=media&#x26;utm_source=analysys&#x26;utm_content=fzbutton&#x26;utm_term=guide，></a>那用户通过这个链接打开的即为原始页面。</p> |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| {% endtab %}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| {% endtabs %}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

### **页面热图列表**

热图通常用于分析着陆页，而着陆页的浏览量一般较大，所以方舟会默认展示出浏览量（PV）TOP 20 的合参页面列表，可以根据跳出率、点击事件数等指标判断是否需要进一步查看相应页面的热图。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm95s5M7pzrec2QwToj%2Fimage.png?alt=media\&token=a6168b0d-65a4-4213-82e2-fc0dfd40a9c0)

#### **展示的指标**

| 指标      | 说明                                                                                                                                                                             |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 浏览量（PV） | PageView，指用户浏览某个页面或某个页面组的总次数。                                                                                                                                                  |
| 用户数（UV） | Unique Visitor， 访问用户的去重数。                                                                                                                                                      |
| 页面点击事件数 | 用户在页面上点击的总数                                                                                                                                                                    |
| 跳出率     | <p>计算当前页为着陆页时的跳出率，结果为 <code>-</code> 时，表示当前页非着陆页。<br>跳出率=访问了一个页面的Session数/总的 Session 数。用户进入着陆页就离开。用户来到网站后，除了浏览 LandingPage 之外，没有发生其他任何操作就离开了网站，被视为跳出。用来衡量 landingpage 的质量。</p> |

点击 **页面标题** 或者 **热图图标**，即可进入具体的热图页面进行分析，详见 [2. 点击位置热图](https://docs.analysys.cn/ark/features/analytics/heatmap#2-dian-ji-wei-zhi-re-tu)

{% hint style="info" %}
当页面事件数为 0 时，即表示缺少绘制热图需要的数据，可能是以下原因之一，需要逐一排查

1. 还没有用户访问当前页面
2. 当前所选时间范围、过滤条件下没有用户访问行为，可以重新调整筛选条件
3. SDK 未开启热图功能，即设置 `autoHeap` 为 `true`
   {% endhint %}

**辅助功能**

#### **A 过滤条件**

支持通过时间、分群、事件属性和用户属性过滤，满足分析在特定时间段特定人群行为的需求

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm966_nzXbkz5suvnwu%2Fimage.png?alt=media&amp;token=f134e8a1-13d5-4488-bc44-a91abf60e0f0" alt=""></div>

#### **B 搜索**

支持从全部页面中搜索，不仅仅是浏览量 TOP 20 的页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm90AyBQnq9hX-VVTZq%2Fimage.png?alt=media\&token=4bcc6912-c14c-4707-b304-6b5b8d25e6dc)

#### **C 星标置顶**

对于最常关注的页面，可以移入所在行，点击列头的星标置顶在列表上方，此时列表总共会展示 星标页面 + 额外浏览量 TOP 20 的页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm92voNhVXxu62gbepG%2Fimage.png?alt=media\&token=7a1e3a13-83dc-459d-86e2-101c564b8f1c)

#### **D 排序**

默认星标的页面置顶在上方，剩余页面按照浏览量（PV）从大到小排序；

支持按照各个字段和是否星标重新排序。

#### **E 打开原页面**

移入链接后面打开网页的 icon，点击即可新标签页打开原始网页

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/04/201904181801134333.png" alt=""></div>

#### **F 下钻查看原始页面**

移入链接后面查看原始页面的icon，点击即可查询该合参页面的原始页面数据

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/04/201904181801131032.png" alt=""></div>

默认展示浏览量 TOP 20 的原始页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm93LFeONTZU-ohmcLo%2Fimage.png?alt=media\&token=d5eeadf3-1e95-4c90-ac36-12e3d5b3da55)

### **页面组热图列表**

页面组是具有共同结构特征的页面集合，如商品详情页、新闻资讯页。方舟支持在设定的背景页面上绘制具有页面组的点击行为热度。

#### 创建页面组热图

点击 **+ 立即创建** ，打开右侧抽屉，三步创建

1. 选择要进行热图分析的页面组：在[页面组管理](/features/project-manegement/meta-data/pagegroup)中创建的页面组中选择，也支持新创建
2. 设置背景图：作为渲染热图的底图
3. 命名热图：页面组热图名称不能重复

{% hint style="info" %}
注意事项：

1 页面组中的页面结构相同时分析热图才有意义

2 设置的背景图需要和页面组中的页面属于同一结构，才能将页面组中的点击行为汇总渲染在背景图上，否则无法展示热图
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ld93g38sH1LCNIzTNZE%2F-Ld9C1Y6eyAlRRMc_VLk%2F%E5%88%9B%E5%BB%BA%E9%A1%B5%E9%9D%A2%E7%BB%84%E7%83%AD%E5%9B%BE.gif?alt=media\&token=8846bc16-8778-40fe-98ba-e6c1c9813008)

页面组热图列表中仅展示自己创建的页面组热图。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm93gAkAarBWIvsqLSL%2Fimage.png?alt=media\&token=ad4038f8-e5ed-4fcc-8548-f66a5c1f5a36)

#### 展示的指标

同页面热图列表，详见上方 [页面热图列表-展示的指标](https://docs.analysys.cn/ark/features/analytics/heatmap/web#ye-mian-re-tu-lie-biao)

**辅助功能**

#### **A 过滤条件**

支持通过时间、分群、事件属性和用户属性过滤，满足分析在特定时间段特定人群行为的需求

#### **B 搜索**

支持根据页面组热图名称搜索

#### **C 排序**

默认按照浏览量（PV）从大到小排序，支持按照各个字段重新排序。

#### **D 打开背景原页面**

移入链接后面打开网页的 icon，点击即可新标签页打开创建页面组热图时选择的背景页

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ld93g38sH1LCNIzTNZE%2F-Ld99nKwe5jAgdJApIvH%2Fimage.png?alt=media&amp;token=96640e7e-0456-410f-8960-cf51bd9672ee" alt=""></div>

#### **E 下钻查看原始页面**

移入链接后面查看原始页面的icon，点击即可查询该页面组的原始的页面

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ld93g38sH1LCNIzTNZE%2F-Ld9AGCXZMdR7Wd1ah9a%2Fimage.png?alt=media&amp;token=cb28e563-7c0e-406f-bee2-4e4ee33e89b4" alt=""></div>

默认展示浏览量 TOP 20 的原始页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDFymvNVJEm92CCBHj%2F-Lm93wUa-jrMPRyLvsM0%2Fimage.png?alt=media\&token=272d1946-9636-495f-aa2f-304b198a1f01)

## 2. 点击位置热图

点击位置热图展示用户在网站上所有点击的位置，聚集的点击越多，颜色越亮。

* 通常用于分析着陆页，判断用户是否点击了CTA的内容？
* 否有被大量点击的重要按钮或元素被放到了很少有用户到达的地方？&#x20;
* 是否有用户点击的图片或文字其实没有链接等等

**支持两种查看热图的方式：**

* 嵌入式：在方舟当中直接查看热图
* 交互式：打开原页面查看，关闭热图时，可以与原页面交互

{% hint style="info" %}
无论是哪种热图查看方式，展示的都是在指定过滤条件和时间范围下的用户的行为，默认所有用户，过去7日的数据；

当在热图列表时就选择了条件，条件在热图页的时候仍然生效；同时支持再次修改条件。
{% endhint %}

### 嵌入式热图

对于支持 iframe 嵌入和 https 协议的页面可以在方舟产品中直接查看热图&#x20;

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDIXV9sFPaRqqVQqcZ%2Fimage.png?alt=media\&token=b718ff33-cb88-4893-b108-4f13ab3e4900)

**辅助功能**

#### A 选择终端设备类型

通常同一网站在不同终端（e.g. PC、手机）上会做适配，即用户在不同终端上看到的页面布局甚至是部分的内容会不同，用户的行为也会不同。

用户可以选择左上角切换不同的终端，会呈现出不同终端情况下看到网页，渲染出相应的热图，目前支持查看三种终端下的用户行为热图：

* PC
* 平板
* 手机

比如切换到手机，即可查看在在手机终端上用户查看网页时的热图。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LdC7pMW2r-jfRoJNdlY%2F-LdCuH6Am08aPsJpQsBI%2Fimage.png?alt=media&amp;token=e7704b68-9774-4d1c-ae83-3c0b903b7685" alt=""></div>

#### B 显示设置

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ld9_-nPBsVmf5Ol8ms9%2F-Ld9dVSgDLdGOxsKnPJD%2Fimage.png?alt=media&amp;token=1fea9730-b9aa-489c-908d-d43c789f21d5" alt=""></div>

* **B1 显示浏览深度线**

&#x20;       打开后可以在热图中同时查看浏览深度线

* **B2 调整颜色范围**

&#x20;       可以调整最大值-最小值的颜色范围，以适应默认颜色区间在背景色上无法突出标识的情况

* **B3 调整背景透明度**

&#x20;        可以调整热图背景透明度，以适应默认透明度下部分背景网页可能无法识别的情况

#### **C 热图开关**

关闭热图后可以与原页面进行交互，当存在弹窗时，可点击后再打开热图刷新，查看弹窗中的点击热图

#### **D 强制刷新**

当选择同样条件查看热图时，会存在缓存；或者是与原页面产生交互需要重新计算热图数据时，可以点击刷新，强制重新计算

#### **E 帮助文档**

使用过程中有疑问时，可以查看帮助文档

#### **F 原页面打开**

点击原页面打开，可以新标签页跳转到原网站地址查看热图

### 交互式热图

对于符合以下特征的页面无法在方舟查看热图

* 网站禁止了 iframe 的加载
* 网站没有使用 https 协议

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ld9_-nPBsVmf5Ol8ms9%2F-Ld9i26x-kETUSLpYaPs%2Fimage.png?alt=media&amp;token=236a0bbf-be58-40c7-8ddd-0f6559605980" alt=""></div>

此时可以打开原页面查看交互式热图

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDKGCw-CtR8zKXQeL5%2F%E7%83%AD%E5%9B%BE.gif?alt=media\&token=258507d0-c9fd-4caa-96fa-bf20339b66b2)

**辅助功能**

#### **A-D 显示设置、热图开关、强制刷新、帮助文档的使用同嵌入式热图**

#### **E 展开/收起**

通常页面头部是导航位置，但默认会被热图工具条遮挡，点击可以收起；当需要进行热图设置时，可以点击再次展开。

## 3. 点击元素热图

点击位置热图呈现的是用户任意位置的点击热度，用于定性的分析，发现预料之外的使用情况；

而点击元素热图呈现的是用不点击可交互元素的点击的，用于定量分析具体按钮、链接等关键元素的点击情况。

通常用于分析：

* 具体是哪些元素吸引了多少点击？占据了整页点击多少比例？
* 是否有不符合我们预期的失误诱导？在这里流失了多少用户？
* 在重要的按钮或元素上框选一下，看看留下点击的访问者来自于哪些渠道、具备哪些特征

{% hint style="info" %}
可交互元素包括：

a标签、button、input、select、textarea、svg标签且含有x:href的子元素
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDLxjWpTXCeJZAw_g1%2Fimage.png?alt=media\&token=189dc278-3cd7-4485-8310-0d4c7a06d506)

同样支持嵌入式和交互式两种

默认显示TOP20点击次数的元素，点击热门元素列表可查看

其他可交互元素的移入元素可查看

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDfaFwfQW4o8xTFFLI%2Fimage.png?alt=media\&token=168dcfe1-d606-4346-b1da-ae08c960829b)

## 4. 浏览深度线

浏览深度线代表用户抵达此区域后的留存比例。百分比越低，越少用户能够看到这一位置。

通用用于：

1. 寻找CTA的最佳位置
2. 内容营销转换监测e.g.数据骤降时，说明哪里出现了内容上的断裂，用户没有兴趣再看下去

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDLABCAeB5Qh098iSK%2Fimage.png?alt=media\&token=9ec1697c-3f1d-4e06-96f6-40502895d27d)

同时可以在点击位置热图/点击元素热图的工具条中打开显示浏览深度线

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDKnGRrI1E626L54QF%2Fimage.png?alt=media\&token=62b8d913-ef44-4d16-b813-23918da2e000)

打开后即可以两种结果叠加查看

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmDGGNIQ8heX9Epf3Kz%2F-LmDLg9al2AasWylZM1C%2Fimage.png?alt=media\&token=ee937b26-1a87-4b1a-b767-4ac577cf1722)

## 常见问题

### 1 要使用热图的话，SDK集成时需要特殊配置吗？

需要，使用**点击位置热图、点击元素热图**功能，需要 SDK 升级到 v4.3.0 及以上，设置 `autoHeatmap` 为 `true`；使用**浏览深度线**功能，需要 SDK 设置 `autoWebstay` 为 `true`，详见 [《JS SDK 集成指南》](/integration/sdk/js/js#autowebstay)

### 2 为什么 SDK 集成正确，但默认进入热图还是看不到结果？

&#x20;逐项检查以下内容：

① 部署的方舟平台和网站是否是相同协议。若部署的方舟的为 HTTP 协议，分析的网站为 HTTPS ，则无法加载。原因： HTTPS 协议的网站中禁止访问 http 的 API 接口，所以部署后建议尽量使用的HTTPS 协议

② 网站是否禁止了iframe 加载。若禁止了，只能在原页面打开

③ 连接要分析的网站时超时 （超过 5s）

④ 连接要分析的网站不存在

⑤ 热图的时间范围内是否产生了真实的行为，**默认过去 7 日**，若当日接入查看，务必选择包含今日

### 3 热图计算的是全量数据吗？

当热图数据过大时，会导致浏览器崩溃或卡死，为了避免这种情况，同时保证数据能更真实的反映实际情况，当点击量超过7000时，我们会均匀抽样7000个点来渲染热图。

### 4 改变浏览器窗口大小时绘制的热图问题

当浏览器窗口大小改变后，绘制的结果就不再准确，此时点击强制刷新来调整热图。

### 5 页面改版后的无法溯源查看历史热图了吗？

目前是实时获取当前目标页面，根据当前页面中的元素位置及点击位置与元素顶点距离计算点击位置，根据元素路径及元素类型实时生成热图数据。历史热图暂不支持保存，但在考虑中。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# APP 热图

APP 热图目前支持Android、iOS 原生APP 的点击位置和点击元素热图

{% hint style="info" %}
区别于 Web 端直接查看页面的热图，APP 端需要先连接 APP，获取页面，再查看当前选择页面的热图
{% endhint %}

## 使用前准备

需要 SDK 升级到 v4.3.0.1 及以上，设置 `autoHeatMap` 为 `true`，详见 [《Android SDK 集成指南》](/integration/sdk/android#she-zhi-re-tu-cai-ji) 和 [《iOS SDK 集成指南》](/integration/sdk/ios#she-zhi-re-tu-cai-ji)

## 1. 连接 APP 查看热图

进入热图APP页面后，经过以下三步即可查看热图

1. 在手机上打开已经集成了SDK的应用后，摇一摇
2. 选择要连接的设备
3. 选择要查看热图的页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LdDQY6k9JfbiPOiiL0U%2F-LdDQpIRwcg493KyGkpz%2FAPP.gif?alt=media\&token=b0eb8b91-1d0d-4079-9962-6f8aa7343c9e)

### 点击位置热图

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmEePkL5WjkNZNC_hH4%2F-LmEfGt6CTEm8X4126En%2Fimage.png?alt=media\&token=f7ad6961-7f84-4e47-9544-7965e6fb61aa)

### 点击元素热图

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmEePkL5WjkNZNC_hH4%2F-LmEfNIxBBy6wVNJMHiX%2Fimage.png?alt=media\&token=371b88d4-e9ca-47e1-beb9-df7346ec7d80)

## 2. 辅助功能

### A 过滤条件

支持通过时间、分群、事件属性和用户属性过滤，满足分析在特定时间段特定人群行为的需求

默认会选中当前连接设备的屏幕宽高和应用版本，即查看的是当前设备大小的用户访问当前版本时的行为，用户可以重新修改条件。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LdDQY6k9JfbiPOiiL0U%2F-LdDSMQ01IqDeMRJG8ii%2Fimage.png?alt=media&amp;token=ca6bf780-596c-4a18-967e-b1297ce7f6df" alt=""></div>

### B 抽样计算

数据量较大时计算会慢，可以选择抽样

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LdDQY6k9JfbiPOiiL0U%2F-LdDTJsE07hzNCYspFsa%2Fimage.png?alt=media&amp;token=98723880-576a-409a-9b97-a61cc3c6ca25" alt=""></div>

### C 强制刷新

当切换了页面时，热图不能即时刷新的情况下，可以选择强制刷新

### D 显示设置

* **D1 调整颜色范围**

&#x20;       可以调整最大值-最小值的颜色范围，以适应默认颜色区间在背景色上无法突出标识的情况

* **D2 调整背景透明度**

&#x20;        可以调整热图背景透明度，以适应默认透明度下部分背景网页可能无法识别的情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LdDQY6k9JfbiPOiiL0U%2F-LdDTZLoCm0kNYexebbp%2Fimage.png?alt=media\&token=75bb1319-beaa-4a81-a5ee-1049d222d5e3)

### E 热门元素列表

查看点击元素热图时可查看热门元素列表

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LmEePkL5WjkNZNC_hH4%2F-LmEgYtDIDY4Yv1r0Mug%2Fimage.png?alt=media&amp;token=9c30183d-2ac3-47d0-952f-03aaeb844f37" alt=""></div>

### F 断开连接

当不需要查看热图时，点击断开即可。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 分布分析

分布分析主要能够提供【维度指标化】之后的数据分解能力，将原有维度按照一定的数值区间进行维度划分，进而分析每个维度区间的分布情况，在以下分析场景中十分常见：

1. 分析订单的金额分布
2. 分析某类特殊事件的发生时段分布
3. 分析某类特殊事件的发生次数分布
4. 分析触发某类事件的用户年龄分布

由此可见，分布分析主要针对的是数值型和日期型这两类属性，比如：金额、年龄、时间、频次，因此当用户打点上传的数据中包括这两类属性时，那么在日常的分析中就有可能会使用分布分析来解决一些特定问题。

## 常用指标

### 1 X 事件的次数分布

X 事件的次数分布，指在指定日期范围间内触发 X 事件的次数分布。

e.g.在2020/01/01 - 2020/10/01 期间触发了启动事件的次数分布，启动了\[1,3)次的2人，\[3,10)次的10人等。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVmjv9yLGsH5W3EZev%2Fimage.png?alt=media\&token=a8e6c2af-f7b7-4cc0-a20a-915b26ebb18e)

支持多分群对比，比如对比注册用户和匿名用户在某个时间范围里启动次数分布

支持细分维度对比，比如细分城市维度，即可查看不同城市的用户启动次数分布

支持增加过滤条件，比如筛选平台=Android，仅Android平台的用户启动次数分布

支持分析一段时间的汇总情况，或者是按日、周、月不同时间粒度细分看趋势

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVoTt4PhnR7muw3HeF%2Fimage.png?alt=media\&token=a1fd30d1-60a4-4061-9640-1a5d900cf2fd)

### 2 X 事件的活跃时段分布

X 事件的活跃时段分布，指在指定日期范围内触发 X 事件的时段分布。

e.g. 在2020/01/01 - 2020/10/01 期间，一天24小时各个时段中启动的用户各有多少。

比如通过下图可以看到用户访问集中在上午9点到12点，下午2点到5点期间，其中上午10点到11点期间访问的用户最多

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVrhJ67wV88_Je3OHW%2Fimage.png?alt=media\&token=c85f3fba-544b-4df4-821e-101ad6f7de35)

支持细分维度查看，比如细分设备类型，查看不同设备的用户的活跃时段，通过下图可以看到在工作时间PC设备的访问量明显居多，在晚9点到次日9点休息期间，移动端访问量更多

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVsmsXoBnZqXEqxsuh%2Fimage.png?alt=media\&token=884386fd-b1bc-41bb-8be8-b59b113b1ff8)

支持按日、周、月的时间粒度细分，可以查看不同时段里不同时间的活跃趋势，可以通过表格查看，也可以通过热点图快速查看，比如下图展现近 30 日每天用户在不同时段的活跃情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVpUgGgAFIPyCnw8Sj%2Fimage.png?alt=media\&token=dfa3f592-158e-42f8-989e-8f2e876f0537)

也可以按每周几聚合，比如通过下图，可以发现用户基本活跃在工作日上午的 10 点 - 12 点，下午的 14 点 - 15 点

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVpY53WGDnF-PK2oFR%2Fimage.png?alt=media\&token=d78bcdba-271c-40b7-9ae4-295d360494e3)

### 3 X 事件的活跃天数分布

X 事件的活跃天数分布，指在指定日期范围内触发 X 事件的天数分布。

e.g. 在2020/01/01 - 2020/10/01 期间触发了启动事件的天数分布，启动了\[1,3)天的2人，\[3,10)天的10人等。

可以查看任意事件在某一个时间区间里的活跃天数，如下图体现过去 90 天里不同活跃天数的用户分布，其中多数用户活跃天数在 2 天到 5 天之间，10 天以上的用户最少

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVp3I0y8utvGk0XW-9%2Fimage.png?alt=media\&token=5a3df387-556d-4887-9d86-81de9a4474a2)

支持按周、按月的时间粒度细分，比如下图查看最近4个月里 用户活跃天数的变化

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVp9QME_2eG9y0lmDk%2Fimage.png?alt=media\&token=cea62d4f-b805-4043-8b58-8524347e8c19)

支持细分维度、添加过滤条件、多人群对比

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVpOUfBDZK6ivYLx8Q%2Fimage.png?alt=media\&token=00affee1-239c-47fa-9cc7-7a285b2d7b22)

### 4 X 事件 Y 属性的总和/均值/人均值等分布

对于数值型的属性值，支持分析属性的总和、均值、人均值、最大值、最小值的分布，比如分析一段时间里不同支付订单金额区间的用户分布

{% hint style="info" %}
分布分析也支持字符串属性的分析，这类属性的分析场景在实际工作中比较少见，只能统计属性值的去重数的分布情况，例如：统计某次大促活动中，支付订单的品类分布情况，可以在分布分析中，选择支付订单事件的商品品类属性的去重数分布，同时增加商品品类的细分维度。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MZVkNg5O3CwuyLM5j2c%2F-MZVwAkOFc5UsfYlS-6s%2Fimage.png?alt=media\&token=1c099394-9ced-4fcf-bc38-9067eaf70f7c)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 间隔分析

间隔分析，主要用于统计 **用户从触发指定的起始事件开始，到完成指定目标事件之间的时间间隔。**

## 概述

**间隔分析的应用场景比较丰富，既可以** 用于统计产品的登录时间间隔、复购周期等，作为衡量用户活跃度和用户黏性的分析工具；**也可以** 作为对转化漏斗分析的一种补充，通过转化时长指标来衡量特定转化路径在时间维度上的转化效率。

用于转化效率评估时，间隔分析是对转化漏斗的一种补充。不过两者各有侧重，间隔分析聚焦于用户完成转化的时间效率，而转化漏斗聚焦于转化的结果指标以及转化流程中各环节的转化和流失情况。

我们在关注转化结果和影响结果的维度的同时，也需要关注转化过程中的效率指标，例如：对于金融理财类 App，从落地页引流到首次入金，中间涉及的转化环节很多，除了最终转化率之外，需要关注核心步骤之间的转化效率，尤其是注册、绑卡等几个环节。

通过间隔分析，观察用户完成两次指定事件的时间间隔的分布情况，同时结合其他分析模型，我们可以洞悉用户行为背后的规律，从而发掘改善用户体验、提升活跃度、产品转化率以及不断提升产品价值的线索。

## 功能说明

* **起始行为和转化目标**

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKdbJGdLY-LXm8ZA8tm%2F-MKdcgqeyZM1S-JpXwXu%2Fimage.png?alt=media&amp;token=02e423eb-bce3-4283-a2ec-9f81f4dd1cc5" alt=""></div>

起始行为和转化目标可以选择同一事件，也可以选择不同的事件。通过添加过滤条件，可以更精确地定义事件。

例如：可以将起始事件和目标事件设置为 “启动” ，用于计算 **两次启动的时间间隔**； 将起始事件和目标事件和目标事件设置为 “订单支付成功” 用来统计 **复购周期**；将起始事件设置为 “完成注册”，将目标事件设置为 “订单支付成功” ，可以观察用户从注册完成到首购完成需要多久的 **转化时长**。

* **转化周期**

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKdbJGdLY-LXm8ZA8tm%2F-MKdd-F-mp2TS7aKSgZW%2Fimage.png?alt=media&amp;token=bd2b58b3-b8eb-46e3-9510-f8077d85dd09" alt=""></div>

转化周期为完成起始事件和转化目标事件的最长时限，最短可设置1分钟，最长180天， 支持选择 **分钟、小时、天** 三种时间粒度。

* **结果展示**

间隔分析中目前提供了 5 个度量指标，包括：&#x20;

* 转化用户数&#x20;
* 转化时间中位数&#x20;
* 转化时间最大值&#x20;
* 转化时间最小值&#x20;
* 转化时间平均值

可以通过折线图查看单一指标，或者通过表格同时观察全部指标。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKdbJGdLY-LXm8ZA8tm%2F-MKddlzxosqP99hMZU29%2Fimage.png?alt=media&amp;token=0502becd-730c-4c9f-9292-163953a34a3e" alt=""></div>

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKdbJGdLY-LXm8ZA8tm%2F-MKddbnpG-n-Rx8kjpS5%2Fimage.png?alt=media&amp;token=85410078-2eda-4463-886a-d17249b472b1" alt=""></div>

{% hint style="info" %}
特殊场景的计算逻辑说明

当用户的转化路径为 A-A-B-B，即在转化路径上存在重复事件时，此时的计算逻辑是只计算最近一次起始事件到最初一次转化目标的数据。
{% endhint %}

通过折线图查看 **“转化用户数”**  ，支持人群下钻，查看用户明细信息或保存用户分群。&#x20;

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKdbJGdLY-LXm8ZA8tm%2F-MKdeIph0wuFi7TFwP-S%2Fimage.png?alt=media&amp;token=f13e5c13-c6dd-41bc-a626-263426c8397d" alt=""></div>

通过 “分析用户群”，可以查看某一指定用户群，或对比不同用户群的指标表现。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKdbJGdLY-LXm8ZA8tm%2F-MKdf-dylVivD4lCENud%2Fimage.png?alt=media&amp;token=ca7edc07-df77-40ef-85ab-0449ac47fe92" alt=""></div>

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 属性分析

属性分析是基于用户自定义属性或预置属性的占比分析，它能够按照不同的属性来统计用户数等指标的属性占比，进行得到初步的分析结论。例如，通过对性别属性的用户数占比分析，我们可以快速得到不同性别的用户数统计结果。

通过属性分析，可以快速查看在不同属性上的用户数分布情况，便于统计不同特征的用户总量，在使用属性分析的过程中，需要合理选择度量方式，常用的度量方式包括：

1. 用户数
2. 去重数
3. 总和
4. 最大值
5. 最小值
6. 均值

例如：我们选择的指标为“累计消费金额的均值”，维度为“会员等级”，用户选择“所有用户”，那么我们得到的结果是：

{% hint style="info" %}
所有不同会员等级的用户的平均消费金额是多少
{% endhint %}

## 功能说明

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbLP899py67YjIYmKX%2F-MSbM-6VywvNPm5ac_ED%2Fimage.png?alt=media\&token=36721f28-5dcd-4ae2-8ded-597df6f00f77)

同事件分析类似，属性分析支持多维度多用户之间的对比，同时支持多种图表形式展示统计结果。

{% hint style="info" %}
在有标签功能的场景下，属性分析支持对比不同版本的标签进行统计分析对比
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbLP899py67YjIYmKX%2F-MSbMc-ewTNSxc2xkdlD%2Fimage.png?alt=media\&token=442574ab-f3d6-41c6-b620-bc1b96dadfec)

1. 当选择的单个或多个指标均为标签且有多个历史版本时，支持选择标签的不同版本进行对比分析，如上图对比所有用户不同性别在2021年1月时点的账户总资产均值和2021年2月时点账户总资产的变化情况。
2. 如选择的细分维度为有多个历史版本的标签时，支持选择指定版本的数据进行细分统计，如选择2月3日的快照版本进行细分。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 自定义查询

本文档中描述的内容，主要针对熟悉SQL的数据分析师或技术人员，如果对文档内容有疑惑，请咨询我们。

如果使用方舟现有的分析功能无法满足您的分析需求，或者您想通过SQL来进行更加灵活的数据分析并导出结果，您可以使用我们提供的自定义查询工具。该工具还可以针对查询结果生成图表完成可视化分析。

{% hint style="info" %}
该工具从方舟4.2.2版本开始提供，如果您的版本还没有该工具，您可以升级方舟到4.2.2版本来进行体验。
{% endhint %}

## 1. 工具入口

进入方舟后在当前项目下 选择【分析 - 自定义查询】即可打开方舟自定义查询工具。

自定义查询工具界面如下图：

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjVZevGuAOCgpgbeTi6%2F-LjVaE_-NSmd-bW2o17t%2Fimage.png?alt=media\&token=effe570e-fd7e-43a4-b322-9100c46ad3e3)

{% hint style="info" %}
易观方舟自定义查询工具只能查询您当前正在使用的项目。如果您在方舟中切换了项目，可以按上述步骤重新点击“自定义查询”打开新的自定义查询工具窗口。
{% endhint %}

## 2. 数据表

在自定义查询工具中只能看到您当前在方舟中访问的项目的表，目前有**event\_vd（事件表）**&#x548C;**profile\_vd（用户表）**，未来还会支持导入客户自定义的其它辅助数据表。

### 2.1 查看表结构

然后进入PrestoSQL，即可看到当前项目的库名、表名和字段信息。查看步骤如下：

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjVZevGuAOCgpgbeTi6%2F-LjVbBtsKKc7XiZTCoIZ%2Fimage.png?alt=media\&token=20c540d2-d494-441a-a048-115ad63d6d8d)

### 2.2 字段说明

#### **2.2.1 event\_vd （事件表）**

事件表包含了所有事件的详细信息（不包括虚拟事件），该表中存储了所有用户的行为数据，表中的每一行都是一个行为记录。该表中的字段主要分为两类：事件本身的特殊字段和普通的属性字段。

事件特殊字段如下：

| 字段           | 说明                                                   | 示例            |
| ------------ | ---------------------------------------------------- | ------------- |
| distinct\_id | 易观方舟为该用户分配的内部 ID，与 profile\_vd 表的 distinct\_id 字段相关联 | 599898980     |
| xwho         | 用户行为发生的原始ID，可以为注册用户ID或临时ID                           | lurenjian     |
| xwhen        | 用户行为发生的时间，精确到毫秒                                      | 1552220964474 |
| xwhat        | 用户行为名称                                               | $pageview     |
| ds           | 用户行为发生的日期，精确到天                                       | 20190210      |

{% hint style="info" %}
distinct\_id并不是真正的用户ID，而是易观方舟基于用户真实ID生成的用于唯一标识一个用户的ID，详细说明请参见《[如何准确识别用户](/integration/prepare/user-identify)》
{% endhint %}

#### **2.2.2 profile\_vd（用户表）**

用户表的每一行代表一个 用户，类似于事件表，用户表的字段也分为特殊字段和用户的其它 属性两大类，其中特殊字段的说明如下：

| 字段           | 说明                                                   | 示例        |
| ------------ | ---------------------------------------------------- | --------- |
| distinct\_id | 易观方舟为该用户分配的内部 ID，与 profile\_vd 表的 distinct\_id 字段相关联 | 599898980 |
| xwho         | 用户行为发生的原始ID，可以为注册用户ID或临时ID                           | lurenjian |

## 3. 功能使用

### 3.1 基本功能使用

直接在SQL输入框中写SQL即可，注意一次只能执行一条SQL，而且**SQL的未尾不能加分号。**

下图示例查询每天的事件量:

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjVZevGuAOCgpgbeTi6%2F-LjVbvhUUxnxLeWf_eVg%2Fimage.png?alt=media\&token=43dc03ff-a3df-4818-96e9-3225044dc97e)

默认情况下以表格的方式展示结果，为了优化性能，页面最多展示1000条数据，如果您需要查更多的数据，可以将结果下载下来，最多只能下载100w数据。如果您想下载更多数据，请使用数据导出的方式通过api来下载。

#### **3.1.1 图表展示**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjVZevGuAOCgpgbeTi6%2F-LjVcKdV-UnCVGdef5gH%2Fimage.png?alt=media\&token=5c71bf04-10ce-4a3e-b1ac-35102e2a477b)

如上图，选择以图表的方式展示数据，支持多种图表。

#### **3.1.2 下载数据**

自定义查询工具支持将查询结果下载，当查询结果数据量大于1000时，页面为了性能考虑只展示1000条，但下载结果时最多可下载100w数据。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjVZevGuAOCgpgbeTi6%2F-LjVcbgisDfJIDwM2EDi%2Fimage.png?alt=media\&token=83277450-921e-4651-953c-977d496cd4f7)

结果下载支持菜单栏中的CSV和Excel指下载的文件格式，如果结果数据量大，建议您尽量下载CSV格式，CSV格式在相同数据量的情况下文件更小，下载更快。

Clipboard指将下载结果复制到粘贴板，您可以在其它文件编辑器里“粘贴”操作，即可将结果粘贴到其它编辑器中。

### **3.2** 常用函数

#### 日期函数

ds字段是事件发生的日期，也是事件表的分区键。ds可以用来快速过滤数据，任何情况下都建议尽量使用ds来过滤数据，而不是使用xwhen

以下是一些ds字段的使用例子

* 查询7月份每天的事件总量以及用户数

```
SELECT
	ds,
	count(1) AS pv,
	count(DISTINCT distinct_id) AS uv
FROM
	event_vd
where
  ds between 20200701 and 20200731 
GROUP BY
	1
ORDER BY
	1
```

* 查询某1天的数据

```
select count(1) from event_vd where ds=20200101
```

* 查询连续一段时间的数据

```
select count(1) from event_vd where ds between 20200701 and 20200707
```

xwhen字段是事件发生的时间，记录的是Unix 时间戳，精度到毫秒。其他日期类型的字段也都是以UNIXTIME的形式存储。例如：1577870326123。 这类字段在使用中，往往可以先用from\_unixtime()函数转换为timestamp类型

通过xwhen查询不同时间粒度的数据

* 按不同时间粒度统计，返回日期类型。按周/月/季时，返回的是该周期第一天.

```
select
  date_trunc('week',from_unixitme(xwhen/1000)) as cycle,
  count(1) as pv
from 
  event_vd
where 
  ds between 20200101 and 20200630
group by 
  1
order by 
  1
```

* unit：时间单位unit字符串可取的值有：year，quarter，month，week，day，hour，minute，second，millisecond。

通过date\_format 处理日期字段，查询不同粒度周期范围的数据

* 查询每天8点的数据

```
select 
  * 
from 
  event_vd 
where 
  ds between 20200101 and 20200630 
  and date_format(from_unixtime(xwhen/1000),‘%H’) = ‘08’
```

* 常用标记符

| 标记符 | 说明                |
| --- | ----------------- |
| %Y  | 年份，4位数字           |
| %y  | 年份，2位数字           |
| %m  | 月份(01-12)         |
| %c  | 月份(1-12)          |
| %d  | 日(00-31)          |
| %e  | 日(0-31)           |
| %H  | 小时(00-23)         |
| %k  | 小时(0-23)          |
| %i  | 分钟(00-59)         |
| %s  | 秒(00-50)          |
| %T  | 时分秒(等同于%H:%i:%s)  |
| %w  | 星期几(0-6,周日为一周第一天) |

也支持通过extract函数直接从日期类型属性中提取数据

* 按年，月查看历史以来订单次数

```
select 
  extract(year from from_unixtime(xwhen/1000)) as year,
  extract(month from from_unixtime(xwhen/1000)) as month,
  count(1)
from 
  event_vd
where
  xwhat='%order%'
group by 
  1,2
order by 
  1,2
```

* unit：时间单位unit字符串可取的值有：year，quarter，month，week，day，day\_of\_month，day\_of\_week，hour 等等。

### **3.3 常见场景**

#### **通过用户ID查看单个用户的行为序列**

用户上报的行为有可能包含不同的登陆状态数据，因此建议通过profile表的查询distinct\_id后再通过distinct\_id查询行为序列

```
SELECT
  EVENT .*
FROM
  event_vd event,
  profile_vd PROFILE
WHERE
  EVENT .distinct_id = PROFILE .distinct_id
AND EVENT .ds = 20200701
AND PROFILE .xwho = '001'
ORDER BY
  EVENT .xwhen
```

#### 查询7月份活跃天数大于5天的用户

查询活跃天数，相当于查询用户活跃日期的去重数。活跃时段数，活跃周数等借助日期函数的使用都能通过该方法计算。

```
SELECT
	distinct_id
FROM
	event_vd
WHERE
	ds BETWEEN 20200701
AND 20200731
GROUP BY
	distinct_id
HAVING
	count(DISTINCT ds) > 5
```

#### 查询7月用户下单次数分布

通过单个用户的1个或者多个行为统计指标，对用户分布进行分析。都统一先把相应指标计算出来，然后通过case...when 语法进行分布。结合不同维度组合分析，可以查看不同维度下的用户分布情况。

```
SELECT
	CASE
WHEN order_cnts < 5 THEN
	'[0-5)'
WHEN order_cnts < 10 THEN
	'[5-10)'
WHEN order_cnts < 20 THEN
	'[10-20)'
WHEN order_cnts < 50 THEN
	'[20-50)'
ELSE
	'[50-∞)'
END,
 count(1)
FROM
	(
		SELECT
			distinct_id,
			count(1) AS order_cnts
		FROM
			event_vd
		WHERE
			ds BETWEEN 20200701
		AND 20200731
		AND xwhat = 'order'
		GROUP BY
			1
	)
GROUP BY
	1
ORDER BY
	1
```

#### 查询做过A事件但是未做过B事件的用户

通过left join计算2个事件活跃用户的差集

```
SELECT
	a.distinct_id
FROM
	(
		SELECT DISTINCT
			distinct_id
		FROM
			event_vd
		WHERE
			ds BETWEEN 20200701
		AND 20200731
		AND xwhat = 'A'
	) a
LEFT JOIN (
	SELECT DISTINCT
		distinct_id
	FROM
		event_vd
	WHERE
		ds BETWEEN 20200701
	AND 20200731
	AND xwhat = 'B'
) b ON a.distinct_id = b.distinct_id
WHERE
	b.distinct_is IS NULL
```

通过计算不同事件的活跃次数，再进行过滤

```
SELECT
	distinct_id
FROM
	(
		SELECT
			distinct_id,
			COUNT_if (xwhat = 'A') AS A_CNTS,
			COUNT_if (xwhat = 'B') AS B_CNTS
		FROM
			event_vd
		WHERE
			ds BETWEEN 20200701
		AND 20200731
		AND xwhat IN ('A', 'B')
		GROUP BY
			1
	)
WHERE
	a_cnts >= 1
AND b_cnts = 0
```

#### 计算用户使用时长

计算会话内相邻2个事件的间隔时长作为每个事件的使用时长，以此统计累积总时长。会话的结束事件，不统计时长。

```
SELECT
  distinct_id,
  sum(next_xwhen - xwhen)
FROM
  (
    SELECT
      distinct_id,
      xwhen,
      lead (xwhen) over (
        PARTITION BY distinct_id,
        "$session_id"
      ORDER BY
        xwhen
      ) AS next_xwhen
    FROM
      event_vd
    WHERE
      ds BETWEEN 20200701
    AND 20200731
    AND "$session_id" IS NOT NULL
  )
GROUP BY
  1
```

一些场景下，没有采集会话ID，通过相邻2个事件的间隔时长作为每个事件的使用时长，需要设定一个阈值，比如30分钟，间隔时间超过这个时间则不计算。

```
SELECT
	distinct_id,
	sum(
		CASE
		WHEN next_xwhen - xwhen > 1800000 THEN
			0
		ELSE
			next_xwhen - xwhen
		END
	)
FROM
	(
		SELECT
			distinct_id,
			xwhen,
			lead (xwhen) over (
				PARTITION BY distinct_id
				ORDER BY
					xwhen
			) AS next_xwhen
		FROM
			event_vd
		WHERE
			ds BETWEEN 20200701
		AND 20200731
		AND "$session_id" IS NOT NULL
	)
GROUP BY
	1
```

计算特定2个事件之间的时长。通常可以用来统计某个事件的响应时间，比如 点击按钮A，间隔多久事件B相应。先统计时长，再筛选出当前事件为A，且下一事件为B的记录。同样需要根据业务设定一个阈值,比如1分钟。

```
SELECT
	distinct_id,
	xwhen,
	next_xwhen - xwhen
FROM
	(
		SELECT
			distinct_id,
			xwhen,
			xwhat,
			lead (xwhen) over (
				PARTITION BY distinct_id
				ORDER BY
					xwhen
			) AS next_xwhen,
			lead (xwhat) over (
				PARTITION BY distinct_id
				ORDER BY
					xwhen
			) AS next_xwhat
		FROM
			event_vd
		WHERE
			ds BETWEEN 20200701
		AND 20200731
		AND xwhat IN ('A', 'B')
		AND "$session_id" IS NOT NULL
	)
WHERE
	xwhat = 'A'
AND next_xwhat = 'B'
AND next_xwhen - xwhen <= 60000
```

#### 通过地理位置计算距离

计算2个地理位置的距离，比如，计算(112.879325,28.244123) 与 (112.887949,28.234258)的距离，单位为米。

```
SELECT
	ST_Distance (
		to_spherical_geography (
			ST_point (112.879325, 28.244123)
		),
		to_spherical_geography (
			ST_point (112.887949, 28.234258)
		)
	);
```

###

### 3.4 使用优化

ds字段是日期字段，您可以使用ds字段过滤数据。为了提高查询性能，请您尽量在SQL中添加ds字段过滤，只查询需要的数据。

易观方舟使用的查询引擎是presto，关于presto的Date和Time类型的函数可以参考presto的官方文档：<https://prestodb.github.io/docs/0.201/functions/datetime.html>

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 用户

用户模块主要负责对用户进行管理、细分，通过用户探查、用户分群和用户标签体系，提供多样的用户细分手段。用户细分是精细化运营的基础。在后续分析中可对比分析不同人群同一指标的表现，发现背后的影响因子，指导产品优化方向，或者针对不同的用户群匹配不同的服务和内容，进行个性化运营。

在易观分析中提供基础的用户探查、用户分群功能，可以通过设置用户行为、属性组合条件创建用户分群，并进行推送、分析、导出等操作。请点击如下链接，详细了解易观用户分群功能的介绍。

{% content-ref url="/pages/-MSb7HWWKh6pVcyWj2Ms" %}
[用户探查](/features/user/probe)
{% endcontent-ref %}

{% content-ref url="/pages/-M9HJnONSWZGBQavLShQ" %}
[用户分群](/features/user/segmentation)
{% endcontent-ref %}

在方舟智能画像版本中，在用户模块提供用户分群和标签管理两大功能模块，其中标签管理功能提供从0到1的搭建标签体系、创建标签、管理标签生命周期的全流程能力；用户分群则在基础版分群的能力之上可以选择已经创建的标签体系从更多、更贴近业务场景的维度去细分、定向用户群。具体详见以下链接了解详细功能。

{% content-ref url="/pages/-M9HOIc\_fwqIKwkhSB2C" %}
[用户标签](/features/user/user-profile)
{% endcontent-ref %}

##

###


# 用户探查

用户探查支持快速对用户进行探索，通过用户的行为、属性特征、标签进行条件组合，筛选满足条件的用户明细及用户对应的属性、标签明细。支持对筛选的用户进行收藏、关注、导出。

## 1. 筛选用户

### 1.1 自定义**行为/属性条件创建分群**

在左侧导航栏，点击用户探查进行用户筛选界面

#### **1.1.1 设置探查规则**

可以通过用户 **触发的事件** 和 **用户属性** 来探查

{% hint style="info" %}
如果您开通了用户标签功能，则在创建分群时，可在用户属性中选择您创建的标签体系，进行分群的创建，如未开通用户标签功能的用户则用户属性中仅包含您上报的属性信息。
{% endhint %}

选择 **触发事件** 时是通过事件或事件属性构成的指标作为条件来过滤的，例如 ：启动的次数 > 1 或着 支付订单的 支付金额的总和 < 10000

条件之间支持 **与**、**或**、**非** 的关系，例如：性别为男性并且资产总额大于100的用&#x6237;**。**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSb7G6DPjMs-buARgYr%2F-MSb9oeGRUqyVigwTVNJ%2Fimage.png?alt=media\&token=fd844d7d-cb75-41e7-aee9-162ee0fd4502)

#### **1.1.2 展示用户关联属性和标签**

筛选出选定规则的目标用户明细后，可以选择指定用户属性或用户标签，对于存在多个历史版本的标签，支持选择指定的单个或多个版本进行展示。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSb7G6DPjMs-buARgYr%2F-MSbAufjR8SxWGkavik6%2Fimage.png?alt=media\&token=a0eeb561-5a56-47e8-8dd9-d3a2ea675230)

#### **1.1.3 保存常用探查条件**

支持将配置的筛选规则保存为常用条件，对于常用的规则可以从常用条件中直接下拉选择，在常用条件的基础上继续增加其他条件进行二次筛选。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSb7G6DPjMs-buARgYr%2F-MSbBgWCVBKUxnE_d-9h%2Fimage.png?alt=media\&token=06ab5f0e-6b69-44a3-997b-3b7913ecb2a3)

用户仅能查看自己保存的常用条件，支持删除已保存的条件。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSb7G6DPjMs-buARgYr%2F-MSbCDZZ7aLtpcP5A0sk%2Fimage.png?alt=media\&token=dfa23ec3-01fc-4011-9b54-7f7c6a48a836)

#### **1.1.4 关注指定的条件用户**

产品支持对配置的条件规则创建关注通知，自定义监测周期，当关注的用户满足指定的规模后，邮件的方式通知指定联系人。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSb7G6DPjMs-buARgYr%2F-MSbCyAH0NHs77gggpWs%2Fimage.png?alt=media\&token=5205cdc3-e59b-4018-9604-4e8b75b0576d)

#### **1.1.5 导出用户**

支持导出满足条件的用户明细及用户关联的属性及标签数据

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSb7G6DPjMs-buARgYr%2F-MSbDLBIIid_e1v4ZxHf%2Fimage.png?alt=media\&token=1ed1188b-eba0-4d14-9fb7-ce870d183a6f)


# 用户分群

用户分群即将用户标签化，把具有相同特征 / 行为的用户进行聚类，是精细化运营的基础。在后续分析中可对比分析不同人群同一指标的表现，发现背后的影响因子，指导产品优化方向，或者针对不同的用户群匹配不同的服务和内容，进行个性化运营。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HK2nvSJxd_rMrjkMs%2Fimage.png?alt=media\&token=6370c182-48ab-4619-894f-9b775f3b4317)

## 1 创建分群

系统当前支持通过两种方式创建用户分群：

### 1.1 分析模型下钻保存分群

在分析模型中将任意数据节点上的用户保存为一个用户群。例如，在漏斗的某个步骤时，可以把某个关键路径流失的人群保存下来，进一步在其他分析模型中分析这个用户群的行为和特征。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HLGhXTlBQF7R8UPbL%2Fimage.png?alt=media\&token=d241d378-69a4-444f-aee7-78f66bce3f72)

### 1.2 自定义**行为/属性条件创建分群**

在分群列表中的点击 “ 立即创建” 进入自定义创建的页面

#### **1.2.1 设置分群规则**

可以通过用户 **触发的事件** 和 **用户属性** 来细分人群

{% hint style="info" %}
如果您开通了用户标签功能，则在创建分群时，可在用户属性中选择您创建的标签体系，进行分群的创建，如未开通用户标签功能的用户则用户属性中仅包含您上报的属性信息。
{% endhint %}

选择 **触发事件** 时是通过事件或事件属性构成的指标作为条件来过滤的，例如 ：启动的次数 > 1 或着 支付订单的 支付金额的总和 < 10000

条件之间支持 **与**、**或**、**非** 的关系，例如：在北京或上海，近30天内首次下单 且 订单金额 ≥ 3000 的 非注册用&#x6237;**。**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HLUJ63PsjYrsGMyPg%2F%E5%88%86%E7%BE%A4%E6%9D%A1%E4%BB%B6.gif?alt=media\&token=724b2083-b76e-43fe-884f-b6e7bc9dfee8)

**1.2.2 预览分群**

在配置完成分群条件之后，可以点击预览，查看满足该条件用户的详细情况。系统支持用户自定义选择展示的用户属性，帮助校验分群条件准确的选中了目标人群。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HLfJL0B8Gc72N-Hwc%2Fimage.png?alt=media\&token=5b233566-82c5-4985-8b6c-4f2653f984c6)

#### 1.2.3 保存分群

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HLnixoc2F_z2vqFv2%2Fimage.png?alt=media\&token=e5839e23-de3e-4c91-8383-0480d3a2b8d6)

如果需要将选择的分群添加到看板、分析中进一步分析或者触达时，可以保存分群

支持两种类型：

**A 静态分群**

仅在创建分群时计算一次

创建固定的用户群时，可以选择该类型，比如仅选择用户ID为 11、23、345 的三个用户

**B 动态分群**

根据分群条件每天例行计算

创建想要跟随时间动态更新的分群时，可以选择该类型，比如在动态时间范围内满足某些行为（e.g. 近7日启动次数大于7次）、具备某些用户属性（e.g. 年龄小于18岁、用户等级=vip ）的用户群

{% hint style="info" %}
当创建分群时选择了固定的时间段，比如2020/01/02 - 2020/04/01 期间启动次数大于7的用户，即使选择了动态分群，时间窗口不会跟随变化；计算人数只有在创建至计算的时间期间里有 2020/01/02 - 2020/04/01 这段时间的日志补发上报时，才可能会变化
{% endhint %}

**设置分群权限**

在保存分群时，可以快速的进行分群的权限设计，如果您创建的分群仅希望自己使用，则取消项目内成员可见，如在选中状态下保存，则所有项目下用户都能使用您创建的分群。如果想要将分群分享给其他项目成员查看，则进入分群列表，选择分享进行设置。

## 2 编辑分群

### 2.1 修改分群 <a href="#id-21-xiu-gai-fen-qun" id="id-21-xiu-gai-fen-qun"></a>

对于自己创建的分群，可以直接从列表中点击进入已有分群编辑，保存

对于其他成员创建的分群，可以修改条件另存为自己的分群

> 下钻保存的分群目前不支持修改

![](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111815037496.png)

### 2.2 删除分群 <a href="#id-22-shan-chu-fen-qun" id="id-22-shan-chu-fen-qun"></a>

对于自己创建的分群，可以移入列表中进行删除；其他成员创建的分群，不支持删除

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HMUn0qSdPJkSJa7nG%2Fimage.png?alt=media\&token=ec0ff1e0-3fd4-4d00-bf8d-551920a25592)

## 3 分群的应用

创建好的分群可以进一步推送消息、推送到第三方平台、添加看板、导出、另存为、应用于分析图表

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HMNBlK7zZ_F_cybAs%2Fimage.png?alt=media\&token=44cc4a5b-46f7-41d5-b817-ed60e09a3958)

### 3.1 推送触达 <a href="#id-31-tui-song-chu-da" id="id-31-tui-song-chu-da"></a>

对于每个细分人群均可直接进行触达，进行消息通知、电子邮件和短信通知

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HMbrl6raV0GPvenD_%2Fimage.png?alt=media\&token=2abf03f8-d1b7-4b58-8b15-ca5b72fc165e)

### 3.2 推送到第三方平台 <a href="#id-32-tui-song-dao-di-san-fang-ping-tai" id="id-32-tui-song-dao-di-san-fang-ping-tai"></a>

对于部分推送平台每个细分人群支持直接推送到第三方推送平台

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HNChvc2Zj6ChvShmf%2Fimage.png?alt=media\&token=5422e5d8-82ac-47e1-9580-f1288363b408)

### 3.3 添加到看板 <a href="#id-33-tian-jia-dao-kan-ban" id="id-33-tian-jia-dao-kan-ban"></a>

每个细分人群可以作为指标添加到看板中进行日常监控，在看板中也可以进一步查看分群详情。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HNfwhVp_cYvoWUOsx%2F%E5%88%86%E7%BE%A4%E7%9C%8B%E6%9D%BF.gif?alt=media\&token=f0fa8c6c-ec27-4a45-9c48-844f8693fe37)

### 3.4 导出 <a href="#id-34-dao-chu" id="id-34-dao-chu"></a>

对于以下场景，支持导出分群

* 导入到广告平台发送广告
* 导入到短信平台发送短信
* 导入到邮件系统进行EDM
* 导出后统计、对数等

默认导出用户ID，根据需要支持自行选择导出的字段。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HNq-Hc5O7PwyTzvL5%2Fimage.png?alt=media\&token=8780380d-08b6-4201-91d9-2c2ebf4f43d9)

### 3.5 另存为 <a href="#id-35-ling-cun-wei" id="id-35-ling-cun-wei"></a>

当需要基于当前分群增删改部分条件创建新的条件时，可以选择另存为分群后修改条件再次保存。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HNyCspzg8HAdJo5Kw%2Fimage.png?alt=media\&token=4fa188db-99f4-4d29-b211-f113194d02a6)

### 3.6 在分析模型中对比分析 <a href="#id-36-zai-fen-xi-mo-xing-zhong-dui-bi-fen-xi" id="id-36-zai-fen-xi-mo-xing-zhong-dui-bi-fen-xi"></a>

每个细分人群都可以在任意模型中再次分析。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HO4cbuu07geJ_2qAb%2Fimage.png?alt=media\&token=d59b0a53-269d-47c5-95cc-43487017098f)


# 用户标签

User\_persona

{% hint style="info" %}
用户标签功能为方舟智能画像产品功能，非方舟分析标配功能，如有需求请联系易观。
{% endhint %}

从本质定义上来看**用户标签**是指，关联到用户实体上，标明用户客观属性、目标、行为和观点等的数字标识。每个标签代表着观察用户的一个角度，我们可以通过某个标签去理解用户的归属，也可以通过多个标签的维度从综合的角度去了解用户。也可以说，**用户标签是我们了解用户的角度**，通过不同的用户标签，构建起我们对于用户全面的了解，这也就形成了用户画像。

用户标签功能将从用户行为、业务的角度，将用户在数字触点发生的行为、产生的业务数据进行加工，生成对业务有用、观察用户的标签，基于企业对于业务的实际运营场景将用户标签进行归类管理，则形成企业的标签体系。相对于传统意义的用户标签，我们更侧重于用户动态的行为，标签的加工随着用户行为的变化适时更新，帮助客户捕捉用户每个阶段的动态特征与需求。

## 数据源

用户标签加工使用的数据源为用户行为数据、用户属性数据以及用户在其他业务系统中可转换为user-event模型的数据。具体数据接入请参考[数据接入指南](https://app.gitbook.com/@analysys/s/ark/integration/prepare/@drafts)

## 主要功能

用户标签为企业提供从0到1搭建标签体系及维护管理的功能，支持多级标签体系结构，构建企业标签体系；提供四种自定义加工方式进行可视化的标签的加工；提供维护标签生命周期的管理功能。

{% content-ref url="/pages/-M9HPIryhDgVtTl7JdtV" %}
[标签体系](/features/user/user-profile/tag-management)
{% endcontent-ref %}

{% content-ref url="/pages/-M9HPMhRmiykd2mtAcUw" %}
[标签加工](/features/user/user-profile/tag-customize)
{% endcontent-ref %}

{% content-ref url="/pages/-MSbEl4tjVExiI78LMwT" %}
[标签生命周期管理](/features/user/user-profile/taglifecycle)
{% endcontent-ref %}

{% content-ref url="/pages/-MSbII61-CrZINdhm9lM" %}
[标签体系应用概览](/features/user/user-profile/tagstatics)
{% endcontent-ref %}


# 标签体系

![用户标签功能](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HS18lqXKrSZW1WSaQ%2Fimage.png?alt=media\&token=980e80ac-8dd7-4baa-9d1d-6da1d202a125)

## 1 标签体系

在用户标签中，可以自定义标签体系的结构，以标签树的形式展示、管理具体的标签。

### &#x20; 1.1 新增标签分类

目前标签体系支持最大三级结构，可在标签体系中通过新增分类，任意创建标签分类用于组织不同部门、业务以及用途的标签。创建时可以选择标签分类所在的层级。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HRGq4MsEnjxpnm6bB%2F%E6%96%B0%E5%A2%9E%E6%A0%87%E7%AD%BE%E5%88%86%E7%B1%BB.gif?alt=media\&token=7e4b026a-9e67-441f-ad7b-06ccf62ac222)

### 1.2 编辑标签及分类

对于已经创建的标签分类及标签，可以通过编辑功能随时的调整标签分类、标签的名称及层级。任意移动到指定的层级目录下。支持拖拽的方式调整统一分类级别下标签或分类的显示顺序。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9H5Ly1RpwA0FTAcLuH%2F-M9HS18lqXKrSZW1WSaQ%2Fimage.png?alt=media\&token=980e80ac-8dd7-4baa-9d1d-6da1d202a125)

### 1.3 删除标签及分类

可以直接在标签体系中对标签分类及标签进行删除操作。

{% hint style="info" %}
在执行删除前需要确认该分类下没有标签，在分类存在标签的情况下无法进行删除，需要将分类下标签移除后方能删除该标签分类。
{% endhint %}

![删除标签分类或标签](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9IOYEwp4EHKXAwdDbU%2F%E5%88%A0%E9%99%A4%E6%A0%87%E7%AD%BE.gif?alt=media\&token=e2d13694-3fad-4cef-8539-41246d0f444a)

## 2 标签管理

完成标签体系、标签创建后，可以在标签体系中查询或选择具体的标签进行查看、管理。

### 2.1 标签加工统计

在标签数点击具体的标签，可以查看该标签的历史加工状况，包含每次计算时覆盖的人数以及各标签值之间的占比情况。支持直接选择历史某个标签取值的用户保存为分群。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9XaoNhVTy1u3DuGQB_%2Fimage.png?alt=media\&token=b6aa33bc-b6d7-47b4-88b9-3c6086795b04)

### 2.2 查看标签定义

通过标签详情页可以查看关于标签的具体定义，包含标签名称、说明以及创建人、创建时间、执行状态、加工类型以及更新周期。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9Xc_RCVFMj0DrqaE9F%2Fimage.png?alt=media\&token=19dd0836-551d-48b8-84f3-da396bd93b15)

### 2.3 查看标签规则

点击查看规则，可以查看当前标签的加工规则以及规则的变更历史。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9Xcur0wyF9dTMLimxN%2Fimage.png?alt=media\&token=c407df01-34c4-4a51-a20b-c884bb1aa237)

### 2.4 编辑标签

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9Xd3Ax2NJJIpEfk2fK%2Fimage.png?alt=media\&token=07c14a5d-a1e1-4eb1-b3b4-4db418d85355)

对于有标签编辑权限的用户，选择修改，可以进入标签的编辑页面，修改当前标签的基本配置及加工规则，修改完成进行保存后，会按照新的规则进行加工。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9XdgRnJ1wfWx9AOkYt%2Fimage.png?alt=media\&token=0734e8ed-e656-4e49-8d96-6b741c05c139)

### 2.5 管理标签任务

进入标签任务管理页面，可以管理选择标签的历史加工记录，支持重新计算最近一次的加工任务以及删除历史保存的标签记录。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9Xe1norO2srLx58XrM%2Fimage.png?alt=media\&token=80e5cfd2-db6c-4206-86da-a7de42c7296b)

### 2.6 删除标签

点击删除可以对选中标签进行删除，删除后将清空所有已保存的记录。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9W_0VGUmWctB6fkXea%2F-M9XfBlsYNQiejlWZaIR%2Fimage.png?alt=media\&token=01286032-2de3-44b4-9240-69a323b63fa7)


# 标签加工

通过自定义方式，实现标签加工

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9ISj41RsgYVkiYViLT%2Fimage.png?alt=media\&token=20fb042b-556e-41dc-8e9d-ba3786babe0d)

提供四种可视化的方式帮助企业创建用户标签，具体可根据不同标签的形式和需求选择创建的方式。在选择任意一种方式进行标签创建之前，支持需要配置标签相关的命名、所属分类、计算周期、到期日期、权限、标签说明等基础属性。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbEXQ-zD5FxfYfSzIe%2Fimage.png?alt=media\&token=cd04d150-e81e-45b8-9215-4fef9933ad18)

其中，计算周期支持单次执行和周期执行两种，对于临时性的标签可以保存为单次执行，创建完成后立即开始执行，后续不再进行更新。而周期执行则可以选择执行的周期，支持每日、每周、每月三种周期类型。周期执行标签创建完成后同样会立即进行执行，后续将按照每日、每周一、每月一号凌晨0点开始进行周期执行。

{% hint style="info" %}
周期执行标签将默认保存最近6个月的执行结果
{% endhint %}

## 1 自定义取值标签

当完成标签的基础信息配置之后，进入自定义取值标签的规则配置界面。在此标签创建方式中，用户可以自己指定标签的取值，然后针对每一个取值配置具体的标签规则。当用户满足某一个规则将给用户打上对应的标签值，自定义取值标签的标签值均为字符型。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9JVvzZBY-ZlFDBdcVx%2Fimage.png?alt=media\&token=76131c24-77ff-4009-8b3a-4169efde4a26)

支持通过用户属性、用户行为和已创建的用户分群组合条件进行规则配置，支持多个条件块进行逻辑组合，条件块内各条件之间均为且的关系，条件块之间支持且、或、非的关系。

其中用户属性包含已上报的用户基本属性和已经创建的标签体系，均可作为用户属性条件进行标签计算。

{% hint style="info" %}
当用户同时满足指定的多个标签值条件时，系统默认按照从左到右的顺序，给用户赋予第一个满足的规则的标签值。
{% endhint %}

完成规则配置之后，可点击预览，查看当前时间节点满足条件的用户统计，判断具体标签规则的设置是否符合认知分布，如出现较大的偏差需要进行规则调整重新进行预览。最后点击完成，开始执行标签计算。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9JbQrTCcZ6xjDvI3a1%2Fimage.png?alt=media\&token=c1f8842f-dc30-4810-afca-406360b8bc57)

## 2 指标标签

指标标签，即将用户发生行为的相关指标统计作为标签值。如用户的购买次数、用户母婴产品的购买总金额等等，指标标签的标签值均为数值型。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9JYhY6kJxjjmFKg8t4%2Fimage.png?alt=media\&token=c869929e-2cf8-453c-951f-166c40786dc8)

统计指标标签支持将选定的某一个行为事件的总次数；数值型事件属性的最大值、最小值、平均值、总和、排重数；字符型事件属性排重值作为标签值。

指标标签预览可以按照默认区间、自定义区间以及离散数字的方式展示统计结果。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9Jc0-qQ2A__Ynt1aUR%2Fimage.png?alt=media\&token=e7bfdea9-8ff4-4db4-a073-53a8d62fa640)

## 3 偏好标签

偏好标签则为将用户发生某个事件行为时，出现次数最多的前几个事件属性作为标签值（如购买次数最多的3个商品、登录次数最多的平台）；或将发生该事件时某个数值型属性取值最大、或者最小的几个其他事件属性值作为标签（如购买金额最大的3个商品、支付时间最久的1个商户等）。偏好类标签均以集合类型进行保存。

通过将用户在某些行为发生时的属性特征进行提取，从而展现用户在某些方面的偏好。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9JaVDQUssXrANVCKdF%2Fimage.png?alt=media\&token=7af2c5d4-d6fb-4b52-a276-55334b3bb199)

偏好标签预览将按照拆分分组进行统计，展示每个拆分属性的统计值。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9ILfVv8TDStOtdJuX_%2F-M9JbFZzSvQWctNneoLs%2Fimage.png?alt=media\&token=3f6bc2d7-3de0-45e7-b3ff-423a61e68d7f)

## 4 SQL自定义标签

除以上三类标签自定义加工方式之外，系统提供自定义SQL脚本的形式进行标签加工。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9WBXgtDNBL-Xlo9uy6%2F-M9WCPNHo7RU6rzboNr4%2Fimage.png?alt=media\&token=2541dc72-e48c-4d56-a1ba-dd358ca637db)

### 标签值类型

在创建sql标签时，首先需要选择通过sql查询返回的标签值类型。当前支持返回字符、数值、集合、时间四种类型。

| 数据类型 | JSON类型   | 说明                                                                             | 示例                        |
| ---- | -------- | ------------------------------------------------------------------------------ | ------------------------- |
| 字符   | string   | 使用UTF-8编码后最大长度1024字节                                                           | "智能画像"                    |
| 数值   | number   | -9E14到9E14, 小数点后最多保留3位                                                         | 123 或者123.12              |
| 日期   | datetime | 格式：yyyy-MM-dd HH:mm:ss.SSS 或yyyy-MM-dd HH:mm:ss 或yyyy-mm-dd                    | "2018-06-18 18:18:18.188" |
| 集合   | array    | 元素为字符串，去重后最大元素个数 100，其中每个元素使用 UTF-8 编码后最大长度 255字节；是去重的无序的字符串集合，输入可有重复，导入过程中会去重 | \[ "写作","摄影","烹饪" ]       |

选择指定的标签类型后，在SQL编辑框内完成计算SQL，然后点击预览查看标签计算情况，最后保存为标签即可。

有关自定义SQL标签的详细介绍及应用样例请参考《[如何自定义SQL创建标签](/features/user/user-profile/tag-customize/sql-customize)》。


# 如何自定义SQL创建标签

## 数据源

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M9WBXgtDNBL-Xlo9uy6%2F-M9WWErJ8DoVnwxs3gZk%2Fimage.png?alt=media\&token=3ddb2b32-51f9-40cb-a922-e5f770731570)

在系统通过SQL创建标签，可以使用的数据源主要有事件行为表、用户属性表以及标签表。其中标签表根据创建的标签数量不同，存在多张表的可能，表名按照smarttag\_开头，后跟数字。有关事件行为和用户属性的详细介绍，请参考《[数据模型](broken://pages/-LaQ9Kg8oIMETNeHa-yI)》、《[数据格式](/integration/prepare/data-type)》。

| 表名称          | 说明         | 关联字段              |
| ------------ | ---------- | ----------------- |
| event\_vd    | 存储用户事件行为数据 | xwho,distinct\_id |
| profile\_vd  | 存储用户属性数据   | xwho,distinct\_id |
| smarttag\_\* | 存储用户标签数据   | xwho,distinct\_id |

## 查询结果格式 &#x20;

在使用自定义SQL进行标签加工时，需注意遵从如下的格式返回查询数据。

{% hint style="info" %}
查询仅支持返回三列数据，请按照**xwho,distinct\_id和所需返回的标签值**顺序返回查询结果。

xwho为用户id，在用户未登录的情况下，xwho 会是一个方舟匿名生成的 ID，在已登录的情况下的，xwho 应及时被客户自己业务系统的ID所改写。

distinct\_id为方舟的唯一ID，与xwho一一对应，在计算时会使用这个ID。
{% endhint %}

{% tabs %}
{% tab title="字符" %}

```sql
/*加工字符型标签*/
SELECT xwho,distinct_id,USER_SEX AS VALUE 
FROM profile_vd
WHERE ds=20200501 
```

**USER\_SEX**即为查询返回的字符型标签
{% endtab %}

{% tab title="数值" %}

```sql
/*
加工数值型标签
统计3月份用户发生某个事件的次数作为标签
*/
SELECT xwho,distinct_id,COUNT(*) AS VALUE 
FROM event_vd
WHERE xwhat='事件名称'
AND ds between 20200301 and 20200331
GROUP BY
xwho,distinct_id
```

{% endtab %}

{% tab title="集合" %}

```sql
/*
加工集合类型标签
用户购买次数最多的3个商品
*/
SELECT xwho,distinct_id, array_agg(productdel) AS value
FROM 
(SELECT xwho,distinct_id, product,RANK() 
OVER (PARTITION BY distinct_id ORDER BY ct DESC) AS rank 
FROM 
(SELECT xwho,distinct_id,product,COUNT(*) AS ct 
FROM event_vd 
WHERE 
xwhat='buy' /*事件名称*/
GROUP BY xwho,distinct_id,product /*事件属性-商品名称*/ 
)a 
)b 
WHERE 
rank <=3 /*指定取次数最多的多少个商品作为标签*/
GROUP BY xwho,distinct_id
```

{% endtab %}

{% tab title="时间" %}

```sql
/*
加工时间类型标签
用户最后购买时间
*/
SELECT xwho,distinct_id,max(xwhen)/*xwhen为方舟事件数据模型的预置字段，保存事件发生时间*/
AS VALUE
FROM event_vd
WHERE xwhat='buy'
AND ds BETWEEN 20200301 AND 20200330
GROUP BY 
xwho,distinct_id
```

{% endtab %}
{% endtabs %}

## 动态时间范围

在之前的介绍中我们介绍到可以配置标签的更新周期，每天、每周、每月定期执行标签加工。在实际的加工过程中，会遇到需要每次加工计算前多少日、上月、当月等等动态时间范围的标签，这里将主要介绍如何在SQL中定义动态时间。

```sql
/*
使用动态时间范围创建标签
最近30天用户启动次数
*/
SELECT xwho,distinct_id,count(*) as value 
FROM event_vd 
WHERE xwhat='$startup' 
AND from_unixtime(xwhen/1000) /*事件发生时间，xwhen为时间戳*/
BETWEEN now()-interval '30' day /*统计事件的时间范围，当前时间到30天前*/
AND now()/*当前时间*/
GROUP BY xwho,distinct_id
```

标签的默认加工时间在每日或指定周期的0点开始，因此now()代表了执行当日的时间，但由于是在0时开始执行，所以基本不会包含当日的数据，可以认为实际统计的日期在执行的上一日到前30日的时间范围。通过指定interval后的数值，可以计算如：

近1日：  BETWEEN now()- interval '1' day and now()

近7日：  BETWEEN now()- interval '7' day and now()

近30日：BETWEEN now()- interval '30' day and now()

&#x20;易观方舟使用的查询引擎是presto ，关于presto的Date和Time类型的函数可以参考presto的官方文档：<https://prestodb.github.io/docs/0.201/functions/datetime.html>

## SQL标签示例

### 1 将用户属性表属性作为标签

加工标签时，有时需要将上传至用户属性表的属性纳入标签体系，这时候通过SQL可以直接查询属性表，指定需要保存为标签的属性进行加工。

```sql
SELECT xwho,distinct_id,user_level AS VALUE
FROM profile_vd /*用户属性表*/

/*user_level为属性表中的用户等级字段*/
```

{% hint style="info" %}
将用户属性作为标签保存的好处在于，标签表会保存标签的历史数据，如以上的user\_level，在用户表中我们只能保存用户当前的user\_level状态，如果我们想要去查询用户一个月前的用户等级通过属性表是无法回溯的，而在标签中可以回溯，甚至我们对比历史和当前的状态，选择用户级别发生明显变化的用户群出来。
{% endhint %}

### 2 首次访问距当前天数

```sql
SELECT xwho,distinct_id,
DATE_DIFF('day',from_unixtime("$first_visit_time"/1000),now())
AS VALUE
FFRFROM
FROM profile_vd
/*
$first_visit_time为用户属性表首次访问时间
DATE_DIFF函数计算起始时间的间隔天数
*/
```

### 3 最后购买距当前天数

```sql
SELECT xwho,distinct_id,
DATE_DIFF('day',from_unixtime(lastbuy/1000),now())
AS VALUE
FROM
(
SELECT xwho,distinct_id,MAX(xwhen) as lastbuy
FROM event_vd
WHERE xwhat='buy'
GROUP BY xwho,distinct_id
) a

/*
xwhat指定购买行为，取购买行为的最大日期作为最后购买时间
通过DATE_DIFF函数计算最后购买时间到当前的间隔天数作为标签
*/
```

### 4 RFM用户价值标签

在常用的用户分层标签中，RFM价值模型应用最为广泛，该模型通过三个基本的指标（最后购买时间距当前天数、购买次数、购买总金额）对用户进行分段。

```sql
SELECT xwho,distinct_id,
CASE 
/*4. 按照每个用户rfm三项的得分给用户做分层*/
WHEN r=1 and f=1 and m=1 THEN '重要价值客户'
WHEN r=0 and f=1 and m=1 THEN '重要保持客户'
WHEN r=0 and f=0 and m=1 THEN '重要挽留客户'
WHEN r=1 and f=0 and m=1 THEN '重要发展客户'
WHEN r=1 and f=1 and m=0 THEN '一般价值客户'
WHEN r=1 and f=0 and m=0 THEN '一般发展客户'
WHEN r=0 and f=1 and m=0 THEN '一般保持客户'
WHEN r=0 and f=0 and m=0 THEN '一般挽留客户'
END AS VALUE
FROM
(
SELECT xwho,distinct_id,
/*3. 每个用户的得分比上平均分，大于平均则为1，否则为0*/
CASE WHEN r/avg_r>1 THEN 1 ELSE 0 END AS r,
CASE WHEN f/avg_f>1 THEN 1 ELSE 0 END AS f,
CASE WHEN m/avg_m>1 THEN 1 ELSE 0 END AS m 
FROM
(
 Ss select a.xwho as xwho,a.distinct_id as distinct_id,
a.r as r,a.f as f,a.m as m,
/*2. 求分段后每个指标的平均分数*/
avg(a.r) over() as avg_r,
avg(a.f) over() as avg_f,
avg(a.m) over() as avg_m
FROM
(
SELECT xwho,distinct_id,tag_152,tag_148,tag_149,
Ceiling(percent_rank() over (order by tag_152 desc)/0.2) as r,
/*1. 此处0.2为按照20%的比例将指标切分为5段，并赋值1-5*/
Ceiling(percent_rank() over (order by tag_148)/0.2) as f,

ceiling(percent_rank() over (order by tag_149)/0.2) as m

FROM smarttag_1 
where ds=20200604
)a
)b
)c
/*
计算此标签可预先将rfm三项分别保存为标签再进行计算，
此处tag_152,tag_148,tag_149分别对应了最后购买距今天数、购买次数和购买总金额
*/
```

### 5 首末次行为

将用户首次或最后一次发生某个行为的事件属性作为标签，如首次购买金额、最后访问平台等

```sql
/*最后访问平台*/
SELECT a.xwho,a.distinct_id,a.platform AS VALUE
FROM event_vd 
a
INNER JOIN
(
SELECT xwho,distinct_id,max(xwhen) as t
FROM event_vd
WHERE xwhat='$startup'
GROUP BY xwho,distinct_id
) b
ON a.xwho=b.xwho and a.distinct_id=b.distinct_id and a.xwhen=b.t

/*可通过调整max为min计算首次访问的平台名称作为标签*/
```

### 6 最近30天访问天数

```sql
SELECT xwho, distinct_id, 
COUNT(DISTINCT format_datetime(from_unixtime(xwhen/1000),'yyyyMMdd')) AS VALUE 
FROM event_vd 
WHERE 
xwhat='$startup' and
from_unixtime(xwhen/1000) between now()-interval '30' day and now() 
GROUP BY xwho,distinct_id

/*
可替换xwhat指定需要统计的事件名称
可替换指定需要统计的时间周期
可调整时间格式，统计访问的月数、周数、小时数等
*/
```


# 标签生命周期管理

标签生命周期管理功能支持批量对系统内的标签进行移动、上线、下线、生效、失效、删除的操作，帮助管理标签的生命周期。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbFnAILiLQvfJqw3MX%2Fimage.png?alt=media\&token=db2c2ab6-9f41-41ea-9667-ac86d4ba8c24)

## 功能说明

点击标签体系管理，进入标签生命周期管理页面。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbGA4jvfzA-QLZxUAC%2Fimage.png?alt=media\&token=3355f6b9-0547-474e-a858-14b5b31c33b3)

系统支持按照不同维度的分组条件对可见的标签进行分组显示，支持指定具体的过滤条件筛选指定条件的标签。分组及筛选条件支持按照标签的创建人、各级分类名称、上线状态、加工类型、执行状态、是否生效等进行分组或筛选。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbGcNPyXJqQZuqLuu8%2Fimage.png?alt=media\&token=d0e90552-065f-4d19-a1e2-c656247c665f)

支持选择单个或多个标签，对选定的标签进行生命周期的维护。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbHFa1ybFKn6pU7S0N%2Fimage.png?alt=media\&token=b1fc709f-f7d7-43c2-a905-2e2ad5752e36)

移动：可调整选定标签的所属分类

上线：对选定的标签执行上线操作，仅对周期更新标签有效，上线后标签将按照预设的周期进行更新。

下线：对选定的标签执行下线操作，仅对周期更新标签有效，下线后标签将停止更新。

生效：选择生效操作后，生效的标签将可以在分群、分析、探查等功能中可以被用户直接使用。

失效：选择失效操作后，失效的标签将无法在各应用场景使用，标签体系结构移除该标签。

删除：删除操作后，标签将被执行物理删除，删除该标签周期任务及所有历史结果。


# 标签体系应用概览

标签体系应用概览提供系统标签体系的标签数量变化、标签维护记录、标签应用统计等指标，帮助标签管理部门评估标签资产、维护、应用情况，及时对无有效应用的标签进行删除、下线处理，降低资源的消耗。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbIwrfygjqjqqyOc0V%2Fimage.png?alt=media\&token=0aace8cd-b566-4592-a9a0-a2a7f37aa259)

## 功能说明

点击标签体系，进入标签体系应用概览页面。标签体系应用概览支持查看标签体系每日标签统计、标签维护统计、标签应用统计等多类统计指标。

标签统指标可展示标签体系每日的标签数量，支持按照分组条件和过滤条件进行分组、过滤展示。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbJP2XZNUr8WNHrrOH%2Fimage.png?alt=media\&token=8bf7dce2-f034-4dbe-a494-4827ce19b647)

标签维护统计支持统计标签体系的维护状况，如每日维护的标签数、维护次数、维护人数指标。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbK1ucIncrfELUWaXe%2Fimage.png?alt=media\&token=f016b250-3491-4f26-95b2-4e157ab55cac)

标签应用统计支持统计标签体系在指定时间周期内的应用情况，现支持统计的应用场景为系统在分群、探查、导出、分析、二次标签加工使用标签的次数。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSbDcHNqIS8MQr_fpO5%2F-MSbKQ1_yZls_Jdt79pD%2Fimage.png?alt=media\&token=bcfa6926-6fce-4e1c-ba77-81c21407e3f3)

系统支持下载指定指标的统计结果。


# 单用户档案

除了从整体了解分群的用户画像之外，进一步细察每一个用户，了解用户真实的访问足迹，对于发现产品关键流程中潜在问题、维护重要用户关系等具有重要意义。

## 功能说明

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808112217419664.gif)

### 1. 单用户属性

页面右侧展示单个用户的属性，其中包含部分预置的属性，例如：使用的平台、首次访问时间等；除此之外，用户类型、用户等级、地理位置等等都可以自定义上传。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808112328408834.png)

### 2. 单用户行为统计

展示用户在一段时间里的活跃趋势和活跃行为。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808112356122881.png)

A. 时间范围，默认近30日，支持自定义事件区间

B. 统计方法

* 趋势
* 分布

C. 细分事件，支持选择全部事件或者部分事件

D. 图表展示区

**趋势分析**

支持选择具体事件，观察用户在某些行为上的活跃度；

支持按时间粒度：日、周、月细分查看。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120008567957.png)

**分布分析**

分析一段时间里 TOP 10 活跃的事件。

> 触发次数：触发某事件的次数 占比：触发某事件的次数 / 触发所有事件的总次数

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120019101761.png)

### 3. 单用户行为序列

支持根据时间范围选择查看单用户的行为序列，默认近30日，最多展示时间范围里最新的50条行为，按时间倒序排列；每条事件可以查看该事件发生的平台属性，点开可展开更多事件属性，包括自定义属性和通用属性：

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120027023634.gif)

打开定位到指定事件时，可以选择某个事件，仅元事件，不包括虚拟事件；选择后立即生效，下方行为序列突出所选事件， 折叠前后行为，点击可以查看。

例如，某电商 APP 的关键转化路径是：启动 - 浏览商品详情页 - 加入购物车 - 提交订单 - 支付订单，其中在提交订单 - 支付订单的时候有大量流失用户，这时候可以下钻查看流失用户列表，再选择其中部分用户抽样查看用户行为路径，定位到提交订单事件，查看用户提交订单之后，又发生了哪些行为。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808120058141990.gif)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 运营

分析的最终目的是为了落地，运营模块会集中常用的运营触达工具，帮助运营、市场人员在合适的时间把合适的内容通过合适的方式推送给合适的人群，来实现促活、召回，同时提升用户对产品的体验。

包括以下工具：

* [消息通知](/features/operation/pushmessage)
* 应用内消息（研发中）
* [电子邮件](/features/operation/email)
* [短信](/features/operation/sms)
* [广告跟踪](/features/operation/utm)

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171130512721.jpg)

对于消息通知、电子邮件、短信等内容推送，易观方舟本身不直接去做推送，而是通过集成第三方推送服务商来进行。

方舟优势在于将圈定目标群体，编辑推送内容，加入监测方式，通过第三方服务商发送这个业务流程一站式完成，将用户行为分析的过程和触达过程有效结合，完成闭环分析，同时不打破企业使用既有推送服务使用习惯。

目前方舟集成的服务商如下：

* [消息通知](/features/operation/pushmessage)
  * 极光推送
  * 个推
  * 百度推送
  * 小米推送
  * 华为推送
* [电子邮件](/features/operation/email)
  * SendCloud
* [短信](/features/operation/sms)
  * 乐信通
  * 腾讯云短信
  * 云集
  * 领驭

更多服务商，持续接入中……

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 电子邮件

EDM 是运营人员常用的一种营销方式，在合适的时间针对不同的用户发送不同的内容，传递企业产品的价值，用于促活、增加粘性。

## 使用前准备

邮件适用于所有有帐号体系的平台，需要准备如下：

### 1. 集成方舟 SDK

发送邮件时需要用户的邮箱，所以需要通过方舟SDK 设置获取用户邮箱

具体方法详见：

* Android 应用：《[Android SDK 使用说明](/integration/sdk/android)》中 *3.2.3 用户属性设置* 部分
* iOS 应用：《[iOS SDK 使用说明](/integration/sdk/ios)》中 *3.2.3 用户属性设置* 部分
* Web/H5 应用：《[JS SDK使用说明](/integration/sdk/js/js)》中 *3.2.3 用户属性设置* 部分
* 小程序：《[小程序SDK 使用说明](/integration/sdk/wx)》中 *3.2.3 用户属性设置* 部分

### 2. 在方舟中选择电子邮件服务商进行服务集成配置

{% content-ref url="/pages/-LaQ9KihmHV98kAnlzkU" %}
[服务集成配置](/features/project-manegement/integrations)
{% endcontent-ref %}

## 功能说明

移入导航 **运营** 模块，选择进入 **电子邮件** 页面

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171921431396.jpg)

点击右上角 **立即创建**，进入创建页面

### 1. 创建电子邮件

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171940333112.jpg)

**A. 消息名称**

用户自定义， 用于标识推送活动，e.g. 618 老用户促销通知，支持根据消息名称查看的推送效果转化

**B. 目标用户**

支持从下拉框中选择已圈定好的目标分群

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171607599092.jpg)

对于选定的分群支持显示有效用户数，因为发送邮件需要用户邮箱地址，所以圈定的目标分群中若包含没有邮箱的用户，在推送时将进行过滤

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171953279655.jpg" alt=" "></div>

**C. 推送内容**

包括四项：

* 发件人邮箱（必填）
* 发件人姓名，指收件人可见的发件人名称
* 回复邮箱，指收件人可见的回复邮箱
* 邮件标题（必填），指收件人看到的的邮件标题

**D. 选择模板编辑邮件正文**

创建邮件内容时，可以从空白模板中直接创建内容，也可以从预置的模板或者是自定义模板当中选择进入编辑

方舟推送邮件的特点：

* 邮件同样支持富文本编辑，可以插入个性化属性，同消息通知
* 对于邮件当中的链接，方舟会自动增加添加监测参数，用于后续分析。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172001511421.jpg)

系统预置了三个常用样式的模板，也支持自定义。对于常用的模式化的内容，可以编辑模板管理进入创建新的模板，便于后续复用。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171959593247.jpg)

**E. 推送设置**

E1. 推送通道

使用之前，需要进行推送配置接入邮件服务商。目前方舟预置了Sendcloud，如有需要可以自定义或者联系我们增加

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171719147971.jpg" alt=" "></div>

E2. 推送时间

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808101745487832.png" alt=" "></div>

有立即推送、定时推送和周期性推送三种

* **立即推送**，确认发送即时生效
* **定时推送**，可设定日期、时间准时发送
* **周期性推送**，以日/周/月的周期重复发送，可以设置开始和结束时间

**F. 目标设置**

可设置转化目标和转化周期

* **转化目标**，设置一个行为，衡量推送消息的结果
* **转化周期**，以天为周期

**G. 草稿、发送**

编辑好的内容点击确认推送，即可开始的推送；也可以存为草稿。

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808101759154861.png" alt=" "></div>

### 2. 推送消息列表

所有已创建的消息会显示在列表中

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111109144088.png)

列表当中会包含以下状态的消息：

&#x20;![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172217519929.png)

* **待推送**：设置了定时或者周期性推送消息，且没有到达相应时间是，消息为待推送状态
* **推送中**：正在推送当中的消息
* **推送成功**：推送完成的消息
* **推送失败**：因为通道错误、接口错误等导致的推送失败
* **停止推送**：对于定时或者周期性消息，在推送前点击停止推送的消息
* **草稿**：还没有确认推送的草稿

支持操作包括：

A. 通过关键字快速搜索

B. 通过时间段过滤

C. 编辑草稿消息

D. 删除消息

E. 另存为

F. 停止推送（仅支持停止未开始推送的定时或者周期性消息）

G. 查看发送效果

### 3. 效果分析

每一次邮件推送都是一次活动，可以在消息详情中，查看达到效果

* 目标用户：指圈定的用户数量
* 发送用户：指实际发送成功的用户（仅有邮箱的用户可发送成功）
* 到达用户：指实际到达的用户（仅邮箱有效的用户可发送到达）

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172012317000.jpg)

在不同的分析模型中查看其最终的转化效果

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808111113206299.png)

## 常见问题

### **Q1. 易观方舟负责推送吗？到达率在什么水平？**

易观方舟关注的是如何将第三方的推送服务和方舟的分析结合，使得分析得以通过触达落地，从中起到的是连接作用。您可以在方舟中创建推送的内容，但是推送消息本身通过第三方的推送平台来实现，到达率也取决于各个推送平台。

### **Q2. 是否还需要单独购买第三方服务？**

取决于第三方推送平台是否收费。若其免费，则需在第三方推送服务平台上注册账号、添加应用，获取相应的AppKey等，集成推送SDK，并在方舟的 **管理-推送配置** 中完成绑定。

### **Q3. 支持同时使用多家推送服务？**

目前支持多家服务融合使用。

### **Q4. 电子邮件的效果是怎么监测的？**

若邮件中包含链接的话，我们会在其中的链接上自动加上UTM参数：

* utm\_campaign = 创建时添加的消息名称
* utm\_medium = 电子邮件
* utm\_source = SendCloud等推送通道名称
* utm\_content = 邮件标题 &#x20;
* utm\_term = 空

这样用户收到邮件，点击其中的链接时，我们就可以根据其中的参数来识别，他是从那封邮件当中点击进入到网站页面。

当然，前提是其中引导进入的页面也集成了易观方舟的SDK。

### **Q5. 正在使用的推送服务没有出现在支持列表中，怎么办？**

请致电 **4006-010-231** 与我们联系。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 短信

短信也是运营人员常用的一种营销方式，在合适的时间针对不同的用户发送不同的内容，传递企业产品的价值，用于促活、增加粘性。

## 使用前准备

短信适用于所有有帐号体系的平台，需要准备如下：

### 1. 集成方舟 SDK

发送短信时需要用户手机号，所以需要通过方舟SDK 上报用户手机号

### 2. 在方舟中选择短信服务商进行服务集成配置

{% content-ref url="/pages/-LaQ9KihmHV98kAnlzkU" %}
[服务集成配置](/features/project-manegement/integrations)
{% endcontent-ref %}

{% hint style="info" %}
配置的过程中，需要选择上报为手机号的字段
{% endhint %}

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172147142005.jpg)

## 功能说明

移入导航 **运营** 模块，选择进入 **短信** 页面

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172148433807.jpg)

点击右上角 **立即创建**，进入创建页面

### 1. 创建短信

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172154432490.png)

**A. 消息名称**

用户自定义， 用于标识推送活动。

**B. 目标用户**

支持从下拉框中选择已圈定好的目标分群。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171607599092.jpg)

对于选定的分群支持显示有效用户数，因为发送短信需要手机号，所以圈定的目标分群中若包含没有手机号的用户，在推送时将进行过滤。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172156117531.png)

**C. 发送通道**

使用之前，需要进行推送配置接入短信服务商。目前方舟预置了乐信通，如有需要可以自定义或者联系我们增加

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901181611231250.png" alt=" "></div>

**D. 发送短信**

运营商规定，短信需经过审核通过后方可发送，所以发送短信前需要先创建审核通过的短信模型。

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901181017035536.png" alt=" "></div>

方舟支持从各短信通道同步短信模板及其审核状态，但对于部分通道，比如乐信通不支持相应API，如需使用，需要手动从短信平台上复制粘贴到方舟当中进行模板配置。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172208467312.gif)

发送时直接选择模板

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172159484446.png)

**E. 推送时间**

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808101745487832.png" alt=" "></div>

有立即推送、定时推送和周期性推送三种

* **立即推送**，确认发送即时生效
* **定时推送**，可设定日期、时间准时发送
* **周期性推送**，以日/周/月的周期重复发送，可以设置开始和结束时间

**G. 草稿、发送**

编辑好的内容点击确认推送，即可开始的推送；也可以存为草稿。

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808101759154861.png" alt=" "></div>

### 2. 短信消息列表

所有已创建的消息会显示在列表中

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172213044964.png)

列表当中会包含以下状态的消息：

&#x20;![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172217519929.png)

* **待推送**：设置了定时或者周期性推送消息，且没有到达相应时间是，消息为待推送状态
* **推送中**：正在推送当中的消息
* **推送成功**：推送完成的消息
* **推送失败**：因为通道错误、接口错误等导致的推送失败
* **停止推送**：对于定时或者周期性消息，在推送前点击停止推送的消息
* **草稿**：还没有确认推送的草稿

支持操作包括：

A. 通过关键字快速搜索

B. 通过时间段过滤

C. 编辑草稿消息

D. 删除消息

E. 另存为

F. 停止推送（仅支持停止未开始推送的定时或者周期性消息）

G. 查看发送效果

### 3. 效果分析

发信的实际发送情况，可以从列表中进入查看，主要指标：

* 目标用户：只圈定的用户群
* 有效用户：其中有手机号的用户
* 发送成功用户：短信通道发送成功的用户
* 接收成功用户：电信运营商返回接收成功的用户

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172214135028.png)

## 常见问题

### **Q1. 易观方舟负责推送吗？到达率在什么水平？**

易观方舟关注的是如何将第三方的推送服务和方舟的分析结合，使得分析得以通过触达落地，从中起到的是连接作用。您可以在方舟中创建推送的内容，但是推送消息本身通过第三方的推送平台来实现，到达率也取决于各个推送平台。

### **Q2. 是否还需要单独购买第三方服务？**

取决于第三方推送平台是否收费。若其免费，则需在第三方推送服务平台上注册账号、添加应用，获取相应的AppKey等，集成推送SDK，并在方舟的 **管理-推送配置** 中完成绑定。

### **Q3. 支持同时使用多家推送服务？**

目前支持多家服务融合使用。

### **Q4. 短信的效果是怎么监测的？**

目前只能监测到以下四个指标，若短信中带有链接，其点击情况的追踪，目前还在开发中。

* 目标用户：只圈定的用户群
* 有效用户：其中有手机号的用户
* 发送成功用户：短信通道发送成功的用户
* 接收成功用户：电信运营商返回接收成功的用户

### **Q5. 正在使用的推送服务没有出现在支持列表中，怎么办？**

请致电 **4006-010-231** 与我们联系。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 消息通知

消息通知是运营人员对APP用户主动推送的消息，出现在设备锁定屏幕、通知中心、横幅中，用户点击后可以唤醒APP或者进入到相应页面，达到促活、增加使用粘性的运营目的。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171426191163.jpeg)

常见的消息通知有：

* **功能类的通知消息**：基于用户在APP上的行为触发推送，例如下单通知、收到红包、被评论、被关注等；
* **内容类的资讯消息**：基于用户的浏览、收藏、关注等行为进行个性化的内容推荐，例如今日头条推送新闻、爱奇艺推送视频等；
* **营销类的活动消息**：基于节假日、用户场景等进行的促销、福利等，例如天猫双十一活动、进入某个商圈的优惠券等等

  ……

无论是哪种类型的通知，只有进行精细化的推送，即在合适的时候给合适的人群推送合适的内容，才能在不打扰用户、给用户带来价值的同时，有效延伸产品价值。

易观方舟支持分析、分群、触达、分析效果一站式的工具，提升精细化推送的效率和效果。

## 使用前准备

消息通知目前适用于 Android 和 iOS 应用，需要准备如下：

### 1. 在推送平台注册帐号，并集成相应 SDK

若您之前已经在使用相关推送平台，则跳过该步骤；

### 2. 集成方舟 SDK

集成后在 App 初始化过程中获取设备推送 ID，并保存在方舟分析的用户信息中

具体方法详见：

* Android应用：《Android SDK 使用说明》中 [*5 消息推送*](/integration/sdk/android#xiao-xi-tui-song-sdk-jie-kou)  部分
* iOS应用：《iOS SDK 使用说明》中 [*5 消息推送*](/integration/sdk/ios#xiao-xi-tui-song-sdk-jie-kou-jie-shao)  部分

### 3. 在方舟中选择消息通知服务商进行服务集成配置

{% content-ref url="/pages/-LaQ9KihmHV98kAnlzkU" %}
[服务集成配置](/features/project-manegement/integrations)
{% endcontent-ref %}

## 功能说明

移入导航 **运营** 模块，选择进入 **消息通知** 页面

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171548258977.jpg)

点击右上角 **立即创建**，进入创建页面

### 1. 创建推送消息

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171559090334.jpg)

**A. 消息名称**

用户自定义， 用于标识推送活动，e.g. 618 老用户促销通知，支持根据消息名称查看的推送效果转化

**B. 目标用户**

支持从下拉框中选择已圈定好的目标分群

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171607599092.jpg)

对于选定的分群支持显示各个平台对应用户数，因为易观方舟一个项目支持接入多个平台的数据，但消息通知仅支持移动端，所以若圈定的目标分群中包括Android、iOS之外的用户，在推送时将进行过滤

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171609395878.jpg)

**C. 推送内容**

在 C 区域中输入通知的标题和内容，可以在右侧实时预览效果

支持插入用户属性推送个性化的消息（用户属性需要通过 SDK 上报，详见《[SDK指南](/integration/sdk)》）

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171704504972.png" alt=" "></div>

e.g. 发送消息通知：

> 亲爱的 ${user\_name}，你的蚂蚁花呗会自动还款了，点击查看怎么回事……

如果小明的用户名是xiaoxiaoming，则收到如下通知：

> 亲爱的 xiaoxiaoming，你的蚂蚁花呗会自动还款了，点击查看怎么回事……

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171616258152.jpg" alt=" "></div>

**D. 推送设置**

设置三项内容：

1. 用户点击通知后的行为 &#x20;
2. 推送通道 &#x20;
3. 推送时间&#x20;

**D1. 用户点击通知后的行为**

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808101744187304.png)

* **应用**，用户点击消息后直接打开应用
* **应用内页面**，用户点击消息后跳转到应用内页面，要填写完整包名和 activity 名字。e.g.com.fangzhou.MainActivity
* **URL**，要填写以 http 或 https 开头的 URL。e.g.<https://ark.analysys.cn>

{% hint style="info" %}
设置点击后应用内页面时，需要的开发做好集成准备，详见&#x20;

[《Android SDK 集成指南 - 消息推送 SDK 接口》](https://docs.analysys.cn/ark/integration/sdk/sdk-android#xiao-xi-tui-song-sdk-jie-kou)

[《iOS SDK 集成指南 - 消息推送 SDK 接口》](https://docs.analysys.cn/ark/integration/sdk/sdk-ios#xiao-xi-tui-song-sdk-jie-kou-jie-shao)

使用时注意：

1. 若打开的是 H5 页面，直接填写页面 URL 即可
2. 若打开的是原生页面，需填写完整包名和 activity 名字（运营同学可以联系内部开发获取）
   {% endhint %}

**D2. 推送通道**

目前方舟预置了五个推送通道：极光推送、个推、百度推送、小米推送、华为推送，如有需要可以自定义或者联系我们增加

在使用之前，需要先通过服务配置（如何配置请阅读[《服务集成配置》](https://docs.analysys.cn/ark/features/project-manegement/integrations)），只有配置好相应通道，才可以使用

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M-NY97CccPJ5o5w6ul4%2F-M-N_m0Dsgh9r29uu3bE%2Fimage.png?alt=media\&token=b33b0097-9d90-43b3-aba2-6ee2c4364dec)

{% hint style="warning" %}
极光推送 iOS 推送官网要求选择生产环境还是开发环境，且只有当相应的环境在极光中完成 APNS 证书文件的验证时才可推送成功

程序员哥哥们务必注意在极光推送设置中完成生产环境和测试环境 APNS 证书文件的验证（如果你是产品/运营，请提醒他们）

在实际推送时，方舟默认会选择推送至生产环境，也支持切换至开发环境，用于联调阶段测试。
{% endhint %}

**D3. 推送时间**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M-NY97CccPJ5o5w6ul4%2F-M-N_tYGICaoFMQeV_CU%2Fimage.png?alt=media\&token=9c304efe-cb74-469b-aea7-a5dca1688994)

有立即推送、定时推送和周期性推送三种

* **立即推送**，确认发送即时生效
* **定时推送**，可设定日期、时间准时发送
* **周期性推送**，以日/周/月的周期重复发送，可以设置开始和结束时间

**E. 目标设置**

可设置转化目标和转化周期

* **转化目标**，设置一个行为，衡量推送消息的结果
* **转化周期**，以天为周期

**F. 草稿、发送**

编辑好的内容点击确认推送，即可开始的推送；也可以存为草稿。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M-NY97CccPJ5o5w6ul4%2F-M-NdO-x5S3GXxpnaITd%2Fimage.png?alt=media&amp;token=72f5f389-3e13-43a5-bdc2-59410f328bf8" alt=""></div>

### 2. 消息通知列表

所有已创建的消息会显示在列表中

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171805297050.png)

列表当中会包含以下状态的消息：&#x20;

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M-NY97CccPJ5o5w6ul4%2F-M-Nd_1KewoyCeggWrSM%2Fimage.png?alt=media&amp;token=709b5286-1e4b-4619-b3db-4f5ed4c7211b" alt=""></div>

* **待推送**：设置了定时或者周期性推送消息，且没有到达相应时间是，消息为待推送状态
* **推送中**：正在推送当中的消息
* **推送成功**：推送完成的消息
* **推送失败**：因为通道错误、接口错误等导致的推送失败
* **停止推送**：对于定时或者周期性消息，在推送前点击停止推送的消息
* **草稿**：还没有确认推送的草稿

支持操作包括：

A. 通过关键字快速搜索

B. 通过时间段过滤

C. 编辑草稿消息

D. 删除消息

E. 另存为

F. 停止推送（仅支持停止未开始推送的定时或者周期性消息）

G. 查看发送效果

### 3. 效果分析

每一次消息通知可以查看推送效果，包括指标：

* 目标用户：指圈定的用户数量
* 发送用户：指实际发送成功的用户数（仅Android、iOS用户可发送）
* 到达用户：指实际到达的用户（触发了 $push\_receiver\_success 事件）
* 点击用户：指点击消息通知的用户（触发了 $push\_click 事件）
* 转化用户：指通过消息通知进入之后触发了指定事件的用户

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171836032749.jpg)

也支持在不同的分析模型中，分析其转化或者留存效果

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901171841197698.png)

## 常见问题

### **Q1. 易观方舟负责推送吗？到达率在什么水平？**

易观方舟关注的是如何将第三方的推送服务和方舟的分析结合，使得分析得以通过触达落地，从中起到的是连接作用。您可以在方舟中创建推送的内容，但是推送消息本身通过第三方的推送平台来实现，到达率也取决于各个推送平台。

### **Q2. 是否还需要单独购买第三方服务？**

取决于第三方推送平台是否收费。若其免费，则需在第三方推送服务平台上注册账号、添加应用，获取相应的AppKey等，集成推送SDK，并在方舟的 **管理-推送配置** 中完成绑定。

### **Q3. 支持同时使用多家推送服务？**

目前支持多家服务融合使用。

### **Q4. 可以接入自建的推送平台吗？怎么操作？**

支持，需要双方沟通开发中间件。

### **Q5. 正在使用的推送服务没有出现在支持列表中，怎么办？**

请致电 **4006-010-231** 与我们联系。

### **Q6. 方舟是如何实现消息通知效果监测的？**

我们会在透传的消息中自动添加如下UTM参数：

* utm\_campaign = 创建时添加的消息名称
* utm\_medium = 消息通知
* utm\_source = 个推、极光等推送通道名称
* utm\_content = 消息标题&#x20;
* utm\_term = 空

这样用户在用户收到通知、点击通知、点击通知后进入APP这些事件上报时，就会带上相应的参数。

### **Q7. 方舟的推送分析和极光等推送平台的的统计功能有何不同？**

推送平台擅长的是消息推送的技术本身，方舟擅长的是用户精细化运营，包括行为分析-细分用户群-第三方数据补充支持决策-运营触达到再次回到分析，触达的手段也不局限于推送消息本身，所以二者有本质的差异。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 广告跟踪

广告跟踪是给要推广的目标页面设置 UTM 参数做标记的工具，在生成带参数的 URL 投放到各个渠道后，当该链接被点击加载时，即可解析相关参数，进而衡量各个营销渠道的效果。

易观方舟支持 H5/Web/APP 的 UTM 参数构建来进行广告跟踪。

## 广告跟踪解决那些问题？

1. 刚上线了网站，在百度SEM、新浪微博、今日头条和微信公众号上都投放了广告，哪个渠道带来的流量多，注册转化率高？
2. 某借贷APP，需要拉新，通过线下地推扫描二维码下载注册，各个区域的转化效果如何？
3. 某次教育网站针对新开发的课程，策划了不同的推广方案，将活动通过朋友圈传播，哪个方案带来的效果更佳？

   ……

## 功能说明

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172040523779.png)

### 1. 创建广告跟踪链接

移入导航 **运营** 模块，选择进入 **广告跟踪** 页面，点击右上角 **立即创建**，进入创建页面，支持单条创建和批量创建

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172043284772.jpg)

#### 1.1 单条创建

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172056044816.jpg)

**A. 输入目标网址**

指要推广的目标页面URL，通常来说是您网站的一个页面，该页面必须集成了方舟JS SDK 监测代码，否则无法获得数据。

**B. 输入UTM参数**

在着陆页上添加参数标记，投放后即可根据这些参数知道相应的来源

| 参数            | 名称    | 举例说明                        |
| ------------- | ----- | --------------------------- |
| utm\_source   | 广告渠道  | 标识广告渠道，e.g. 今日头条，百度，也可自定义   |
| utm\_medium   | 广告媒介  | 标识广告的媒介，具体形式，e.g. cpc，email |
| utm\_campaign | 广告名称  | 标识特定的推广活动，e.g. 双11推广        |
| utm\_content  | 广告内容  | 标识按内容定位的广告，e.g. 使用说明，优惠信息   |
| utm\_term     | 广告关键字 | 标识广告关键字，e.g. 促销，或者付费搜索的关键字  |

对于广告媒介和渠道，方舟预置了一些常用的媒介和渠道，也支持用户自定义

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172058304252.jpg)

> 预置广告媒介和渠道见文末 [《附：预置广告媒介和渠道》](/features/operation/utm#fu-yu-zhi-guang-gao-mei-jie-he-qu-dao) 。

**C. 输入备注**

通常添加的UTM参数会比较简单标注，对于有些活动需要额外说明的，可以增加到备注当中

**D. 生成追踪链接**

点击确认生成后，即可生成带参数的 URL，可以复制该链接投放到相应的广告位置。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172112247653.png)

修改 UTM 参数后，支持在当前页继续生成。

**E. 生成二维码**

生成链接的同时会生成带参数的二维码，用于线下活动、公众号等使用场景。

支持上传 LOGO，当项目上传了 LOGO 时，会默认使用项目LOGO；

支持修改二维码的尺寸，最小 80px ，最大 800px。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172115351087.png)

### 2. 广告跟踪列表

所有已创建的广告跟踪链接会显示在列表中

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172124443622.jpg)

支持操作包括：

A. 通过关键字快速搜索

B. 通过时间段过滤

C. 复制链接

D. 下载二维码

E. 删除无效记录

F. 查看效果链接

### 3. 效果分析

#### 3.1 单条链接的访问

每一条带参数的链接，都可以从列表当中进入查看其访问情况&#x20;

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172139548130.png)

#### 3.2 在分析模型中分析效果

所有通过广告跟踪创建的链接点击进来的流量，可细分到广告来源、广告媒介、广告名称、广告内容和广告关键字维度，在不同的分析模型中分析

示例：

**不同广告跟踪的访问用户数**&#x20;

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172131588219.jpg)

**不同广告来源的转化漏斗**

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901172134249454.png)

## 附：预置广告媒介和渠道

### 附1 预置的广告渠道

| 序号 | 广告渠道      |
| -- | --------- |
| 1  | 微信        |
| 2  | 微博        |
| 3  | 知乎        |
| 4  | 广点通       |
| 5  | 腾讯社交广告    |
| 6  | 今日头条      |
| 7  | 趣头条       |
| 8  | 腾讯新闻      |
| 9  | 新浪新闻      |
| 10 | 内涵段子      |
| 11 | 百思不得姐     |
| 12 | 百度搜索      |
| 13 | 搜狗搜索      |
| 14 | 神马搜索      |
| 15 | UC (汇川)   |
| 16 | 360点睛广告平台 |
| 17 | 腾讯视频      |
| 18 | 搜狐视频      |
| 19 | 优酷视频      |
| 20 | 爱奇艺       |
| 21 | 快手        |
| 22 | 斗鱼TV      |
| 23 | PPTV      |
| 24 | 陌陌        |
| 25 | 美图        |
| 26 | 力美        |
| 27 | 巨掌积分墙     |
| 28 | 多盟        |
| 29 | 品友互动      |
| 30 | 畅思        |
| 31 | 趣米        |
| 32 | 小米亿米      |
| 33 | 网易有道智选    |
| 34 | 艾德思齐      |
| 35 | InMobi    |
| 36 | Admob     |

### 附2 预置的广告媒介

| 序号 | 广告媒介    |
| -- | ------- |
| 1  | SEM     |
| 2  | 品牌搜索    |
| 3  | 知识搜索    |
| 4  | 信息流     |
| 5  | PDB     |
| 6  | DSP     |
| 7  | 网盟      |
| 8  | APP开屏   |
| 9  | Display |
| 10 | EDM     |
| 11 | SMS     |
| 12 | 自媒体     |

## 常见问题

### Q1. 什么是 UTM？

UTM 参数是 Urchin Tracking Module (UTM) 的简称，是 Urchin 公司开发的一个功能模块。2005 年谷歌收购了 Urchin，GA 沿用 UTM 来跟踪创建的活动。现在已经被业界用来统一跟踪流量来源。

### Q2. 添加了 UTM 参数会影响原地址的正常访问吗？

不会，添加的参数会通过问号？与原地址分隔，加上和去掉参数访问的都是同一个地址。

### Q3. 既然能够通过着陆页的来源 Referer 识别出社交网络、搜索引擎等来源， 为什么还需要 UTM 参数？

传统上，我们通过解析 referer 对流量大致分类为：搜索引擎、非搜索引擎的外链以及直接访问，随着社交媒体承载了大量的流量，逐步地，行业中也将社交媒体进行了单独的分类。

对于 referer，我们只能得到来源的页面地址，但对于页面内的具体的点击来源却无法进行跟踪，e.g. 在某信息流中，有大图广告和小图广告，只依靠 referer 来判断的话，无法区分。

同时，有些情况下 referer 会丢失，这样我们就会错误将这些来源归类为直接访问。

因此，为了解决上述问题，借助 UTM 参数标识，我们就可以对流量进行更精准的追踪。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# App 推广监测（Beta）

4.5.0 版本新增，当前为Beta版本

App 推广监测是通过系统生成二维码或链接，将生成带参数的二维码或者链接投放到各个需要推广的地方后，当该二维码被扫描后或链接被点击后跳转到应用商店，进而衡量各个推广活动的投放效果。

## App 推广监测解决那些问题？

1. 公司新开发了一款App，想了解在 App 地推时能够监测到下载来自哪个推广点，进而可以分析每个渠道推广位置带来的下载量有多少？
2. 某线下连锁门店想着各个门店推广本公司的线上APP，需要拉新，通过线下地推扫描二维码下载注册，各个门店的转化效果如何？

## 使用前准备

需要 SDK 升级到 v4.3.6 及以上，开启渠道追踪功能，详见 [《Android SDK 集成指南》](https://docs.analysys.cn/ark/integration/sdk/android#chu-shi-hua-jie-kou) 和 [《iOS SDK 集成指南》](https://docs.analysys.cn/ark/integration/sdk/ios#chu-shi-hua-jie-kou)

## 功能说明

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LsaK5AO4E--bqUpbCpL%2F-LsaK8XBfLZC3WjsNGYA%2Fimage.png?alt=media\&token=87f495f9-dfba-49e2-b95c-8aa5e6ed6470)

### 1. 创建 App 推广链接/二维码

移入导航 **运营** 模块，选择进入 **App 线下推广监测** 页面，点击右上角 **创建推广活动**，进入创建页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LrmKM-MWvxQZDZBy-Nm%2F-Lrm_LExpbwoFsFMUKLI%2Fimage.png?alt=media\&token=3b4020b4-4625-40ea-9da0-0e9b8e4ebc9f)

#### 1.1 填写活动信息

**A. 输入活动名称**

用户自定义， 用于标识推广活动，e.g. 618 老用户促销通知，支持根据活动名称查看的推广效果转化

**B. 输入下载链接**

指应用商店的下载链接。

**C. 输入渠道信息**

渠道信息指的是每个活动的渠道名称和相对应的渠道值，例如（全国门店省份信息、门店信息、门店电话、投放地址等）方便分析活动数据时可以标识出每一个推广链接的业务含义，至少填一条渠道信息，最多可以填写五条渠道信息。

**D. 操作按钮**

取消会判断是否填写内容，下一步需要必填项都填写完成。

#### 1.2 上传渠道信息

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LrmKM-MWvxQZDZBy-Nm%2F-LrmckXWKxN1BJbjP62q%2Fimage.png?alt=media\&token=e555cd5e-cda6-41cc-a674-d08f57439c71)

**A. 下载模板示例**

用户下载模板，且需要按照示例填写内容

**B. 上传渠道信息**

按照下载的模板

**C. 操作按钮**

取消会判断是否填写内容，下一步需要必填项都填写完成。

### 2. 新增渠道值

列表页点击新增渠道值按钮，进入编辑推广活动的上传渠道值。本功能可以针对已经开始的推广增加推广位置、推广门店等等，但是不能更改之前的渠道信息。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LrmKM-MWvxQZDZBy-Nm%2F-LrmhlNDtijAffuhqRq_%2Fimage.png?alt=media\&token=5071ba23-0a2c-46d8-bb8e-b92d2423ce9a)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LrmKM-MWvxQZDZBy-Nm%2F-LrmhcucC3wW41jcmV-x%2Fimage.png?alt=media\&token=2109b7b0-87ee-4b6b-a6b4-e7575cac1132)

创建成功可以直接下载链接/二维码

### 3. App 推广列表

所有已创建的 App 推广活动会显示在列表中

每一条活动列表，都可以从列表当中进入查看其访问情况&#x20;

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LrmKM-MWvxQZDZBy-Nm%2F-LrmroUoGqRnjvRBOtFo%2Fimage.png?alt=media\&token=3b395ac8-49c1-408a-be2f-7c137878f4b2)

支持操作包括：

A. 通过关键字快速搜索

B. 通过时间段过滤

C. 下载链接

D. 下载二维码

E. 新增渠道值

F. 删除活动记录

G. 查看数据报表

### 4. 数据报表查看

每一个活动对应一个相应的数据报表，点击可以查看相应的渠道信息。

### 实现原理和归因逻辑

1\. 在生成的推广链接到应用商店的下载链接的跳转过程中，第一次获得设备指纹

2\. 用户下载 App 后首次激活，第二次获得设备指纹

3\. 将二次指纹进行匹配，匹配上的作为转化成功

默认归因逻辑为：在 7 天的时间窗口内，最后一次点击去匹配首次激活，例如 7 天内，有三次相同指纹的点击和三次相同指纹的激活，取第三次点击的指纹和第一次激活的指纹做 mapping。

{% hint style="info" %}
设备指纹组成：IP、品牌、机型、操作系统版本
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MN7Wx1DF8FwyJgxI6hT%2F-MN7WyVtUYRUW-zt3jC8%2Fimage.png?alt=media\&token=6ab048d4-b145-4a30-89f9-f26c8434615a)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 项目管理

管理模块支持数据接入、数据管理、服务集成配置、成员管理等数据应用的基础管理。

{% hint style="info" %}
4.3.0 及以上版本对管理模块中的部分功能进行了合并。

原 接入数据、集成SDK、可视化埋点并入了数据接入管理

原 元事件、虚拟事件、事件属性、用户属性、Session管理 并入了 元数据管理
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjFhuaAqGyLdLhp6xKd%2F-LjFjQ2A7p3RmQSIQ7ri%2Fimage.png?alt=media\&token=20c80acf-41a1-4f1c-b036-9d04c626e3fa)

{% content-ref url="/pages/-LjFXL9nPLuf2Hu5aM7K" %}
[项目概览](/features/project-manegement/overview)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KdYm\_W\_9wYN4MiV" %}
[项目成员管理](/features/project-manegement/member)
{% endcontent-ref %}

{% content-ref url="/pages/-LjFeK6JlUjrefKKUr0u" %}
[数据接入管理](/features/project-manegement/data-integration)
{% endcontent-ref %}

* [埋点方案](/features/project-manegement/data-integration/schema)
* [可视化埋点](/features/project-manegement/data-integration/virtualizer)
* [集成SDK接入数据](/features/project-manegement/data-integration/sdks)
* [数据验证](/features/project-manegement/data-integration/validation)

{% content-ref url="/pages/-LjFgO-r-dsnVip4v\_km" %}
[元数据管理](/features/project-manegement/meta-data)
{% endcontent-ref %}

* [元事件](/features/project-manegement/meta-data/meta-events)
* [虚拟事件](/features/project-manegement/meta-data/merged-events)
* [用户属性](/features/project-manegement/meta-data/user-properties)
* [事件属性](/features/project-manegement/meta-data/event-properties)
* [Session管理](/features/project-manegement/meta-data/session)
* [页面组管理](/features/project-manegement/meta-data/pagegroup)

{% content-ref url="/pages/-LaQ9KihmHV98kAnlzkU" %}
[服务集成配置](/features/project-manegement/integrations)
{% endcontent-ref %}

{% content-ref url="/pages/-LrDiriquMZOmREYc-QF" %}
[智能监控](/features/project-manegement/monitoring/intelligent-monitoring)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQG6TxuNhLF1LABbER" %}
[自定义监控](/features/project-manegement/monitoring/monitoring)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 项目概览

项目概览界面可以快速了解当前项目的基本情况

* 基础信息
  * 项目LOGO，移入LOGO可更新的
  * AppKey，用于集成SDK
  * 项目创建时间
* 埋点情况
  * 回数时间
  * 回数平台
  * 埋点事件数量
  * 埋点用户属性数量
  * 过去30日事件量
* 成员情况
  * 平台管理员，当需要在平台中添加新成员时，可以联系平台管理员
  * 项目管理员，当需要再项目中添加成员或者修改权限时，可联系项目管理员
  * 项目成员，项目管理员可以将平台成员添加到项目中，并设置不同的权限

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjFhuaAqGyLdLhp6xKd%2F-LjFv6Kr6s2ouVt1GX-o%2Fimage.png?alt=media\&token=c27d6426-6225-4d44-9e33-ebee6347bcfe)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 项目角色管理

V5.1 版本新增

易观方舟支持为项目成员赋予不同的角色，以实现对不同成员的功能和数据权限控制。系统预置了常用 5 种角色，但并不能覆盖全部需求，因此 5.1 版本上线角色管理功能，支持用户根据实际需要自定义角色及角色对应的功能和数据范围，满足个性化需求。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MAPieNZxV7r6-ttFoGw%2F-MAPnRuurnfWwkK3uLG2%2Fimage.png?alt=media\&token=5876e5f7-a8ea-459e-b86b-3166e6e3c1a6)

## 1. 预置角色

系统预置了常用的角色，不同角色对应不同的权限，管理员授权时对不同的成员选择不同的角色即可。

| 角色    | 角色描述             | 看板  | 分析              | 分群      | 运营      | 管理     |
| ----- | ---------------- | --- | --------------- | ------- | ------- | ------ |
| 管理员   | 通常赋予项目的leader    | √   | √               | √       | √       | √      |
| 产品人员  | 通常赋予产品经理或产品运营该角色 | √   | √               | √       | √       | 使用相关功能 |
| 数据分析师 | 赋予数据分析师该角色       | √   | √               | √       | 仅查看运营列表 | 使用相关功能 |
| 工程师   | 赋予内部协助埋点的工程师     | 仅查看 | 仅查看图表列表和已有图表详情页 | 仅查看分群列表 | 仅查看运营列表 | 集成相关功能 |
| 普通成员  | 赋予普通查看者角色        | 仅查看 | 仅查看图表列表和已有图表详情页 | 仅查看分群列  | 仅查看运营列表 |        |

更多权限明细详见《易观方舟角色-权限对应表》 <https://shimo.im/sheets/6hGxwHhHXXRktTcY/Icvbp>

{% hint style="info" %}
系统预置角色仅支持为其添加和移除成员（项目管理员角色除外），不能修改名称、功能范围、数据范围，不能删除；

项目管理员角色的成员添加和移除需要登录平台管理员帐号，在企业平台中进行。
{% endhint %}

## 2. 自定义角色

点击管理-项目角色管理，即可进入角色列表添加自定义角色

按照步骤依次设置角色名称、功能权限、数据权限和成员

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MAPieNZxV7r6-ttFoGw%2F-MAPsFtWiY1ylhUrc36n%2Fimage.png?alt=media\&token=44f8ccbf-68db-440f-951c-0b75ef6ccbe5)

对于已经定义好的角色，也可以在列表中进行管理

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MAPieNZxV7r6-ttFoGw%2F-MAPs_XxtJ_Rdo2J821p%2Fimage.png?alt=media\&token=30b198d1-d27f-47d8-a2e3-6f2078110e0d)

### 2.1 角色名称设置

设置非预置角色名称，方便使用者知道自己的所属角色，在使用时能更精确选择需要的角色。

![角色名称修改](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M88iBPNIAF0Wgdge0LH%2F-M88sNc0lLCD04hXgWX3%2Fimage.png?alt=media\&token=dc51f12b-8dc9-45d0-a929-bb0230529268)

### 2.2 功能权限设置

功能权限用来控制成员登录后可见的菜单范围。只有自定义的角色才能修改功能权限范围，预置角色不能修改。

![角色功能权限设置](https://gblobscdn.gitbook.com/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M88iBPNIAF0Wgdge0LH%2F-M88vCrRi8_Fs8A_uNXv%2Fimage.png?alt=media\&token=8ba6deba-9f62-414f-94ff-8eb8be4332de)

设置后此角色下的用户登录效果如下：

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M88iBPNIAF0Wgdge0LH%2F-M88xHUVfPlo31GpHVjd%2Fimage.png?alt=media\&token=90f7dfc3-8fa8-4f3e-8e09-cc706d54138c)

### 2.3 数据权限设置

在这里可以针对每一个角色设置数据访问权限，目前支持：

#### **仅能查看**

* 基于属性过滤，即只有属性符合条件的用户及相关事件才能被使用
* 基于事件名称的过滤，只有被选中的事件才能被使用

#### **隐藏字段**

* 选中的属性将不可见，也不可用

#### **数据脱敏**

* 选中属性可以用于分析，但在用户下钻中会显示为『（已脱敏）』

<div align="center"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M1j1YLdytr6U2u6JGOA%2F-M1jI-26jJQcphNWXG-i%2F%E6%88%AA%E5%B1%8F2020-03-06%E4%B8%8B%E5%8D%886.02.13.png?alt=media&amp;token=48843840-ef5b-4c1b-9169-edaf05e30567" alt=""></div>

#### 使用举例

**1、让分公司的同事仅能查看发生在当地的数据**

通过设置仅能查看事件属性中的，城市=北京。即可限定该用户仅能访问发生在北京的事件。

**2、让分公司的同事仅能查看所属与当地的用户的行为，无论该行为发生在哪个地区**

张三所属北京分公司员工，通过设置角色的『仅能查看』设置用户属性『城市=北京』，那么张三在登录系统后，都只可访问北京用户的行为数据，无法查看和分析其他城市用户的数据。

#### 权限范围应用

在方舟中，为了满足更多的需求场景，除了可以针对于某个角色设置数据权限还能针对于特殊个人单独设置数据权限。

角色权限和个人权限同时设置时生效范围如下：&#x20;

1）仅能查看是以正向查看设置数据过滤，个人和角色设置权限互斥，所以在个人数据权限和角色数据权限被同时设置时，会以个人权限设置为准。&#x20;

eg：张三所属角色为产品经理，产品经理『仅能查看』设置为『城市=北京』，张三个人的『仅能查看』设置为『城市=上海』，张三最终能看到的数据范围为『城市=上海』。

2）隐藏和脱敏都是反向设置权限，所以个人设置和角色设置同时生效。

&#x20;eg：张三所属角色为产品经理，产品经理『隐藏字段』设置为『城市』不可见，张三个人的『隐藏字段』设置为『邮箱』不可见，张三最终使用方舟时『城市、邮箱』都不可见。

### 2.4 角色成员管理

角色成员管理用来管理同一个角色下的用户，可进行添加、移除操作，一个用户只能属于一个角色。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M88iBPNIAF0Wgdge0LH%2F-M88x0osenyzTFxvqgzf%2Fimage.png?alt=media\&token=13383aec-24f1-4080-a8c1-50a4ccc1dfa6)

{% hint style="info" %}
项目管理员只能在【企业管理-项目管理中】进行添加和移除，所以『管理员』下的用户不能进行移除和添加，其他角色的成员也不能将成员转移到管理员
{% endhint %}

## 常见问题

### 1 新增角色之后怎样快速把某个角色下的人员添加到新角色中？

可以使用角色成员列表中的成员转移功能，如：将角色『产品人员』的用户转移到『技术支持』：

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MAP6XLg5dmEvaLJXEx6%2F-MAPAT9_e9Xept_4EFiT%2Fimage.png?alt=media\&token=e02f9d1e-4d2d-4338-97e1-35a8d87063b4)


# 项目成员管理

易观方舟支持一个项目多个成员共享，方便企业内部共同参与到数据分析和决策的过程中来。项目创建人或管理员可以邀请多个成员，并对不同成员分配不同角色来实现应用的授权。

## 1. 角色-权限

系统预置了常用的角色，不同角色对应不同的权限，管理员授权时对不同的成员选择不同的角色即可。

| 角色    | 角色描述             | 看板  | 分析              | 分群      | 运营      | 管理     |
| ----- | ---------------- | --- | --------------- | ------- | ------- | ------ |
| 管理员   | 通常赋予项目的leader    | √   | √               | √       | √       | √      |
| 产品人员  | 通常赋予产品经理或产品运营该角色 | √   | √               | √       | √       | 使用相关功能 |
| 数据分析师 | 赋予数据分析师该角色       | √   | √               | √       | 仅查看运营列表 | 使用相关功能 |
| 工程师   | 赋予内部协助埋点的工程师     | 仅查看 | 仅查看图表列表和已有图表详情页 | 仅查看分群列表 | 仅查看运营列表 | 集成相关功能 |
| 普通成员  | 赋予普通查看者角色        | 仅查看 | 仅查看图表列表和已有图表详情页 | 仅查看分群列  | 仅查看运营列表 |        |

更多权限明细详见《易观方舟角色-权限对应表》 <https://shimo.im/sheets/6hGxwHhHXXRktTcY/Icvbp>

## 2. 邀请成员

项目管理员有权限邀请企业成员到本项目中。点击 **成员管理** 进入项目成员列表。

点击右上角 **添加成员** ，选择要邀请的 **企业内成员**，直接添加到 **已选择成员**，点击 **确定** 即可。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812191130157614.gif)

添加成功后，被邀请成员就可以使用 **邮箱/手机号/用户名** 和 **初始密码** 登录到项目中。

## 3. 修改成员

在成员列表页可以查看当前项目中，成员的信息以及对应的权限，管理员有权移除某个成员。

> 注：管理员之间没有权限移除或者修改对方权限

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812191136255193.png)

**A. 移除成员**

当添加的成员已离职，或者不再授权时，点击移除成员，移除后将无法访问该项目的数据。

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812191140131115.png" alt=" "></div>

**B. 修改权限**

当成员权限错误时，可以点击角色下拉框，快速修改角色

<div align="left"><img src="https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812191141170214.png" alt=" "></div>

## 4. 成员数据权限

在这里可以针对每一个独立的成员设置数据访问权限，具体使用和生效范围可查看 [【项目角色管理-数据权限设置】](/features/project-manegement/role#23-shu-ju-quan-xian-she-zhi)。

## 常见问题

### 1 是否支持自定义角色？

5.0版本之后开始支持自定义角色，如果您有需要，请联系我们反馈  [4006 - 010 - 231](tel:4006-010-231)&#x20;

### 2 为什么平台管理员添加了 A 用户，在项目中仍然不可见？

方舟支持一个平台中添加多个项目，每个项目中添加不同的成员，同一成员在不同项目中的角色可不相同，所以在平台中添加成员时，赋予的是用户在平台上的角色，可以是一个项目的管理员，此时可以进入对应的项目，也可以是一个普通的成员，但此时需要项目管理员将其添加到项目中，再赋予其对应的角色。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 数据接入管理

在可以应用数据之前需要进行数据接入，这个过程需要产品经理、数据分析师、工程师等多方协作。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjG0woN0J4hMP5fWMHj%2F-LjG304i--pXy2bwYBl-%2Fimage.png?alt=media\&token=0e548ce9-c43e-41d2-a76b-66827f787335)

通常需要经过以下三步：

### **Step1 设计埋点方案**

使用数据的需求方（产品经理/运营/数据分析师等）确定使用目的，梳理需要分析的指标，进而据此设计埋点方案（即采集哪些事件，上报哪些用户信息）

设计好的埋点方案功能可以批量上传在在线页面，集中管理，自动化验证。

{% content-ref url="/pages/-LjFePSCSktmOUmjtc2L" %}
[埋点方案](/features/project-manegement/data-integration/schema)
{% endcontent-ref %}

{% hint style="info" %}
若只是简单的运营页面，也可以跳过埋点方案的设计，等到工程师完成Step2和3时，通过可视化埋点的功能进行圈选定义。
{% endhint %}

### **Step2 集成SDK**

工程师根据埋点方案集成SDK，上报数据

{% content-ref url="/pages/-LjFfqGIZDkGelgJbqcO" %}
[集成SDK接入数据](/features/project-manegement/data-integration/sdks)
{% endcontent-ref %}

### **Step3  数据验证**

集成SDK后需要通过数据验证，确保数据接入的完整性、及时性和正确性，验证通过后即可发布应用

{% content-ref url="/pages/-LjFiLzE3dBHxB-ALeTo" %}
[数据验证](/features/project-manegement/data-integration/validation)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 埋点方案

在实际应用中，很多数据不准确、无法计算的问题最后多数定位到是埋点缺失、错误等造成的，因此严格控制数据质量是非常必要和重要的事情。

埋点方案功能正是通过以下三点来保障数据质量：

1. 数据采集需求管理，方案可共享保证需求来源一致，来源可记录，变更可追踪 —— 通过埋点的增删改、记录变更历史功能实现
2. 将埋点方案作为数据处理规则，规避无效数据污染数据源 —— 通过设定计划外（埋点方案外）的数据处理规则实现
3. 通过埋点方案自动化校验，提高验证效率 —— 通过检测埋点状态功能来实现

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQrZN0pxobSyPZC2eX%2Fimage.png?alt=media\&token=bb51d0a9-3b4b-436b-b887-252fd5762586)

## 设计埋点方案

### 设计前准备

**确定数据分析和应用的核心诉求**

* 验证功能设计是否合理？帮助产品迭代？
* 关键流程的转化情况？
* banner广告/推荐位的效果转化？
* 注册/登录的用户情况？
* 自动化运营

**确定核心业务的关键路径**

拆解各环节，设定环节指标（如各环节转化率），根据环节指标，提取动作行为，即事件，该事件就是我们要进行统计的埋点位。

**确定用户属性**

确定描述用户的维度，比如性别、用户等级等后续用于分析的属性。

### 设计埋点方案

经过前期准备，按照方舟当中的数据模型，可以把埋点方案拆分为两部分：

* 事件方案——确定上报哪些用户行为
* 用户方案——确定上报哪些用户属性

一份完整的埋点方案由事件、事件属性和用户属性三部分组成。

**事件**

记录用户在使用网站、APP 或小程序的过程中触发的行为。

用户的行为有一部分会在他们使用的过程中自动被采集上来，常见的如：跟访问有关的“页面浏览”，“停留时长”；另外一部分包含具体业务含义的，则需要通过埋点才能得到，例如：“注册”、“登录”、“支付”等等。

**事件属性**

可以通过属性为事件补充相关的信息，例如：位置，方式和内容。

用户产生行为时就会上报具体的属性值，比如对“购买事件”定义了“支付方式”的属性值，则根据不同的行为可能上报的是微信支付，支付宝支付。

小舟在电商平台上花一万元购买了一台联想电脑。这个动作就会产生一个名为“购买”的事件； 而“购买”事件，同时也可以包含：“品牌”，“价格”这两个属性，而“联想”和“一万元”就是属性的具体值了。

| Event要素 | 要素说明      | 采集的数据                           | 示例                                                                                                           |
| ------- | --------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Who     | 参与事件的用户   | 用户唯一ID                          | H522a3bd525a2af                                                                                              |
| When    | 事件发生的时间   | 自动获取 事件当时时间                     | 11月11日00:02:03                                                                                               |
| Where   | 事件发生的地理位置 | 自动获取 IP、GPS信息                   | 114.242.249.113                                                                                              |
| How     | 事件发生的方式   | 使用的环境                           | <p>设备品牌：Apple </p><p>设备型号：iPhone 6s 操作系统：iOS </p><p>屏幕分辨率：1920\*1680 </p><p>运营商：中国联通 </p><p>网络类型：Wifi ……</p> |
| What    | 事件的内容     | 自定义采集的事件：EventID 事件属性：Key-Value | add\_to\_cart product\_name：耳麦 product\_price：666                                                            |

**用户属性**

在分析过程中，需要引入注册用户的更多维度，比如注册用户ID、姓名、用户等级等等，也需要进行梳理，方法同事件属性。

埋点方案整理成方舟提供的埋点模版整理即可

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQddEiVeVD7g2tcG5A%2Fimage.png?alt=media\&token=736982d1-ae87-4f36-958b-8395e2651991)

整理完埋点方案后点击批量导入，作为后续研发埋点的需求来源和数据处理的规则。以下将以事件方案为例说明在方舟中如何管理埋点方案：

## 管理埋点方案（以事件方案为例）

### 1 管理计划中的事件方案

计划中即表示在数据上报前做好了规划要采集的事件；计划外表示不在埋点方案中，但实际上报了数据的事件和属性。

{% hint style="info" %}
通过可视化埋点部署的埋点自动会被视为计划中的事件
{% endhint %}

#### A 添加方案

按照埋点方案模版的格式整理完成后，即可批量导入；

系统预置部分事件及属性，如有需要可以直接使用，如果不需要也可以清空；后续需要使用时，选择导入预置事件/属性即可。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQrl18Eez89tdQaDqg%2Fimage.png?alt=media\&token=46e7a1cf-3bc0-4bc7-9b26-89cb05d2c5cc)

当已上传过埋点方案，后续有新的产品功能迭代需要新增少量埋点时，可以选择单条添加

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQs-Hh55MbuLQWfvut%2Fimage.png?alt=media\&token=5f7326ee-9904-4bc5-956e-0292ba315468)

对于所有事件都有的通用属性不必在埋点方案中每个事件中添加，在通用属性中导入一份即可，方舟默认会采集部分属性（预置的通用属性），详见<https://docs.analysys.cn/integration/prepare/default-data>

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQpUpBwo8lLeI5VSGq%2Fimage.png?alt=media\&token=705e720d-b9ed-4a1f-8164-33fb5562c229)

此外若有需要也可以添加自定义通用属性，集成SDK时注册为通用属性即可。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQqeKiyItHqFht9wpa%2Fimage.png?alt=media\&token=75ef757e-ba4c-4781-b634-fbd9bf547585)

#### B 修改方案

支持修改埋点的平台、事件显示名称、事件说明、事件标签、显示状态、数据类型等；

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQsJWw1s8mblM9AArX%2Fimage.png?alt=media\&token=65db4d04-9978-4a9d-96e8-79b7c197df43)

{% hint style="danger" %}
当属性已回数时，属性的数据类型无法进行修改
{% endhint %}

也可以进行删除、设置是否在分析时显示

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQx_geOPb7o_Fs53RA%2Fimage.png?alt=media\&token=da7d4a74-6e2c-42be-960b-52db3e5fce17)

{% hint style="info" %}
删除操作说明：

当事件**未回数**时，删除即表示从方案中删除，不打算采集，后续完全可以使用相同ID重新定义，当未定义时有相同事件ID的数据上报时，将根据设置的数据处理规则处理；

当事件**已回数**时，删除代表从埋点方案中移除，相应事件和属性会进入到计划外，并不会删除历史数据；也不能定义相同ID的事件和属性，或者添加数据类型不同的属性，若想要再次启用可以从计划外再次添加到计划中
{% endhint %}

{% hint style="info" %}
显示开关说明：

开关打开时，相应事件/属性在分析的事件和属性下拉框中可见；

开关关闭时，相应事件/属性在下拉框中不可见，同时不可见的事件也不会被计入【任意事件的用户数/次数和人均次数】的指标计算中；

部分预置的事件/属性用于热图计算，如果关闭同样在事件/属性下拉框中不可见，但不影响热图分析的结果。
{% endhint %}

对于通用属性同样支持删除、设置是否显示的操作

{% hint style="info" %}
删除操作说明

已回数的属性删除后仅代表该属性不再是通用属性，将会出现在各个已回数的事件下；&#x20;

未回数的属性删除后仅表示各个事件都不需要采集该属性， 如果有个别事件需要该属性，需在计划中埋点该事件下添加。
{% endhint %}

{% hint style="info" %}
显示开关说明：&#x20;

开关打开时，在相应的条件和维度中可以选择到该属性； 若不需要分析，可以选择关闭； 部分预置通用属性不支持作为条件和维度，禁止删除、禁止打开显示开关。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQxm5N-vAjfrcbZq4v%2Fimage.png?alt=media\&token=a1357a43-c9fe-4e08-bcd4-816d485ff4f9)

**对于埋点的改动系统都会记录，谁在什么时间修改了什么，修改前后变化是什么，方便异常追踪。**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQsTInRexZmRcbWL13%2Fimage.png?alt=media\&token=6b823da3-aa6b-4c60-983e-804589879a2c)

#### C 查看方案

当有多个平台、多种埋点方式时，可以通过分组、过滤条件、搜索等快速找到相应的埋点

**C1 展开/收起全部属性**

点击 **展开全部属性** 可以查看全部事件下的属性，也可以展开部分事件

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQsj7T15E_LV2vNLpv%2Fimage.png?alt=media\&token=26c26879-d056-40a4-bbb3-24e49588d381)

**C2 分组显示**

可以按照平台、是否预置、埋点方式、是否回数、标签等分组查看

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQtOWwjE1Z9i0XqN9N%2Fimage.png?alt=media\&token=48598957-f9b7-4bcb-a20b-0ed04afd61bf)

当按分组查看时，默认收起全部分组，可以展开全部分组，也可以点击分组所在行的空白处可以展开单个分组

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQtXiEpY5q2PgUDQA1%2Fimage.png?alt=media\&token=e8a83888-df6b-498c-be13-351da346ba88)

**C3 过滤条件**

同样支持根据平台、是否预置、埋点方式、是否回数、标签等进行过滤

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQtmgSjc58PwSjSk80%2Fimage.png?alt=media\&token=1fcbd780-7c02-4e69-add3-3e25cbeeb4e8)

**D 埋点列表展示字段**

支持事件、事件属性、平台、平台、是否预置、埋点方式、是否回数、是否显示、创建人、创建时间、首次出现时间、最后出现时间等。

通过埋点最后出现时间、近7日的触发次数等指标可以总和判断埋点是否仍然有效，当达到埋点限额的时候可以做埋点清理。

通过Debug日志、入库日志、错误日志的入口可以直接进入到日志中去查看相应事件的日志数据，帮助做数据校验。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQgHPug3tkDlxchJYA%2Fimage.png?alt=media\&token=bda15de0-3407-4bca-8a01-98cc554abe35)

### 2 设定数据处理规则

对于不在埋点方案中，但实际上报了数据的情况，可以自定义设置数据处理规则，更改规则后新进入的数据将按照更新后的规则进行处理，通常1分钟内即可生效。系统预置三种处理模式：

* 严格模式：适合对数据质量要求严格的企业
* 半严格模式：适合对数据质量要求较为严格的企业
* 宽松模式：仅适合研发快速回数测试产品功能

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQhKsQOyXOv-d-pBSM%2F%E5%9B%BE%E7%89%87%208.png?alt=media\&token=55c2386b-5c1e-4963-8789-0329cdcc81c2)

{% hint style="warning" %}
埋点方案和数据处理模式设置会做为数据处理的规则。

注意更改规则后仅对新进入的数据生效，根据历史规则处理后的历史数据不会变更。

比如，原来对于计划外的事件，原来选择的是规则 2：数据入库，加入到计划外列表中，默认不启用该事件，手动选择是否加入到埋点方案中。

已有一批数据根据此规则处理，其中有10个计划外的埋点在计划外列表中了，此时将处理规则变更为规则1：数据入库，并将事件加入到埋点方案，默认启用该事件。那么，原来进入计划外列表中的10个事件并不会自动添加到埋点方案中，可以手动选择批量添加到埋点计划中
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjKLGqFgV7cWop8fjRJ%2F-LjKDnLtSlESyVJYYPtm%2Fimage.png?alt=media\&token=9dff392e-acb0-4e09-a274-400100153fe8)

{% hint style="info" %}
系统默认半严格模式，对于对数据质量要严格要求的用户 ，可以切换到鹅严格模式
{% endhint %}

### 3 验证和更新埋点状态

系统会根据实际回传的数据与埋点方案做自动化校验，在列表中可以根据颜色标识直观判断当前埋点的状态

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQu2NnctfDAqphCpQ9%2Fimage.png?alt=media\&token=4072f852-2874-4f7d-a7e9-e4f38976228e)

**埋点状态 = （事件状态 + 事件属性状态）\* 平台**

{% hint style="success" %}
只有平台icon **全部高亮**、事件和属性标识都是 **绿色** 时，表示定义的事件在各个平台上各个属性都有数据回传，且正确
{% endhint %}

{% hint style="warning" %}
当事件前标识是**黄色**时，表示该事件有部分平台没有上报，或者部分属性没有上传完整；可以根据哪个平台icon 未高亮，哪个属性前面的标识为灰色或者黄色来定位具体问题

当属性前标识是**黄色**时，标识该属性有部分平台没有上报；可以查看哪个平台icon未高亮，则标识哪个平台没有上报
{% endhint %}

{% hint style="danger" %}
当平台icon未高亮、事件和属性前标识都为灰色时，标识全部还没有数据上报，或者全部进入错误队列
{% endhint %}

进入页面时会更新最新的埋点回数状态，停留在当前页面时，可以点击右上角 **更新埋点状态** 强制刷新

{% hint style="info" %}
除了以上场景外，有两种特殊情况需要注意：

**1** 当计划外的事件/属性添加到埋点方案中时，会自动高亮实际回数的平台，相应的事件和属性

**2** 定义了A平台的事件和属性，但实际该事件在B平台也回数了时，将自动高亮出该平台
{% endhint %}

### 4  计划外事件和属性的处理

当有计划中埋点之外的事件上报了数据，且数据处理规则选择的是半**严格模式**时，计划外的数据将入库，埋点会显示计划外列表中，若这些事件或属性在实际分析过程中也有需要，支持添加到计划中；若不需要，且后续不希望数据入库占用资源，也可以选择停止入库

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQuKpxGqd_uKQuHdg9%2Fimage.png?alt=media\&token=0fbc6f39-fe1d-4541-a178-6b1871f209c6)

支持批量加入到计划中

{% hint style="info" %}
若同一个事件即在计划中又在计划外，则表示该事件下有部分属性不在埋点方案中，因为属性不能独立存在，所以事件也会同时显示在计划外列表中。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQn6UVfNINF-PbyClQ%2Fimage.png?alt=media\&token=45945781-a499-4a5f-975c-ab7a99e0a019)

{% hint style="info" %}
入库操作说明：

对于计划外已入库的完整事件，支持停止入库（当一个事件仅有部分属性属于计划外时，不支持关闭入库操作）

入库开关关闭后，后续产生的数据将不再入库（注：Nginx 仍然正常接收，只是不再处理数据入库后参与计算，如果不想让继续上线，需要从代码层面删除埋点）

如果根据实际需要，又需要继续获取此事件上报的数据，可以打开入库开关，但这期间历史未入库的数据不会被恢复
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQrCBcHOB67bizLOvm%2F-MVQvK-Vkg7nWLa5Wc8P%2Fimage.png?alt=media\&token=fbd35133-497d-42a1-ac8a-7e0c97363e3d)

## 管理用户方案

切换左上角进入到用户方案，可以管理和校验用户属性的埋点，使用方案类似事件方案，不做赘述。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MVQYGaTJ8SkFdUfLt3l%2F-MVQnLj6wRlBMpeL-gJB%2Fimage.png?alt=media\&token=52eca804-c3c2-408e-923b-831b9180b95b)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 可视化埋点

5.1 版本对可视化模块进行了升级，业内首家支持圈选属性，扩大可视化埋点可采集的数据边界。

数据接入是使用数据分析平台的第一步，主要包括客户端埋点、服务端埋点和工具导入三类方法。其中，客户端埋点有三种方式：

* 代码埋点
* 可视化埋点
* 全埋点

不同方式有不同的优缺点，也有不同的使用场景，单一的埋点方式显然已经无法满足不同客户的诉求。因此，除了支持代码埋点之外，方舟支持可视化埋点的方式，来减少代码埋点工程师的工作量，同时因其简单灵活、随时发布无需重新发版的特点，能够使得产品、运营等非技术人员能零门槛的根据业务需要直接在页面上定义事件，快速验证，极大提高获取数据的效率。

当然，可视化埋点也有其局限性存在，所以没有哪种方式最好，适合企业分析需要、满足业务需求才是最好的方式。想要了解更多各种埋点的差异，可以阅读方舟博客中[埋点系列文章](https://ark.analysys.cn/blog/%E4%B8%BA%E4%BA%86%E8%AE%B2%E6%98%8E%E7%99%BD%E5%9F%8B%E7%82%B9%E7%9A%84%E6%BC%94%E5%8F%98%E5%8F%B2%EF%BC%8C%E8%BF%99%E5%B8%AE%E6%8A%80%E6%9C%AF%E7%94%B7%E7%8C%AE%E5%87%BA%E5%B9%B4-2)。

{% hint style="warning" %}
暂不支持小程序的可视化埋点
{% endhint %}

## 使用前准备

开始使用可视化埋点之前，需要经过以下步骤

* 确认已开通方舟可视化端口；
* 按照[ SDK 指南 ](/integration/sdk)正确初始化SDK，并配置可视化连接地址
* 成功回数，进入管理-接入数据管理-可视化埋点，选择相应平台开始。

{% hint style="info" %}
5.1 版本对可视化模块进行了升级，业内首家支持圈选属性，扩大可视化埋点可采集的数据边界；同时支持选择同级元素、同类型元素等提升埋点效率；

使用 5.1 版本的可视化埋点务必集成 4.5.0 及以上版本的 SDK。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjKLGqFgV7cWop8fjRJ%2F-LjKG6CGdabL-lpou_6T%2Fimage.png?alt=media\&token=7b436556-50fa-4b6e-8d5f-9eeca79142a7)

{% hint style="warning" %}
4.3.0 以下版本入口在 **管理 - 元事件** 页面中
{% endhint %}

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808121248172482.png)

移动端和 Web 端可视化埋点流程差异较大，以下将分别说明：

## 移动端 (Android / iOS ) 可视化埋点

对移动端 APP 进行可视化埋点需要经过 4 个步骤：

1. 连接设备
2. 选取设备
3. 可视化配置
4. 测试 & 部署

### 1. 连接设备

进入到连接设备页面后，在设备上打开您集成了 SDK 的应用，**摇一摇** 开始连接，当超出 3 分钟时间，还没有连接时，需要点击按钮`连接超时，重试连接`后，重新摇一摇连接。

{% hint style="info" %}
若进入该页面前已经打开了应用，请杀掉进程，重新打开。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKmHOGIxU_Il_xa8Eye%2F-MKmHwi1QxCH-4R0G9iA%2Fimage.png?alt=media\&token=d71069c2-2b2c-4690-84a6-f029811eb88a)

### 2. 选取设备

连接成功后自动进入到选取设备页面

{% hint style="info" %}
若多个手机同时进行摇一摇，方舟会显示多个设备，但同一版本的App同时只能连接一个，所以需要确认当前连接的设备名称和埋点的应用版本号，无误后，点击进入配置页面

当同一台设备连接到两个浏览器页面时 e.g. A 和 B，

* 选择连接了 A 页面上的设备时，B 页面上相同设备会变灰不可被点击；
* 当从 A 页面上点击断开连接时，B页面上也变灰，如需使用，需要重新连接。
  {% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKmHOGIxU_Il_xa8Eye%2F-MKmI1pGK72vl28jBh8S%2Fimage.png?alt=media\&token=26ad3604-9caf-4e5f-80f3-8f86e74cab36)

### 3-1. 可视化配置 （V5.1 以下版本）

选取相应设备后，进入配置页面，即可看到当前首页上的页面，想要对哪个页面进行埋点，就可以在手机上选择进入哪个页面，点击页面元素即可开始定义事件。

打开高亮显示以定义元素时，即可看到当前页面中，有哪些已部署的事件，哪些是埋点了但未部署的；如果页面上埋点元素过多，相应的也会高亮显示出来很多元素，这时候如果再去创建一个新的埋点事件时，干扰元素比较多，也可以选择关闭高亮显示。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808122015074274.gif)

#### **Ⅰ 创建事件**

点击界面上的UI元素，即可弹出创建事件窗口，页面上会标识出当前选中的是哪个元素，以便于进一步校验选中的元素是否是实际想要埋点的元素，通过以下内容来定义该事件：

1. 事件ID：即事件的唯一标识，必填，仅支持字母、数字和下划线组成，且不能以数字开头
2. 事件名称：非必填项，但建议填写，方便在分析时查看
3. 限制条件：用于进一步约束事件，包含
4. 以下两项
   * 限制在当前页面 ：默认时选中状态，取消选中表示应用于所有页面

     > 部分元素会在多个页面上出现，如果需要让所有页面的这个元素被触发时，都上报到这个事件时，可以取消选中，例如，导航。
   * 限制在文本：xyz

     > 部分按钮上文本在不同中情况下会有变化，比如 `体验 Demo`这个按钮在登录前 显示`体验 Demo`，登录后变成`进入我的应用` ，如果要明确监测登录前点击这个按钮的情况时，就可以在登录前的情况下，勾选限制在文本，这时能自动获取到文本：体验 Demo ，用户只有点击 体验 Demo 的情况下，数据才会上报到定义的事件中。
5. 生效版本：默认仅当前版本生效

   > 随着版本迭代，有些元素可能在新老版本上有差异，支持选择仅在当前版本生效；当所定义的元素，在所有版本上都存在，且想要监测所有版本上，该元素的点击情况，则可以选择全部版本生效。

*点击确认，即可保存，但此时埋点的事件仅在调试设备上生效，只有部署后才对所有设备生效*。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808121700295983.png)

#### **Ⅱ 可视化埋点列表**

已经保存和部署的埋点都会显示在右侧列表中，当前页面可视化埋点和所有可视化埋点可以切换查看，列表显示：

* 事件部署状态，移入后标识提示：已部署 / 未部署 / 已修改未部署
* 事件名称，当没有填写事件名称时，会显示事件 ID
* 点击事件名称展开下拉展示更改信息：包括事件 ID、限制条件、生效版本

支持搜索关键词根据事件ID 、事件显示名称模糊搜索

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808122242169068.png)

#### **Ⅲ 修改埋点**

移入事件后，点击修改，打开编辑弹窗。

> 注：当前仅能在埋点的版本上对事件编辑和删除

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808122242253981.png)

确定修改后，埋点状态会变成已修改，修改需要部署后生效。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808122332491931.png)

#### **Ⅳ 删除埋点**

当删除未部署事件时，直接删除；

当删除已部署事件时，需要部署后才可以生效。

### 3-2. 可视化配置 （V5.1 及以上版本）

选取相应设备后，进入配置页面，即可看到当前首页上的页面，想要对哪个页面进行埋点，就可以在手机上选择进入哪个页面，点击页面元素即可开始定义事件。

#### **Ⅰ 创建事件**

{% hint style="info" %}
移动端可视化埋点支持大部分的控件，详见

* [Android 支持控件](https://docs.analysys.cn/features/project-manegement/data-integration/virtualizer#1-android-zhi-chi-kong-jian)
* [iOS 支持控件](https://docs.analysys.cn/features/project-manegement/data-integration/virtualizer#2-ios-zhi-chi-kong-jian)
  {% endhint %}

若鼠标滑过控件显示出可圈选标识（蓝框），则表示该控件可进行埋点。点击控件，显示“编辑中”，右侧框中即可进行事件定义。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFOGkAdCNUfkN1Pdic%2F18.png?alt=media\&token=60e10e6d-3f4a-45fd-85e1-14cedf772958)

可通过以下内容来定义该事件：

1. **事件ID：**&#x5373;事件的唯一标识，必填，仅支持字母、数字和下划线组成，且不能以数字开头
2. **事件名称：**&#x975E;必填项，但建议填写，方便在分析时查看
3. **事件属性：**&#x652F;持手动输入值，或者从页面上圈选
   * 属性ID：即属性key，支持以字母开头的字符串，必须由字母、数字、下划线组成，字母不区分大小写
   * 属性值：支持手动输入和从页面中选择
     * 手动输入值：即固定值，将按照填写内容上报
     * 从页面选择：支持圈选和圈选后正则提取，圈选可从页面中获取控件内容，正则提取可过滤文本中的数值，也可自定义正则提取内容
   * 属性类型：可指定当前属性value的上报类型，比如价格，数值型；名称，字符串
4. **生效范围-圈定元素：**&#x9875;面上每个可点击的位置都被视为元素，通过选择元素来圈定当前定义的事件生效范围，即点击哪些位置会上报定义的事件，可选择项：
   1. **当前文本**：指定内容，不区分元素类型，当文本发生变化时，埋点失效。 一般用于给某个特定内容文本埋点， 比如： 圈中按钮上的文字【登录】，当仅选择当前文本时，如果页面上有个非按钮的链接也叫【登录】，则在两处触发点击时，都会上报该事件。&#x20;
   2. **当前位置：**&#x6307;定位置的元素，当内容发生变化时，埋点仍然有效，页面结构发生变化时，埋点失效。 一般用于给某个特定位置埋点。&#x20;
   3. **同级元素：**&#x6307;与埋点元素的所有父级元素标签类型及元素个数相同的元素，一般用于给列表埋点，可以添加属性，区分同级别但不同内容的元素。&#x20;
   4. **同类型元素：**&#x6307;与当前埋点元素的Class属性值相同或包含当前埋点元素的Class属性值的元素，点击相同类型的元素时会上报同一个事件，通常可以添加属性，区分同类型但不同内容的元素点击数据。 四个选项可以结合使用， 比如： 可选择当前位置+当前文本来给特定位置上的特定内容埋点 可选择当前文本+同类型元素来给相同控件相同名称的
5. **生效范围-生效页面：**&#x7528;于确定埋点生效的页面范围，包括选项：
   1. **当前页面：**&#x6307;仅在当前页面(URL) 点击相应元素才触发上报该事件
   2. **全部页面：**&#x6307;在所有接入SDK的页面中点击相应元素，都触发上报该事件。比如有非常多的商品详情页，每个页面上都有【加入购物车】按钮，即可选择全部页面，那在任何详情页上点击加入购物车，都会上报到同一个事件中，方便统计分析。
6. **生效范围-生效版本：**&#x7528;于确定埋点生效的版本，包括选项：
   1. **当前版本**：指当前可视化埋点连接的应用版本
   2. **全部版本：**&#x6307;所有版本，随着版本迭代，有些元素可能在新老版本上有差异，支持选择仅在当前版本生效；当所定义的元素，在所有版本上都存在，且想要监测所有版本上，该元素的点击情况，则可以选择全部版本生效。

{% hint style="info" %}
当App端切换页面或UI界面发生变化时，App端重新上传数据，方舟前端页面将会重绘；

若此时某个控件处于“编辑中”状态，则会提示“是否放弃当前自定义的事件”，如下图，点击是，则放弃埋点信息并载入最新页面信息；点击否，则继续编辑埋点信息；
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFNsprhwRKNsFuttP6%2F5.png?alt=media\&token=df92d73f-6ccc-4d24-ac9b-a4a24d457c83)

信息填写完成后，点击右下角“确定”按钮，埋点信息将会同步至App端，此时点击App对应的控件，则会在方舟中回显埋点信息，如下图灰色弹窗

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFOhm49nv0xxbY90j_%2F6.png?alt=media\&token=8cffa57a-fcae-4b2c-8115-206865606aab)

{% hint style="info" %}
只有对当前设备App版本生效的埋点才有回显，如果埋点生效版本不包括当前App版本，则不会触发回显。

当前点击“确定”后，仅表示在可视化连接状态下生效，若要实际生效，需点击“部署”。
{% endhint %}

#### **Ⅱ 可视化埋点列表**

已经保存和部署的埋点都会显示在右侧列表中，当前页面可视化埋点和所有可视化埋点可以切换查看，列表显示：

* 事件部署状态，移入后标识提示：已部署 / 未部署 / 已修改
  * 未部署：红色，埋点仅在可视化连接状态下生效
  * 已修改：黄色，修改了已部署的控件，需部署后生效
  * 已部署：绿色，当前为生效状态
* 事件名称，当没有填写事件名称时，会显示事件 ID
* 点击事件名称展开下拉展示更改信息：包括事件 ID、生效页面、生效版本
* 移入事件出现操作选项，进行编辑或删除

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFRk30yOhbigHayK1Y%2F12.png?alt=media\&token=c68c837e-8ffa-4acc-992c-19d33af94566)

在右侧埋点列表中可通过搜索功能快速查找已埋点信息，可对“事件ID”和“事件名称”进行快速查找。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKiwSy_B9WRrONnxhG1%2Fimage.png?alt=media\&token=f51c2323-d0fa-47da-9004-a0d7e841380a)

#### **Ⅲ 修改埋点**

修改埋点控件信息的两种方式：

* 点击左侧截图中已埋点控件
* 右侧埋点列表中，将鼠标悬停在某一条埋点上，若显示“编辑”图标，点击即可

{% hint style="info" %}
注意：

1. 已部署埋点不可修改事件ID
2. 已回数据的属性ID、数据类型不可修改
3. 若修改控件为“已部署”，编辑后展示为“已修改”状态
4. 修改完点击“确定”，确定后仅表示在可视化连接状态下生效，若要断开生效，需使用“部署”功能
5. 部分“闭眼睛“图标标识的事件无法编辑，可能原因是：
   1. 当前页面实际有埋点，但是隐藏元素，需要操作后可见,比如弹窗&#x20;
   2. 当前页面实际有埋点，但不在当前可见范围，需要上滑或下滑操作后出现&#x20;
   3. 当前页面实际有埋点，但该版本不可见，需要在实际生效的版本编辑&#x20;
   4. 当前页面实际没有埋点，但因为选择了全部页面生效而出现，需要在实际生效的页面编辑
      {% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKiuSGsooeLnOpYFMoR%2Fimage.png?alt=media\&token=0c179a2e-ddbe-408f-9409-2c70c348c31e)

#### **Ⅳ 删除埋点**

右侧埋点列表中，将鼠标悬停在某一条埋点上，会显示“垃圾篓”图标，点击即可删除

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFQOVRgqIydgAAKbiS%2F19.png?alt=media\&token=e77b6306-36eb-4baf-af3f-138f88171f8a)

{% hint style="info" %}
注意：

1. 若埋点未部署，则会直接删除，无提示
2. 若埋点已部署，则会提示“您确定删除xxx事件吗？”的提示信息，点击“确定”即可删除
3. 若要删除后其他App生效，则需重新点击“部署”按钮
   {% endhint %}

### 4. 测试 & 部署

点击 APP上已经埋点的位置，即可弹出埋点日志信息，用于验证埋点是否生效。

验证完成后可以进行部署，通过切换当前页面埋点 / 全部页面埋点 来确定是仅部署当前页面埋点，还是部署全部页面埋点

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKiOyJmwYKjUVH0rC5m%2Fimage.png?alt=media\&token=b9e76065-789a-4c35-909b-d718d1000ddf)

部署完成后，1分钟后生效，即用户在1分钟之后触发埋点的事件，即可上报数据。

{% hint style="info" %}
埋点生效时间在安装方舟时可配置，原默认5分钟，V5.1 开始默认1分钟
{% endhint %}

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808122339019984.png)

当测试完成，即可点击**部署**， 部署成功后，用户下次启动时，获取埋点规则，触发即可上报事件。

{% hint style="info" %}

1. 在可视化埋点的过程中，应用退到后台、网络状态比较差 、手机锁屏时，无法全选，页面胡遮罩提示，当重新连上时，恢复屏显；在网络不稳定、锁屏等情况下，可能会存在意外断开连接的情况，需要返回重新连接。
2. 可视化埋点测试模式下上报的数据平台，是否加入到正式数据中取决于debug属性的值
   {% endhint %}

## Web / H5 可视化埋点详情页

Web / H5 可视化埋点需要 3 个步骤：

1. 选择要埋点的页面&#x20;
2. 可视化配置&#x20;
3. 测试 & 部署

### 1. 选择要埋点的页面

输入需要进行可视化埋点的页面

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKixzUZOas1iLsTUa38%2Fimage.png?alt=media\&token=4aff5572-d013-4cf1-a589-d2635fd67519)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKiy9rKUqZJrJb1XV4G%2Fimage.png?alt=media\&token=de6c4248-758e-4d23-8e0d-727ff1162d83)

### 2. 可视化配置

确认后的地址后即可进入可视化配置页面

{% hint style="info" %}
当出现以下情况时，无法圈选埋点

1. 页面没有集成方舟 SDK
2. 集成的 AppKey 不正确
3. 网站禁止了 iframe 的加载
   {% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKiz4Vrck_0B1YMGLaF%2Fimage.png?alt=media\&token=1da0fdf5-aa60-43eb-aabe-a5c4e07f857a)

#### A 收起导航

可以收起左侧导航，使得页面大小符合原页面大小，更精准的埋点；再次点击即可展开导航

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKizVJsKiDuv4IdqDc1%2Fimage.png?alt=media\&token=29735c74-7b63-465c-a3e3-7b808a461630)

**B 模式切换**

移动端可视化埋点定义时是在Web端，测试点击和切换页面是在APP端；但 Web 端定义埋点、点击触发、交互都只能在 Web 页面上， 所以进行不同操作时，需要切换模式来区分

* **定义模式：**&#x70B9;击元素可以进行埋点
* **测试模式：**&#x70B9;击埋点元素即可查看返回日志
* **可交互模式：**&#x70B9;击元素可以进行实际的交互，比如跳转页面、打开弹窗等等，点击后可以对新的页面进行可视化

**C Web 和 H5 模式切换**

因为对于部分 H5 页面，显示在 Web 端时，会和实际样式不一样，可以选择 H5 项，使得页面显示更符合实际情况

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKj-kbZqvDqsWf0s8zM%2Fimage.png?alt=media\&token=a529f5c1-fc4b-47ec-9233-47f3c8e59dda)

#### D 切换页面

可以输入要切换的页面 URL，点击→ 切换页面

#### E 元素状态标识

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKj0K25lWGNBDTr21AF%2Fimage.png?alt=media\&token=83a70a8e-8b7c-46c1-a3d7-39fcdf34009f)

#### F 埋点事件列表

点击埋点事件列表可以查看当前页面和所有页面可视化埋点，进行修改和删除

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKiC5tshM9hkcf_YNZx%2F-MKj0YJxZGmCgFS2c9iA%2Fimage.png?alt=media\&token=11c77491-c5b3-4c54-b00a-199323afd3f2)

#### G 一键部署

点击后会部署所有未部署的埋点。

{% hint style="warning" %}
创建埋点事件、修改和删除同移动端，不一一说明。
{% endhint %}

### 3. 测试 & 部署

切换到测试模式，点击埋点元素即可查看返回日志。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808130006002759.png)

## 常用场景举例

### **1** 基础事件埋点

**场景**

统计用户点击“首页”按钮操作，点击时上报事件为“click\_home\_tab”。

**埋点步骤**

1. 点击“首页”按钮
2. 右侧“添加事件”->“定义事件”中“事件ID”输入“click\_home\_tab”，“事件名称”可输入“首页”方便阅读
3. 点击右下角“确定”按钮
4. 此时控件生效范围仅限于“当前位置”“当前页面”“当前版本”，若有需求可变更“生效范围”选项

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFS0EyLQSbO9iLIQmb%2F21.png?alt=media\&token=24763567-6aac-49ec-b8cb-66463b76f18b)

**检查并部署**

* 检查：手机App点击“首页”按钮，若方舟可视化前端展示回显框，则检查回显框中“事件ID”是否为“click\_home\_tab”，若是，表示埋点成功
* 部署：若要埋点在生产环境生效，则需点击“部署”或“全部部署”

### 2 事件属性埋点

**场景**

统计用户登录事件“click\_login\_action”，并添加一个固定属性值“action”值为“登录事件”，再获取当前登录用户名称“loginAccount”。

**埋点步骤**

1. 点击“登录”按钮
2. 右侧“添加事件”->“定义事件”中“事件ID”输入“click\_login\_action”，“事件名称”可输入“登录”方便阅读；“事件属性”模块中，点击“添加属性”，可添加一条属性信息
   * 第一条：固定属性信息，“属性ID”填写“action”，“属性值”选择“手动输入值”，并填写属性值“登录事件”
   * 第二条：获取属性信息，“属性ID”填写“loginAccount”，“属性值”选择“从页面选择”，并点击“圈选属性”小手，此时鼠标状态改变，可在页面中选择需要获取控件的文本信息，当鼠标移至控件会变为橘黄色，选中后，在属性值框输入框中将会展示控件内容，表示获取成功
3. 点击右下角“确定”按钮
4. 此时控件生效范围仅限于“当前位置”“当前页面”“当前版本”，若有需求可变更“生效范围”选项

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFSMN63FWC6RXzv6Zr%2F22.png?alt=media\&token=ef68436e-cf67-42c7-8a44-195ef848183d)

**检查并部署**

* 检查：手机App点击“登录”按钮，若方舟可视化前端展示回显框，则检查回显框中“事件ID”是否为“click\_login\_action”，自定义属性中是否包含“action”字段值为“登录事件”，“loginAccount”字段为用户输入参数
* 部署：若要埋点在生产环境生效，则需点击“部署”或“全部部署”

### 3 复用列表埋点

由于页面做法不同，需先确认当前埋点控件是否为可复用列表，可通过以下方式：

* 通过开发人员确定是否为复用列表
* 进行可视化埋点时，“生效范围”仅勾选“同级元素”，若当前页面圈选元素出现多个虚线框控件，则表示为复用列表

**场景**

统计用户点击排行榜列表中的单条数据事件“rank\_list”，并获取当前点击行中App的名称“app\_name”

**埋点步骤**

1. 点击复用列表中的某一行（当前埋点行为实线框，同级控件行为虚线框）
2. 右侧“添加事件”->“定义事件”中“事件ID”输入“rank\_list”，““事件名称”可输入“排行榜列表”方便阅读；“事件属性”模块中，点击“添加属性”，可添加一条属性信息
   * 获取属性信息，“属性ID”填写“app\_name”，“属性值”选择“从页面选择”，并点击“圈选属性”小手，此时鼠标状态改变，可在页面中选择需要获取控件的文本信息，当鼠标移至控件会变为橘黄色，选中后，在属性值框输入框中将会展示控件内容，表示获取成功
3. “生效范围”->“圈定元素”，仅勾选“同级元素”，此时，页面会将同级元素使用虚线框标注
4. 点击右下角“确定”按钮，同级元素将全部显示为埋点状态
5. 此时控件生效范围仅限于“当前页面”“当前版本”，若有需求可变更“生效范围”选项

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFT5ESr74xVqPTQRjr%2F23.png?alt=media\&token=96ce27c1-a977-45c9-b23e-dd573a96daba)

**检查并部署**

* 检查：手机App点击复用列表中的某一行，若方舟可视化前端展示回显框，则检查回显框中“事件ID”是否为“rank\_list”，自定义属性中是否包含“app\_name”字段值为对应行中文本信息
* 部署：若要埋点在生产环境生效，则需点击“部署”或“全部部署”

## **附：可视化埋点支持的控件**

### **1. Android 支持控件**

可点击控件均可以进行圈选埋点，具体包含如下：

| 控件描述       | 控件类型                  | 备注       |
| ---------- | --------------------- | -------- |
| 视图         | View                  |          |
| 文本显示       | TextView              |          |
| 按钮         | Button                |          |
| 线性布局(布局容器) | LinearLayout          |          |
| 列表         | ListView,RecyclerView |          |
| 图片展示       | ImageView             |          |
| 九宫格等       | GridView              |          |
| 文本编辑       | EditText              |          |
| 网页展示       | WebView               | 支持H5元素圈选 |

### **2. iOS 支持控件**

包含如下：

* 继承至UIControl的控件，如：UIButton（按钮）、UIPageControl（页码控件）、UISegmentedControl（分段控件）、UISlider（滑块控件）、UISwitch（开关控件）、UIStepper（步进器）
* 添加了 UI TapGestureRecognizer手势的可点击视图
* 可复用列表中的cell条目，如：UITableView中的UITableViewCell、UICollectionView中的UICollectionViewCell

| 控件描述   | 控件类型                 | 备注       |
| ------ | -------------------- | -------- |
| 按钮     | UIButton             |          |
| 分段控件   | UISegmentedControl   |          |
| 滑块控件   | UISlider             |          |
| 开关控件   | UISwitch             |          |
| 页码控件   | UIPageControl        |          |
| 步进器    | UIStepper            |          |
| 复用cell | UITableViewCell      |          |
| 复用cell | UICollectionViewCell |          |
| 网页展示   | WKWebView            | 支持H5元素圈选 |

## FAQ

### 1. 摇一摇没有展示当前设备

* 确认App是否已集成易观方舟SDK，并设置可视化相关接口
* 检查方舟项目中的AppKey与SDK设置的是否为同一个
* 当前手机是否可访问方舟后端可视化端口
* 方舟端：进入“等待设备接入”状态，App端：等待App完成启动后，再进行摇一摇，否则可能不生效
* 若第一次未生效，可杀死App并刷新方舟可视化前端页面，重新进入App摇一摇尝试连接

### 2. 埋点过程中突然断网，埋点怎么办

* 此种情况可能发生在网络不稳定或移动wifi网络切换过程中
* 添加事件中已点击确定的埋点，将不受影响
* 若当前埋点处于编辑中，系统将会丢失

### 3. App发版，原有的埋点是否生效

* 生效的范围限制包括：元素限制（当前内容、当前位置、同级元素、同类元素），页面限制（当前页面、所有页面），版本限制（当前版本，所有版本）。
* 若已埋点控件的页面结构改变，但仍符合元素限制（如：根据当前内容圈选），页面限制和版本限制都满足则原有埋点生效
* 若已埋点控件的页面结构未改变，需关注埋点时选择的“生效范围”限制，如：埋点时限定了1.0版本生效，当前App升级为2.0，则埋点不会生效，若要生效可选择“全部版本”；若埋点时限定了文本内容为“首页”，当前版本改为了“我”，则埋点不会生效。

### 4. 同一个位置的控件在iOS端可埋点，但Android端无法埋点

* 系统差异、控件差异、开发人员习惯等，使得页面看上去相同，但实际控件可能无法埋点，如果圈选表现不一，可联系自己的开发人员咨询、核对控件在不同系统、机型的表现，更改埋点方案实现需求

### 5. 同一个App，相同的控件类型，有的能响应事件，有的不能响应事件

* 可能由于系统升级导致原生控件图层发生变化，导致无法匹配控件
* iOS端：只有控件添加了事件响应才会允许埋点，对于无触发事件控件埋点无意义
* Android：控件可埋点的前提是可点击

### 6. 埋点列表中显示了很多不是当前App的埋点

* 目前可视化只是做了AppKey和设备类型的区分，若其他App进行可视化埋点时使用的AppKey和设备类型与当前设备相同，则会同时显示
* 建议不同的App使用不同的方舟项目（即Appkey不同，要进行关联一起计算的除外）

### 7. 页面已切换，但当前页面的埋点列表没有更新，还会显示其他页面的埋点

* 当前页面可视化埋点，是从代码层面的相同页面。当页面展示不同，可能并没有真正切换页面，如：相同的ViewController，或者有些跨平台框架应用只有一个页面等。
* 若埋点控件“生效范围”选择“全部页面”，则该埋点会出现在所有页面列表中
* iOS端：使用控制器类名作为页面标识，若多个页面使用同一个类生成则认为是同一个页面
* Android端：使用activity，dialog，popup window等作为页面标识

### 8. 更改生效版本后，之前的版本在生效列表不再显示

* 生效版本的列表只显示生效版本、当前版本、和全部版本。
* 当生效版本和当前版本是同一个，只会显示当前版本和所有版本，不会显示所有App的版本

### 9. 页面切换或显示改变，回显框一直显示

* 回显中可能包含多个自定义属性，为防止不同用户查看速度不同，回显信息目前使用人工手动关闭式

### 10. 部署埋点，断开可视化连接，发现埋点数据未上报

* 部署埋点存在数据同步机制，刚部署的数据大约五分钟左右生效默认5分钟，安装方舟时候可配置（方舟5.1版本开始默认1分钟）
* 断开可视化后，建议杀死App，重新启动拉取埋点信息
* 检查手机网络是否正常，若网络存在问题，可能导致埋点数据并未拉取到
* 可通过网页访问已部署数据
  * 可视化部署地址 + AppKey+appVersion+lib
  * 可视化部署地址为`VisitorConfigURL`设置的地址，AppKey为项目标识，appVersion为App版本号，lib：苹果端为iPhone，安卓端为Android。如：`http://192.168.1.1:8089/configure?appKey=523rwe8e7fe4e60&appVersion=1.0&lib=iPhone`或`https://192.168.1.1:8089/configure?appKey=523rwe8e7fe4e60&appVersion=1.0&lib=Android`

### 11. Hybrid埋点，页面内容显示与App显示不一致

* 当出现显示不一致可能是H5的页面结构缺陷，重绘是根据页面结构重绘的，虽然实际表现正常，但内部不完善，例如塌陷等，此时根据位置信息重绘的确会出现偏移，但是不会影响正常埋点。

### 12. 埋点属性个数是否有限制

* 事件属性分为两种，一种为固定属性，即：手动输入属性k-v对，这种数量无限制；一种为从页面选择属性，这种关联属性目前最多可关联5个
* 不建议添加过多自定义属性，尤其是“从页面选择”属性，此类属性在App端需要进行查找，可能会影响效率，另一个可能会增加事件分析的复杂性

### 13. 埋点删除后，数据依然上报

* 在埋点列表删除埋点后，需点击部署，生产环境或其他App才会生效
* 埋点列表已部署，但由于网络问题导致新部署可视化数据未能同步至App端，导致删除数据依然存在

### 14.摇一摇问题排查

* iOS：用Xcode运行要连接的App，打开Debug，摇一摇查看日志打印
* Android：用Android Studio运行要连接的App，打开Debug，摇一摇查看日志打印

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFUpC_K70Euib5xatp%2F8521602299647_.pic_hd.jpg?alt=media\&token=ce53ed09-f5dd-4528-838b-7162c4887940)

![Android](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MJFEwmLnMM4Pb2l7FoY%2F-MJFUKiSYJywMjXMybe7%2F20.png?alt=media\&token=baf40248-65da-40aa-af1c-35021d83fee4)

### 15.同类元素和同级元素的差异

同类元素：指控件类型相同，如：当前页面的所有按钮都是同一个类型，所有输入框都是同一个类型，所有的单选框都是同一个类型

同级元素：该概念在可视化埋点中仅存在于复用列表控件。由于这些控件是复用的，所以他们的布局样式一致，控件的层级嵌套也是一致的，为了避免重复埋点的工作，可限定同级元素埋点，这样只要布局样式相同的控件都可生效

复用列表的特点：

* 通常可以无限上下滑动
* 在圈选埋点时，若包含同级元素，则会以虚线框形式进行标注
* 每一块的布局相同，如：微信朋友圈列表，常见样式上半部分一段文字，下半部分为九宫格图片，他们布局一致；也可能包含多种样式，如：左边图片右边文字，上边图片下边文字等等

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 集成SDK接入数据

当确定了埋点方案之后，工程师即可按照相应文档开始埋点

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LjKLGqFgV7cWop8fjRJ%2F-LjKIE5-Z2QsFPCf6qtB%2Fimage.png?alt=media\&token=7e5f0230-a455-499c-81f1-6b005341a83c)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 数据验证

最细粒度的原始数据的完整性、准确性会直接影响到后续的数据分析和应用，因此使用前必须重视在接入环节的数据验证工作

## 总体数据概览

通过SDK/API/文件等方式向方舟上报数据时会经过接收、校验、入库等多个环节，只有入库成功的数据会参与到分析计算当中。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlIe7eV_ORB1d6Htbt%2Fimage.png?alt=media\&token=4ba27f80-5b05-4e35-8fcc-c5f45fddf927)

**在数据接收环节，当上报数据中 AppKey 与当前项目 AppKey 不匹配时，数据将直接直接被丢弃**

其他 Appkey 符合当前项目时，数据会被分为三类：

**Debug日志**

开启了调试模式（集成SDK时设置 debug =1 或 2 ）时上报的数据将进入Debug 日志，用作测试环节的数据正确性和完整性校验，其中

* debug = 1 的数据仅用于调试，不会入库参与计算
* debug = 2 的数据既可用于调试，又会入库参与计算

**入库成功数据**

开启数据入库模式（集成 SDK 时设置debug = 0 或 2 ）时上报的数据，将进行多重校验，通过校验的数据，将会成功入库，即可用于后续分析和应用；

**入库失败数据**

入库模式下，未通过校验的数据，将进入错误日志，不会参与计算，开发者也可以据此修正上报的数据。

## **Debug 日志**

开发工程师埋点后希望快速了解埋点是否正确，可以设置`Debug = 1 或 2` 开启调试模式，SDK 会向浏览器的控制台中输出日志。日志中会包含一些告警、错误，也会包含上报事件的内容。

以 Chrome 为例，步骤如下：

* 启动 Chrome，并访问已经埋好点的网站
* 按 F12 或 Ctl/Cmd + Alt/Opt + I 打开 “开发者工具”
* 点击 “Console” 页签进入控制台
* 正常浏览页面，接可以看到控制台有大量的日志

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLl_ExEorm4BtDFs5Vg%2Fimage.png?alt=media\&token=bb7a162e-7874-4143-9132-aace608ce94b)

除了通过客户端验证外，可以用方舟内置的  **Debug 日志** 模块来逐条验证，展示最新 1000 条数据，可选择日期、数据源等进一步过滤。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlVVlb8ZM_-ARSgt2o%2Fimage.png?alt=media\&token=a894a779-090f-45a8-bb2e-11c1655caccc)

{% hint style="info" %}
从左上角支持切换 **事件日志** 和 **用户日志** 分别查看
{% endhint %}

### 1. 条件过滤

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlaskrIorhymaEeg5n%2Fimage.png?alt=media\&token=a65411fc-b515-412a-9e25-b2b2fc753a74)

#### A. 时间过滤

当一段时间里上报的数据量过大时，可以指定到某个小时或分钟区间来查看

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlbEf3X8oK-Lbfiy1I%2Fimage.png?alt=media\&token=2072d191-8244-4597-9b36-cff22a44feee)

{% hint style="danger" %}
日期过滤是基于展示的最新的1000条日志过滤的，也就是说如果今天日志已经超过1000条，则即使昨天实际有测试日志，日期切换到昨天也查询不到结果。
{% endhint %}

#### B. 数据源过滤

一个项目当中会接入多个平台，比如一个应用的Android端、iOS端、网页端等，不同端通常是不同的工程师负责集成SDK，如果只想验证自己集成的数据正确性，则可以选择数据源快速过滤

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlcCnTh2NQVvQg5RSz%2Fimage.png?alt=media\&token=5e51a4bb-c157-4377-a0ab-3e3c773a915b)

#### C. 其他条件过滤

当要验证某个事件的属性时，可以输入事件ID 来过滤；

当有多个测试设备时，可以输入当前设备绑定的用户ID来过滤，更方便查看；

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlcq6ttzE45LjqaYRV%2Fimage.png?alt=media\&token=428af998-cdc6-4e0d-9313-d4d52cd0fcd4)

### 2. 实时更新最新数据

当停留在当前页面时，有新的事件产生会实时记录提醒，点击可以加载最新事件；

也可以开始实时刷新按钮，实时加载数据；当实时会产生大量数据时，建议关闭，手动加载最新数据，否则自动加载过快，无法准确验证。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLldJfwUcV8AAG9a528%2Fimage.png?alt=media\&token=506e8343-1ae5-4737-b426-860a688ddbb8)

### 3. Debug 日志中的错误日志

Debug日志会进行基础的格式、数据类型等校验，当校验不通过时，会直接在列表当中红色标识

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlgaM_RRqVwJu43MMJ%2Fimage.png?alt=media\&token=6c855b34-bba0-4050-b5e3-48cd2a574605)

也可以打开 **仅查看错误日志**开关 查看错误日志

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlg1aou1aBsVyQ6JVF%2Fimage.png?alt=media\&token=7ae36453-27a4-48dc-98b0-27555ee77963)

### 4. 设置在列表中展示的列

支持自定义展示的列，比如选择展示出常用的设备品牌、型号、IP等方便快速查看

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lws-K3sa_PgGSlMfR0T%2F-Lws6VUqWRi9bSqMhTZ8%2Fimage.png?alt=media&amp;token=96c8d26c-c475-4bca-848c-dc76e3dd036c" alt=""></div>

### 5. 展开单条事件的属性和JSON数据

点击单条事件，可以展开查看事件属性和JSON数据

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lws-K3sa_PgGSlMfR0T%2F-Lws7JXDiPpyxtIKEiiS%2Fimage.png?alt=media\&token=fae9ff88-0306-41ab-a6c9-86cc13d02dc2)

## **入库成功数据（用于计算）**

展示开启数据入库模式（集成 SDK 时设置debug = 0 或 2 ）时上报的行为数据（Event）（即用于分析计算的数据），最多展示选定时间和条件下的1000条。（注：用户日志用于更新用户属性，不提供单独查询)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLlk30z4ruBjPln8wmJ%2Fimage.png?alt=media\&token=9a4385a4-9929-4f18-bc71-ad40e9707de6)

{% hint style="info" %}
和Debug日志的差异

1. 可以展示选定条件（时间、数据源、事件ID等）下的1000条
2. 需手动点击刷新按钮更新最新数据
3. 不单独展示用户日志
   {% endhint %}

## **入库失败数据（错误日志）**

展示关闭调试模式下（Debug=0）和调试模式下（Debug=2）入库失败的数据。通常这也是部分指标在查询时偏差的原因，所以发现错误时，请及时纠正，避免更大的影响。

同 Debug数据验证 的功能相似，同样

* 支持按照事件ID、用户ID、时间来搜索
* 支持筛选可展示的列
* 支持数据的实时更新

除此之外，可以筛选某些特定错误类型下的数据；点击行时，可以展示错误的原因

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MLkz0y3EYUSCIBZEhpO%2F-MLllvsBIRotNSbhyv8t%2Fimage.png?alt=media\&token=e644ba2d-2e17-4dc4-9527-a5386757e7f8)

### 错误类型说明

| 错误类型             | 正常情况示例                                                                                   | 错误情况示例                     | 建议解决办法                              |
| ---------------- | ---------------------------------------------------------------------------------------- | -------------------------- | ----------------------------------- |
| JSON 格式异常        | JSON Array对象或 JSON 格式                                                                    | -                          | 上传正确JSON 格式数据                       |
| 标准格式字段校验异常       | -                                                                                        | -                          | 上传正确标准格式字段                          |
| appkey 校验异常      | -                                                                                        | 数据中 appkey 与启动程序中appkey 不同 | 上传一致appkey                          |
| 事件ID不符合校验规则      | Java 命名规范：首位为字母或者$，后面为大小写字母、数字、下划线和$，最大长度125字符                                           | -                          | 上传正确事件ID                            |
| 属性ID不符合校验规则      | Java命名规范：首位为字母或者$，后面为大小写字母、数字、下划线和$，最大长度125字符                                            | -                          | 上传正确属性ID                            |
| 属性值个数超过规定范围      | 上限为300个（包含回数的预置属性和自定义属性）                                                                 | -                          | 减少属性值个数到300个以下                      |
| 属性值不符合规范         | 请查看文档【[Part II-数据接入准备-数据格式](https://docs.analysys.cn/ark/integration/prepare/data-type)】 | -                          | 上传正确属性值                             |
| 属性值上传和现有数值类型不一致  | String                                                                                   | Boolean                    | 上传一致类型的属性值                          |
| 属性值类型不支持         | 类型仅包含：String/Number/Boolean/数组                                                           | -                          | 上传支持的属性值类型                          |
| 显示用户登录，但是数据库中不存在 | -                                                                                        | -                          | 确定该用户是否绑定                           |
| IP解析异常           | -                                                                                        | -                          | 联系运维                                |
| 数据信息超过限定时间       | -                                                                                        | -                          | 请重新确认数据接收时间范围（以当前时间为准，前10天内和未来3小时内） |
| 程序异常             | -                                                                                        | -                          | 联系易观运维                              |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 用户数据导入

上传Excel文件，灵活导入用户数据

## 使用方法

### **step1：开通功能权限（项目角色成员的功能权限）**

> 数据一旦导入，不可回滚，请您注意严格控制管理该功能的权限范围

### **step2：添加用户属性到埋点计划中**

> 否则会由于用户属性不在埋点计划中而导致数据无法入库

### **step3：准备数据文件**

> 数据文件须满足一定格式规范：
>
> 1. 文件格式：支持.xlsx 和 .xls 格式的Excel文件
>
> 2. 文件大小：10M以内
>
> 3. 内容格式规范：
>
>    （1）表头必须包含 xwho 列，用户属性必须先加入埋点计划
>
>    （2）建议将单元格的“数字“格式调整为“文本”型
>
>    ![](https://tilnr9qbmn.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTU4YjRhYjMzMDJjYTNiMzcxM2VmNjQ4MzdmYjNkNzVfTGpZSXp6UDg5VFVJRnFWUG5tTUw5YTk0dXdnZmpyQkFfVG9rZW46Ym94Y25RV2p3d2pwdlFIZTA5UVhreWswS1hlXzE2Mjk3ODEzNTg6MTYyOTc4NDk1OF9WNA)
>
>    由于Excel文件单元格会自带“格式“，仅当相应类型的数据单元格格式为下述情况时 ，导入数据才可被方舟系统正确识别处理，否则可能导致数据错误
>
>    字符串型：文本、数值
>
>    数值型：文本、数值
>
>    布尔型：文本、数值
>
>    日期型：文本、日期
>
>    集合型：文本、数值

### **step4：上传文件**

> **文件上传成功，数据开始排队入库，到入库完成，有一定的时间间隔，具体时间与系统当时正在进行的各项任务有关**

### **step5：入库完成**

> 入库处理完成后，会通过“消息中心“通知处理结果

## **适用场景**

**更适于：在埋点上报的基础上，进行数据增补，追加用户属性**

* [ ] 主要用于增补用户属性
* [ ] 同时也支持追加“新“用户的数据（用户表中不存在的新增用户）

## 数据更新逻辑

**总体上，遵循覆盖更新逻辑，支持下述场景更新**

* 追加列（新增用户属性）
* 覆盖已有列（更新用户属性取值）
* 追加行（新增用户：用户表中不存在的“新“用户）

  :warning: 注意，追加“新“用户数据时，请注意自行补充上报部分系统预置的用户属性（主要包括： $first\_visit\_time,、$sign\_up\_time、$is\_login）；否则影响分析功能中的预置“用户群“

##

####


# 元数据管理

元数据管理用于集中管理是计划中的埋点，且已回传的数据。支持修改事件/属性显示名称说明、上传属性字典、 合并事件、创建同样页面结构的页面组等等。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH-PgMF-tOO6uCcJe%2F-LoUH1_sKfqUkdYy-G3K%2Fimage.png?alt=media\&token=1783f271-4e80-4bdb-afbc-521bfa6f0a37)

详见：

{% content-ref url="/pages/-LaQ9KfTkL8aT7TEigHz" %}
[元事件](/features/project-manegement/meta-data/meta-events)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9Kh50QWhple1-fQg" %}
[虚拟事件](/features/project-manegement/meta-data/merged-events)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KhS-uJ9lxrEwTtD" %}
[事件属性](/features/project-manegement/meta-data/event-properties)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9Ki35K\_IuMFOOziL" %}
[用户属性](/features/project-manegement/meta-data/user-properties)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KhqYqSw9hReWIVE" %}
[Session 管理](/features/project-manegement/meta-data/session)
{% endcontent-ref %}

{% content-ref url="/pages/-Ld8TFnqCwkA7K1AiOLG" %}
[页面组管理](/features/project-manegement/meta-data/pagegroup)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 元事件

元事件用于管理在计划的埋点方案中，且实际有回数的事件，可编辑名称、说明、标签和启用状态，也可以查看该相应事件近7日的数据表现。

{% hint style="info" %}
实际已经回数，但不在埋点计划中的事件和属性并不会显示在元事件列表中；

仅处于启用状态的事件会出现在各个分析模型或者分群选择事件的选项中
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoV8x3dFJnC1F_abecs%2Fimage.png?alt=media\&token=bd1ffcc5-b185-46e5-a3bb-9eba8396375b)

## 1 查看元事件列表

### A. 分组、条件过滤

当有多个平台、多种埋点方式时，可以通过分组、过滤条件快速找到相应的事件

支持通过标签、埋点平台、是否预置、埋点方式（指代码埋点和可视化埋点）、启用状态来进行分组和过滤

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH6LiENlVF88CIYpw%2F-LoURKfxH3nifQ-RT25-%2Fimage.png?alt=media\&token=28445113-c381-4b2d-8ffc-20abf0d3f4ba)

### B. 搜索

支持通过事件ID、显示名称、事件说明、属性ID、属性显示名称的、属性说明来快速查找

### C. 展开查看事件属性

列表展示事件和属性，点击事件行空白处可以展开该事件的属性，也可以点击展开全部属性，查看当前页全部事件的属性

### D. 排序

可以按照除了事件说明外的其他字段来排序

### E. 分析事件

点击分析的 icon ，可以查看近7日该事件的累计触发次数和触发次数的趋势，可以的通过事件分析、留存分析快速 进入分析模型的细分查看该事件的表现

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH6LiENlVF88CIYpw%2F-LoUTUeGde27dN7J6GY9%2Fimage.png?alt=media\&token=c1061d0b-02c3-462a-8631-24bc9cb293b3)

## 2 编辑事件/属性

### A. 编辑事件名称/说明

在埋点时，会使用字母、数字和下划线组成的事件ID来唯一标识事件，所以上报的原始数据并不易读。若在埋点方案中已经添加了显示名称和说明，则会直接显示；若是没有填写或者要更新的话，可以行内移入更新事件名称和事件说明

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH6LiENlVF88CIYpw%2F-LoUV-dw4btUEOj_Hnq6%2Fimage.png?alt=media\&token=3349cf68-0584-4120-8609-81944c7f6789)

在分析图表中选择事件条件时可以查看最新的名称和说明

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH6LiENlVF88CIYpw%2F-LoUUqmUVddXeZtZp80o%2Fimage.png?alt=media&amp;token=616c3dfe-464c-44b9-826d-7ea849eef77d" alt=""></div>

### B. 编辑事件标签

支持给事件添加标签来归类

{% hint style="warning" %}
在分析模块中通过标签来筛选查找的功能正在开发中
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH6LiENlVF88CIYpw%2F-LoV3sXR7ImiudfupnBX%2Fimage.png?alt=media\&token=d148a1f7-6dc4-442b-80ce-2c1bd214f279)

### C. 编辑事件启用状态

默认会启用所有回数的事件和属性，但当你不想让所选事件/属性参与计算时，可以关闭开关，关闭后它将不会出现在分析模型的下拉框中，同时计算任意事件等活跃指标时也不会计入其中。更改后立即生效。

{% hint style="info" %}
关闭开关，数据仍然正常接收入库，只是不会出现在选项中，不会计入任意事件的计算当中。

通常对于过期的、不想再统计的埋点、可以选择关闭
{% endhint %}

### D. 编辑事件属性

同样可以编辑属性名称、属性说明、显示状态（关闭后同样分析模块选择相应事件时不显示相应属性）

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoUH6LiENlVF88CIYpw%2F-LoUY7UQ4KHcxbSWPB7y%2Fimage.png?alt=media\&token=9bdc8295-8c78-4dce-a393-54613bbd9d24)

对于 **数值** 和 **字符串** 类型的属性，可以查看是否使用的了字典

{% hint style="info" %}
目前在元事件中不支持支持直接上传、更新或者删除字典，目前须进入 [事件属性](/features/project-manegement/meta-data/event-properties) 中查找进行操作；

因为是全局性的操作，一旦修改，会影响所有使用了该属性的事件
{% endhint %}

{% hint style="info" %}
对于 **数值** 类型的属性也支持查看单位，但修改同样须进入 [事件属性](/features/project-manegement/meta-data/event-properties) 中进行
{% endhint %}

{% hint style="info" %}
事件属性的显示名称和说明**非全局**

有时不同事件会用到相同属性 ID 的属性，在元事件修改仅针对当前事件生效，不必担心在一处修改了属性的信息后会引发全局的混乱
{% endhint %}

## 常见问题

### 1 为什么有的事件在Debug 数据验证中可以看见但在元事件里面看不到？

元事件中仅展示在计划的埋点方案中，且已经回数，目的是管理实际可用的事件。

所以如果发现有回数事件不可见，请检查是否在计划外的埋点中，确定确实有需要可以点击添加到埋点方案中，这样就可以看到了。

### 2 如果我修改一个通用的自定义属性信息难道需要在这里一个个修改吗？

若同一个属性会被很多事件用到，可以进入 [事件属性](/features/project-manegement/meta-data/event-properties) 进行修改，前提是该事件属性在元事件中没有单独修改过。

### 3 为什么有的事件开头有个 $ 符号？

方舟预置的事件和属性会以 $ 开头，不建议自定义使用。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 虚拟事件

在上报的元事件无法直接满足分析需求，又无法更改埋点时，经常会用到虚拟事件。

虚拟事件可以组合多个元事件，每个元事件下也可以设置过滤条件。

{% hint style="info" %}
常见使用场景：

**1 同含义的按钮埋了多个事件，分析时想要合并分析**

e.g. 多个页面都有加入购物车按钮，一个是 add\_to\_cart1，一个是 add\_to\_cart2，想要的分析总的加入 购物车的情况时，就可以将二者组合为一个事件 。

**2 同类元素在上报时为了方便抽象为同一个事件，但是分析时想要拆开，快速查看**

e.g. 所有页面上报的事件都是 $pageview，但分析时想要定位到具体的一类页面，尽管在分析模块中通过添加条件也可以实现，但每次选择时都需要重复添加，比较低效；这时就可以选择该事件的，通过添加条件创建虚拟事件来实现。
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoV971HL4CaTejNrIFG%2Fimage.png?alt=media\&token=91d37a9c-3fad-4a3b-b2ba-d3c75b0a016d)

## 1 创建虚拟事件

点击列表有右上角创建虚拟事件，输入事件ID、显示名称、事件说明和虚拟事件的构成即可。

{% hint style="info" %}
选择了多个事件时，事件之间是或的关系

假如`虚拟事件 X` 由 `事件A` 和  `事件B` 组成，那么其含义就是只要用户触发了`事件A` 或者 `事件 B` ，都算是发生了 `虚拟事件 X`
{% endhint %}

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoVJxm4ZVkc4AVNrS1w%2F%E5%88%9B%E5%BB%BA%E8%99%9A%E6%8B%9F%E4%BA%8B%E4%BB%B6.gif?alt=media\&token=a7808962-06fd-44d9-a3e8-ebbc8665ef31)

## 2 管理虚拟事件

移入已创建的虚拟事件，可以进行修改和删除

{% hint style="info" %}
删除虚拟事件并不会删除元事件，但会让已创建的引用了该事件图表无法正常显示
{% endhint %}

## 常见问题

### **1 虚拟事件的数量有上限么？**

没有。虚拟事件只是规则，不需要额外计算和存储。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 事件属性

事件属性页面用于管理所有和事件有关的属性，如果你想要改动一次属性就对所有事件生效，那你就应该来这里进行设置。

这里也是唯一能修改事件属性的单位和字典地方。

但是要注意，假如某个事件的属性显示名称和说明已经被被修改过，那么这里的改动不会将其覆盖。

## 1 编辑事件属性

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoVP1P2fFucRLmWDZJm%2Fimage.png?alt=media\&token=96d08d5c-29b8-4cfb-9fb6-870936306011)

A 处可以修改属性显示名称

B 处可以修改属性说明

C 处的图标只有 **数值** 类型的属性才会出现，点击这里可以修改属性所使用的单位

D 处的图标只有 **数值** 和 **字符串** 类型的属性才会出现，点击这里可以上传、更新、下载维度字典

E 处可以切换属性的显示状态，若关闭，则任何事件分析时都无法使用次属性

> ⚠️ 特别说明：
>
> 易观方舟会将所有 事件属性ID 中的大写字母强制转换为小写字母。
>
> 建议您在上报数据时，使用小写英文字母和下划线组合命名事件属性ID（例如 pagename 、page\_name），不建议使用含大写字母的属性ID（例如 pageName 、pageTitle）。

## 2 什么是单位？

为了我们更好地理解一个数值的度量，我们需要为它带上真实的单位，就像重量的单位会有：毫克、克、千克、吨等。

数值需要有单位才能了解它背后的真正含义，但因为的无法自动猜测每个数值背后对应的单位， 所以需要使用时自行定义，这样在分析中使用了有单位的属性创建的指标时即可在图表中显示对应单位。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoVRGeQsRwZTY5GIt4Q%2Fimage.png?alt=media\&token=a6d58b18-071e-4c55-91d0-2c22ff2f9e7f)

## 3 什么是维度字典？

对于部分事件属性/用户属性，其属性值可能并不是易于识别的字符，

e.g. 性别这个属性，上报数据时工程师可能会用0 标识女，1标识男，2标识未知；或者用户类型这个属性，上报时可能用100001、100002这样的编号来标识。

这时可以通过上传属性值一对一映射的属性值显示名称，建立维度字典，在分析的时候就可以使用带有维度字典的属性了。

上传前请下载 **字典模板示例**，确保按照模板中的格式正确上传

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoVPqweQvbNIfzjBqJr%2Fimage.png?alt=media\&token=6a16b579-a049-413d-b379-27c5410f7f53)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 用户属性

用户属性页面用于管理所有和用户有关的属性。

用户属性可以用于建立用户分群（丰富的用户属性有助于更好的了解用户的构成），且让用户分群更为有效。

## 1 编辑用户属性

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVVn0IFbuBRUuSqJNM%2Fimage.png?alt=media\&token=f40bd4b1-2f0d-4eb8-b536-150ddd4765e4)

A 处可以修改属性显示名称

B 处可以修改属性说明

C 处的图标只有 **数值** 类型的属性才会出现，点击这里可以修改属性所使用的单位

D 处的图标只有 **数值** 和 **字符串** 类型的属性才会出现，点击这里可以上传、更新、下载维度字典

E 处可以切换属性的显示状态，若关闭，则任何事件分析时都无法使用次属性

> ⚠️ 特别说明：
>
> 易观方舟会将 用户属性ID 中的大写字母强制转换为小写字母。
>
> 因此，建议您在上报数据时，使用小写英文字母和下划线组合命名用户属性ID（例如 username 、user\_name），不建议使用含大写字母的属性ID（例如 userName 、UserName）。

## 2 什么是单位？

为了我们更好地理解一个数值的度量，我们需要为它带上真实的单位，就像重量的单位会有：毫克、克、千克、吨等。

数值需要有单位才能了解它背后的真正含义，但因为的无法自动猜测每个数值背后对应的单位， 所以需要使用时自行定义，这样在分析中使用了有单位的属性创建的指标时即可在图表中显示对应单位。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoVRGeQsRwZTY5GIt4Q%2Fimage.png?alt=media\&token=a6d58b18-071e-4c55-91d0-2c22ff2f9e7f)

## 3 什么是维度字典？&#x20;

对于部分事件属性/用户属性，其属性值可能并不是易于识别的字符，

e.g. 性别这个属性，上报数据时工程师可能会用0 标识女，1标识男，2标识未知；或者用户类型这个属性，上报时可能用100001、100002这样的编号来标识。

这时可以通过上传属性值一对一映射的属性值显示名称，建立维度字典，在分析的时候就可以使用带有维度字典的属性了。

上传前请下载 **字典模板示例**，确保按照模板中的格式正确上传

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoV6gqw33p0z6yOK0aH%2F-LoVPqweQvbNIfzjBqJr%2Fimage.png?alt=media\&token=6a16b579-a049-413d-b379-27c5410f7f53)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# Session 管理

Session，即会话，是指在指定的时间段内在您的网站/H5/小程序/APP上发生的一系列用户行为。例如，一次会话可以包含多个页面浏览、交互事件和电子商务交易。

传统分析工具中，通常进行类似如下的定义：

> **iOS应用**：用户屏熄、home键到切换后台、杀掉进程即视为会话结束；
>
> **Android应用**：用户杀掉进程视为会话结束，屏熄、按home键超过30秒，也会视为会话结束。
>
> **H5/Web应用**：用户从打开网页到离开视为一次会话，包括关闭整个浏览器、30分钟未进行新打开页面、触发事件等活动。如果一次访问跨天的话，会被切割成两次会话。

但因为不同的应用有不同的分析场景，如果使用统一的标准，会无法满足，所以方舟支持自定义Session口径，通过事件、跨天等等来进行切割，同时能够满足传统的定义方法。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVX-xLYRtXzisLoHxV%2Fimage.png?alt=media\&token=05123165-3799-48c4-880c-31f2ea5006f2)

Session管理功能，用来创建Session口径和管理已完成创建的Session口径。

## 1 Session 解析

Session相当于一个容器，其中包含了一系列符合 Session 口径的用户行为；一个用户可以有多个 Session，一个 Session 可以有很多行为。

这些 Session 可能发生在同一天，也可能发生在几天、几周或几个月内。一个 Session 结束后，就可以开始新的Session。

Session 结束的方式分为以下3种：

* 跨天
* 超时，例如，不活动状态超过 30 分钟
* 指定事件，例如，支付成功

## 2 创建 Session 口径

点击右上角的创建 Session 口径，出现如下界面：

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVX3Ntzvdam3fL4ITz%2Fimage.png?alt=media\&token=245ab0f6-3acc-44da-954e-a18d853a8048)

使用者可根据需求，设定不同的 Session 口径，在易观方舟中，Session 可以排除一些不重要的事件，不参与计算。

**名称：**&#x53;ession 口径的名称。

**排除的事件：**&#x4E0D;计入 Session 的计算，排除的事件不会增加该 Session 的数量和时长指标。

**到点切割：** 设定 Session 结束方式中的跨天结束，目前支持北京时间 00:00:00；计划支持到任意时区任意时间切割，结束 Session。

**超时切割：** 设定 Session 结束方式中的超时结束，目前支持的时间范围为 5 分钟 \~ 5 小时。（这里只 Session 口径中相邻两个事件的时间间隔，不是整个Session的时间范围，即Session的时长可能由于一直发生用户行为而超过 5 个小时）

**指定事件切割：**&#x8BBE;定 Session 结束方式中的指定事件结束。通常设定转化目标，如，注册成功、支付成功等。

对已经生成的 Session 口径，可以进行 3 个操作：另存为、编辑和删除。

## 3 管理 Session 口径

修改和删除

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVX7TBULvcjZ7G4qcs%2Fimage.png?alt=media\&token=2153870a-f737-41a1-88d1-e5f4a3b1cd38)

## 4 Session的使用

创建好 Session 规则后，就可以在分析过程中，使用不同的规则，分析指标了，详见使用说明阅读[《Session 分析》](/features/analytics/session)

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVXEjf9xRrMZDkSbiV%2Fimage.png?alt=media\&token=ef27f700-d761-43f5-90aa-e76905453cda)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 页面组管理

页面组是具有共同结构特征的页面集合，如商品详情页、新闻资讯页；可用于基础指标分析或热图分析。

## 1 创建页面组

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVWkCXMzjBPt-mSgpS%2F%E5%88%9B%E5%BB%BA%E9%A1%B5%E9%9D%A2%E7%BB%84.gif?alt=media\&token=7175aac8-3288-45bf-a027-5539f7a4ab1e)

可以设定一组或多组 URL 规则快速匹配一组具有相同结构的页面，支持 5 种URL规则：包含、开头为、结尾为、等于、正则表达式：

### 包含

任何包含输入字符串的URL。e.g. 输入URL 包含 abc，则将筛选出 abc.com、ark.abc.cn 等类似的URL；

### 开头为

任何开头为输入字符串的URL。e.g. 输入URL开头为<http://www.example.com/category=1，则将筛选出http://www.example.com/category=1\\&id=1、http://www.example.com/category=1\\&id=2> 等所有分类下的URL；

### 结尾为

任何结尾为输入字符串的URL。e.g. 输入URL结尾为 project-management，则将筛选出 <http://www.example1.com/project-management> 、 <http://www.example2.com/project-management> 等URL；

### 等于

和输入URL完全一样的网址，支持输入多个地址；

### 正则表达式

符合正则表达式的URL，通过通配符、定位符、分组等符号组成逻辑公式。e.g. (?=.\*page.\*)(?!.\*otherpage).\* 筛选出包含page 但是不包含 otherpage 的所有页面。

{% hint style="info" %}
规则中输入多个地址或特征时英文分号分隔
{% endhint %}

## 2 页面组管理

页面组的修改、复制、删除

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LoVTtpRp7ZN3IwOsRSb%2F-LoVWqZONNPAxi-6yAWe%2Fimage.png?alt=media\&token=730d2a54-d2bf-4f75-912f-f67330370729)

## **附 正则表达式常用语法**

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串，是对字符串操作的一种逻辑公式。

### 常用字符

正则表达式字符主要包含：通配符、定位符、分组等。

**通配符，**&#x53EF;以用来代替一个或多个字符，常用的有

| 符号 | 说明                | 示例                                                    |
| -- | ----------------- | ----------------------------------------------------- |
| \* | \*前的字符重复出现n次（n≥0） | <p>表达式是 argo\*ark </p><p>则argoark、argooooark都可以匹配</p> |
| ？  | ？前的字符重复出现0次或1次    | <p>表达式是 argo？ark </p><p>则只能匹配出argoark、argark</p>      |

**定位符，**&#x57FA;于指定位置的匹配，通常在开始或结束的位置

| 符号 | 说明       | 示例                                                                              |
| -- | -------- | ------------------------------------------------------------------------------- |
| ^  | 从开头匹配字符串 | <p>表达式是 ^ark</p><p>则 ark.analysys.cn、arkargo 可以匹配，但 docs.ark、argoark 等不匹配</p>   |
| $  | 以结尾匹配字符串 | <p>表达式是 ark$</p><p>则 doc.ark.cn、argoark 可以匹配，但 ark.analysys.cn、arkargo 等不匹配</p> |

更多可参考 <https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions>

### **常用示例**

| 常见用法                                                   | 示例                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                         |                                                                                                                                                                                                                                                               |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 头部域名完全匹配 ，尾部带/或带?加参数                                   | <p>表达式：^<https://www.analysys.cn($>                                                                                                                                                           | /$                                                                                                                                                                                                                                                                                                       | /?.\*)<br></p><p>能匹配以下页面：<br><https://www.analysys.cn><br><https://www.analysys.cn/><br><https://www.analysys.cn/?utmsource=xx><br></p><p>不能匹配以下页面：<br><https://www.analysys.c/abc></p> |                                                                                                                                                                                                                                                               |
| 头部匹配 http 或 https 协议，并且匹配多个子域名                         | <p>表达式：^(http                                                                                                                                                                                 | https)://(ark                                                                                                                                                                                                                                                                                            | argo                                                                                                                                                                                    | qianfan).analysys.cn<br></p><p>匹配以下页面：<br><http://ark.analysys.cn><br><http://argo.analysys.cn><br><https://ark.analysys.cn><br><https://ark.analysys.cn/?utmsource=xx><br><https://qianfan.analysys.cn><br></p><p>不能匹配以下页面：<br><https://www.analysys.cn></p> |
| 指定头部匹配规则                                               | <p>表达式：^<http://analysys.cn/blog.*$><br></p><p>匹配以下页面：<br><http://analysys.cn/blog><br><http://analysys.cn/blog/><br><http://analysys.cn/blog/1194><br><http://analysys.cn/blog/1194#xxx></p> |                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                         |                                                                                                                                                                                                                                                               |
| 匹配 http 或 https开头链接，也可匹配不包含www或将www替换成其它由字母数字组合的子域名的情况 | <p>表达式：^(http                                                                                                                                                                                 | https)://\[a-z0-9]\*\[.]\*analysys.cn/view/sign/signup$<br></p><p>匹配以下页面：<br><http://www.analysys.cn/view/sign/signup><br><https://www.analysys.cn/view/sign/signup><br><http://analysys.cn/view/sign/signup><br><http://ark.analysys.cn/view/sign/signup><br><https://analysys.cn/view/sign/signup></p> |                                                                                                                                                                                         |                                                                                                                                                                                                                                                               |
| 匹配末尾数据必须在（10603到10782之间）                               | <p>表达式：^<http://analysys.cn/blog/10([6][1-9][0-9>]                                                                                                                                            | \[6]\[0]\[3-9]                                                                                                                                                                                                                                                                                           | \[7]\[0-7]\[0-9]                                                                                                                                                                        | \[7]\[8]\[0-2])$</p><p><br>匹配以下页面：<br><http://analysys.cn/blog/10603></p><p><http://analysys.cn/blog/10666><br><http://analysys.cn/blog/10782></p><p><br>不能匹配以下页面：<br><http://analysys.cn/blog/10884><br><http://analysys.cn/blog/10103><br></p>              |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 维度表

## **概述**

通过维度表，我们可以更加便捷高效、自由灵活地为埋点事件扩展新的事件属性。

换言之，对于一些在埋点时没有上报的事件属性，可以通过维度表来补充到方舟系统中，以用于实现更多维度和更加深入的分析应用。

#### 举例来说：

方舟 SDK 会默认采集用户使用 App 时的地理位置信息，包括IP、国家、省份和城市，所以我们才能够在方舟中基于这些维度进行细分、条件筛选等操作，从而进行相应的分析查询。

而对于某些业务来说，除了常规的地域维度外，我们可能还需要通过销售区域维度（如华北区、华南区等）来进行统计分析。

在不使用维度表的情况下，为了满足这个需求，必须先通过埋点的方式将“销售区域”上报到方舟系统中。

而现在，利用维度表，我们不必埋点就能“采集”到这部分数据，从而实现同样的分析需求。

#### 另外一个常见的应用场景：

就是为商品或产品等 Item 实体扩充更多的属性信息。

对于一件商品而言，通常会有商品ID、商品名称、一级类目、二级类目、品牌、型号、尺寸、颜色、商品标签等等非常多的属性信息。

假如我们在最初埋点时，只上报了少部分商品属性，那么之后，当我们对其他维度产生分析需求时，就可以通过维度表来补充更多的属性用于分析。

实际上，维度表的灵活性非常高，我们可以通过维度表对基于埋点上报的任何事件来进行属性扩展。

## **维度表功能原理**

维度表的工作原理类似Excel 的 VLOOPKUP 函数，以及 SQL 中的 LEFT JOIN 操作。·&#x20;

我们以上述销售区域维度扩展的场景为例，通过一个简单的示例，来解释维度表的工作原理。

理解维度表，需要从事件表说起。

我们知道，通过埋点，方舟能够采集到信息维度（即事件属性）非常丰富的用户行为数据。

在一个项目中，所有用户的行为数据，都会被记录在一张“数据表”中，这张表即为“事件表”。

我们可以将事件表理解为一张由行和列组成的表格。表格中，一行数据即为一条事件记录，描述了一个用户的一次行为。一条事件记录由若干列字段组成，一个字段对应一个事件属性。

一条完整的事件记录，通常会包括 xwho、xwhen、xwhat、$os、$ip 等等少则百列、多则数百列属性字段，涵盖了 SDK 默认采集的预置属性以及用户自定义的事件属性。

下图中，我们模拟了一份事件表数据片段（非真实且仅有少量字段）。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKV-bTpgDUKxwifaZgm%2F-MKV6qAEMaTleebPQndW%2Fimage.png?alt=media&amp;token=d5f061ad-0a3d-422e-9c17-e069bf9c5bcb" alt=""></div>

有了这些字段，我们就可以统计这部分用户的地理位置分布以及行为的触发时间分布等。

然而，除了通过国家、省份、城市这样常规的地理维度进行分析外，我们还想对华南、华北、华中等区域的数据进行汇总，然而此前埋点时并没有上报这个属性。

那么此时，我们就可以通过维度表来为每条事件补充一个新的属性（area）。

下图是我们构造的一份简单的维度表数据示例。

维度表中的数据仍然是通过行和列组织起来的，一行数据为一条记录，每条记录必须具备唯一性，不得重复。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKV-bTpgDUKxwifaZgm%2F-MKV73615-NQnmitemyz%2Fimage.png?alt=media&amp;token=11c785a6-3d90-4e2a-b29f-4734a88ca0b2" alt=""></div>

我们会发现，示例中的事件表和维度表里，都存在 $province 这个字段 。

通过这个字段，我们可以将事件表和维度表关联起来，将表中相应的行进行匹配，从而为事件表中的所有行“新增”一个“area”字段。

举例来说，当事件表中一个事件的 $province字段值=“北京”时，就可以通过两张表的关联得到该事件的 area = “华北”，以此类推，最终我们为每条事件都扩展了一个新的属性：“area”，如下图所示。

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKV-bTpgDUKxwifaZgm%2F-MKV7BjbQyEo9G7aL6sk%2Fimage.png?alt=media&amp;token=09673919-dcce-47ee-bba9-36d70d719365" alt=""></div>

在这个场景示例中，$province 字段就像“纽扣”一样，可以将两张表中的行“扣”起来，将行内的数据正确地关联和匹配在一起，从而达到扩展事件属性的效果。

**像 $province 这样的字段被我们称为“关联字段”。**

**使用维度表的前提，就是要在事件表中选择一个或多个合适的字段作为关联字段。当然，这个字段在维度表中也必须存在。**

通常来说，使用单一字段作为关联字段足够满足多数使用场景。

如上面这个示例中，仅通过省份（$province ）我们就可以进行地理区域的区分，所以在创建维度表时指定 $province 这一个字段作为关联字段即可。

**但也有部分情况，需要使用多字段关联。方舟维度表最多支持选择3个字段作为关联字段。**

> **什么是多字段关联**

上文中我们提到，维度表中的每行数据必须具备唯一性。因为只有保证了唯一性，才能确保事件表和维度表之间能够进行正确地关联。

对于维度表本身而言，关联字段还有一个作用，就是用来标识每条记录的唯一性。也就是说，维度表中关联字段的值（也称key值），就是每条记录的唯一ID。示例中 area 维度表中每行数据的 $province 的值（北京、上海等）都是唯一的、不重复的。

所谓多字段关联，就是通过多个字段唯一标识一条记录，类似 MySQL 中的联合主键。

所以，在多字段关联的场景中，当多个字段的值同时相等时，才能将维度表中新增的“属性”列匹配给事件表中对应的行。

举例来说，仍沿用上文场景。假如我们只需要为某一个或者某几个事件（xwhat）新增属性，那么我们就可以指定 xwhat 和 $province 两个字段为关联字段（多字段关联）。

这种情况下，只有当事件表中和维度表中多个关联字段（ xwhat 和 $province ）的值同时相等时，才能将维度表中新增的属性 (area) 匹配给事件表中对应的行。

事件表中，除了xwhen 和 xwho ，其余所有列字段都可以作为关联字段，包括xwhat、预定义属性字段、自定义属性字段。您可以在 **元数据管理》事件属性** 中查看事件表的“字段”信息。

需要注意的是，使用多字段关联会增加关联计算的复杂度，从而导致查询较慢，因此建议尽量使用单一字段进行关联，除非只能通过多字段关联才满足需求。·&#x20;

## **适用场景**

并非所有事件属性都适宜通过维度表来上报。

如前所述，除 xwhen 和 xwho 外，我们可以基于事件表中的任意列来为事件扩充属性。

**但我们还需要了解的是，这里所言的“扩充”实质上主要作用于查询环节，而并非在事件表中真的添加了一列数据。**

也就是说，只有在我们使用维度表中的字段进行分析查询的时候（点击查询按钮之后），方舟系统才会“临时”去对事件表和维度表进行关联匹配以用于计算。

因此，维度表仅适于在部分场景下进行使用：

1\. 首先，使用维度表必须以埋点采集数据为基础，以合理的关联字段为前提。

2\. 维度表仅适用于上报、存储一些相对静态的、或者低频变更的属性信息。例如前面举例的地理区域维度、商品类目信息。

而对于记录用户行为发生的当下，用户行为（即事件）及用户行为对象（如购买的商品）的状态信息（动态价格、活动信息），仍需要通过埋点上报。

3\. 维度表数据不宜过多，文件不宜过大。目前一张维度表的文件大小上限为10M，且一个项目支持5个维度表。

&#x20;综上，更适于“查漏补缺“的场景。

## **功能操作说明**

将需要添加的属性数据按照一定的格式写入 CSV 文件，然后进入 **元数据管理 》维度表** 页面，通过界面上传文件，就可以将数据导入方舟后台用于分析了。

### **创建维度表**

**第一步：准备数据**

{% hint style="warning" %}
请注意：

维度表数据文件，必须遵循一定的格式规范；详细规范请参考[《维度表数据文件规范》](<https://www.analysysdata.com//file/202011/33050611342020.pdf	>)。

创建和编辑文件时，建议尽量使用纯文本编辑器；避免使用Microsoft Excel 和 WPS 表格这类电子表格软件，容易导致数据文件错误。
{% endhint %}

**第二步：创建维度表并导入数据**

* 功能入口：元数据管理 》维度表（注：须开通维度表功能权限）
* 点击创建维度表，填写基本信息&#x20;

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKV-bTpgDUKxwifaZgm%2F-MKVAX__LZVyjHjBtdRc%2Fimage.png?alt=media\&token=54190587-50af-40f7-80e5-69ce78b4cfa0)

* 选择准备好的数据文件，确认导入数据

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKV-bTpgDUKxwifaZgm%2F-MKVAgd8p2sz7bKOzE1h%2Fimage.png?alt=media\&token=690a0c19-d082-4b79-a8b6-1f1434f467de)

**数据导入完成后，就可以使用维度表进行分析了。**

在大部分分析模型以及用户分群中，都可以选择维度表中的字段，进行条件筛选和细分操作，

### **更多操作**

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MKV-bTpgDUKxwifaZgm%2F-MKVBiZPnOJDVmsGnplm%2Fimage.png?alt=media\&token=54adb52b-b992-4ba0-af90-b3243e2cf4b6)

* **更新维度表**

支持追加行、追加列、修改行、修改列，以及全表覆盖更新

更新文件格式仍须遵循 数据文件规范

* **清空数据**

·仅清空表中的数据，表结构仍然保留

* **删除**

·一个项目仅支持创建5张维度表，对于不再需要的维度表，可以酌情进行删除

&#x20;但注意删除之后，所有通过该维度表创建的分析图表将失效。

* **导出数据**

·导出维度表数据，查看数据内容，进行编辑更新


# 服务集成配置

易观方舟一个开放的生态平台产品，旨在为客户提供更全面的能力，满足业务需求。方舟产品支持客户接入原有使用的服务提供商，持续获得服务。同时，与方舟本身提供的功能形成合力，达到更显著的运营效果。

目前已经接入的服务有：

* 消息通知
* 邮件
* 短信
* 数据服务

后续，将会有更多的外部服务接入方舟产品，共同为客户创造更大价值。

## 接入配置

进入管理导航，选择服务集成配置，点击进入即可看到目前所支持的所有外部服务商：

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LiN1fudLYtr30kchn7l%2F-LiNE9Z0QgAdcbHYSBwS%2F%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE.png?alt=media\&token=35cf3c91-385f-4c24-a4f2-34b9eb415f22)

根据服务类型，选择想要接入的服务商，点击接入配置，进入配置页面；按照配置说明填写相应的信息即可，此章节以易观锆云为例进行配置说明，需注意不同服务商的配置会有所差异，请根据各服务配置页面提示进行配置。

#### 易观锆云配置示例

step 1

进入管理导航，选择服务集成配置，进入服务列表。

step 2

找到易观锆云，点击接入配置，进入配置页面。

step 3

已有账户可直接数据相应的账户信息进行绑定；无账户用户请根据页面提示联系客服进行账号申请，获取账号信息后到配置页面进行配置。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LiNEhlAdaOSQCWk4IWx%2F-LiNFJxZmOv8HRZnqwXm%2F%E9%94%86%E4%BA%91%E9%85%8D%E7%BD%AE.png?alt=media\&token=c56185b4-0afa-49c3-9e26-327ebb2ae68b)

step 4

配置完成后，进入已集成服务，找到易观锆云，点击画像同步，进入同步页面。在该页面可以查看当前可同步画像内容的设备数、剩余匹配设备条数以及匹配记录。点击立即同步按钮，进行画像同步。待同步完成后即可在用户分群中使用用户偏好功能。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LiNEhlAdaOSQCWk4IWx%2F-LiNHSk7V6qVZRk1VxQy%2Fimage.png?alt=media\&token=5d218131-a56a-4c2f-8668-5a5662454608)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 监控告警

对于常规指标的波动，我们不必每天登录系统追踪其波动，通过监控告警，方舟会在指标波动达到一定范围时通过平台内的消息通知、电子邮件等方式第一时间进行提醒。

## 智能监控

方舟会在每日0时自动计算所有事件过去12周的历史波动区间并与过去一天的实际值进行比较，如果波动超出一定的范围则会进行提醒。

![智能告警 - 查看告警详情](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lv9Yut_2Zldk3EW0gsk%2F-LvAGAatKBtyZv30OpgW%2Fimage.png?alt=media\&token=c018d795-9beb-4728-bbbb-0de92181e77e)

详见：

{% content-ref url="/pages/-LrDiriquMZOmREYc-QF" %}
[智能监控](/features/project-manegement/monitoring/intelligent-monitoring)
{% endcontent-ref %}

## 自定义监控

如果希望更灵活配置监控条件可以使用自定义监控。

与智能监控对比，你可以设定事件具体的属性、可以选择告警时间以及将指标的绝对值作为告警条件。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lv9Yut_2Zldk3EW0gsk%2F-LvAG4xtrbDQmq7rrt71%2Fimage.png?alt=media\&token=be43ca00-27c7-4cde-8cd3-0f79c3978507)

详见：

{% content-ref url="/pages/-LaQG6TxuNhLF1LABbER" %}
[自定义监控](/features/project-manegement/monitoring/monitoring)
{% endcontent-ref %}

## 智能监控 vs 自定义监控

|          | 智能监控                                             | 自定义监控       |
| -------- | ------------------------------------------------ | ----------- |
| **监控方式** | 自动监控                                             | 手动设置        |
| **监控范围** | 所有启用事件的次数和用户数                                    | 指定事件更多的计算方式 |
| **指标设定** | 不含维度                                             | 可设定维度       |
| **计算时间** | 每日0点提醒                                           | 自定时间        |
| **对比区间** | 与过往12周平均值的预测区间对比                                 | 与指定值对比      |
| **阈值设定** | <p>严格：+/=10%</p><p>中等：+/-30%</p><p>宽松：+/-50%</p> | 自行设定百分比，绝对值 |
| **告警方式** | 站内消息、邮件                                          | 站内消息、邮件     |
| **告警范围** | <p>管理员控制全局开关</p><p>个人控制自己的开关</p>                 | 指定邮件接收人     |
| **告警详情** | 事件分析                                             | 事件分析        |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 智能监控

{% hint style="info" %}
方舟版本 V 4.5.0及以上具备此功能。
{% endhint %}

## 运用场景

自定义监控由于需要手动设定，往往只能覆盖小部分指标，但那些未被设定的指标中也常会发生值得关注的异常。

这时，就可以通过智能监控来覆盖更多的事件。智能监控可以对所有启用事件的每天触发次数和触发人数进行监控，并根据相关算法预测出当日事件的触发次数和触发人数，和实际值进行对比后，如果超过阈值范围则会通过站内消息及邮件的方式进行告警。

## 具体功能

### 管理智能监控

点击【管理】-【监控告警】-【智能监控】进入智能监控管理界面，可以设定单条监控指标的阈值范围和订阅状态，也可以点击【取消全部订阅】，一键取消所有监控。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-LrDhkl8hLCMOW66AwAG%2F-LrDj_F8ScVXAvKNQ9L7%2F%E6%99%BA%E8%83%BD%E7%9B%91%E6%8E%A71.png?alt=media\&token=0ef9b95a-e112-43a1-aa0d-c4d232490e9f)

| 监控阈值范围 | 预测值范围上下浮动 |
| ------ | --------- |
| 严格     | +/-10%    |
| 中等     | +/-30%    |
| 宽松     | +/-50%    |

### 查询告警消息

通过点击触发的告警消息的【查看详情】按钮，可以进入事件分析，在图表中查看具体异常点和预测值区间，并通过细分维度等方式快速找到异常原因，从而采取有效改进措施。

![告警消息进入事件分析详情](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lt4YUhZQ4OXK1Fru0lS%2F-Lt4Ze8EcCaYIuBn7Dv4%2F%E5%9B%BE%E7%89%87.png?alt=media\&token=f07fbc6d-6f0b-44f5-82f3-020ab739e12b)

## FAQ

### 1 该预测的算法是基于什么原理？

基于常用的天周期粒度，考虑时间序列的周期性和趋势性两个方面，并根据通用行业历史真实数据和预测数据对比，当前算法模型的预测准确率达到80%，具体模型计算方法如下：

&#x20;预测数据=（工作日过去12期平均值+周平均值）/2&#x20;

示例如下图:&#x20;

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lt4YUhZQ4OXK1Fru0lS%2F-Lt4bApZBqtKmA99nvLH%2F%E5%9B%BE%E7%89%87.png?alt=media\&token=ac14f752-5507-404b-8a94-22cc8c79f863)

预测本周二数据，周平均值=本周一至上周二的平均值

工作日过去12期平均值=过去12个星期二的平均

### 2 预测基于的过去多久的历史数据？

基于过去12周的历史数据，通过算法模型预测出最终结果。

### 3 该预测是否根据不同行业有不同的针对性？

该预测模型基于通用行业数据和预测数据对比，准确率达到80%；也可以根据您所在行业调整每一条监控的阈值范围：严格（预测值的+/-10%），中等（预测值的+/-30%）和宽松（预测值的+/-50%），从而达到您最终的监控要求。

### 4 会不会把我的数据分享出去？

针对公有云客户，我们采用行业内通行的、合理的标准来保护我们所储存的信息的安全性和保密性。包括但不限于：防火墙和数据备份措施；数据中心的访问权限限制等。整个服务过程中，我们会签署一份保密协议，付费版有单独的NDA，免费版在使用协议里，对您的数据进行严格保密。 针对私有化部署客户，数据存储在客户本地，更不用担心数据分享的问题。

### 5 该功能未来有什么规划？

未来为了让您发现异常点后，更加快捷的找到异常原因，我们也会探索智能下钻相关功能，让智能监控模块使用更加方便。

### 6 针对管理员和其他非管理员该功能使用有什么差别吗？

管理员可以最终控制每条监控的开关，即管理员关闭一条监控，所有成员都收不到该条监控的告警。&#x20;

而其他非管理人员，可以关闭针对其个人的告警消息提醒，但是不能干预其他人的设置。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 自定义监控

{% hint style="info" %}
自定义监控告警功能的使用需要相应方舟版本：

v4.1.2 及以上
{% endhint %}

在相对稳定的产品中，运营、市场和产品相关人员都会有持续关注的一些关键数据指标，当这些数据指标波动较大，发生异常数据时，需要及时提醒。

因此，方舟推出了“自定义监控”功能，可以对关键、核心的数据指标进行7\*24小时实时监控，当满足预先设置好的阈值后，通过邮件或告警信息等不同响应级别方式第一时间发送通知。

## 1 创建监控告警

![](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901251157108113.gif)

### **1.1 设置基本信息**

* 监控名称：填写监控告警名称（不超过50个字符）
* 监控指标：选择你要监控的指标及条件，该指标类型与事件分析中的指标相同。例如选择监控的某一事件触发的用户数以及转化事件等。&#x20;

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901251723574082.png)

### **1.2 设置告警条件**

* 选择期望计算时间：包含每小时、每天、每周一、每月第一天，以及相应计算计算具体时间（精确到10分钟级别），具体可选范围以及相应计算周期如下：

| 计算时间   | 可选小时分钟 | 计算粒度 |
| ------ | ------ | ---- |
| 每小时    | 分钟     | 小时   |
| 每天     | 小时:分钟  | 天    |
| 每周一    | 小时:分钟  | 周    |
| 每月第一天一 | 小时:分钟  | 月    |

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901251916268887.png)

* 选择对比方式：

| 比较方式 | 和谁比   | 可以比什么 |
| ---- | ----- | ----- |
| 大于   | 特定值   | 数值    |
| 小于   | 特定值   | 数值    |
| 增加超过 | 对比周期值 | 数值    |
| 增加超过 | 对比周期值 | 百分比   |
| 减少超过 | 对比周期值 | 数值    |
| 减少超过 | 对比周期值 | 百分比   |

同时针对不同的计算时间粒度，可选择不同的对比周期值

| 计算周期 | 特定值 | 前一小时 | 前一天同一小时 | 前一天 | 上一周同一天 | 上一月同一天 | 上一年同一天 | 上一周 | 上一月同一周 | 上一年同一周 | 上一月 | 上一季同一月 | 上一年同一月 |
| ---- | --- | ---- | ------- | --- | ------ | ------ | ------ | --- | ------ | ------ | --- | ------ | ------ |
| 小时   | √   | √    | √       |     |        |        |        |     |        |        |     |        |        |
| 天    | √   |      |         | √   | √      | √      | √      |     |        |        |     |        |        |
| 周    | √   |      |         |     |        |        |        | √   | √      | √      |     |        |        |
| 月    | √   |      |         |     |        |        |        |     |        |        | √   | √      | √      |

示例：下图的选择就是让监控告警“每天07:00:00的时候计算所选指标 本期值（前一天的数据）和对比值（大前天的数据），如果本期值-对比值＞100 时就触发告警信息或告警邮件”

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901252003380222.png)

### **1.3 设置告警方式**

默认为触发告警消息，也可以针对需要及时响应的监控告警添加邮件告警方式&#x20;

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901252014290304.png)

## 2 查询告警消息

通过点击触发的告警消息的【查看详情】按钮，可以进入事件分析，在图表中查看具体异常点，并通过细分维度等方式快速找到异常原因，从而采取有效改进措施。&#x20;

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901251157357360.gif)

## 3 自定义监控管理

在自定义监控告警列表中可以查看、修改、复制、删除创建过的监控。&#x20;

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/01/201901252054282807.png)

## 4 特别说明

* 权限：仅有管理员可以创建、修改、删除监控告警，其他成员仅可以查看。
* 特别情况：如果设置对比方式为百分比，而对比值为0，则不会触发告警，因为该种情况计算结果为无穷大。
* 发送邮件：如果私有化部署客户，没有配置邮箱设置，需先完成配置。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 平台管理

{% content-ref url="/pages/-LaQ9KfekeRdsG3h7eLS" %}
[企业概览](/features/enterprise-management/overview)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KfqXa3yEhyIlz6T" %}
[项目管理](/features/enterprise-management/project-management)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KfLDSxOhJx4MD5m" %}
[成员管理](/features/enterprise-management/member)
{% endcontent-ref %}

{% content-ref url="/pages/-Lj0UgFO3qTlPC-jRKoK" %}
[安全设置](/features/enterprise-management/an-quan-she-zhi)
{% endcontent-ref %}

{% content-ref url="/pages/-LrNzA-TCPeOSwCnmtin" %}
[企业设置](/features/enterprise-management/enterprise)
{% endcontent-ref %}

{% content-ref url="/pages/-LaQ9KdcGGH5LBCDM-pW" %}
[帐号设置](/features/enterprise-management/accountsetting)
{% endcontent-ref %}

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 企业概览

主要展示平台的一些基本信息，平台项目、平台成员、当前计划以及成员访问记录

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812181522021330.png)

## A. 平台项目

显示平台可以创建的项目数量上限，以及已经创建的项目数据和项目名称，也可以点击更多进入项目列表，查看项目的详细信息

点击添加可以直接添加项目名称

## B. 平台成员

显示平台可以添加成员的数量上限，以及已经添加的成员数量和成员姓名，也可以点击更多进入成员列表，查看成员的详细信息

点击添加可以直接添加成员

## C. 当前计划

展示当前部署的方舟的版本情况。

![更新 Licence 的入口位置](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ljun6rFFm-vXbi9Lpuw%2F-Lju7GCNEE-DOIcO-Lg-%2F6546929b745a5389c37cc0bc4fca8ce9.jpg?alt=media\&token=39b88e4f-e6cb-4fc2-938d-0ea034ac95ac)

{% hint style="warning" %}
**Licence 到期后数据接收会停吗？**

Licence 到期前 30 天产品里就会出现更新 Licence 的提示，但若超期产品就会无法使用。不过考虑到某些情况下 Licence 更新会滞后，为避免数据不连续，数据接收不会中断。这样，稍后更新 Licence 之后，就可以看到连续的数据了。
{% endhint %}

## D. 访问记录

显示登录用户姓名、以及访问平台的时间和IP。

> 注：访问记录只展示最新100条的记录

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812181538334217.png)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 项目管理

易观方舟支持在企业平台中，创建多个项目，在企业平台-项目管理中可以进行统一管理， 包括查看项目列表、创建项目、修改项目名称和LOGO、添加项目管理员等。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lb75v3Ts8L7altuSS20%2F-Lb7Eo5N4DBr9kNhvp2h%2Fimage.png?alt=media\&token=5c313e5a-ce74-4178-a13a-2654e14eabb1)

## A. 创建项目

点击 **创建项目**，输入项目名称，支持自动生成 AppKey（项目回传数据的唯一标识），若有运维查询数据等特殊需要可以手动输入 AppKey。

{% hint style="info" %}
易观方舟支持将同一个应用的多个平台数据接入到一个项目中；建议您在接入正式数据前先创建一个测试环境项目用于测试，避免污染生成数据。

建议自动生成 AppKey，若手动输入时，仅支持小写字母和数字的组合，且在10\~16位之间。
{% endhint %}

<div align="left"><img src="https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lb75v3Ts8L7altuSS20%2F-Lb7FDCMLYTDp8z01qcp%2Fhihihi.gif?alt=media&amp;token=cd652428-0692-448b-a2f0-7e18d136c0ab" alt=""></div>

## B. 项目修改/删除

支持修改项目基础资料、删除项目&#x20;

* 修改项目LOGO：默认项目名称首字母作为项目 LOGO，移入后可以上传 LOGO，多个项目时便于快速识别
* 修改项目名称：点击设置 icon，可以修改项目名称
* 删除项目：点击删除icon，支持输入当前用户的密码后删除项目。

{% hint style="info" %}
项目删除后数据将停止接收、不可再进入项目使用、包括历史数据也将被删除；且删除操作不可逆，无法恢复，所以请谨慎操作。
{% endhint %}

## C. 设置项目管理员

项目管理员具有一个项目的最高权限，支持全部功能和在项目中添加成员，授权给不同的用户不同的项目权限。

## D. 查看回数状态

* 已回数的项目可以点击进入项目进行分析；
* 未回数的项目可以点击链接前往集成页面。

## E. 查看分区数/设置数据流状态

* 分区数：1-3个，实时数据的并发算子。用于运维调配计算资源，若 DAU 比较高，同一时间上报的数据量较大，则分区数需加大。
* 数据流状态：开启/关闭。项目创建后默认开启数据，数据开始正常接收和处理；当数据流因为升级暂时关闭或者其他意外情况没有停止时，支持再次手动开启。

## FAQ

### 1. 公司有多个产品需要采集数据，创建一个项目还是多个项目？&#x20;

主要可以从产品数据的相关性和业务方来考虑

* 关联性高，数据需要打通，业务方相同，则单项目
* 数据关联度较业务方不同，则多项目

具体举例&#x20;

1. 同产品多平台同业务团队——单个项目

   不区分平台可以看数据总体，细分平台即可区分数据；
2. 同产品但不同模块对应不同团队，看有没有统一分析的需求——若有，单个项目；若无，多个项目
3. 多产品/多业务线通常数据关联也不大，业务团队也不是同一个——多个项目

总之，各有优缺点，建议根据实际情况判断。

* 多产品单项目可以做汇总分析，整体项目数缩减也可以减少硬件资源的问题，缺点是分别查看时每次需要过滤条件， 如果数据查看范围要求严格，需要设置复杂的数据权限；&#x20;
* 分项目可以让每个业务团队只聚焦到他关注的数据，操作简单，也不必设置太多数据权限；缺点就是相对需要更多硬件资源。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 成员管理

易观方舟企业管理后台支持多个项目多个成员共享，方便企业内部共同参与到数据分析和决策的过程中来。

## 1. 角色-权限

企业平台预置了常用的角色，不同角色对应不同的权限，平台管理员授权时对不同的成员选择不同的角色即可。

| 角色    | 角色描述              | 企业概览 | 成员管理 | 项目管理 | 安全设置 | 进入具体项目         |
| ----- | ----------------- | ---- | ---- | ---- | ---- | -------------- |
| 平台管理员 | 通常赋予企业负责人         | √    | √    | √    | √    | √              |
| 平台运维  | 通常赋予运维人员该角色       | √    |      | √    |      | 在项目中被添加为成员时可进入 |
| 项目管理员 | 通常赋予项目的leader     |      |      |      |      | √              |
| 平台成员  | 通常赋予仅可查看某些项目的普通成员 |      |      |      |      | 在项目中被添加为成员时可进入 |

更多权限明细详见《易观方舟角色-权限对应表》 <https://shimo.im/sheets/6hGxwHhHXXRktTcY/HUvKN>

## 2. 邀请成员

点击左侧导航栏成员管理，进入成员列表页面，可以看到用户的基本信息，姓名、用户名、邮箱、手机号、加入时间和授权角色。

点击右上角 **添加成员**，输入：成员姓名、用户名、邮箱、初始密码、手机号（选填）、所属部门（选填）和授权角色 即可创建成员帐号。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812181426259399.gif)

添加成功后，被邀请成员就可以使用 **邮箱/手机号/用户名** 和 **初始密码** 进行登录。

## 3. 修改成员

在成员列表页可以查看企业中，有哪些成员以及不同成员的角色，移入某个成员后可以修改其权限、密码，或移除该成员。

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812181430409286.png)

### **A. 修改成员**

需要修改用户信息或者权限时，可以点击修改成员按钮，快速修改

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812181437381573.png)

### **B. 修改成员密码**

当用户忘记密码时，可以进行重置成员密码

![image](https://imguserradar.analysys.cn/fangzhou/img/2018/08/201808101536015639.png)

### **C. 移除成员**

当添加的成员已离职，或者不再授权时，点击移除成员，移除后将无法访问该企业数据。

{% hint style="info" %}
考虑到数据完整性移除成员并不会将成员从系统中删除。如果未来想恢复某个曾经移除的用户时，可以在用户列表中搜索该用户，并将其状态置为“开启”。
{% endhint %}

![ ](https://imguserradar.analysys.cn/fangzhou/img/2018/12/201812181441586846.png)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 安全设置

安全是所有企业的需求，尤其是大型企业，所以我们提供了严格的安全设置规范，企业可以根据安全需求自定义设置。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M-NeWnLyXTz2KuwDWbZ%2F-M-NgjmZbtBT1SKYogDq%2Fimage.png?alt=media\&token=4f5074ce-c737-440b-98c9-911df2433a7e)

默认展示当前安全设置状态，管理员可以同点击【修改】按钮进行自身需求的设置

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M-NeWnLyXTz2KuwDWbZ%2F-M-NhEE-0TfODNhdwtRn%2Fimage.png?alt=media\&token=8d1d200f-c24f-470b-b440-fa9ee191c273)

进入设置页可以根据自身对安全需求的高、中、低选择相应的快捷设置，也可以自定义设置。

| 功能      | 选择 | 安全等级-高 | 安全等级-中 | 安全等级-低 | 显示                                | 是否屏蔽系统管理员 | 是否屏蔽其他人员 | 说明                        |
| ------- | -- | ------ | ------ | ------ | --------------------------------- | --------- | -------- | ------------------------- |
| 密码长度    | x  | 8      | 6      | 6      | 密码长度必须大于等于 x位 字符                  | 否         | 否        |                           |
| 密码有效期   | x  | 90     | 180    | 365    | 密码必须每 x天 修改一次                     | 否         | 否        | 超过有效期将被锁定；解锁后，密码有效期重新开始计算 |
| 曾用密码    | x  | 10     | 5      | 3      | 不能使用过去使用过的 x个 密码                  | 否         | 否        |                           |
| 强制修改    | 必须 | 要求     | 要求     |        | 用户首次登录系统或管理员重置密码后第一次登录，密码 必须 强制修改 | 是         | 否        |                           |
| 强制修改    | 不必 |        |        | 要求     | 用户首次登录系统或管理员重置密码后第一次登录，密码 不必 强制修改 | 是         | 否        |                           |
| 初始密码    | x  | 90     | 180    | 365    | 添加帐号后，初始密码超过 x天 未作修改，帐号将被锁定       | 是         | 否        | 解锁后，密码有效期重新开始计算           |
| 连续登录失败  | x  | 5      | 8      | 10     | 连续登录失败 x次 后帐号将会被锁定                | 否         | 否        | 解锁后，登录有效期不变               |
| 帐号登录有效期 | x  | 90     | 180    | 365    | 帐号连续 x天 没有登录过，帐号将被锁定              | 否         | 否        | 解锁后，密码有效期重新开始计算           |
| 重新登录    | x  | 30     | 720    | 1440   | 登录后超过 x分钟 没操作，将强制重新登录             | 否         | 否        |                           |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 企业设置

方舟4.6.0及以上版本支持该功能。

企业设置支持修改上述地址、排除日期以及平台语言的设置。

自定义上传的节假日可以下载下面的模版进行编辑后上传。

#### 点击下面链接下载节假日模板

<https://imguserradar.analysys.cn/files/ark/doc/节假日模板.xlsx>

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Ls1C0ui7OHHLlPpnrCn%2F-Ls1GQvJunwI5eFPceQx%2Fimage.png?alt=media\&token=38a1a95b-f848-4e0f-bbb9-18ddd1a78e81)

### A.企业设置入口

点击可以进入企业设置，可以设置数据接收地址、日期排除以及平台语言

### B.修改数据上报地址

1.平台级数据接收地址：平台级数据接收地址修改后项目的数据接收地址随着改变。

2.项目级数据接收地址：项目级数据接收地址修改后其他项目的数据接收地址不会改变。

### C.日期排除

1.默认关闭状态。

2.排除日期按钮打开后

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lsp6SLSh8nCxP7XivJF%2F-Lsp6Wy_GhcZTp8YsG7u%2Fimage.png?alt=media\&token=7422712d-df34-4fad-abfe-05cd243dfd17)

&#x20;    a.可以选择仅按周循环排除每周不需要看的数据。

&#x20;    b.可以选择在按周循环排除每周不需要看的数据的同时按照节假日放假安排自动调整。

&#x20;    c.可以选择仅排除节假日不需要看的数据。节假日可以为国家法定节假日或自定义节假日。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 日志管理

5.2版本新增

日志管理主要针对于用户操作日志、用户界面图表分析，API调用情况进行展示。在日志管理中可以进行下载和日志保留天数的设置。此模块当前只针对于平台管理员可见。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSvpv2qO26p90a-oS3U%2F-MSvqYdjV09feEbgP2kN%2Fimage.png?alt=media\&token=c36a1698-3edd-4634-a0d0-8d4aa93859ef)

## A 用户操作

用户操作主要是展示某段时间内，用户访问和使用方舟的情况，可进行筛选过滤，查看某段时间的访问情况，也可以看某个用户的操作记录，并且进行导出，可导出csv和txt两种格式。

另外可根据自己业务的需求，可灵活设置用户操作记录日志的保留天数。

![用户操作日志](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSvpv2qO26p90a-oS3U%2F-MSvqd0Ia2435NDIrJtP%2Fimage.png?alt=media\&token=c3fe2d5c-9523-4d94-81d2-8f893600681a)

## B 分析统计

用来统计查看方舟产品页面上的分析使用情况，可查看查询的频次和查询耗时，并且导出csv文件进行详细分析。另外可根据自己业务的需求，可灵活单独设置分析统计日志的保留天数。

![分析图表查询](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSvpv2qO26p90a-oS3U%2F-MSvqqkSsvk5zT9mE1nA%2Fimage.png?alt=media\&token=5e329027-cd6c-4654-9c17-60dc5c0ee1a8)

## C OpenAPI

OpenAPI 用来统计和查看方舟开放的API被外部调用情况，可详细查看API的查询频率和效率，并且导出csv文件进行更详细的分析。另外可根据自己业务的需求，可灵活单独设置OpenAPI日志的保留天数。

![OpenAPI 调用情况](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-MSvpv2qO26p90a-oS3U%2F-MSvqu1qz3EUktJLJulR%2Fimage.png?alt=media\&token=0145cc85-172d-4fba-866f-9778c65a33f7)


# 帐号设置

## 头像设置

点击头像，选择自定义图片上传即可

## 帐号安全

可以修改邮箱、手机号和密码

当应用创建人离职时，可以从这里修改交接人的邮箱

## 基本资料

可以修改姓名、所属部门

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lm8ux5pT66xyuj8JCkn%2F-Lm8v_LJLx0Wb7PVEDs_%2F%E5%9B%BE%E7%89%87.png?alt=media\&token=dede9c62-970d-4518-8a0e-c1243da076d9)

## 用户体验计划

我们会统计您对产品各项功能的使用情况，用以提升我们的产品和服务。默认为加入，也可以手动修改加入或退出用户体验计划。

![](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lm8ux5pT66xyuj8JCkn%2F-Lm8wC8gAB8pu91D9vlP%2F%E5%9B%BE%E7%89%87.png?alt=media\&token=70c46e0b-a18c-4d7f-94cb-633b12b680bd)

{% hint style="info" %}
以上内容没有解答我的问题？[点击我来反馈](https://support.qq.com/products/118522/) 🚀
{% endhint %}


# 技术接入准备工作

易观方舟支持全端数据接入：

* **客户端实时上报**
* **服务端实时上报**
* **历史数据导入**

## 不同接入方式的差异

| 接入方式    | 适用场景                                         | 埋点方式       |
| ------- | -------------------------------------------- | ---------- |
| 客户端实时上报 | 更适合采集用户前端行为数据，简单易用                           | 代码埋点/可视化埋点 |
| 服务端实时上报 | 更适合采集业务相关数据，直接从服务器端采集，和业务数据调用同步，会更精准，同时安全性更高 | 代码埋点       |
| 历史数据导入  | 生成符合格式的数据直接导入，通常使用于已经存在历史数据，并希望导入方舟来分析       | 工具导入       |

## 接入前建议阅读

1. [数据模型](broken://pages/-LaQ9Kg8oIMETNeHa-yI)，以便于更充分的了解数据的扩展性；
2. [数据格式](/integration/prepare/data-type)，以便于更准确的集成SDK，符合分析需要；
3. [预置事件和属性](/integration/prepare/default-data)，以便于确定哪些是系统默认采集，无需额外工作量就可以分析，哪些如果有分析需求需要上报到对应的预置字段中；
4. [如何准确识别用户](/integration/prepare/user-identify) ，以便提高用户行为分析的准确性；
5. [分平台上报和跨平台上报](/integration/prepare/cross-platform) 的差异，以便确定是否将多端数据上报到同一个项目中；
6. [如何设计埋点方案](/integration/prepare/tracking-plan)，以便让埋点更满足业务需要。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 部署环境检测工具

## 概述

检测工具主要用于检测服务器是否满足部署方舟分析的要求。 其检测项目有：

1. 系统检查(发布版本，语言编码)等
2. cpu 检查（核数）
3. 内存大小检查
4. 磁盘挂载使用检查
5. 磁盘个数检查
6. 网络检查是否能上外网
7. 目前监听的端口检查
8. 进程检查
9. 开机自启服务检查
10. 登录检查
11. 计划任务检查
12. 用户检查
13. 密码检查
14. Sudoers 检查
15. jdk 检查
16. 防火墙检查
17. ssh 检查
18. syslog 检查
19. SNMP 检查
20. 软件检查

## 执行检测

sh check.sh&#x20;

[点击下载脚本](http://install.ark.analysys.cn:8080/ark/check.sh)

## 查看检测结果

./log/InstallCheck-xxxxx-2020xxxx.txt

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 数据模型

用户行为其实就是何人，何时，何地，通过何种方式，发生了何种行为。易观方舟通过**事件模型**来描述用户的一系列行为。事件模型包含了 **事件（Event）**&#x548C; **用户（Profile）**&#x4E24;个实体，数据上报时，也会通过 Event 和 Profile 两大类事件接口来上报。

* 事件 (Event) 接口上报事件信息，用以记录用户在何时通过何种方式发生了何种行为；
* 用户 (Profile) 接口上报用户信息，用以记录用户属性相关的信息，来描述用户的属性或某时刻的状态；

## 1. 与 Session/Pageview Vs. Event

大家可能对 Session/Pageview 模型比较熟悉，因为它们是网页分析时代的基本概念。用户从访问一个网站的第一个页面开始，就会开始记录为一个 Session，当这个人在网站上超过30分钟没有任何操作时，这个 Session 就结束了。这个Session就会被视作一个会话，也就是用户在网站上通过一系列连续的行为完成了一次使用。过程中，每访问一个页面，都会记录一个 Pageview。这两个特殊的行为发生时也会产生一些相关的属性，比如 Pageview 中可以默认获取到当前页面的标题、上一页的地址、访问IP、浏览器以及操作系统的各种信息等，这些信息让我们基本上可以完成所有网站相关的分析。

在 App 时代，技术、分析方法和用户的使用方法都发生了很大变化。首先 App 上并没有网站默认的 Session 概念，Pageview 也因为 App 的制作方法五花八门而难以获取正确，而 App 的分析和运营时会更依赖于用户在 App 上的更细粒度的操作，例如：购买了什么、支付了多少、参与了什么活动等等。仅仅是 Pageview 这样页面访问的行为就无法满足需要了。这就要求我们推出一套更具有普适性的模型来应对这种改变，同时还要对网站分析有所兼容。

![用户旅程 - 使用会话 - 页面浏览 - 具体行为 多级模型](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-Lv-f6l7qOskv6qqEMt7%2F-Lv-oFQPLaM4c2dPx81s%2F%E5%A4%9A%E7%BA%A7%E4%BA%8B%E4%BB%B6.png?alt=media\&token=be0659e2-17c5-4f90-8fb3-7329190c43cd)

从上图中不难看出，用户旅程包含了用户完整生命周期的所有行为，使用会话则是一些部分连续行为的集合，页面浏览是一个特殊的事件，它逻辑上比普通事件要高一级，但实际上它也只是一个叫 Pageview 的事件而已。通常来说事件都会发生在页面的之内，但也有一些事件并不是发生在客户端内的，比如服务端上报的，或者 App 位于后台时的事件，那这类事件就不会在逻辑上被算作 Session 及 Pageview 的下级行为了。

通过这样的设计，我们就可以很容易对不同级别的行为进行分析了。例如：

| 行为   | 指标类型                                |
| ---- | ----------------------------------- |
| 用户旅程 | 人均时长，总时长，人均次数，总次数……                 |
| 使用会话 | 人均时长，总时长，人均次数，总次数，周期内次数，时长分布，次数分布…… |
| 页面浏览 | 人均时长，总时长，人均次数，总次数，周期内次数，时长分布，次数分布…… |
| 普通事件 | 总次数，周期内次数，次数分布……                    |

## 2. 事件 (Event)

Event 核心是何人 (xwho) 、何时 (xwhen) 、何地 (xwhere) 、通过何种方式 (xcontext) 、发生了何种行为 (xwhat) 五要素。

**xwho**

xwho 描述事件发生的实体，即何人。

在用户未登录的情况下，xwho 会是一个方舟匿名生成的 ID，在已登录的情况下的，xwho 应及时被客户自己业务系统的ID所改写（详细可以查看[《如何准确识别用户》](/integration/prepare/user-identify)）。同时，在方舟系统中，每个 xwho 会对应有一个方舟唯一ID（distinct\_id），计算时会使用这个ID。

**xwhen**

xwhen 描述事件发生的时间，即何时。

记录的是事件发生的实际时间戳，客户端的时间，精确到毫秒。

**xwhere**

where 描述事件发生的地点，即何地。

方舟的收数服务会自动记录上报的数据来源 IP，根据 IP 解析为国家、省份、城市三个字段。当然，如果不想通过这种方式获得地理位置，也可以在集成 SDK 时手动设置 `$country`、`$province`、`$city`的值，当手动设置后，将会覆盖根据 IP 自动解析的值。

除了国家、省份、城市这种最基础的地理位置标识方法之外，用户可以自定义更多地理位置的属性，比如城市等级、商圈等。

**xwhat**

xwhat 描述事件本身，即发生了何事。

可以是打开 APP、 点击某个按钮、打开某个页面等在APP/Web等应用上的任何操作，也可以是线下某次刷卡、电话投诉等等，每个动作在都可以定义为一个事件， 通过埋点的方式上报，在方舟的数据接口中，使用 xwhat 来存储事件。

为了更精准的描述用户发生的行为，会引入事件属性，例如：

* 对于 “用户注册” 事件，可能通过属性：注册来源、注册用户名等来描述；
* 对于“ 搜索” 事件，可能通过属性：搜索关键词、搜索位置等来描述；
* 对于 “提交订单” 事件，可能通过属性：商品名称、商品金额、配送方式、优惠方式等来描述。

在方舟的数据接口中，使用 xcontext 来存储事件属性。

**xcontext**

xcontext 描述事件的属性，即以何种方式发生。

xcontext 是一个比较广泛的概念，除了包括 xwhat 中提到的事件本身的属性之外，还会包括用户使用的设备信息（设备品牌、型号等）、使用时的网络状态、使用的应用版本、来源渠道等等，在事件发生时，一起作为上下文信息上报。

方舟系统预置了一些属性在每个事件中上报，使常用的分析维度无须再手动上报，详见[《预置事件和属性》](/integration/prepare/default-data)。

## 3. 用户 (profile)

用户是发生事件的实体，方舟通过方舟ID（distinct\_id） 来标识用户，并与对应事件关联。方舟支持通过一系列的 profile 接口来上报更新用户属性，即 profile 信息。

通常是在用户注册、完善个人信息、修改资料等的情况下，调用相应的 profile 接口来上报。

#### 属性何时上报到事件属性，何时上报到用户属性？

和某个行为的结果相关的属性应该上报到事件属性；而会对用户有长期影响并且很可能不可修改及逆转的则应该上报到用户属性。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 数据格式

方舟支持多种 SDK 上报数据，接口会有所不同，但底层数据都使用统一的数据格式，尤其是通过工具导入数据时，也需要符合相应的数据格式。同时，不同的属性，会有不同的数据类型，在分析时对应不同的计算方式，所以在上报数据时需要注意采用合适的格式。

## 上报数据的格式

数据整体是 JSON 格式，描述一条事件或者属性。

**Event 数据样例**

```javascript
[
    {
        "appid":"demo",
        "xwho":"9692043c-7d85-417a-b84e-fd37e1b7a67e",
        "xwhat":"confirmOrder",
        "xwhen":1533110482778,
        "xcontext":{
            "$pagename":"com.analysys.demo.activity.MainActivity",
            "$channel":"豌豆荚",
            "$manufacturer":"Xiaomi",
            "$app_version":"4.0.4.001",
            "$model":"MIX 2S",
            "$os":"Android",
            "$os_version":"8.0.0",
            "$network":"WIFI",
            "$screen_width":1080,
            "$screen_height":2030,
            "$brand":"Xiaomi",
            "$is_first_day":true,
            "$lib":"Android",
            "$platform":"Android",
            "$is_login":false,
            "$lib_version":"4.0.4",
            "$debug":2，
            "order_price":1213.23
        }
    }
]
```

上述字段说明：

* `appid`：字符串类型，记录项目的 AppKey，创建项目后生成；
* `xwho`：字符串类型，记录用户 ID，调用接口生成；
* `xwhat`：字符串类型，记录事件 ID，必须是合法的变量名，由字母、数字和下划线组成，不能以数字开头，对于系统预置的事件以 $ 开头 ;
* `xwhen`：数据值类型，记录事件发生的时间戳，精确到毫秒；
* `xcontext`：事件的属性，以 dict 的形式存在，其中每个属性，有相应格式。以 $ 开头表示为系统预置的属性，其属性值数据类型都是约定好的，自定义的属性不要以 $ 开头，同一个属性 ID 在不同事件中的定义和数据类型应该保持一致。

**Profile 数据样例**

```javascript
[
{
    "appid":"demo",
    "xwho":"9692043c-7d85-417a-b84e-fd37e1b7a67e",
    "xwhat":"$profile_set",
    "xwhen":1533110558121,
    "xcontext":{
        "Email":"yonghu@163.com",
        "$mac":"9c:2e:a1:fe:b7:eb",
        "$lib":"Android",
        "$platform":"Android",
        "$is_login":false,
        "$lib_version":"4.0.4",
        "$debug":2
    }
}
]
```

Profile 信息是通过一些特殊的事件上报，数据格式要求和事件相同。Profile 系列事件包括：

* $profile\_set
* $profile\_set\_once
* $profile\_unset
* $profile\_increment
* $profile\_append
* $profile\_delete

> 特别说明：
>
> 建议您在上报数据时，用户属性ID 和 事件属性ID 使用小写英文字母和下划线组合命名，例如 pagename 、page\_name；
>
> 不建议使用含大写字母的属性ID，例如 pageName 、pageTitle。
>
> 因为易观方舟会将 事件属性ID 和 用户属性ID 中的大写字母强制转换为小写字母。

## 属性值的数据类型

除了整体数据要以 JSON 作为数据传输格式之外，属性值的数据类型也会对应一定格式。

方舟定义了以下数据类型：

| 数据类型 | JSON类型   | 说明                                                                             | 示例                        |
| ---- | -------- | ------------------------------------------------------------------------------ | ------------------------- |
| 字符串  | string   | 使用UTF-8编码后最大长度1024字节                                                           | "易观方舟"                    |
| 数值   | number   | -9E14到9E14, 小数点后最多保留3位                                                         | 123 或者123.12              |
| 布尔   | boolean  | true/false                                                                     | true/false                |
| 日期   | datetime | 格式：yyyy-MM-dd HH:mm:ss.SSS 或yyyy-MM-dd HH:mm:ss 或yyyy-mm-dd                    | "2018-06-18 18:18:18.188" |
| 集合   | array    | 元素为字符串，去重后最大元素个数 100，其中每个元素使用 UTF-8 编码后最大长度 255字节；是去重的无序的字符串集合，输入可有重复，导入过程中会去重 | \[ "写作","摄影","烹饪" ]       |

方舟预置的一些事件属性和用户属性，也会同时定义好数据类型，详见[《预置事件和属性》](/integration/prepare/default-data)。

{% hint style="danger" %}
**方舟不会自动对数据类型错误的属性进行转换**

假如我们有一个表示商品数量的属性 product\_number 首次上报时是数值（number）类型，那么数据库就会将存储这个属性的字段的类型设置为数值（number）。如果接下来 product\_number 收到非数值类型的值时，这一整条日志都会被标记为异常，进入错误队列，而不会进入方舟参与到正常计算中。

错误队列中的数据会保留7天，如果需要恢复当中的数据，请随时联系我们。
{% endhint %}

{% hint style="info" %}
如果发现数据异常变少，可以通过“**数据入库检查**”中的“**错误数据日志**”查看日志是否因为此种情况而被抛弃。
{% endhint %}

{% content-ref url="/pages/-LazhUvrTssSWEg1T2b8" %}
[数据入库验证](/integration/data-verification/data_debug)
{% endcontent-ref %}

**不同数据类型属性值的应用**

数据上报中的属性，在分析时可以作为条件查询，也可以作为维度去细分，之所以需要定义不同属性值的数据类型，就是为了进行合适的运算和维度细分，例如 “支付订单金额” ，分析时希望对它进行求和、最大值、最小值、均值等运算，这就要求这个属性值的类型应该是数值型。

以下说明不同数据类型作为细分维度和过滤条件时的使用差异：

### 维度

| 数据类型 | 维度处理方式                                        | 举例属性                                                                                            | 查询用户数，按举例维度细分                                                                                                       |
| ---- | --------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| 字符串  | 按离散值                                          | <p>商品类别<br>上报的属性值：<br>3C电器、服装、化妆品……</p>                                                         | <p>3C电器：12人<br>服装：12人<br>化妆品：18人</p>                                                                                |
| 数值型  | <p>按离散值<br>自定义区间分组</p>                        | <p>商品价格<br>上报的属性：<br>12、20、90、300……</p>                                                         | <p>按离散值：<br>12：2人<br>20：3人<br>90：13人<br>300：1人<br>按用户自定义区间的话可能是：<br>(-∞,50)：5人<br>\[50,200)：13人<br>\[200,+∞]：1人</p> |
| 布尔值  | 按离散值                                          | <p>是否使用优惠券<br>上报的属性值：<br>true、false</p>                                                         | <p>使用了优惠券的：12人<br>没有使用优惠券的：18人</p>                                                                                  |
| 日期时间 | <p>按分钟、小时、日、周、月、季、年<br>按时段汇总：按分钟、小时、日、周，月</p> | <p>下单时间<br>上报的属性值：<br>2017-03-12 12:12:32、<br>2018-03-15 12:12:32、<br>2018-04-12 12:12:32……</p> | <p>不按时段汇总，按月：<br>2017年3月：23人<br>2018年3月：27人<br>2018年4月：12人<br>按时段汇总，按月：<br>每年3月：50人<br>每年4月：12人</p>                 |
| 集合   | 按集合字符串                                        | <p>用户爱好<br>上报的属性值：<br>\[网球，摄影]、\[户外，摄影]、\[户外、壁球]……</p>                                          | <p>\[网球，摄影]：34人<br>\[户外，摄影]：53人<br>\[户外、壁球]：23人</p>                                                                 |

### 条件

**字符串类型**

| 操作符          | 使用场景                                         | e.g.                            |
| ------------ | -------------------------------------------- | ------------------------------- |
| =(等于)        | 当输入一个值时，表示等于某个具体确定的属性值；当输入多个时，表示满足其中的一项或多项   | 设备品牌 = 苹果，小米；设备品牌满足苹果、小米中的任意一个  |
| ≠（不等于）       | 完全排除输入的某个或多个属性值                              | 设备品牌 ≠ 苹果，小米；设备品牌不满足苹果、小米中的任何一个 |
| like（包含）     | 查找属性值中包含某些字符的值                               | 设备品牌中包含苹果这个词的                   |
| notlike（不包含） | 排除属性值中包含某些字符的值                               | 设备品牌中不包含苹果这个词的                  |
| 有值           | 查找有属性值的数据                                    | 有设备品牌名称的                        |
| 无值           | 查找无属性值的数据                                    | 无设备品牌名称的                        |
| 正则匹配         | 用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等  | -                               |
| 正则不匹配        | 用来检查一个串是否不含有某种子串、将匹配的子串替换或者从某个串中排除符合某个条件的子串等 | -                               |

**数值型**

| 操作符     | 使用场景        | e.g.             |
| ------- | ----------- | ---------------- |
| = (等于)  | 等于某个具体数字    | 商品金额 = 100       |
| ≠（不等于）  | 不等于某个数字     | 商品金额 ≠ 100       |
| <（小于）   | 小于某个数字      | 商品金额 < 100       |
| ≤（小于等于） | 小于等于某个数字    | 商品金额 ≤ 100       |
| >（大于）   | 大于某个数字      | 商品金额 ＞ 100       |
| ≥（大于等于） | 大于等于某个数字    | 商品金额 ≥ 100       |
| 介于区间    | 在某个数据区间内的数值 | 100＜商品金额 ≤   500 |
| 有值      | 查找有属性值的数据   | 有商品金额的           |
| 无值      | 查找无属性值的数据   | 无商品金额的           |

**布尔值**

| 操作符 | 使用场景      | e.g.     |
| --- | --------- | -------- |
| 为真  | 某个判断为真    | 是否成功 = 是 |
| 为假  | 某个判断为假    | 是否成功 = 否 |
| 有值  | 查找有属性值的数据 | 有值       |
| 无值  | 查找无属性值的数据 | 无值       |

**日期时间**

| 操作符      | 使用场景          | e.g.                       |
| -------- | ------------- | -------------------------- |
| 绝对时间     | 在某个具体的时间范围    | 在 2018/12/14-   2018/12/17 |
| 相对当前时间点  | 在相对当前的某段时间里   | 在近 30 天内                   |
| 相对事件发生时间 | 在相对事件发生的某段时间里 | 登录之前的 5 分钟里                |
| 有值       | 查找有属性值的数据     | 有日期                        |
| 无值       | 查找无属性值的数据     | 无日期                        |

**字符串集合**

| 操作符          | 使用场景         | e.g.        |
| ------------ | ------------ | ----------- |
| like（包含）     | 集合中包含某个字符的值  | 用户标签中包含 摄影  |
| notlike（不包含） | 集合中不包含某个字符的值 | 用户标签不包含设计摄影 |
| 有值           | 查找有属性值的数据    | 有用户标签       |
| 无值           | 查找无属性值的数据    | 无用户标签       |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 预置事件和属性

为了帮助开发者更快速的集成SDK，了解采集哪些用户行为和属性，我们预置了一些事件、事件属性和用户属性。

{% hint style="info" %}
**说明**

部分默认自动采集，Android、iOS、JS 和 小程序端略有差异；

非默认采集的字段，如有需要，可以直接使用预置字段作为事件 ID、属性 ID 进行上报，以便数据集成时，能够自动生成预置看板。

以下表格中涉及标识为 Y/N/- 的含义

**事件**

* **Y 表示相应平台默认自动采集**
* **N 表示相应平台不默认采集**
* **S 表示由服务端处理**
* **-  表示相应平台不支持采集该事件**

**属性**

* **Y 表示采集事件后相应属性可以自动获取，无需额外配置**
* **N 表示需要额外配置才能有值**
* **S 表示由服务端根据相应规则自动处理**
* **-  表示相应平台不支持该属性**
  {% endhint %}

{% hint style="danger" %}
除了预置的事件和属性ID会以$开头，其他自定义的事件ID和属性ID，须注意命名方式：仅支持字母、数字和下划线，不能以数字或下划线开头，上限125个半角字符。
{% endhint %}

## 预置事件

### 1. **Event：**&#x57FA;础预置事件

{% hint style="info" %}
基础预置事件会默认加入到方舟埋点方案

启动、关闭、浏览页面事件会在集成了基础 SDK 后会自动采集；

**$app\_click**、**$web\_click** 用于记录点击网页/APP页面，用于分析点击位置热图、点击元素热图，集成 SDK 时设置参数*autoHeatmap* 设置为 *true ；*

**$websta**y 用于记录用户停留在可视区域，分析浏览深度线，集成 SDK 时设置参数 *autoWebstay* 为 *true；*

**$user\_click** 用于采集用户点击元素的事件，集成 SDK 时开启全埋点功能，即设置参数 *autoTrack 为 true*&#x20;

对于用不到的事件可以选择不用，比如集成的平台中没有小程序时，可以不用 $share；没有 APP 时，可以不用 $app\_crash
{% endhint %}

| 事件ID         | 事件显示名称 | 事件说明                | Android | iOS |  JS | 小程序 |
| ------------ | ------ | ------------------- | :-----: | :-: | :-: | :-: |
| $startup     | 启动     | APP启动 / 打开网站        |    Y    |  Y  |  Y  |  Y  |
| $end         | 关闭     | APP关闭               |    Y    |  Y  |  -  |  -  |
| $pageview    | 浏览页面   | 浏览APP/网站页面          |    Y    |  Y  |  Y  |  Y  |
| $user\_click | 点击元素   | 全埋点自动采集元素点击行为       |    N    |  N  |  N  |  N  |
| $app\_click  | App点击  | App热图点击事件（用于热图分析）   |    N    |  N  |  -  |  -  |
| $web\_click  | Web点击  | Web热图点击事件（用于热图分析）   |    -    |  -  |  N  |  -  |
| $webstay     | 视区停留   | 停留在可视区域（用于分析网页浏览深度） |    -    |  -  |  N  |  -  |
| $share       | 小程序分享  | 点击小程序分享按钮           |    -    |  -  |  -  |  N  |
| $app\_crash  | APP崩溃  | APP崩溃信息             |    N    |  N  |  -  |  -  |

### 2. Event：APP 推广监测预置事件

{% hint style="info" %}
在首次创建 APP 推广监测成功后，系统会自动将 APP 推广监测相关事件添加在埋点方案中

无需在 SDK 中进行特殊设置，用户点击来推广链接激活后会自动上报数据
{% endhint %}

| 事件ID                 | 事件显示名称  | 事件说明                         | Android | iOS | JS | 小程序 |
| -------------------- | ------- | ---------------------------- | ------- | --- | -- | --- |
| $campaign\_track     | APP推广监测 | APP扫描监测扫描二维码时上报              | S       | S   | -  | -   |
| $first\_installation | 首次安装激活  | APP扫描监测扫描二维码后首次打开APP会时上报激活事件 | S       | S   | -  | -   |

### 3. Event：消息通知预置事件

{% hint style="info" %}
在服务集成配置中配置消息通知推送通道后，系统会自动将这 3 个事件添加到埋点方案中

集成 SDK 时需要注意消息通知模块的设置，详见 [SDK 集成文档](https://docs.analysys.cn/integration/sdk/android/xiao-xi-tui-song-mo-kuai)
{% endhint %}

| 事件ID                     | 事件显示名称     | 事件说明         | Android | iOS |  JS | 小程序 |
| ------------------------ | ---------- | ------------ | :-----: | :-: | :-: | :-: |
| $push\_receiver\_success | 消息推送成功     | 设备收到推送消息时触发  |    N    |  N  |  -  |  -  |
| $push\_click             | 点击推送消息     | 设备点击了推送消息时触发 |    N    |  N  |  -  |  -  |
| $push\_process\_success  | 成功处理push消息 | 成功处理push消息   |    N    |  N  |  -  |  -  |

#### 绑定用户实名信息

| 事件ID   | 事件显示名称   | 事件说明   | Android | iOS | JS | 小程序 |
| ------ | -------- | ------ | ------- | --- | -- | --- |
| $alias | 绑定用户实名信息 | 用户实名认证 | S       | S   | S  | S   |

### &#x20;4. Profile 系列事件

{% hint style="info" %}
$alias 事件之外的Profile 系列的事件用于上报用户属性，所以同样不会作为单独的事件去分析，即不会出现在分析模型中事件的选项中，也不会计入任意事件的计算。
{% endhint %}

| 事件ID                | 事件说明               | Android | iOS |  JS | 小程序 |
| ------------------- | ------------------ | :-----: | :-: | :-: | :-: |
| $alias              | 用户实名认证             |    N    |  N  |  N  |  N  |
| $profile\_set       | 设置用户信息，覆盖写         |    N    |  N  |  N  |  N  |
| $profile\_set\_once | 设置用户信息，有则不进行任何操作   |    Y    |  Y  |  Y  |  Y  |
| $profile\_increment | 增加或减少用户信息中的数字类型的属性 |    N    |  N  |  N  |  N  |
| $profile\_delete    | 删除用户信息             |    N    |  N  |  N  |  N  |
| $profile\_append    | 数组属性添加值            |    N    |  N  |  N  |  N  |
| $profile\_unset     | 设置用户信息中的某个属性为空     |    N    |  N  |  N  |  N  |

{% hint style="warning" %}
除了上述预置事件之外，更多业务相关的事件，需要自定义埋点上报。
{% endhint %}

{% content-ref url="/pages/-LjFePSCSktmOUmjtc2L" %}
[埋点方案](/features/project-manegement/data-integration/schema)
{% endcontent-ref %}

## 预置 Event 事件通用属性

事件属性描述事件发生的方式和内容，是分析过程中的维度，也可以用于条件过滤。

* 事件通用属性：所有事件共同拥有的属性，e.g. 平台、应用版本、操作系统等；
* 事件自有属性：某个事件独有的事件属性，e.g. 浏览页面事件 $pageview 会有 $url、$title 等属性。

| 属性ID                  | 属性显示名称     | 数据类型 | 属性说明                                                       | Android | iOS |  JS | 小程序 |
| --------------------- | ---------- | ---- | ---------------------------------------------------------- | :-----: | :-: | :-: | :-: |
| $platform             | 平台         | 字符串  | 应用平台，枚举取值：JS/iOS/Android/Wechat                            |    Y    |  Y  |  Y  |  Y  |
| $app\_version         | 应用版本       | 字符串  | 应用版本，e.g. V1.0                                             |    Y    |  Y  |  -  |  -  |
| $device\_type         | 设备类型       | 字符串  | 设备类型，e.g.  PC、移动设备                                         |    S    |  S  |  S  |  S  |
| $manufacturer         | 设备制造商      | 字符串  | 制造厂商， e.g. 小米                                              |    Y    |  Y  |  -  |  -  |
| $brand                | 设备品牌       | 字符串  | 设备品牌，e.g. 华为荣耀                                             |    Y    |  Y  |  S  |  Y  |
| $model                | 设备型号       | 字符串  | 设备型号，e.g. iPhone8、小米4                                      |    Y    |  Y  |  S  |  Y  |
| $os                   | 操作系统       | 字符串  | 操作系统，e.g.Window、MacOS                                      |    Y    |  Y  |  S  |  Y  |
| $os\_version          | 操作系统版本     | 字符串  | 操作系统版本，e.g.Windows 10                                      |    Y    |  Y  |  S  |  Y  |
| $browser              | 浏览器        | 字符串  | 浏览器名称，e.g. Chrome                                          |    -    |  -  |  S  |  Y  |
| $browser\_version     | 浏览器版本      | 字符串  | 浏览器版本，e.g. Chrome 62.23.23                                 |    -    |  -  |  S  |  Y  |
| $network              | 网络类型       | 字符串  | 网络类型，e.g. WIFI、2G、3G、4G                                    |    Y    |  Y  |  -  |  Y  |
| $carrier\_name        | 运营商        | 字符串  | 接入运营商名称，e.g. 中国联通                                          |    Y    |  Y  |  -  |  -  |
| $screen\_width        | 屏幕宽度       | 数值   | 屏幕宽度/屏幕分辨率，e.g. 1920                                       |    Y    |  Y  |  Y  |  Y  |
| $screen\_height       | 屏幕高度       | 数值   | 屏幕高度/屏幕分辨率，e.g. 768                                        |    Y    |  Y  |  Y  |  Y  |
| $is\_login            | 是否是注册用户    | 布尔   | 是否是注册用户                                                    |    Y    |  Y  |  Y  |  Y  |
| $ip                   | IP         | 字符串  | IP地址                                                       |    S    |  S  |  S  |  S  |
| $country              | 国家         | 字符串  | <p>事件发生时所在国家，</p><p>e.g. 中国、美国</p>                         |    S    |  S  |  S  |  S  |
| $province             | 省份         | 字符串  | <p>事件发生时所在省份，</p><p>e.g.   北京、上海、福建</p>                    |    S    |  S  |  S  |  S  |
| $city                 | 城市         | 字符串  | <p>事件发生时所在城市，</p><p>e.g. 北京、厦门</p>                         |    S    |  S  |  S  |  S  |
| $utm\_campaign\_id    | 活动ID       | 字符串  | <p>根据添加的内容自动生成，</p><p>标识一次活动</p>                           |    Y    |  Y  |  Y  |  Y  |
| $utm\_campaign        | 活动/广告名称    | 字符串  | 特定的推广活动，e.g. 双11推广                                         |    Y    |  Y  |  Y  |  Y  |
| $utm\_medium          | 活动/广告媒介    | 字符串  | 推广类型，e.g. SEM，cpc                                          |    Y    |  Y  |  Y  |  Y  |
| $utm\_source          | 活动/广告来源    | 字符串  | 推广来源，e.g. 今日头条                                             |    Y    |  Y  |  Y  |  Y  |
| $utm\_content         | 活动/广告内容    | 字符串  | 广告内容，e.g. 优惠信息                                             |    Y    |  Y  |  Y  |  Y  |
| $utm\_term            | 活动/广告关键字   | 字符串  | 广告关键字，e.g. 用户画像                                            |    Y    |  Y  |  Y  |  Y  |
| $is\_first\_day       | 是否安装后首日访问  | 布尔   | 是否安装后首日访问                                                  |    Y    |  Y  |  Y  |  Y  |
| $channel              | 下载渠道       | 字符串  | 下载渠道，SDK 初始化时传入。仅 Android 通过渠道包分发时才有意义，iOS 会统一为“App Store” |    Y    |  Y  |  -  |  -  |
| $lib                  | SDK类型      | 字符串  | SDK类型，e.g.   python、iOS等                                   |    Y    |  Y  |  Y  |  Y  |
| $lib\_version         | SDK版本      | 字符串  | SDK版本， e.g. ：11.2.5                                        |    Y    |  Y  |  Y  |  Y  |
| $session\_id          | SessionID  | 字符串  | 会话ID，e.g. 515950b8f1a6221c                                 |    Y    |  Y  |  Y  |  Y  |
| $language             | 语言         | 字符串  | 系统语言，e.g. zh-cn                                            |    Y    |  Y  |  Y  |  Y  |
| $time\_zone           | 用户时区       | 字符串  | 用户时区，e.g.GMT+08:00                                         |    Y    |  Y  |  Y  |  Y  |
| $user\_agent          | UA         | 字符串  | UA                                                         |    -    |  -  |  Y  |  -  |
| $web\_crawler         | 是否是爬虫      | 布尔   | 爬虫识别                                                       |    -    |  -  |  Y  |  -  |
| $is\_time\_calibrated | 是否与服务端时间校准 | 布尔   | 是否与服务端时间校准                                                 |    N    |  N  |  -  |  N  |
| $device\_id           | 设备ID       | 字符串  | 设备ID，idfa/oaid > idfv/androidid > uuid                     |    N    |  N  |  -  |  -  |
| xwho                  | 用户ID       | 字符串  | 用户ID                                                       |    Y    |  Y  |  Y  |  Y  |
| xwhen                 | 触发时间       | 日期   | 事件发生的时间                                                    |    Y    |  Y  |  Y  |  Y  |
| distinct\_id          | 唯一ID       | 字符串  | 系统在 xwho 的基础上根据一些规则生成的唯一 IDS                               |    S    |  S  |  S  |  S  |
| $importflag           | 是否工具导入     | 数值   | 标识是否是工具导入，1为工具导入                                           |    N    |  N  |  N  |  N  |
| $debug                | Debug模式    | 数值   | 标识数据处理方式，0：非debug 1：debug，不入库 2：debug，入库                   |    Y    |  Y  |  Y  |  Y  |

{% hint style="info" %}
**非自动采集的属性，会根据相应字段自动解析**

**$ip ：**&#x65B9;舟的收数服务会自动记录上报的数据来源 IP，根据 IP 解析为国家、省份、城市三个字段

**$county：**&#x901A;过 IP 解析

**$province：**&#x901A;过 IP 解析

**$city ：**&#x901A;过 IP 解析

**$device\_type：**&#x901A;过 UA 解析
{% endhint %}

{% hint style="info" %}
**部分自动采集的属性不会作为独立的属性用于分析**

**$debug：**&#x7528;于标识是否入库

* 0：表示关闭 Debug 模式
* 1：表示打开 Debug 模式，但该模式下发送的数据仅用于调试，不计入平台数据统计&#x20;
* 2：表示打开 Debug 模式，该模式下发送的数据可计入平台数据统计

**$session\_id：**&#x6807;识一次会话

**$user\_agent：**&#x55;A，用于解析设备类型、浏览器、浏览器版本、操作系统、操作系统版本\
\
**$device\_id：系统唯一标识，默认不采集(4.4.5版本新增)**

**Andorid 采集规则：**&#x61;dvertising id > android id > uuid，按照先后顺序获取

**iOS 采集规则：**&#x69;dfa>idfv>uuid，按照先后顺序获取
{% endhint %}

## 预置 Event 事件自身属性

部分预置事件在通用属性之外，还有自身独有的属性

### &#x20;1 基础预置事件

### **$startup 启动**

{% hint style="info" %}
集成基础 SDK 后自动采集
{% endhint %}

| 属性ID                  | 属性显示名称    | 数据类型 | 属性说明                                          | Android | iOS |  JS | 小程序 |
| --------------------- | --------- | ---- | --------------------------------------------- | :-----: | :-: | :-: | :-: |
| $is\_first\_time      | 是否安装后首次访问 | 布尔   | 是否安装后首次访问                                     |    Y    |  Y  |  Y  |  Y  |
| $is\_from\_background | 是否从后台唤醒   | 布尔   | 是否从后台唤醒恢复                                     |    Y    |  Y  |  -  |  -  |
| $start\_source        | 启动来源      | 字符串  | 标识APP的启动来源，e.g. 通过点击图标启动、点击通知、URL唤醒、3D touch等 |    N    |  N  |  -  |  -  |
| $scene                | 场景值       | 字符串  | 标识小程序的场景值，e.g 顶部搜索框的搜索结果页                     |    -    |  -  |  -  |  Y  |
| $scene\_type          | 场景值类型     | 字符串  | 标识小程序场景值类型                                    |    -    |  -  |  -  |  S  |

### **$end 关闭**

{% hint style="info" %}
**集成基础 SDK 后自动采集**
{% endhint %}

| 属性ID      | 属性显示名称 | 数据类型 | 属性说明                        | Android | iOS |  JS | 小程序 |
| --------- | ------ | ---- | --------------------------- | :-----: | :-: | :-: | :-: |
| $duration | 使用时长   | 数值   | <p>从启动到关闭的使用时长<br>单位：毫秒</p> |    Y    |  Y  |  -  |  -  |

### **$pageview 浏览页面**

{% hint style="info" %}
**集成基础 SDK 后自动采集**
{% endhint %}

| 属性ID                   | 属性显示名称    | 数据类型 | 属性说明                      | Android | iOS |  JS | 小程序 |
| ---------------------- | --------- | ---- | ------------------------- | :-----: | :-: | :-: | :-: |
| $url                   | 页面URL(含参) | 字符串  | 页面完整路径                    |    Y    |  Y  |  Y  |  Y  |
| $url\_domain           | 页面URL     | 字符串  | 去参的页面URL                  |    -    |  -  |  S  |  -  |
| $title                 | 页面标题      | 字符串  | 页面标题                      |    Y    |  Y  |  Y  |  -  |
| $referrer              | 页面来源      | 字符串  | 页面来源                      |    Y    |  Y  |  Y  |  Y  |
| $referrer\_domain      | 页面来源域名    | 字符串  | 页面来源域名                    |    -    |  -  |  Y  |  -  |
| $traffic\_source\_type | 流量来源类型    | 字符串  | 流量来源类型，数据处理               |    -    |  -  |  S  |  -  |
| $search\_engine        | 搜索引擎      | 字符串  | 标识搜索引擎来源，e.g. 百度          |    -    |  -  |  S  |  -  |
| $search\_keyword       | 搜索关键词     | 字符串  | 标识搜索词来源，e.g. 易观方舟         |    -    |  -  |  S  |  -  |
| $social\_media         | 社交媒体      | 字符串  | 标识社交媒体来源，e.g. 微博          |    -    |  -  |  S  |  -  |
| $social\_share\_from   | 社交媒体分享来源  | 字符串  | 标识微信来源，e.g. 微信朋友圈、微信群     |    -    |  -  |  S  |  -  |
| $scene                 | 场景值       | 字符串  | 标识小程序的场景值，e.g 顶部搜索框的搜索结果页 |    -    |  -  |  -  |  Y  |
| $scene\_type           | 场景值类型     | 字符串  | 标识小程序场景值类型                |    -    |  -  |  -  |  S  |
| $startup\_time         | 启动时间      | 日期   | yyyy-MM-dd hh:mm:ss.SSS   |    -    |  -  |  Y  |  Y  |
| $share\_id             | 分享者ID     | 字符串  | 当点击分享的小程序后上报来源            |    -    |  -  |  -  |  N  |
| $share\_level          | 转发层级      | 数值   | 当点击分享的小程序后上报来源            |    -    |  -  |  -  |  N  |
| $share\_path           | 转发地址      | 字符串  | 当点击分享的小程序后上报来源            |    --   |  -  |  -  |  N  |

{% hint style="info" %}

* **$referrer 字段在 App 中手动调用 pageview 接口，默认不采集**
* **$url\_domain, $traffic\_source\_type, $search\_engine 等非自动采集的属性，系统会根据$url 和 $referrer 自动解析**
  {% endhint %}

### **$user\_click 点击元素（全埋点事件）**

{% hint style="info" %}
用于采集用户点击元素的事件，集成 SDK 时需开启全埋点功能，即设置参数 *autoTrack 为 true*&#x20;

标识为 N 的属性表示设置参数 *autoTrack 为 true*  后，相应属性也需要额外配置
{% endhint %}

| 属性ID                  | 属性显示名称      | 数据类型 | 属性说明                 | Android | iOS |  JS | 小程序 |
| --------------------- | ----------- | ---- | -------------------- | :-----: | :-: | :-: | :-: |
| $title                | 页面标题        | 字符串  | 页面标题                 |    Y    |  Y  |  Y  |  -  |
| $parent\_url          | 父页面URL      | 字符串  | 页面URL，为空则为顶级页        |    Y    |  -  |  -  |  -  |
| $url                  | 页面URL       | 字符串  | 页面URL                |    Y    |  Y  |  Y  |  Y  |
| $url\_path            | 页面地址（不含参）   | 字符串  | 页面地址（不含参）            |    -    |  -  |  Y  |  -  |
| $element\_path        | 元素路径        | 字符串  | APP 为元素唯一标识；JS 为元素路径 |    Y    |  Y  |  Y  |  -  |
| $element\_class\_name | 元素样式的类      | 字符串  | 仅 JS 有效              |    -    |  -  |  Y  |  -  |
| $element\_target\_url | 元素链接地址      | 字符串  | 仅 JS 有效              |    -    |  -  |  Y  |  -  |
| $element\_id          | 元素ID        | 字符串  | 元素ID                 |    Y    |  Y  |  Y  |  N  |
| $element\_name        | 元素名称        | 字符串  | 仅 JS 有效              |    -    |  -  |  Y  |  -  |
| $element\_type        | 元素类型        | 字符串  | 元素类型                 |    Y    |  Y  |  Y  |  N  |
| $element\_position    | 列表控件位置 （可选） | 字符串  | 列表控件位置 （可选）          |    Y    |  Y  |  -  |  -  |
| $element\_content     | 元素内容        | 字符串  | 元素的内容（优先级：内容>描述>空）   |    Y    |  Y  |  Y  |  N  |

### **$webstay 视区停留**

{% hint style="info" %}
采集用户在可视区域的停留行为，分析浏览深度线，集成 SDK 时设置参数 *autoWebstay* 为 *true*
{% endhint %}

| 属性ID                | 属性显示名称   | 数据类型 | 属性说明         | Android | iOS |  JS | 小程序 |
| ------------------- | -------- | ---- | ------------ | :-----: | :-: | :-: | :-: |
| $url                | 页面URL    | 字符串  | 页面URL/页面完整路径 |    -    |  -  |  Y  |  -  |
| $title              | 页面标题     | 字符串  | 页面标题         |    -    |  -  |  Y  |  -  |
| $referrer           | 页面来源     | 字符串  | 页面来源         |    -    |  -  |  Y  |  -  |
| $referrer\_domain   | 页面来源域名   | 字符串  | 页面来源域名       |    -    |  -  |  Y  |  -  |
| $viewport\_width    | 视区宽度     | 数值   | 视区宽度         |    -    |  -  |  Y  |  -  |
| $viewport\_position | 视区距顶部的位置 | 数值   | 视区距顶部的位置     |    -    |  -  |  Y  |  -  |
| $viewport\_height   | 视区高度     | 数值   | 视区高度         |    -    |  -  |  Y  |  -  |
| $event\_duration    | 视区停留时间   | 数值   | 视区停留时间       |    -    |  -  |  Y  |  -  |

### **$app\_click APP点击**

{% hint style="info" %}
采集APP点击行为，用于分析点击位置热图、点击元素热图，集成 SDK 时设置参数*autoHeatmap* 设置为 *true*&#x20;
{% endhint %}

| 属性ID                | 属性显示名称   | 数据类型 | 属性说明       | Android | iOS |  JS | 小程序 |
| ------------------- | -------- | ---- | ---------- | :-----: | :-: | :-: | :-: |
| $page\_width        | 页面宽度     | 数值   | 热图页面宽度     |    Y    |  Y  |  Y  |  -  |
| $page\_height       | 页面高度     | 数值   | 热图页面高度     |    Y    |  Y  |  Y  |  -  |
| $screen\_dpi        | 屏幕DPI    | 数值   | 屏幕DPI      |    Y    |  -  |  -  |  -  |
| $screen\_scale      | 屏幕缩放比    | 数值   | 屏幕缩放比      |    Y    |  -  |  -  |  -  |
| $click\_x           | 点击X坐标    | 数值   | 热图点击X坐标    |    Y    |  Y  |  Y  |  -  |
| $click\_y           | 点击Y坐标    | 数值   | 热图点击Y坐标    |    Y    |  Y  |  Y  |  -  |
| $url                | 页面URL    | 字符串  | 点击热图时页面URL |    Y    |  Y  |  Y  |  -  |
| $element\_x         | 元素X坐标    | 数值   | 点击元素X坐标    |    Y    |  Y  |  Y  |  -  |
| $element\_y         | 元素Y坐标    | 数值   | 点击元素Y坐标    |    Y    |  Y  |  Y  |  -  |
| $element\_path      | 元素路径     | 字符串  | 热图元素路径     |    Y    |  Y  |  Y  |  -  |
| $element\_name      | 元素名称     | 字符串  | 热图元素名称     |    -    |  Y  |  -  |  -  |
| $element\_type      | 元素类型     | 字符串  | 热图元素类型     |    Y    |  Y  |  Y  |  -  |
| $element\_content   | 元素内容     | 字符串  | 热图元素的内容    |    Y    |  Y  |  Y  |  -  |
| $element\_clickable | 是否可以点击元素 | 数值   | 是否可以点击元素   |    Y    |  Y  |  Y  |  -  |

### **$web\_click  Web点击**

{% hint style="info" %}
采集网页点击行为，用于分析点击位置热图、点击元素热图，集成 SDK 时设置参数*autoHeatmap* 设置为 *true*&#x20;
{% endhint %}

| 属性ID                  | 属性显示名称   | 数据类型 | 属性说明       | Android | iOS |  JS | 小程序 |
| --------------------- | -------- | ---- | ---------- | :-----: | :-: | :-: | :-: |
| $page\_width          | 页面宽度     | 数值   | 热图页面宽度     |    Y    |  Y  |  Y  |  -  |
| $page\_height         | 页面高度     | 数值   | 热图页面高度     |    Y    |  Y  |  Y  |  -  |
| $screen\_dpi          | 屏幕DPI    | 数值   | 屏幕DPI      |    Y    |  -  |  -  |  -  |
| $screen\_scale        | 屏幕缩放比    | 数值   | 屏幕缩放比      |    Y    |  -  |  -  |  -  |
| $click\_x             | 点击X坐标    | 数值   | 热图点击X坐标    |    Y    |  Y  |  Y  |  -  |
| $click\_y             | 点击Y坐标    | 数值   | 热图点击Y坐标    |    Y    |  Y  |  Y  |  -  |
| $url                  | 页面URL    | 字符串  | 点击热图时页面URL |    Y    |  Y  |  Y  |  -  |
| $element\_x           | 元素X坐标    | 数值   | 点击元素X坐标    |    Y    |  Y  |  Y  |  -  |
| $element\_y           | 元素Y坐标    | 数值   | 点击元素Y坐标    |    Y    |  Y  |  Y  |  -  |
| $element\_path        | 元素路径     | 字符串  | 热图元素路径     |    Y    |  Y  |  Y  |  -  |
| $element\_name        | 元素名称     | 字符串  | 热图元素名称     |    -    |  Y  |  -  |  -  |
| $element\_type        | 元素类型     | 字符串  | 热图元素类型     |    Y    |  Y  |  Y  |  -  |
| $element\_content     | 元素内容     | 字符串  | 热图元素的内容    |    Y    |  Y  |  Y  |  -  |
| $element\_clickable   | 是否可以点击元素 | 数值   | 是否可以点击元素   |    Y    |  Y  |  Y  |  -  |
| $element\_target\_url | 元素链接地址   | 字符串  | 仅 JS 有效    |    -    |  -  |  Y  |  -  |

### **$share 小程序分享**

| 属性ID          | 属性显示名称 | 数据类型 | 属性说明           | Android | iOS |  JS | 小程序 |
| ------------- | ------ | ---- | -------------- | :-----: | :-: | :-: | :-: |
| $share\_id    | 分享者ID  | 字符串  | 当点击分享的小程序后上报来源 |    -    |  -  |  -  |  N  |
| $share\_level | 转发层级   | 数值   | 当点击分享的小程序后上报来源 |    -    |  -  |  -  |  N  |
| $share\_path  | 转发地址   | 字符串  | 当点击分享的小程序后上报来源 |    -    |  -  |  -  |  N  |

### $app\_crash APP崩溃

| 属性ID         | 属性显示名称 | 数据类型 | 属性说明    | Android | iOS |  JS | 小程序 |
| ------------ | ------ | ---- | ------- | :-----: | :-: | :-: | :-: |
| $crash\_data | 崩溃原因   | 字符串  | 崩溃的堆栈信息 |    Y    |  Y  |  -  |  -  |

### **$alias  实名绑定**

| 属性ID          | 属性显示名称 | 数据类型 | 属性说明       | Android | iOS |  JS | 小程序 |
| ------------- | ------ | ---- | ---------- | :-----: | :-: | :-: | :-: |
| $original\_id | 匿名ID   | 字符串  | 实名绑定前的匿名ID |    Y    |  Y  |  Y  |  Y  |

### 2 APP 推广监测预置事件

### $campaign\_track APP推广监测

| 属性ID                 | 属性名称       | 属性值数据类型 | 属性说明            | <p>Android<br>自动采集</p> | <p>iOS<br>自动采集</p> | <p>JS<br>自动采集</p> | <p>小程序<br>自动采集</p> |
| -------------------- | ---------- | ------- | --------------- | ---------------------- | ------------------ | ----------------- | ------------------ |
| $campaign\_channelid | 推广渠道ID     | 数值      | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $campaign\_shortlink | 推广跳转短链CODE | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_0             | 推广渠道信息1    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_1             | 推广渠道信息2    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_2             | 推广渠道信息3    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_3             | 推广渠道信息4    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_4             | 推广渠道信息5    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |

### $first\_installation 首次安装激活

| 属性ID          | 属性名称 | 属性值数据类型 | 属性说明     | <p>Android<br>自动采集</p> | <p>iOS<br>自动采集</p> | <p>JS<br>自动采集</p> | <p>小程序<br>自动采集</p> |
| ------------- | ---- | ------- | -------- | ---------------------- | ------------------ | ----------------- | ------------------ |
| $fingerprint  | 设备指纹 | 数值      | 设备指纹     | S                      | S                  | -                 | -                  |
| $track\_xwhen | 激活时间 | 数值      | 指纹匹配上的时间 | S                      | S                  | -                 | -                  |

####

### 3 消息通知预置事件

### **$push\_receiver\_success 消息推送成功**

| 属性ID          | 属性显示名称 | 数据类型 | 属性说明         | Android | iOS |  JS | 小程序 |
| ------------- | ------ | ---- | ------------ | :-----: | :-: | :-: | :-: |
| $action\_type | 操作类型   | 数值   | 点击消息通知后的操作类型 |    N    |  N  |  -  |  -  |
| $action       | 操作     | 字符串  | 点击消息通知后的操作   |    N    |  N  |  -  |  -  |

### **$push\_process\_success 成功处理消息**

| 属性ID          | 属性显示名称 | 数据类型 | 属性说明         | Android | iOS |  JS | 小程序 |
| ------------- | ------ | ---- | ------------ | :-----: | :-: | :-: | :-: |
| $action\_type | 操作类型   | 数值   | 点击消息通知后的操作类型 |    N    |  N  |  -  |  -  |
| $action       | 操作     | 字符串  | 点击消息通知后的操作   |    N    |  N  |  -  |  -  |

### **$push\_click 点击消息通知**

| 属性ID          | 属性显示名称 | 数据类型 | 属性说明         | Android | iOS |  JS | 小程序 |
| ------------- | ------ | ---- | ------------ | :-----: | :-: | :-: | :-: |
| $action\_type | 操作类型   | 数值   | 点击消息通知后的操作类型 |    N    |  N  |  -  |  -  |
| $action       | 操作     | 字符串  | 点击消息通知后的操作   |    N    |  N  |  -  |  -  |

## 预置用户属性

### **基础预置用户属性**

{% hint style="info" %}
默认加入到方舟埋点方案-用户方案中
{% endhint %}

| 属性ID                    | 属性名称       | 属性值数据类型 | 属性说明                    | <p>Android<br>自动采集</p> | <p>iOS<br>自动采集</p> | <p>JS<br>自动采集</p> | <p>小程序<br>自动采集</p> |
| ----------------------- | ---------- | ------- | ----------------------- | ---------------------- | ------------------ | ----------------- | ------------------ |
| distinct\_id            | 唯一ID       | 数值      | 方舟系统生成的用户唯一ID           | S                      | S                  | S                 | S                  |
| xwho                    | 用户ID       | 字符串     | 行为主体                    | Y                      | Y                  | Y                 | Y                  |
| xwhen                   | 用户属性更新时间   | 日期时间    | 用户属性更新时间                | Y                      | Y                  | Y                 | Y                  |
| $original\_id           | 匿名ID       | 字符串     | 实名绑定前的匿名ID              | S                      | S                  | S                 | S                  |
| $original\_id\_list     | 匿名ID列表     | 字符串     | 实名绑定过的匿名ID列表            | S                      | S                  | S                 | S                  |
| $idfv                   | IDFV       | 字符串     | IDFV                    | -                      | N                  | -                 | -                  |
| $idfa                   | IDFA       | 字符串     | IDFA                    | -                      | N                  | -                 | -                  |
| $mac                    | MAC        | 字符串     | MAC                     | N                      | -                  | -                 | -                  |
| $device\_id             | DeviceID   | 字符串     | DeviceID                | N                      | N                  |                   |                    |
| $imei                   | IMEI       | 字符串     | IMEI                    | N                      | -                  | -                 | -                  |
| $wechatopenid           | 微信OpenID   | 字符串     | 微信OpenID                | -                      | -                  | -                 | N                  |
| $phone                  | 手机号        | 字符串     | 手机号                     | N                      | N                  | N                 | N                  |
| $email                  | 邮箱         | 字符串     | 邮箱                      | N                      | N                  | N                 | N                  |
| $platform               | 最后一次使用平台   | 字符串     | 最后一次使用平台                | Y                      | Y                  | Y                 | Y                  |
| $lib                    | 最新版本的SDK类型 | 字符串     | SDK类型，e.g.  python、iOS等 | Y                      | Y                  | Y                 | Y                  |
| $lib\_version           | 最新版本的SDK版本 | 字符串     | SDK版本，e.g. 11.2.5       | Y                      | Y                  | Y                 | Y                  |
| $country                | 所在国家       | 字符串     | 用户所在国家                  | N                      | N                  | N                 | N                  |
| $province               | 所在省份       | 字符串     | 用户所在省份                  | N                      | N                  | N                 | N                  |
| $city                   | 所在城市       | 字符串     | 用户所在城市                  | N                      | N                  | N                 | N                  |
| $is\_login              | 是否是注册帐号    | 布尔值     | 是否是注册帐号                 | Y                      | Y                  | Y                 | Y                  |
| $signup\_time           | 注册时间       | 日期时间    | 注册时间                    | N                      | N                  | N                 | N                  |
| $first\_visit\_time     | 首次访问时间     | 日期时间    | 首次访问时间                  | Y                      | Y                  | Y                 | Y                  |
| $first\_visit\_language | 首次访问语言     | 字符串     | 设备语言                    | Y                      | Y                  | Y                 | Y                  |
| $time\_zone             | 时区         | 字符串     | GMT+08:00               | Y                      | Y                  | Y                 | Y                  |

### **推送相关用户属性**

{% hint style="info" %}
集成服务配置/EA配置后注册
{% endhint %}

| 属性ID    | 属性名称   | 属性值数据类型 | 属性说明     | <p>Android<br>自动采集</p> | <p>iOS<br>自动采集</p> | <p>JS<br>自动采集</p> | <p>小程序<br>自动采集</p> |
| ------- | ------ | ------- | -------- | ---------------------- | ------------------ | ----------------- | ------------------ |
| $getui  | 个推ID   | 字符串     | 个推推送ID   | N                      | N                  | -                 | -                  |
| $jpush  | 极光ID   | 字符串     | 极光推送ID   | N                      | N                  | -                 | -                  |
| $baidu  | 百度ID   | 字符串     | 百度推送ID   | N                      | N                  | -                 | -                  |
| $xiaomi | 小米ID   | 字符串     | 小米推送ID   | N                      | N                  | -                 | -                  |
| $huawei | 华为ID   | 字符串     | 华为推送ID   | N                      | -                  | -                 | -                  |
| $aliyun | 阿里云ID  | 字符串     | 阿里云推送ID  | N                      | N                  | N                 | N                  |
| $xinge  | 信鸽ID   | 字符串     | 信鸽推送ID   | N                      | N                  | N                 | N                  |
| $apns   | ANPS   | 字符串     | ANPS     | -                      | N                  | -                 | -                  |
| $meizu  | 魅族ID   | 字符串     | 魅族推送ID   | N                      | -                  | -                 | -                  |
| $oppo   | OPPOID | 字符串     | OPPO推送ID | N                      | -                  | -                 | -                  |
| $vivo   | VIVOID | 字符串     | VIVO推送ID | N                      | -                  | -                 | -                  |

### 渠道监测相关用户属性

{% hint style="info" %}
首次创建APP推广监测成功时触发注册
{% endhint %}

| 属性ID                 | 属性名称       | 属性值数据类型 | 属性说明            | <p>Android<br>自动采集</p> | <p>iOS<br>自动采集</p> | <p>JS<br>自动采集</p> | <p>小程序<br>自动采集</p> |
| -------------------- | ---------- | ------- | --------------- | ---------------------- | ------------------ | ----------------- | ------------------ |
| $prop\_0             | 推广渠道信息1    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_1             | 推广渠道信息2    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_2             | 推广渠道信息3    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_3             | 推广渠道信息4    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $prop\_4             | 推广渠道信息5    | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $campaign\_shortlink | 推广跳转短链CODE | 字符串     | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |
| $campaign\_channelid | 推广渠道ID     | 数值      | APP推广监测扫描二维码时上报 | Y                      | Y                  | -                 | -                  |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# App预置事件/属性

### **基础预置事件**

| 事件ID         | 属性ID                  | 数据类型 | 事件显示名称    | 事件说明                                            |
| ------------ | --------------------- | ---- | --------- | ----------------------------------------------- |
| $startup     |                       |      | 启动        | APP启动                                           |
|              | $is\_first\_time      | 布尔   | 是否安装后首次访问 | 是否安装后首次访问                                       |
|              | $is\_from\_background | 布尔   | 是否从后台唤醒   | 是否从后台唤醒恢复                                       |
|              | $start\_source        | 字符串  | 启动来源      | 标识APP的启动来源，e.g. 通过点击图标启动、点击通知、URL唤醒、3D touch等   |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $end         |                       |      | 关闭        | APP关闭                                           |
|              | $duration             | 数值   | 使用时长      | <p>从启动到关闭的使用时长<br>单位：毫秒</p>                     |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $pageview    |                       |      | 浏览页面      | 浏览APP/网站页面                                      |
|              | $url                  | 字符串  | 页面URL(含参) | 页面完整路径                                          |
|              | $title                | 字符串  | 页面标题      | 页面标题                                            |
|              | $referrer             | 字符串  | 页面来源      | 页面来源（$referrer 字段在 App 中手动调用 pageview 接口，默认不采集） |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $user\_click |                       |      | 点击元素      | 全埋点自动采集元素点击行为                                   |
|              | $title                | 字符串  | 页面标题      | 页面标题                                            |
|              | $parent\_url          | 字符串  | 父页面URL    | 页面URL，为空则为顶级页(Andorid独有)                        |
|              | $url                  | 字符串  | 页面URL     | 页面URL                                           |
|              | $element\_path        | 字符串  | 元素路径      | APP 为元素唯一标识；JS 为元素路径                            |
|              | $element\_id          | 字符串  | 元素ID      | 元素ID                                            |
|              | $element\_type        | 字符串  | 元素类型      | 元素类型                                            |
|              | $element\_position    | 字符串  | 列表控件位置    | 列表控件位置 （可选）                                     |
|              | $element\_content     | 字符串  | 元素内容      | 元素的内容优先级：内容>描述>空                                |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $app\_click  |                       |      | App点击     | App热图点击事件（用于热图分析）                               |
|              | $page\_width          | 数值   | 页面宽度      | 热图页面宽度                                          |
|              | $page\_height         | 数值   | 页面高度      | 热图页面高度                                          |
|              | $screen\_dpi          | 数值   | 屏幕DPI     | Android独有                                       |
|              | $screen\_scale        | 数值   | 屏幕缩放比     | Android独有                                       |
|              | $click\_x             | 数值   | 点击X坐标     | 热图点击X坐标                                         |
|              | $click\_y             | 数值   | 点击Y坐标     | 热图点击Y坐标                                         |
|              | $url                  | 字符串  | 页面URL     | 点击热图时页面URL                                      |
|              | $element\_x           | 数值   | 元素X坐标     | 点击元素X坐标                                         |
|              | $element\_y           | 数值   | 元素Y坐标     | 点击元素Y坐标                                         |
|              | $element\_path        | 字符串  | 元素路径      | 热图元素路径                                          |
|              | $element\_type        | 字符串  | 元素类型      | 热图元素类型                                          |
|              | $element\_content     | 字符串  | 元素内容      | 热图元素的内容                                         |
|              | $element\_clickable   | 数值   | 是否可以点击元素  | 是否可以点击元素                                        |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $app\_crash  |                       |      | APP崩溃     | APP崩溃信息                                         |
|              | $crash\_data          | 字符串  | 崩溃原因      | 崩溃的堆栈信息                                         |
| $alias       |                       |      |           |                                                 |
|              | $original\_id         | 字符串  | 匿名ID      | 实名绑定前的匿名ID                                      |

### 预置事件通用属性

| 属性ID                  | 属性显示名称     | 数据类型 | 属性说明                                                       |
| --------------------- | ---------- | ---- | ---------------------------------------------------------- |
| $platform             | 平台         | 字符串  | 应用平台，枚举取值：JS/iOS/Android/Wechat                            |
| $app\_version         | 应用版本       | 字符串  | 应用版本，e.g. V1.0                                             |
| $manufacturer         | 设备制造商      | 字符串  | 制造厂商， e.g. 小米                                              |
| $brand                | 设备品牌       | 字符串  | 设备品牌，e.g. 华为荣耀                                             |
| $model                | 设备型号       | 字符串  | 设备型号，e.g. iPhone8、小米4                                      |
| $os                   | 操作系统       | 字符串  | 操作系统，e.g.Window、MacOS                                      |
| $os\_version          | 操作系统版本     | 字符串  | 操作系统版本，e.g.Windows 10                                      |
| $browser              | 浏览器        | 字符串  | 浏览器名称，e.g. Chrome                                          |
| $browser\_version     | 浏览器版本      | 字符串  | 浏览器版本，e.g. Chrome 62.23.23                                 |
| $network              | 网络类型       | 字符串  | 网络类型，e.g. WIFI、2G、3G、4G                                    |
| $carrier\_name        | 运营商        | 字符串  | 接入运营商名称，e.g. 中国联通                                          |
| $screen\_width        | 屏幕宽度       | 数值   | 屏幕宽度/屏幕分辨率，e.g. 1920                                       |
| $screen\_height       | 屏幕高度       | 数值   | 屏幕高度/屏幕分辨率，e.g. 768                                        |
| $is\_login            | 是否是注册用户    | 布尔   | 是否是注册用户                                                    |
| $ip                   | IP         | 字符串  | <p></p><p>收数服务会自动记录上报的数据来源 IP，根据 IP 解析为国家、省份、城市三个字段</p>    |
| $country              | 国家         | 字符串  | 默认根据用户IP解析获取,或用户手动上传覆盖                                     |
| $province             | 省份         | 字符串  | 默认根据用户IP解析获取,或用户手动上传覆盖                                     |
| $city                 | 城市         | 字符串  | 默认根据用户IP解析获取,或用户手动上传覆盖                                     |
| $utm\_campaign\_id    | 活动ID       | 字符串  | <p>根据添加的内容自动生成，</p><p>标识一次活动</p>                           |
| $utm\_campaign        | 活动/广告名称    | 字符串  | 特定的推广活动，e.g. 双11推广                                         |
| $utm\_medium          | 活动/广告媒介    | 字符串  | 推广类型，e.g. SEM，cpc                                          |
| $utm\_source          | 活动/广告来源    | 字符串  | 推广来源，e.g. 今日头条                                             |
| $utm\_content         | 活动/广告内容    | 字符串  | 广告内容，e.g. 优惠信息                                             |
| $utm\_term            | 活动/广告关键字   | 字符串  | 广告关键字，e.g. 用户画像                                            |
| $is\_first\_day       | 是否安装后首日访问  | 布尔   | 是否安装后首日访问                                                  |
| $channel              | 下载渠道       | 字符串  | 下载渠道，SDK 初始化时传入。仅 Android 通过渠道包分发时才有意义，iOS 会统一为“App Store” |
| $lib                  | SDK类型      | 字符串  | SDK类型，e.g.   python、iOS等                                   |
| $lib\_version         | SDK版本      | 字符串  | SDK版本， e.g. ：11.2.5                                        |
| $session\_id          | SessionID  | 字符串  | 会话ID，e.g. 515950b8f1a6221c                                 |
| $language             | 语言         | 字符串  | 系统语言，e.g. zh-cn                                            |
| $time\_zone           | 用户时区       | 字符串  | 用户时区，e.g.GMT+08:00                                         |
| $web\_crawler         | 是否是爬虫      | 布尔   | 爬虫识别                                                       |
| $is\_time\_calibrated | 是否与服务端时间校准 | 布尔   | 是否与服务端时间校准                                                 |
| $device\_id           | 设备ID       | 字符串  | 设备ID，idfa/oaid > idfv/androidid > uuid                     |
| $debug                | Debug模式    | 数值   | 标识数据处理方式，0：非debug 1：debug，不入库 2：debug，入库                   |

### **预置用户通用属性**

| 属性ID                    | 属性名称       | 属性值数据类型 | 属性说明                    |
| ----------------------- | ---------- | ------- | ----------------------- |
| $original\_id           | 匿名ID       | 字符串     | 实名绑定前的匿名ID              |
| $idfv                   | IDFV       | 字符串     | IDFV（iOS独有）             |
| $idfa                   | IDFA       | 字符串     | IDFA（iOS独有）             |
| $mac                    | MAC        | 字符串     | MAC（Andorid独有）          |
| $imei                   | IMEI       | 字符串     | IMEI（Andorid独有）         |
| $phone                  | 手机号        | 字符串     | 非自动采集，需要用户上传            |
| $email                  | 邮箱         | 字符串     | 非自动采集，需要用户上传            |
| $platform               | 最后一次使用平台   | 字符串     | 最后一次使用平台                |
| $lib                    | 最新版本的SDK类型 | 字符串     | SDK类型，e.g.  python、iOS等 |
| $lib\_version           | 最新版本的SDK版本 | 字符串     | SDK版本，e.g. 11.2.5       |
| $country                | 所在国家       | 字符串     | 默认根据用户IP解析获取,或用户手动上传覆盖  |
| $province               | 所在省份       | 字符串     | 默认根据用户IP解析获取,或用户手动上传覆盖  |
| $city                   | 所在城市       | 字符串     | 默认根据用户IP解析获取,或用户手动上传覆盖  |
| $is\_login              | 是否是注册帐号    | 布尔值     | 是否是调用过alias接口           |
| $signup\_time           | 注册时间       | 日期时间    | 注册时间                    |
| $first\_visit\_time     | 首次访问时间     | 日期时间    | 首次访问时间                  |
| $first\_visit\_language | 语言         | 字符串     | 设备语言                    |
| $time\_zone             | 首次访问时区     | 字符串     | GMT+08:00               |


# JS 预置事件/属性

### **基础预置事件**

| 事件ID         | 属性ID                  | 数据类型 | 事件显示名称    | 事件说明                                            |
| ------------ | --------------------- | ---- | --------- | ----------------------------------------------- |
| $startup     |                       |      | 启动        | 打开网站                                            |
|              | $is\_first\_time      | 布尔   | 是否安装后首次访问 | 是否安装后首次访问                                       |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $pageview    |                       |      | 浏览页面      | 浏览APP/网站页面                                      |
|              | $url                  | 字符串  | 页面URL(含参) | 页面完整路径                                          |
|              | $url\_domain          | 字符串  | 页面URL（去参） | 去参的页面URL                                        |
|              | $title                | 字符串  | 页面标题      | 页面标题                                            |
|              | $referrer             | 字符串  | 页面来源      | 页面来源（$referrer 字段在 App 中手动调用 pageview 接口，默认不采集） |
|              | $referrer\_domain     | 字符串  | 页面来源域名    | 页面来源域名                                          |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $user\_click |                       |      | 点击元素      | 全埋点自动采集元素点击行为                                   |
|              | $title                | 字符串  | 页面标题      | 页面标题                                            |
|              | $url                  | 字符串  | 页面URL     | 页面URL                                           |
|              | $url\_path            | 字符串  | 页面地址（不含参） | 页面地址（不含参）                                       |
|              | $element\_path        | 字符串  | 元素路径      | APP 为元素唯一标识；JS 为元素路径                            |
|              | $element\_class\_name | 字符串  | 元素样式的类    | 元素样式的类                                          |
|              | $element\_target\_url | 字符串  | 元素链接地址    | 元素链接地址                                          |
|              | $element\_id          | 字符串  | 元素ID      | 元素ID                                            |
|              | $element\_name        | 字符串  | 元素名称      | 元素名称                                            |
|              | $element\_type        | 字符串  | 元素类型      | 元素类型                                            |
|              | $element\_position    | 字符串  | 列表控件位置    | 列表控件位置 （可选）                                     |
|              | $element\_content     | 字符串  | 元素内容      | 元素的内容优先级：内容>描述>空                                |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $webstay     |                       |      | 视区停留      | 停留在可视区域（用于分析网页浏览深度                              |
|              | $url                  | 字符串  | 页面URL     | 页面URL/页面完整路径                                    |
|              | $title                | 字符串  | 页面标题      | 页面标题                                            |
|              | $referrer             | 字符串  | 页面来源      | 页面来源                                            |
|              | $referrer\_domain     | 字符串  | 页面来源域名    | 页面来源域名                                          |
|              | $viewport\_width      | 字符串  | 视区宽度      | 视区宽度                                            |
|              | $viewport\_position   | 数值   | 视区距顶部的位置  | 视区距顶部的位置                                        |
|              | $viewport\_height     | 数值   | 视区高度      | 视区高度                                            |
|              | $event\_duration      | 数值   | 视区停留时间    | 视区停留时间                                          |
| $web\_click  |                       |      | App点击     | Web热图点击事件（用于热图分析）                               |
|              | $page\_width          | 数值   | 页面宽度      | 热图页面宽度                                          |
|              | $page\_height         | 数值   | 页面高度      | 热图页面高度                                          |
|              | $click\_x             | 数值   | 点击X坐标     | 热图点击X坐标                                         |
|              | $click\_y             | 数值   | 点击Y坐标     | 热图点击Y坐标                                         |
|              | $url                  | 字符串  | 页面URL     | 点击热图时页面URL                                      |
|              | $element\_x           | 数值   | 元素X坐标     | 点击元素X坐标                                         |
|              | $element\_y           | 数值   | 元素Y坐标     | 点击元素Y坐标                                         |
|              | $element\_path        | 字符串  | 元素路径      | 热图元素路径                                          |
|              | $element\_name        | 字符串  | 元素名称      | 热图元素名称                                          |
|              | $element\_type        | 字符串  | 元素类型      | 热图元素类型                                          |
|              | $element\_content     | 字符串  | 元素内容      | 热图元素的内容                                         |
|              | $element\_clickable   | 数值   | 是否可以点击元素  | 是否可以点击元素                                        |
|              | $element\_target\_url | 字符串  | 元素链接地址    | 元素链接地址                                          |
|              | $预制属性                 |      |           | 其他预制通用属性                                        |
| $alias       |                       |      |           |                                                 |
|              | $original\_id         | 字符串  | 匿名ID      | 实名绑定前的匿名ID                                      |

### 预置事件通用属性

| 属性ID                  | 属性显示名称     | 数据类型 | 属性说明                                                    |
| --------------------- | ---------- | ---- | ------------------------------------------------------- |
| $platform             | 平台         | 字符串  | 应用平台，枚举取值：JS/iOS/Android/Wechat                         |
| $manufacturer         | 设备制造商      | 字符串  | 制造厂商， e.g. 小米（通过UA解析）                                   |
| $brand                | 设备品牌       | 字符串  | 设备品牌，e.g. 华为荣耀（通过UA解析）                                  |
| $model                | 设备型号       | 字符串  | 设备型号，e.g. iPhone8、小米4（通过UA解析）                           |
| $os                   | 操作系统       | 字符串  | 操作系统，e.g.Window、MacOS（通过UA解析）                           |
| $os\_version          | 操作系统版本     | 字符串  | 操作系统版本，e.g.Windows 10（通过UA解析）                           |
| $browser              | 浏览器        | 字符串  | 浏览器名称，e.g. Chrome（通过UA解析）                               |
| $browser\_version     | 浏览器版本      | 字符串  | 浏览器版本，e.g. Chrome 62.23.23（通过UA解析）                      |
| $screen\_width        | 屏幕宽度       | 数值   | 屏幕宽度/屏幕分辨率，e.g. 1920                                    |
| $screen\_height       | 屏幕高度       | 数值   | 屏幕高度/屏幕分辨率，e.g. 768                                     |
| $is\_login            | 是否是注册用户    | 布尔   | 是否是注册用户                                                 |
| $ip                   | IP         | 字符串  | <p></p><p>收数服务会自动记录上报的数据来源 IP，根据 IP 解析为国家、省份、城市三个字段</p> |
| $country              | 国家         | 字符串  | 默认根据用户IP解析获取,或用户手动上传覆盖                                  |
| $province             | 省份         | 字符串  | 默认根据用户IP解析获取,或用户手动上传覆盖                                  |
| $city                 | 城市         | 字符串  | 默认根据用户IP解析获取,或用户手动上传覆盖                                  |
| $utm\_campaign\_id    | 活动ID       | 字符串  | <p>根据添加的内容自动生成，</p><p>标识一次活动</p>                        |
| $utm\_campaign        | 活动/广告名称    | 字符串  | 特定的推广活动，e.g. 双11推广                                      |
| $utm\_medium          | 活动/广告媒介    | 字符串  | 推广类型，e.g. SEM，cpc                                       |
| $utm\_source          | 活动/广告来源    | 字符串  | 推广来源，e.g. 今日头条                                          |
| $utm\_content         | 活动/广告内容    | 字符串  | 广告内容，e.g. 优惠信息                                          |
| $utm\_term            | 活动/广告关键字   | 字符串  | 广告关键字，e.g. 用户画像                                         |
| $is\_first\_day       | 是否安装后首日访问  | 布尔   | 是否安装后首日访问                                               |
| $lib                  | SDK类型      | 字符串  | SDK类型，e.g.   python、iOS等                                |
| $lib\_version         | SDK版本      | 字符串  | SDK版本， e.g. ：11.2.5                                     |
| $session\_id          | SessionID  | 字符串  | 会话ID，e.g. 515950b8f1a6221c                              |
| $language             | 语言         | 字符串  | 系统语言，e.g. zh-cn                                         |
| $time\_zone           | 用户时区       | 字符串  | 用户时区，e.g.GMT+08:00                                      |
| $user\_agent          | UA         | 字符串  | UA                                                      |
| $web\_crawler         | 是否是爬虫      | 布尔   | 爬虫识别                                                    |
| $is\_time\_calibrated | 是否与服务端时间校准 | 布尔   | 是否与服务端时间校准                                              |
| $debug                | Debug模式    | 数值   | 标识数据处理方式，0：非debug 1：debug，不入库 2：debug，入库                |

### **预置用户通用属性**

| 属性ID                    | 属性名称       | 属性值数据类型 | 属性说明                    |
| ----------------------- | ---------- | ------- | ----------------------- |
| $original\_id           | 匿名ID       | 字符串     | 实名绑定前的匿名ID              |
| $phone                  | 手机号        | 字符串     | 非自动采集，需要用户上传            |
| $email                  | 邮箱         | 字符串     | 非自动采集，需要用户上传            |
| $platform               | 最后一次使用平台   | 字符串     | 最后一次使用平台                |
| $lib                    | 最新版本的SDK类型 | 字符串     | SDK类型，e.g.  python、iOS等 |
| $lib\_version           | 最新版本的SDK版本 | 字符串     | SDK版本，e.g. 11.2.5       |
| $country                | 所在国家       | 字符串     | 默认根据用户IP解析获取,或用户手动上传覆盖  |
| $province               | 所在省份       | 字符串     | 默认根据用户IP解析获取,或用户手动上传覆盖  |
| $city                   | 所在城市       | 字符串     | 默认根据用户IP解析获取,或用户手动上传覆盖  |
| $is\_login              | 是否是注册帐号    | 布尔值     | 是否是调用过alias接口           |
| $signup\_time           | 注册时间       | 日期时间    | 注册时间                    |
| $first\_visit\_time     | 首次访问时间     | 日期时间    | 首次访问时间                  |
| $first\_visit\_language | 语言         | 字符串     | 设备语言                    |
| $time\_zone             | 首次访问时区     | 字符串     | GMT+08:00               |


# 如何准确识别用户

识别用户是一个比较复杂的过程，尤其是对于有帐号体系的产品来说，用户会有多种使用场景，可能会在匿名的情况下访问，也有可能在登录情况下使用，也有可能在同一台设备上登录不同的帐号，也可能同一个帐号在多台设备上登录。

因此，选择合适的用户标识有助于准确标识用户，提高分析的准确性。

## 1. 标识用户

方舟的事件模型中，数据上报时会有用户这个实体，使用 `xwho` 来进行标识。在登录前匿名阶段，`xwho` 中会记录一个匿名 ID ，登录后则应该调用 `alias` 方法传入 注册 ID。后续在方舟中就可通过这个注册ID来查询用户相关的行为了。

### 1.1 匿名 ID

匿名 ID 用来在用户主体未登录应用之前标识，当用户打开集成有方舟 SDK 的应用时，SDK 会给其分配一个 `UUID` 来做为匿名 ID 。

当然，方舟也提供了给用户主体设置匿名 ID 的方式，比如可以使用设备 ID ( iOS 的 IDFA/IDFV，Web 的 Cookie 等)。

### 1.2 注册 ID

通常是业务数据库里的主键或其它唯一标识，注册 ID 是更加精确的用户 ID，但很多应用不会用注册 ID，或者用户使用一些功能时是在未登录的状态下进行的，此时，就不会有注册 ID。

另外，在方舟系统中，我们以为用户主体来进行分析，这个用户主体可能是一个人，一个帐号，也可能是一个家电，一辆汽车。具体以什么做为用户主体，要根据用户实际的业务场景来决定。

### 1.3 distinct\_id

即使有了 xwho（ 注册 ID / 匿名 ID)，实际使用中也会存在注册用户匿名访问等情况，所以需要一个唯一标识将用户行为贯穿起来，distinct\_id 就是在 xwho 的基础上根据一些规则生成的唯一 ID。

## 2. 不同场景下选择不同的识别方案

实际接入分析的应用会有多种情况，可以分为两大类：

* **无帐号体系**，e.g. Snapseed、日历
* **有帐号体系**

  ① 强帐号体系，必须登录 e.g. 钉钉、QQ、微信

  ② 强帐号体系，存在访客模式，关键转化需登录 e.g. 淘宝、微博、大众点评、招商银行

  ③ 弱帐号体系，存在访客模式，不登录不影响核心功能使用 e.g. 高德地图、今日头条、墨迹天气

### 2.1 无帐号体系 / 弱帐号体系且不分析登录用户的情况

在这种情况下，无需关心注册 ID，使用方舟的客户端 SDK 时，方舟的SDK会自动生成一个 **UUID** 作为匿名 ID，这个 **UUID** 会做为后续行为数据的匿名 ID（xwho），此时系统生成的 distinct\_id 会与匿名 ID 一一对应，计算的用户数也会是 匿名的用户数。

当然，用户也可以通过调用 **identify** 接口来设置匿名 ID，比如使用设备唯一标识。

**identify** 接口格式如下：

```java
void identify(Context context, String xwho)
```

### 2.2 有帐号体系，需要分析注册用户和匿名用户的情况

这种情况下在集成时需要客户在用户进行登录 / 注册 / 完善个人资料等情况下调用 `alias` 接口获得注册 ID，使得匿名 ID 实名化，然后 SDK 就会将数据的 `$is_login` 属性变成 `true`，表示这是一个注册 ID，后续的行为中上报的`xwho`也会有注册ID。

> $is\_login 用于标识是否是注册用户

但是实际会存在单用户多设备、单设备多用户、注册用户匿名访问等情况下，如何把每一条记录精准识别到各个用户上，贯通一个用户在一个设备上注册前后的行为，贯通一个注册用户在不同设备上登录之后的行为是个比较复杂的问题。

针对这种场景易观方舟提供了一种识别方案：

当调用 **alias** 接口之后，会将匿名 ID 和注册 ID 关联，后台算法根据一定的规则生成一个distinct\_id，用于唯一标识用户，被绑定的匿名 ID 和注册 ID 发生的所有行为都会被认为是同一个用户实体发生的，在进行事件、漏斗、留存等用户相关的分析的时候也只会算作一个用户。

## 3. 原理说明

下面以一个实际的场景来说明用户识别的机制，其中：

发送的 `xwho`：登录前是匿名 ID ，登录后是注册 ID，调用 **alias** 接口时，两个 ID 会同时发送；

是否是注册 ID：当`xwho`为是否为一个注册 ID；

方舟 distinct\_id：方舟内部给该用户分配的唯一标识，是用于计算触发用户数、漏斗、留存等的最终依据，对应自定义查询中 events 表中的 user\_id 及 users 表中的 id 字段。

> 注意：在识别过程中，一个匿名 ID 只能和一个注册 ID 绑定，同样的一个注册 ID 也只能和一个匿名 ID 绑定。

| 行为顺序 | 发送的xwho         | 是否是注册 ID    | 方舟   distinct\_id |
| ---- | --------------- | ----------- | ----------------- |
| 1    | X               | 否           | 1                 |
| 2    | xiaozhou   -> X | ID   关联(成功) | 1                 |
| 3    | xiaozhou        | 是           | 1                 |
| 4    | xiaozhou        | 是           | 1                 |
| 5    | dawang   -> X   | ID   关联(失败) | 2                 |
| 6    | dawang          | 是           | 2                 |
| 7    | Y               | 否           | 3                 |
| 8    | xiaozhou   -> Y | ID   关联(失败) | 1                 |
| 9    | xiaozhou        | 是           | 1                 |
| 10   | dawang   -> Y   | ID   关联(失败) | 2                 |

详细说明如下：

1. 某用户在小米手机上新安装了 App，匿名产生了一系列操作，SDK 生成的匿名 ID 为 X，对应分配的方舟 distinct\_id 为 1；
2. 该用户进行了注册并登录，其注册 ID 为 xiaozhou，此时，需要调用 SDK 的 `alias` 接口，此时方舟会将匿名 ID X 与 注册 ID xiaozhou 进行成功关联；
3. 该用户在登录之后继续进行了一系列行为；
4. 该用户退出登录并进行了一系列的操作，SDK 不调用任何方法，此时方舟依然使用注册 ID xiaozhou 来标识当前用户；
5. 该用户使用一个已注册但未接入方舟系统的的帐号 dawang 来进行登录，此时方舟将尝试将 X 与 dawang 进行关联，由于 X 已经和 xiaozhou 关联，所以会关联失败，同时会分配一个新的方舟 distinct\_id 为 2；
6. 该用户使用帐号 dawang 进行了一系列行为，这里方舟都使用注册 ID dawang来标识此用户；
7. 该用户更换了一个全新的苹果手机，并进行了一系列操作，由于尚未登录，此时方舟使用全新的匿名 ID Y 来标识此用户，对应分配的方舟 distinct\_id 为 3；
8. 该用户在苹果手机上使用帐号 xiaozhou 进行登录，此时方舟将尝试将匿名 ID Y 与注册 ID xiaozhou进行关联，由于 xiaozhou 已经与 X 关联，因此会关联失败，但是依然会切换到以 xiaozhou 为注册 ID 的用户，其对应的方舟 distinct\_id 依然为 1；
9. 该用户在苹果手机上的后续行为都以注册 ID xiaozhou来标识。

## 4. 使用前提

正确集成SDK，遵循接口的调用顺序，否则可能会导致部分用户标识异常，影响数据统计的正确性。

在 SDK 初始化完成之后，SDK 会自动生成一个 UUID 作为匿名用户标识，记录在 `xwho` 中，之后 SDK 采集上报的数据中 `$is_login` 属性为 `false`，来表示这是 匿名 ID 。

{% hint style="warning" %}
如果因业务要求需要对SDK生成的UUID进行调整,可以通过调用接口 **`identify`** 进行修改，接口使用方式请查看SDK指南。
{% endhint %}

当用户进行登录 / 注册 / 完善个人资料等会使得用户有 注册 ID 时的操作时，调用 `alias` 接口，上传匿名ID 和注册 ID 的关联关系。

**alias**接口格式如下：

```java
//Andorid SDK 示例，其中aliasId为您业务系统的ID
void alias(Context context, String aliasId)

```

当调用**alias**接口之后，接下来事件数据的 `$is_login` 属性都会被自动设置为`true`，表示事件是由一个注册 ID 触发的，后续行为事件中 `xwho` 都会是注册 ID。

在用户退出登录或者注销帐号时，如果想让匿名期间的行为归属到上一个登录用户时，可以不调用任何接口；反之，不想让匿名记录归属到上一个登录用户时，需要调用 **reset** 接口，之后方舟的 SDK 会自动生成一个 UUID 作为用户标识，上传到服务器时，会根据新生成一个distinct\_id：

* 当下一个登录用户是首次注册，没被别的设备绑定时，匿名期间的用户就会归属到新用户上；
* 当下一个登录用户已经被其他设备绑定过时，匿名期间的用户行为就既不属于上一个用户也不属于下一个用户，只属于新生成的 UUID 这个匿名用户的行为。

**reset**接口格式如下：

```java
//Andorid SDK 示例 
void reset(Context context)
```

当调用**reset**接口之后，接下来事件数据的 `$is_login` 属性都会被自动设置为 `false`，表示事件是由一个匿名 ID 触发的。

## 5. 方案缺点

虽然该方案可以实现跨设备的用户贯通、以及准确的注册漏斗，但仍然存在局限性：

如果一个已注册用户（即已经和某个匿名 ID 关联过了）在一个新设备上进行操作，那么他在这个新设备的登录前行为是无法被准确识别的；

同样的，如果一个已注册的设备（即已经被关联到某个注册 ID了）上再次有新用户进行注册，也无法再次进行关联。

事实上，在比如如下的场景中，

1. 用户 xiaoming   登录后使用了一些功能后退出；
2. 匿名用户 X 访问；
3. 用户 dawang 登录使用

但匿名 X 到底是 xiaoming 还是 dawang ，或者是其他人都有可能，但是目前的方案还不能对全部场景做出准确判断。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 如何设计埋点方案

用户行为是由用户一系列的事件组成，包含5个基本要素：何人，何时，何地，通过何种方式，发生了何种行为。

一份完整的埋点方案由事件、事件属性和用户属性三部分组成。

## 事件

记录用户在使用网站、APP 或小程序的过程中触发的行为。

用户的行为有一部分会在他们使用的过程中自动被采集上来，常见的如：跟访问有关的“页面浏览”，“停留时长”；另外一部分包含具体业务含义的，则需要通过埋点才能得到，例如：“注册”、“登录”、“支付”等等。

## 事件属性

可以通过属性为事件补充相关的信息，例如：位置，方式和内容。

用户产生行为时就会上报具体的属性值，比如对“购买事件”定义了“支付方式”的属性值，则根据不同的行为可能上报的是微信支付，支付宝支付。

> 小舟在电商平台上花一万元购买了一台联想电脑。这个动作就会产生一个名为“购买”的事件； 而“购买”事件，同时也可以包含：“品牌”，“价格”这两个属性，而“联想”和“一万元”就是属性的具体值了。

| Event要素 | 要素说明      | 采集的数据                                             | 示例                                                                                                   |
| ------- | --------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Who     | 参与事件的用户   | 用户唯一ID                                            | H522a3bd525a2af                                                                                      |
| When    | 事件发生的时间   | 自动获取 事件当时时间                                       | 11月11日00:02:03                                                                                       |
| Where   | 事件发生的地理位置 | 自动获取 IP、GPS信息                                     | 114.242.249.113                                                                                      |
| How     | 事件发生的方式   | 使用的环境                                             | <p>设备品牌：Apple <br>设备型号：iPhone 6s<br>操作系统：iOS<br>屏幕分辨率：1920\*1680<br>运营商：中国联通 <br>网络类型：Wifi<br>……</p> |
| What    | 事件的内容     | <p>自定义采集的事件：EventID <br>       事件属性：Key-Value</p> | <p>add\_to\_cart <br> product\_name：耳麦<br> product\_price：666</p>                                    |

其中，用户、时间、地理位置、事件发生的环境等可以自动采集，但采集哪些事件、事件更丰富的属性就需要用户自己来上报了。

## 用户属性

在分析过程中，需要引入注册用户的更多维度，比如注册用户ID、姓名、用户等级等等，也需要进行梳理，方法同事件属性。

**方舟提供的事件模板和用户属性模板来帮助梳理**

| 事件ID           | 事件名称  | 事件说明      | 属性ID          | 属性名称 | 属性说明 | 属性值类型 |
| -------------- | ----- | --------- | ------------- | ---- | ---- | ----- |
| PayOrder       | 支付订单  | 点击支付按钮时触发 | paymentMethod | 支付方式 |      | 字符型   |
| ViewDetailPage | 浏览页详情 | 点击详情页时触发  | PageID        | 页面ID |      | 字符型   |

| 用户属性ID    | 用户属性名称 | 属性说明      | 属性值类型 |
| --------- | ------ | --------- | ----- |
| UserLevel | 用户等级   | 上传用户的等级信息 | 字符型   |

{% hint style="info" %}
**下载地址：**

[事件埋点方案模版.xlsx](https://imguserradar.analysys.cn/files/ark/doc/易观方舟-事件埋点方案模板_20190520.xlsx)

[用户埋点方案模版.xlsx](https://imguserradar.analysys.cn/files/ark/doc/易观方舟-用户埋点方案模板_20190520.xlsx)
{% endhint %}

#### **模板说明：**

**事件ID：** 仅支持数字、字母和下划线，用于SDK埋点标识事件

**事件名称：** 工程师无需写在代码中，仅用分析模型中显示方便查看，可修改

**事件说明：** 说明埋点位置

**属性值类型：** 选择属性值的类型，不同类型的属性值会有不同的运算，例如 “商品价格” 这个属性值的类型应该是数值型，分析时可以对商品价格求和、最大值、最小值、均值等。属性值的类型参考[《数据格式》](/integration/prepare/data-type)-属性值得数据类型。

**属性ID：** 仅支持数字、字母和下划线，用于SDK埋点标识事件的属性

**属性名称：** 工程师无需写在代码中，仅用分析模型种显示方便查看，可修改

**属性说明：** 说明属性的注意事项

> ⚠️ 特别说明：
>
> 建议您在设计埋点和上报数据时，用户属性ID 和 事件属性ID 使用小写英文字母和下划线组合 命名，例如 pagename 、page\_name；
>
> 不建议使用含大写字母的属性ID，例如 pageName 、pageTitle。
>
> 因为易观方舟会将 事件属性ID 和 用户属性ID 中的大写字母强制转换为小写字母。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# 分平台上报数据 vs 跨平台打通

方舟支持创建多个项目，支持在同一个项目中上报多个平台的数据。

当前很多企业会搭建产品矩阵，在 Android、iOS、H5、Web、公众号、小程序等多端着力。但多数情况下，这些数据之间是割裂的。 数据是否有必要打通？如何打通？打通后如何应用？需要根据实际情况一一分析。

## 是否有必要打通？

说到数据打通，大多数人会觉得，站在运营的角度来看，自然是希望能够知道用户在各个平台上的完整数据，通过用户行为来挖掘用户的真实需求，使得很多基于此的分析变得可能，比如：

* 获得完整的用户旅程
* 对比了解用户在不同平台上的使用情况，优化用户体验
* 能够在一个系统中查看所有平台的数据，提高工作效率

虽然有这样的好处，但是当不同平台之间差异巨大，都是独立运营，分析人员关注更多的是平台内的使用情况时，跨平台打通就失去了它的重要性，分开数据源、分开数据分析、分开数据的使用有利于保证数据不受干扰，易于发现问题，针对特有平台做追踪反而能提高效率。

## 如何打通？

在梳理清楚数据运营的逻辑之后，确有必要打通时，就需要确定跨平台识别的标准。

通常会有两种方法：1. 确定性方法识别 2. 概率论方法匹配

### 1. 确定性方法识别

利用用户帐号体系中，可以是系统生成的 UserID，可以是手机号，也可以是邮箱，不同的产品情况略有差异，总之就是用户唯一的标识。 e.g. X 应用在 Android、iOS、Web、微信公众号四个平台上运营，各个平台用统一的帐号体系。假如小明有Android、iOS、PC三台设备，早上在Android 的微信公众号上看了一个推荐的，中午登录了网页查看了详细信息，晚上回家在iOS 手机上下了单，那么完全可以通过UserID将用户行为连贯起来。

### 2. 概率论方法匹配

使用设备相关的间接数据来匹配，e.g. Cookie、IDFA、上网时间、Wifi、IP 等等，通过机器学习或者其他复杂的规则来分析。但是严重依赖于数据的多样性和算法，相对确定性的方法来说，准确性差距很大，不推荐。

易观方舟支持通过 UserID 来识别用户的确定性方法，只需要在不同的平台中使用同一个 AppKey 即可。

更多信息参考 [**《如何准确识别用户》**](/integration/prepare/user-identify) 。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


# SDK 指南

易观方舟支持全端数据接入，接入前准备事项详见[《接入前准备》](/integration/prepare)

易观方舟SDK已全部开源，详见：[Github上的易观方舟SDK](https://github.com/analysys)

## 客户端 SDK&#x20;

客户端 SDK 用于客户端，采集用户与应用界面产生交互的行为，这些行为只会在客户端发生，而不会传输到服务器端，常见的比如页面打开、按钮点击等。

| 客户端 SDK 类型                                                                      | 适用范围                      |
| ------------------------------------------------------------------------------- | ------------------------- |
| [Android SDK](/integration/sdk/android)                                         | 用于 Android 原生和 Hybrid App |
| [iOS SDK](/integration/sdk/ios)                                                 | 用于 iOS 原生和 Hybrid App     |
| [JS SDK](/integration/sdk/js)                                                   | 用于 Web 网站和 H5 页面          |
| [微信小程序 SDK](/integration/sdk/wx)                                                | 用于微信小程序                   |
| [支付宝小程序 SDK](/integration/sdk/alipay)                                           | 用于支付宝小程序                  |
| [百度小程序 SDK](/integration/sdk/baidu)                                             | 用于百度小程序                   |
| [字节跳动小程序 SDK](/integration/sdk/bytedance)                                       | 用于字节跳动小程序                 |
| [钉钉小程序 SDK ](/integration/sdk/dingtalk)                                         | 用于钉钉小程序                   |
| [QQ小程序 SDK](/integration/sdk/qq)                                                | 用于QQ小程序                   |
| [快应用 SDK](/integration/sdk/quickapp)                                            | 用于快应用联盟小程序                |
| [华为WeCode小程序](https://docs.analysys.cn/integration/sdk/huaweiwecode/wecode)     | 用于华为WeCode小程序             |
| [Flutter SDK](https://docs.analysys.cn/ark/integration/sdk/flutter-sdk)         | 用与Flutter开发的应用            |
| [Reactnative SDK](https://docs.analysys.cn/ark/integration/sdk/reactnative-sdk) | 用与Reactnative开发的应用        |

## **服务端 SDK**

服务端 SDK 应用于服务端，采集用户行为产生的业务结果数据，比如注册成功、支付成功等，是在程序与数据交互的界面埋点，能够更准确的记录业务数据的改变。

| 服务端 SDK 类型                                | 适用范围                                          |
| ----------------------------------------- | --------------------------------------------- |
| [Java SDK](/integration/sdk/java)         | 用于服务端 Java 应用，如 Java Web 应用的后台服务              |
| [Python SDK](/integration/sdk/python)     | 用于服务端 Python 应用，如 Python Web 应用的后台服务          |
| [PHP SDK](/integration/sdk/php)           | 用于服务端 PHP 应用，如 PHP Web 应用的后台服务                |
| [C++ SDK](/integration/sdk/c++)           | 用于服务端 C++ （也称CPP、C plus plus）应用，如 C++ 应用的后台服务 |
| [C# SDK](/integration/sdk/dotnet)         | 用于服务端或客户端 C# 应用                               |
| [Node JS SDK](/integration/sdk/node-sdk)  | 用于服务端 Node 应用，如 Node Web 应用的后台服务              |
| [Lua SDK](/integration/sdk/lua-sdk)       | 用于服务端 Lua 应用                                  |
| [Golang SDK](/integration/sdk/golang-sdk) | 用于服务端 Golang 应用                               |

### 应用场景

**1 采集业务结果数据比客户端 SDK 更准确**

业务结果数据指注册、订单、支付等，会存在于业务数据库中的数据。相比客户端 SDK 更准确的原因有：1. 网络传输造成的丢数  2. 客户端SDK尚未上送数据时，页面已经跳转，造成一定比例的数据丢失，尤其是支付等会跳转到第三方服务再跳转回来的场景，数据丢失的比例会更大等等。

**2 关键业务变动，但用户没有行为**

有些数据客户端 SDK 无法采集到，比如货到付款数据、超时不支付订单自动取消数据、物流状态变化数据等，但这些数据对用户行为的业务结果分析至关重要，就可以使用服务端 SDK

**3 其他业务系统关键数据的同步**

比如CRM中客户跟进状态变化的数据，B2B企业客户付费情况变化的数据等

{% hint style="info" %}
数据量较小时，可采用服务端SDK，该场景还可使用 Restful-API 或导入工具实现
{% endhint %}

**4 业务系统历史数据导入**

比如历史注册、历史订单、历史支付等

{% hint style="info" %}
数据量较小时，可采用服务端SDK，该场景还可使用 Restful-API 或导入工具实现

另外需注意：历史数据导入要先于通过埋点采集新发生的数据
{% endhint %}

### **注意事项**

#### **1 基础配置**

1. 数据接收地址：[`http://host:port`](http://hostport/)
2. AppKey，确定数据上报的项目

**更多具体配置详见各个SDK的文档**

#### **2 必报数据**

{% hint style="info" %}
**一句话概括：**

**什么人，在什么时间，从什么地方来，在什么环境下，做了什么事，有什么结果**
{% endhint %}

**什么人**

1. isLogin：用户 ID 是否是登录 ID；采集业务结果数据时，该值一般为“是”，即“true”
2. aliasId：用户注册 ID，长度大于 0，且小于 255字符；需从客户端传递到服务端
3. distinctId：自定义设备身份标识，长度大于 0 且小于 255字符

**在什么时间**

xwhen：用户自定义时间戳（带毫秒的13位时间戳）

**从什么地方来**

session\_id：由方舟客户端SDK生成，用于识别流量来源，从客户端传递到服务端后，才能在方舟渠道分析/Session分析等分析模型中，按来源类属性细分时，查看到不同来源下的相关数据

{% hint style="info" %}
如果分析渠道转化目标的事件比如注册成功等，是在服务端进行埋点的，一定要注意 session\_id 的传递
{% endhint %}

**在什么环境下**

platform：平台类型，支持自定义

{% hint style="info" %}
为保证与用户发生行为的平台对应，便于更好的让数据还原真实用户行为，建议内容范围为：JS、WeChat、Android、iOS、Alipay、Baidu、ByteDance、DingTalk、QQMini、Quickapp 方舟客户端 SDK 所支持的平台，此时，需从客户端传递到服务端。
{% endhint %}

**做了什么事**

eventName：自定义事件 ID 标识（需与事件设计方案保持一致）

以字母开头的字符串，必须由字母、数字、下划线组成，$ 开头为预置事件/属性，不支持乱码、中文、空格等，长度范围1～100字符

#### **有什么结果**

properties：自定义事件属性

最多包含 100条（需与事件设计方案保持一致），且key是以字母开头的字符串，必须由字母、数字、下划线组成，字母不区分大小写，不支持乱码、中文、空格等，长度范围1～100字符；value 类型约束(String/Number/boolean/list/数组)，若为字符串，最大长度 255 字符。

{% hint style="danger" %}
所有语言类型的服务端 SDK 使用时，上述字段均为必填字段，并遵循上述使用方法；否则，会出现数据缺失或无法对应的情况，导致数据无法反映真实用户行为，基于这样的数据进行的分析，无法帮助业务成长。
{% endhint %}

## **数据导入**

{% content-ref url="/pages/-LgBXVcfoRVaap8MxrYf" %}
[数据导入](/integration/import)
{% endcontent-ref %}

## 常见问题

{% content-ref url="/pages/-LaQ9KhcChlrfdl8hUHc" %}
[SDK FAQ](/integration/sdk/sdk-faq)
{% endcontent-ref %}


# Android SDK

## Android SDK 使用说明

Android SDK 用于 Android 原生 App，集成前请先下载 SDK

{% hint style="info" %}
SDK Releases包下载：

Github地址(推荐)：<https://github.com/analysys/ans-android-sdk/releases>\
Gitee地址：<https://gitee.com/Analysys/ans-android-sdk/releases>\
Releases中含有更新说明请您阅读，接口使用请参考本文档。
{% endhint %}

|               Jar包              |                功能描述               | 是否必选 | 服务端版本                |
| :-----------------------------: | :-------------------------------: | :--: | -------------------- |
|   analysys\_core\_xxx.jar(aar)  |                基础模块               |  必选  | 全部                   |
|  analysys\_visual\_xxx.jar(aar) |              可视化热图模块              |  可选  | 热图模块适用方舟V4.3.0及以上版本  |
|   analysys\_push\_xxx.jar(aar)  |                推送模块               |  可选  | 全部                   |
| analysys\_encrypt\_xxx.jar(aar) |                加密模块               |  可选  | CBC模式适用方舟V4.2.7及以上版本 |
|     analysys\_allgro-xxx.aar    |                全埋点                |  可选  | 适用方舟V4.6.0及以上版本      |
|  analysys\_arkanalysys-xxx.aar  | 全功能包含基础模块、可视化热图模块、推送模块、加密模块、全埋点模块 |  可选  | 适用方舟V4.6.0及以上版本      |

注意：请您根据自身业务需求来引用相关的SDK。

### 快速集成

如果您是第一次使用易观方舟产品，可以通过阅读本文快速了解此产品。

#### 1. 选择集成方式

目前我们提供了Eclipse SDK 集成、AndroidStudio SDK 集成的方式。

#### 2. 配置 Manifest

在AndroidManifest.xml文件中配置权限、AppKey和Channel。

#### 3. 设置初始化接口

通过初始化接口配置您的AppKey，配置Channel。

#### 4. 设置上传地址

通过`setUploadURL`接口设置您上传数据的地址。

#### 5. 设置采集页面或事件

通过手动埋点，设置需要采集的页面或事件。

#### 6. 打开Debug模式查看日志

通过设置Debug模式，开/关 log 查看日志。

通过以上6步您即可验证SDK是否已经集成成功。更多接口说明请您查看API文档。

## 集成配置

### 选择集成工具

{% tabs %}
{% tab title="AndroidStudio SDK 集成" %}
**注意：aar集成方式需要android sdk V4.4.0以上版本才支持，V4.4.0以下版本集成可参考** [**方舟gradle集成方式**](https://docs.analysys.cn/ark/integration/sdk/android/fang-zhou-gradle-ji-cheng-fang-shi) **；本地aar配置和远程aar配置只需要选择一种即可。**

**本地aar配置**

\
&#x20;        `compile files('libs/analysys_xxxx.aar')`

&#x20;         如本地aar配置还有有问题：参考 [方舟gradle集成方式](https://docs.analysys.cn/ark/integration/sdk/android/fang-zhou-gradle-ji-cheng-fang-shi)

**远程aar配置**

\
&#x20;    `dependencies`\
`{`\
&#x20;   `//添加 analysys-arkanalysys SDK 依赖`\
&#x20;   `compile('cn.com.analysys:analysys-arkanalysys:4.5.13')`\
`}`
{% endtab %}

{% tab title="Eclipse SDK 集成" %}
1.将需要的 jar 包拷贝到本地工程 libs 子目录下；在Eclipse中右键工程根目录，选择 `property —> Java Build Path —> Libraries` ，然后点击 Add External JARs... 选择指向 jar 的路径，点击 OK，即导入成功。（ADT17 及以上不需要手动导入）
{% endtab %}
{% endtabs %}

### 配置 Manifest

AndroidStudio SDK使用aar集成用户无需配置Manifest；AppKey、Channel 在Mainfest可选配置；

远程jar包和Eclipse SDK集成用户需要按照下面文档进行配置：

AndroidManifest.xml文件需要配置内容包括权限、provider、AppKey、Channel 和 .crt 格式证书名称（用于https网络通信）。

1. provider在SDK 4.4.0以上版本为必选配置，否则SDK无法正常工作；SDK 4.4.0以下版本无需配置；
2. AppKey和Channel也可以通过init()初始化接口配置，两种方式配置任意一种即可。
3. 如果key使用以上两种方式配置，则两值必须相同，否则设置失败。
4. 如果channel使用两种方式，则优先取xml文件内配置的值。
5. https 网络通信默认信任所有证书，如需使用 .crt 格式证书，请在 xml 配置证书名称，并将 .crt 格式证书添加到项目 assets 目录下。\
   示例如下：

```markup
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application >

    ......
    <!-- provider中添加的内容为4.4.0以上版本新增，请注意添加,否则sdk不能正常使用，必选
  -->
    <provider
    android:name="com.analysys.database.AnsContentProvider"
    android:authorities="[应用包名].AnsContentProvider"
    android:enabled="true"
    android:exported="false" />
    <!--  设置appKey  可选 -->
    <meta-data
    android:name="ANALYSYS_APPKEY"
    android:value="4g6dp3d9fh5r0s3jr87j3ej94k04" />
    <!--  设置渠道  可选-->
    <meta-data
    android:name="ANALYSYS_CHANNEL"
    android:value="WanDouJia" />
    <!--  服务端加密证书（在assets上预制）  可选-->
    <meta-data
    android:name="ANALYSYS_KEYSTONE"
    android:value="analysys.crt"/>

</application>

```

权限说明:

* INTERNET（必须）允许程序连接网络，与服务器进行数据传输
* ACCESS\_NETWORK\_STATE（可选配置）检测网络类型，用于区分用户网络状态 2G/3G/4G/WIFI
* READ\_PHONE\_STATE（可选配置）获取用户设备 IMEI，使用 IMEI 和 MAC 地址做设备唯一标识
* ACCESS\_WIFI\_STATE（可选配置）获取用户设备 MAC 地址，用做设备唯一标识

注意：由于[android限制](https://developer.android.com/guide/topics/manifest/meta-data-element)在AndroidManifest.xml配置的android:value值只支持String、Int、Boolean、Float，不支持其他类型，因此配置其他类型需要使用转义字符\\\来标记为String类型

### 混淆设置

如果您的应用使用了代码混淆，请添加如下配置，以避免错误混淆导致SDK不可用。

```
-dontwarn com.analysys.**
-keep class com.analysys** {*;}

-keepclassmembers class * {
   public <init> (org.json.JSONObject);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep public class [您的应用包名].R$*{
public static final int *;
}
```

### MultiDex注意事项 <a href="#multidex" id="multidex"></a>

如果使用了MultiDex，建议通过Gradle的“`multiDexKeepFile`”配置等方式把易观的类com.analysys.\*放到主Dex，另外建议在`Application`类的"`attachBaseContext`"方法中主动加载非主dex：

```
public class MyApplication extends Application {
  @Override
  protected void attachBaseContext(Context base) {
     super.attachBaseContext(context);
     Multidex.install(this);
  }
}
```

## 基础模块

以下接口生效依赖于基础SDK模块，需集成基础SDK相关analysys\_core\_xxx文件，请正确集成。

### 初始化接口

建议在应用 Application 中调用 SDK 初始化接口 init()， 配置 AppKey、Channel，注意：初始化接口为必须调用接口。 接口如下:

```java
public static void init(Context context, AnalysysConfig config);
```

* context ：应用上下文对象
* config ：为自定义实体 bean，用于设置初始化属性值，目前config支持的属性有：
  1. AppKey：在网站获取的 AppKey
  2. channel：应用下发的渠道
  3. autoProfile ：设置是否追踪新用户的首次属性，false：不追踪新用户的首次属性，true：追踪新用户的首次属性(默认)
  4. encryptType ：设置数据上传时的加密方式，目前只支持 AES 加密，AES 加密分为EncryptEnum.AES（128位密钥，ECB 加密模式）和 EncryptEnum.AES\_CBC（128位密钥，CBC 加密模式）。
  5. setAutoInstallation ：设置是否进行渠道跟踪，`true`为跟踪，`false`为不跟踪（默认`false`）。
  6. setAllowTimeCheck ：是否允许时间校准，默认值：`false`
  7. setMaxDiffTimeInterval ：最大允许时间误差，单位：秒，默认值：`30`秒
  8. setAutoHeatMap ：是否开启热图，默认值：`false`
  9. setAutoTrackPageView ：pageView自动上报开关，默认值：`true`
  10. setAutoTrackFragmentPageView：是否开启全埋点fragment页面自动上报， 默认值：`false`。自动采集fragment页面功能需要引入全埋点模块后才可生效 setAutoTrackClick：是否开启全埋点点击事件， 默认值：`false`。开启全埋点功能，需要引入全埋点模块后才可生效
  11. setAutoTrackCrash：是否允许崩溃追踪，默认值：`false`
  12. setAutoPageViewDuration: 是否允许采集页面时长，默认值：false
  13. setAutoTrackDeviceId: 是否允许采集设备id，默认值：false

{% hint style="info" %}
EncryptEnum.AES\_CBC模式适用方舟V4.2.7及以上版本
{% endhint %}

示例：

```java
public class AnalysysApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        AnalysysConfig config = new AnalysysConfig();
        // 设置key，77a52s552c892bn442v721为样例数据，请根据实际情况替换相应内容
        config.setAppKey("77a52s552c892bn442v721");
        // 设置渠道
        config.setChannel("豌豆荚");
        // 设置追踪新用户的首次属性
        config.setAutoProfile(true);
        // 设置进行渠道跟踪
        config.setAutoInstallation(true);
        // 设置上传数据使用AES CBC模式加密，需添加加密模块
        config.setEncryptType(EncryptEnum.AES_CBC);
        // 设置服务器时间校验
        config.setAllowTimeCheck(true);
        // 时间最大允许偏差为5分钟
        config.setMaxDiffTimeInterval(5 * 60);
        // 设置采集热图信息
        config.setAutoHeatMap(true);
        // 设置pageView自动上报总开关
        config.setAutoTrackPageView(true);
        // 设置fragment的pageView自动上报开关
        config.setAutoTrackFragmentPageView(true);
        // 设置控件点击自动上报总开关
        config.setAutoTrackClick(true);
        // 调用初始接口
        AnalysysAgent.init(this, config);

    }
}

```

### 设置上传地址

自定义上传地址，接口设置后，所有事件信息将上传到该地址。 接口如下：

```java
public static void setUploadURL(Context context, String url);
```

* context：应用上下文对象
* url：数据上传地址，格式为 `scheme://host + :port`(不包含`/`后的内容)。**scheme** 必须以 `http://` 或 `https://` 开头，**host** 只支持域名和 IP，取值长度 1 - 255 字符，**port** 端口号必须携带

示例：

```java
public class AnalysysApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        AnalysysConfig config = new AnalysysConfig();
        // 设置key，77a52s552c892bn442v721为样例数据，请根据实际情况替换相应内容
        config.setAppKey("77a52s552c892bn442v721");
        // 设置渠道
        config.setChannel("豌豆荚");
        // 设置追踪新用户的首次属性
        config.setAutoProfile(true);
        // 设置使用AES加密
        config.setEncryptType(EncryptEnum.AES);
        // 调用初始接口
        AnalysysAgent.init(this, config);
        //设置自定义上传地址为 scheme://host + :port
        AnalysysAgent.setUploadURL(mContext,"/*设置为实际地址*/");
    }
}
```

### Debug 接口

Debug 接口主要用于开发者测试。可以开/关日志，通过logcat查看tag为`analysys`的Log日志。 接口如下：

```java
public static void setDebugMode(Context context, int debugMode);
```

* context：应用上下文对象
* debugMode：debug 模式，默认关闭状态。发布版本时 debugMode 模式设置为`0`
  * `0`：表示关闭 Debug 模式
  * `1`：表示打开 Debug 模式，但该模式下发送的数据仅用于调试，不计入平台数据统计
  * `2`：表示打开 Debug 模式，该模式下发送的数据可计入平台数据统计

    &#x20;注意：若设置其他值则不生效,使用默认值。

示例：

```java
public class AnalysysApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        //  设置 打开 debug 模式
        AnalysysAgent.setDebugMode(this, 2);
        AnalysysConfig config = new AnalysysConfig();
        // 设置key，77a52s552c892bn442v721为样例数据，请根据实际情况替换相应内容
        config.setAppKey("77a52s552c892bn442v721");
        // 设置渠道
        config.setChannel("豌豆荚");
        // 设置追踪新用户的首次属性
        config.setAutoProfile(true);
        // 设置使用AES加密
        config.setEncryptType(EncryptEnum.AES);
        // 调用初始接口
        AnalysysAgent.init(this, config);
        //设置自定义上传地址为 scheme://host + :port
        AnalysysAgent.setUploadURL(mContext,"/*设置为实际地址*/");
    }
}
```

### App启动来源监测

此接口需在Activity基类或应用启动首页的onCreate生命周期进行设置。 接口如下：

```java
public static void launchSource(int source);
```

* context：应用上下文对象
* source：应用启动来源，默认值为 `1` ，
  * 1：默认值：通过图标(icon)启动应用
  * 2 ：传值为 2 ，通过点击推送消息(msg)启动
  * 3 ：传值为 3 ，通过DeepLink(url)启动
  * 5 ：传值为 5 ，通过其他方式启动

示例：

```java
public class BasicActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = getIntent();
    if (intent != null) {
      Uri uri = intent.getData();
      if (uri != null) {
        // 判断如果是deepLink启动，设置启动来源为 3
        AnalysysAgent.launchSource(3);
      }
    }
  }
}
```

### 统计页面接口

页面跟踪，SDK 默认设置跟踪所有页面，支持自定义页面信息。 接口如下：

```java
public static void pageView(Context context,String pageName);
public static void pageView(Context context,String pageName, Map<String, Object> properties);
```

* context：应用上下文对象
* pageName：页面标识，为字符串，取值长度 1 - 255 字符
* properties：页面信息，K-V键值对。最多包含100条，且`key`是以字母开头的字符串，**必须由**字母、数字、下划线组成，字母不区分大小写，**不支持**乱码、中文、空格等，长度范围1-99字符；`value`支持类型：String/Number/Boolean/JSON/内部元素为String的Array，若为字符串，长度范围1-255字符。

示例：

```java
// 正在开展某个活动，需要统计活动页面；
AnalysysAgent.pageView(mContext,"活动页");

......

// 访问手机活动页面，活动页面内容为优惠出售iPhone手机，手机价格为5000元
Map<String, Object> info = new HashMap<>();
info.put("commodityName", "iPhone");
info.put("commodityPrice", 5000);
AnalysysAgent.pageView(mContext, "商品页", info);
```

#### 忽略部分页面自动采集

开发者可以设置某些页面不被自动采集，设置后自动采集时将会忽略这些页面。 接口如下:

```java
/**
 * PageView自动上报-设置页面级黑名单
 * @param pages 页面名称列表
 */
public static void setPageViewBlackListByPages(List<String> pages);
```

示例:

```java
List<String> pages = new ArrayList<String>();
pages.add("com.analysys.demo.activity.MainActivity");
// 忽略MainActivity页面自动采集
AnalysysAgent.setPageViewBlackListByPages(pages);
```

注意：设置忽略页面时，需要添加完整的页面路径（包名 + 类名名）

### 页面自动采集添加自定义信息

若用户开启页面自动采集功能，可将自定义页面信息添加至`$pageview`事件中。SDK对外提供一个接口`ANSAutoPageTracker`供继承至`Activity或Fragment`的类使用，若类遵循该协议，则须实现`registerPageProperties`方法，并将自定义参数返回，SDK会将此部分信息添加至`$pageview`事件的自定义参数中，且自定义参数优先级高于自动采集参数（即：相同key情况下，用户key会覆盖自动采集key）。

{% hint style="info" %}
前提：页面自动采集功能未手动关闭\
自定义参数只能获取页面生命周期onStart之前的参数，之后参数无法获取到。
{% endhint %}

```java
public interface ANSAutoPageTracker {
    /**
     * 获取对应页面的自定义参数
     */
    Map<String, Object> registerPageProperties();

    /**
     * 手动设置页面的url
     */
    String registerPageUrl();
}
```

示例:

```java
public class MainActivity extends AppCompatActivity implements ANSAutoPageTracker {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public Map<String, Object> registerPageProperties() {
        //  $title为自动采集使用key，用户可覆盖
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("$title", "详情页");
        return properties;
    }
    @Override
    public String registerPageUrl() {
        // 页面$url字段，将覆盖SDK默认字段
        return "HomePage";
    }
}
```

```java
public class FragmentOne extends Fragment implements ANSAutoPageTracker {

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_one, null);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }

    @Override
    public Map<String, Object> registerPageProperties() {
        //  $title为自动采集使用key，用户可覆盖
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("$title", "详情页");
        return properties;
    }

    @Override
    public String registerPageUrl() {
        // 页面$url字段，将覆盖SDK默认字段
        return "HomePage";
    }
}
```

### 统计事件接口

用户行为追踪，可以设置自定义属性。 接口如下：

```java
public static void track(Context context, String eventName);
public static void track(Context context, String eventName, Map<String, Object> eventInfo);
```

* context：应用上下文对象
* eventName：自定义事件ID标识，以字母开头的字符串，**必须由**字母、数字、下划线组成，$ 开头为预置事件/属性，**不支持**乱码、中文、空格等，长度范围1-99字符。
* eventInfo：自定义属性，K-V键值对，用于对事件的描述。最多包含100条，且`key`是以字母开头的字符串，**必须由**字母、数字、下划线组成，字母不区分大小写，**不支持**乱码、中文、空格等，长度范围1-99字符；`value`支持类型：String/Number/Boolean/JSON/内部元素为String的Array，若为字符串，长度范围1-255字符。

示例：

```java
// 添加事件
AnalysysAgent.track(mContext, "back");

......

// 用户购买手机
Map<String, Object> info = new HashMap<>();
info.put("type", "Phone");
info.put("name","Apple iPhone8");
info.put("money", 4000);
info.put("count",1);
AnalysysAgent.track(mContext, "buy", info);
```

### 匿名ID与用户关联

用户关联的主要作用是打通用户登录前后的行为，以及多屏登录后的行为。做过用户关联的用户在登录前后的行为在方舟系统里面会被认为是一个用户。方舟系统目前支持 一台设备只能绑定一个用户 ID，一个用户 ID 只能绑定一台设备。设备和用户 ID 绑定后，就无法再和其他用户或者设备进行绑定。例如一个用户的设备 ID 是 ABC 用户的登录 ID 是 123，绑定成功后会对应同一个 ID，这样在统计或者分析时会被认为是一个用户。**在用户注册成功或者登录成功后客户端需要调用 alias 接口**，建议埋点时观看下 [方舟 SDK 接入视频](https://ark.analysys.cn/video-list.html) 接口描述如下：

用户 id 关联接口。将需要绑定的用户ID 和匿名ID进行关联，计算时会认为是一个用户的行为。 接口如下：

```java
public static void alias(Context context, String aliasId);
```

* context：应用上下文对象
* aliasId：需要关联的用户ID。 取值长度 1 - 255 字符

示例：

```java
// 登陆账号时调用，只设置当前登陆账号即可和之前行为打通
AnalysysAgent.alias(mContext,"sanbo");
```

### 匿名ID设置

接口如下：

```java
public static void identify(Context context, String xwho);
```

* context：应用上下文对象
* distinctId：自定义设备身份标识，取值长度 1 - 255 字符

示例:

```java
// 设置匿名ID为`fangke009901`,注意此方法需要在初始化之前调用
AnalysysAgent.identify(mContext,"fangke009901");
```

### 匿名ID获取

获取用户通过identify接口设置或自动生成的id。优先级如下:用户设置的id > 代码自动生成的id

接口如下：

```java
public static String getDistinctId(Context context);
```

示例:

```java
// 获取匿名id
AnalysysAgent.getDistinctId(mContext);
```

### 用户属性设置

> 用户属性是一个标准的 K-V 结构，K 和 V 均有相应的约束条件，如不符合则丢弃该次操作。

约束条件如下：

> #### 属性名称 <a href="#id-1.1" id="id-1.1"></a>

```
以字母开头的字符串，必须由字母、数字、下划线组成，字母不区分大小写，$ 开头为预置事件/属性，不支持乱码、中文、空格等，长度范围1-99字符。
```

> #### 属性值 <a href="#id-2.1" id="id-2.1"></a>

```
支持部分类型：String/Number/boolean/字符串集合/字符串数组；若为字符串，则取值长度 1 - 255 字符；若为数组或集合，则最多包含 100条，且 key 约束条件与属性名称一致，value 取值长度 1 - 255 字符
```

#### 设置用户属性

给用户设置单个或多个属性，如果之前不存在，则新建，否则覆盖。 接口如下：

```java
//设置单个用户属性
public static void profileSet(Context context, String propertyName, Object propertyValue);
//设置多个用户属性
public static void profileSet(Context context, Map<String, Object> property);
```

* context：应用上下文对象
* propertyName：属性名称，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)
* propertyValue：属性值，约束见[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)
* property：属性列表，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)，[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)

示例：

```java
//设置用户的邮箱地址为yonghu@163.com
AnalysysAgent.profileSet(mContext,"Email","yonghu@163.com");

......

// 设置用户的邮箱和微信
Map<String, Object> info = new HashMap<>();
info.put("Email", "yonghu@163.com");
info.put("WeChatID", "weixinhao");
AnalysysAgent.profileSet(mContext, info);
```

#### 设置用户固有属性

设置用户的固有属性，只在首次设置时有效的属性。 如：应用的激活时间、首次登录时间等。如果被设置的用户属性已存在，则这条记录会被忽略而不会覆盖已有数据，如果属性不存在则会自动创建。 接口如下：

```java
public static void profileSetOnce(Context context, String propertyName, Object propertyValue);
public static void profileSetOnce(Context context, Map<String, Object> property);
```

* context：应用上下文对象
* propertyName：属性名称，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)
* propertyValue：属性值，约束见[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)
* property：属性列表，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)，[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)

示例：

```java
// 设置用户激活时间
AnalysysAgent.profileSetOnce(mContext,"activationTime",1521280551929);

// 设置用户性别和出生时间
Map<String, Object> setOnceProfile = new HashMap<>();
setOnceProfile.put("birth", 548798705000);
setOnceProfile.put("sex", "male");
AnalysysAgent.profileSetOnce(mContext, setOnceProfile);
```

#### 设置用户属性相对变化值

设置用户属性的相对变化值(相对增加，减少)，只能对数值型属性进行操作，如果这个 Profile 之前不存在，则初始值为 0。 接口如下：

```java
public static void profileIncrement(Context context, String propertyName, Number propertyValue);
public static void profileIncrement(Context context, Map<String, Number> property);
```

* context：应用上下文对象
* propertyName：属性名称，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)
* propertyValue：属性值，约束见[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)
* property：属性列表，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)，[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)

示例：

```java
//用户增加一岁
AnalysysAgent.profileIncrement(mContext,"age",1);

......

//用户玩某个游戏时间增加一年，游戏等级增加2
Map<String, Number> incrementProfile = new HashMap<>();
incrementProfile.put("gameAge", 1);
incrementProfile.put("gameRating", 2);
AnalysysAgent.profileIncrement(mContext, incrementProfile);
```

#### 增加列表类型的属性

用户列表属性增加元素。 接口如下：

```java
//增加列表类型的属性
public static void profileAppend(Context context, String propertyName, List<Object> propertyValue);
```

* context：应用上下文对象
* propertyName：属性名称，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)
* propertyValue：属性值，约束见[属性值](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)

示例：

```java
//增加多个用户爱好
List<Object> list = new ArrayList<>();
list.add("PlayBasketball");
list.add("music");
AnalysysAgent.profileAppend(mContext, "hobby", list);
```

#### 删除设置的属性值

删除已设置的用户属性值。 接口如下：

```java
public static void profileUnset(Context context, String propertyName);
public static void profileDelete(Context context);
```

* context：应用上下文对象
* propertyName：属性名称，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)

示例：

```java
//  删除当前用户单个属性值
AnalysysAgent.profileUnset(mContext, "age");

//  删除当前用户所有属性值
AnalysysAgent.profileDelete(mContext);
```

### 通用属性

> 通用属性是每次上传事件信息都会带有的属性，通用属性是一个标准的 K-V 结构，K 和 V 均有相应的约束条件，如不符合则丢弃该次操作。

约束条件如下:

> #### 属性名称 <a href="#id-1" id="id-1"></a>

```
以字母开头的字符串，必须由字母、数字、下划线组成，字母不区分大小写，$ 开头为预置事件/属性，不支持乱码、中文、空格等，长度范围1-99字符。
```

> #### 属性值 <a href="#id-2" id="id-2"></a>

```
支持部分类型：String/Number/boolean/字符串集合/字符串数组；若为字符串，则取值长度 1 - 255 字符；若为数组或集合，则最多包含 100条，且 key 约束条件与属性名称一致，value取值长度 1 - 255 字符
```

#### 注册通用属性

某一个体，在固定范围内，持续拥有的属性，每次数据上传都会携带。 接口如下:

```java
public static void registerSuperProperty(Context context, String superPropertyName, Object superPropertyValue);
public static void registerSuperProperties(Context context, Map<String, Object> superProperty);
```

* context：应用上下文对象
* superPropertyName：属性名称，约束见[属性名称](/integration/sdk/android#1)
* superPropertyValue：属性值，约束见[属性值](/integration/sdk/android#2)
* superProperty：属性列表，约束见[属性名称](/integration/sdk/android#1)，[属性值](/integration/sdk/android#2)

示例：

```java
// 在某视频平台，购买一年会员，该年内只需设置一次即可
AnalysysAgent.registerSuperProperty(mContext, "member","VIP");

......

// 小明在20岁的时候，购买了一年腾讯会员
Map<String, Object> property = new HashMap<>();
property.put("platform", "TX");
property.put("age", "20");
property.put("member", "VIP");
property.put("user", "xiaoming");
AnalysysAgent.registerSuperProperties(mContext, property);
```

#### 删除通用属性

根据属性名称，删除已设置过的通用属性。 接口如下：

```java
//删除单个通用属性
public static void unRegisterSuperProperty(Context context, String superPropertyName);
//清除所有通用属性
public static void clearSuperProperties(Context context);
```

* context：应用上下文对象
* superPropertyName：属性名称，约束见[属性名称](/integration/sdk/android#1)

示例：

```java
// 删除已经设置的用户年龄属性
AnalysysAgent.unRegisterSuperProperty(mContext, "age");

......

// 清除所有已经设置的通用属性
AnalysysAgent.clearSuperProperties(mContext);
```

#### 获取通用属性

查询获取通用属性。 接口如下：

```java
// 获取单个通用属性
public static Object getSuperProperty(Context context, String superPropertyName);
// 获取所有的通用属性
public static Map<String, Object> getSuperProperties(Context context);
```

* context：应用上下文对象
* superPropertyName：属性名称，约束见[属性名称](/integration/sdk/android#1)

示例：

```java
// 查看已经设置的"member"的通用属性
AnalysysAgent.getSuperProperty(mContext, "member");

......

// 查看所有已经设置的通用属性
AnalysysAgent.getSuperProperties(mContext);
```

### SDK 发送策略

#### 设置上传间隔时间

上传间隔时间设置，在 debug 模式关闭后生效。当前数据默认为实时上传，建议设置上传时间隔为`15s`，并需要与setMaxEventSize接口配套使用 ，当设置后，数据达到设定条数或时间触发上传。 接口如下：

```java
public static void setIntervalTime(Context context, long flushInterval;);
```

* context：应用上下文对象
* flushInterval：间隔时间（参数单位/秒），flushInterval 值大于 1

示例：

```java
// 如设置上传间隔时间为20秒
AnalysysAgent.setIntervalTime(mContext,20);
```

#### 设置事件最大上传条数

上传条数设置，在 debug 模式关闭后生效；当前数据默认为实时上传，建议设置上传的条数为 10条。 并需要与setIntervalTime接口配套使用接口，当设置后，数据达到设定条数或时间触发上传。接口如下：

```java
public static void setMaxEventSize(Context context, long size);
```

* context：应用上下文对象
* size：上传条数，size 值大于 1

示例：

```java
// 如设置上传条数为20条
AnalysysAgent.setMaxEventSize(mContext,20);
```

#### 本地缓存上限值

SDK 本地默认缓存数据的上限值为 10000条，最小值为100条，当达到此阈值值将会删除最早 10条数据。可以通过 `setMaxCacheSize` 方法来设定缓存数据的上限值（参数单位/条）。 接口如下：

```java
public static void setMaxCacheSize(Context context, long size)
```

* size：本地最多数据缓存条数

示例:

```java
//设置本地数据缓存上限值为2000条
AnalysysAgent.setMaxCacheSize(mContext,2000);
```

#### 手动上传

调用该接口立刻上传数据。 接口如下：

```java
public static void flush(Context context);
```

* context：应用上下文对象

示例：

```java
@Override
protected void onPause() {
    super.onPause();
    // 切换页面时想立即上传所有数据
    AnalysysAgent.flush(mContext);
}
```

### 获取预置属性

获取SDK默认采集的一些预置属性信息，接口如下：

```java
public static Map<String, Object> getPresetProperties(Context context) ;
```

示例：

```java
// 获取预置属性
Map<String, Object> properties = AnalysysAgent.getPresetProperties(mContext);
```

### 清除本地设置

清除本地现有的设置（包括 id 和通用属性）重新开始统计。 接口如下：

```java
public static void reset(Context context);
```

* context：应用上下文对象

示例：清除本地现有的设置，包括id和通用属性

```java
// 删除设置的id和通用属性
AnalysysAgent.reset(mContext);
```

### 清空本地数据库缓存的所有事件

```java
AnalysysAgent.cleanDBCache();
```

### 采集的数据是否上报

通过设置setUploadNetworkType接口来允许数据上报的网络类型

网络上报网络类型分类：

```java
    /**
     * 网络发送策略
     */
    public interface AnalysysNetworkType {

        //不允许上传
        int AnalysysNetworkNONE = 0;

        //允许移动网络上传
        int AnalysysNetworkWWAN = 1 << 1;

        //允许wifi网络
        int AnalysysNetworkWIFI = 1 << 2;

        //允许所有网络
        int AnalysysNetworkALL = 0xFF;
    }
```

网络上报接口控制开关：

```java
//关闭SDK上报功能
AnalysysAgent.setUploadNetworkType(AnalysysAgent.AnalysysNetworkType.AnalysysNetworkNONE);

//恢复SDK上报功能
AnalysysAgent.setUploadNetworkType(AnalysysAgent.AnalysysNetworkType.AnalysysNetworkALL);
```

## 可视化热图SDK接口

以下接口生效依赖于可视化热图模块，需集成可视化热图SDK相关analysys\_visual\_xxx.jar文件，请正确集成。

### 设置 webSocket 地址

设置服务器地址，用于可视化调试阶段连接 Websocket 服务器。 接口如下：

```java
public static void setVisitorDebugURL(Context context, String url);
```

* context：应用上下文对象
* url：websocket服务器地址，格式为 `scheme://host + :port`(不包含 `/` 后的内容)。**scheme** 必须以 `ws://` 或 `wss://` 开头，**host** 只支持域名和 IP，取值长度 1 - 255 字符，**port** 端口号必须携带

示例：

```java
//设置websocket服务器地址为 scheme://host + :port
AnalysysAgent.setVisitorDebugURL(mContext,"/*设置为实际地址*/");
```

### 设置请求埋点配置地址

设置服务器地址，用于可视化请求埋点配置信息。 接口如下：

```java
public static void setVisitorConfigURL(Context context, String url);
```

* context：应用上下文对象
* url：请求埋点配置的服务器地址，格式为 `scheme://host + :port`(不包含 `/` 后的内容)。**scheme** 必须以 `http://` 或 `https://` 开头，**host** 只支持域名和 IP，取值长度 1 - 255 字符，**port** 端口号必须携带

示例：

```java
// 设置请求埋点配置的服务器地址为 scheme://host + :port
AnalysysAgent.setVisitorConfigURL(mContext,"/*设置为实际地址*/");
```

## 热图采集

热图采集生效依赖于基础SDK模块，展示依赖于可视化热图模块，需集依赖于`analysys_core_xxx.jar(aar)、analysys_visual_xxx.jar(aar)`文件，请正确集成。

### 设置热图采集

控制是否采集用户点击热图信息。参考初始化代码如下：

```java
public class AnalysysApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        AnalysysConfig config = new AnalysysConfig();
        // 其他初始化带代码
        // 设置开启采集热图信息
            config.setAutoHeatMap(true);
        …………
        // 调用初始接口
        AnalysysAgent.init(this, config);

    }
}
```

### 设置热图页面黑名单

开发者可以设置某些页面不被热图事件自动采集，自动采集时将会忽略这些页面。

```java
public static void setHeatMapBlackListByPages(List<String> pages);
```

* pages：忽略上报页面全路径名称集合

示例:

```java
// 添加需要忽略页面的全路径名
List<String> pages = new ArrayList<>();
pages.add(MainActivity.class.getName());
pages.add(UserSettingActivity.class.getName());
// 设置热图页面级黑名单
AnalysysAgent.setHeatMapBlackListByPages(pages);
```

## 加密模块介绍 <a href="#toc_44" id="toc_44"></a>

加密模块生效依赖于加密SDK模块，需集成加密SDK相关analysys\_encrypt\_xxx.jar文件，请正确集成。

在初始化SDK时需设置加密方式，目前只支持 AES 加密，AES加密分为EncryptEnum.AES（128位密钥，ECB加密模式）和 EncryptEnum.AES\_CBC（128位密钥，CBC加密模式），如不设置此参数，数据上传不加密。

示例：

```java
// 设置 AES 加密 ECB 模式
config.setEncryptType(EncryptEnum.AES);
```

## &#x20;<a href="#toc_44" id="toc_44"></a>


# 快速集成

通过以下方式可以快速完成SDK的集成，更多方式请查SDK集成文档

## 集成配置

### 选择集成工具

{% tabs %}
{% tab title="AndroidStudio SDK 集成" %}
**注意：aar集成方式需要android sdk V4.4.0以上版本才支持，**

**远程aar配置**\
&#x20;    `dependencies`\
&#x20;`{` \
`//默认使用最新版本SDK，如需要使用特别版本请指定版本号 implementation('cn.com.analysys:analysys-arkanalysys:4.5.13')`\
`}`
{% endtab %}

{% tab title="Eclipse SDK 集成" %}
1.将需要的 jar 包拷贝到本地工程 libs 子目录下；在Eclipse中右键工程根目录，选择 `property —> Java Build Path —> Libraries` ，然后点击 Add External JARs... 选择指向 jar 的路径，点击 OK，即导入成功。（ADT17 及以上不需要手动导入）
{% endtab %}
{% endtabs %}

## 获取上报地址

登录易观方舟系统后点击”管理“——”数据接入管理“——”集成SDK接入数据”——“获取数据接收地址”

点击后即可获取您的数据上报地址。

![获取数据接收地址](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M5v7HAaMe0aDG7Rqe_F%2F-M5v8DMI1og5UOgo7Dbx%2FWX20200427-181748%402x.png?alt=media\&token=d48d296e-4c24-4a3b-8c13-33f701dd82b6)

## 基础模块

以下接口生效依赖于基础SDK模块，

### 初始化接口

建议在应用 Application 中调用 SDK 初始化接口 init()， 配置 AppKey、Channel，注意：初始化接口为必须调用接口。 接口如下:

```java
public static void init(Context context, AnalysysConfig config);
```

* context ：应用上下文对象
* config ：为自定义实体 bean，用于设置初始化属性值，目前config支持的属性有：
  1. AppKey：在网站获取的 AppKey
  2. channel：应用下发的渠道
  3. setAutoTrackClick：是否开启全埋点点击事件， 默认值：`false`

### 设置上传地址

自定义上传地址，接口设置后，所有事件信息将上传到该地址。 接口如下：

```java
public static void setUploadURL(Context context, String url);
```

* context：应用上下文对象
* url：数据上传地址，格式为 `scheme://host + :port`(不包含`/`后的内容)。**scheme** 必须以 `http://` 或 `https://` 开头，**host** 只支持域名和 IP，取值长度 1 - 255 字符，**port** 端口号必须携带

### Debug 接口

Debug 接口主要用于开发者测试。可以开/关日志，通过logcat查看tag为`analysys`的Log日志。 接口如下：

```java
public static void setDebugMode(Context context, int debugMode);
```

* context：应用上下文对象
* debugMode：debug 模式，默认关闭状态。发布版本时 debugMode 模式设置为`0`
  * `0`：表示关闭 Debug 模式
  * `1`：表示打开 Debug 模式，但该模式下发送的数据仅用于调试，不计入平台数据统计
  * `2`：表示打开 Debug 模式，该模式下发送的数据可计入平台数据统计

    &#x20;注意：若设置其他值则不生效,使用默认值。

### 初始化示例代码

```java
public class AnalysysApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        
        //  设置 打开 debug 模式，上线时请屏蔽
        AnalysysAgent.setDebugMode(this, 2);
        //  对SDK开始初始化
        AnalysysConfig config = new AnalysysConfig();
        // 设置key，77a52s552c892bn442v721为样例数据，请根据实际情况替换相应内容
        config.setAppKey("77a52s552c892bn442v721");
        // 设置渠道
        config.setChannel("豌豆荚");
        // 设置控件点击自动上报总开关
        config.setAutoTrackClick(true);
        // 调用SDK初始接口
        AnalysysAgent.init(this, config);
        //  设置上传地址，http://example.com:port为您上报地址
        AnalysysAgent.setUploadURL(mContext,"http://example.com:port");

    }
}
```

## 自定义事件接口

用户行为追踪，可以设置自定义属性。 接口如下：

```java
public static void track(Context context, String eventName);
public static void track(Context context, String eventName, Map<String, Object> eventInfo);
```

* context：应用上下文对象
* eventName：自定义事件ID标识，以字母开头的字符串，**必须由**字母、数字、下划线组成，$ 开头为预置事件/属性，**不支持**乱码、中文、空格等，长度范围1-99字符。
* eventInfo：自定义属性，K-V键值对，用于对事件的描述。最多包含100条，且`key`是以字母开头的字符串，**必须由**字母、数字、下划线组成，字母不区分大小写，**不支持**乱码、中文、空格等，长度范围1-99字符；`value`支持类型：String/Number/Boolean/JSON/内部元素为String的Array，若为字符串，长度范围1-255字符。

示例：

```java
// 添加事件
AnalysysAgent.track(mContext, "back");

......

// 用户购买手机
Map<String, Object> info = new HashMap<>();
info.put("type", "Phone");
info.put("name","Apple iPhone8");
info.put("money", 4000);
info.put("count",1);
AnalysysAgent.track(mContext, "buy", info);
```

## 账号关联

用户关联的主要作用是打通用户登录前后的行为，做过用户关联的用户在登录前后的行为在方舟系统里面会被认为是一个用户。**建议在用户注册成功或者登录成功后客户端需要调用 alias 接口。**

&#x20;接口如下：

```java
public static void alias(Context context, String aliasId);
```

* context：应用上下文对象
* aliasId：需要关联的用户ID。 取值长度 1 - 255 字符

示例：

```java
// 登陆账号时调用，只设置当前登陆账号即可和之前行为打通
AnalysysAgent.alias(mContext,"sanbo");
```

## 设置用户属性

给用户设置单个或多个属性，如果之前不存在，则新建，否则覆盖。 接口如下：

```java
//设置单个用户属性
public static void profileSet(Context context, String propertyName, Object propertyValue);
//设置多个用户属性
public static void profileSet(Context context, Map<String, Object> property);
```

* context：应用上下文对象
* propertyName：属性名称，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/android/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)
* propertyValue：属性值，约束见[属性值](https://arkdocs.analysys.cn/integration/sdk/android/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)
* property：属性列表，约束见[属性名称](https://arkdocs.analysys.cn/integration/sdk/android/pages/-LaQ9Kik6MsFTC3hrJVa#1.1)，[属性值](https://arkdocs.analysys.cn/integration/sdk/android/pages/-LaQ9Kik6MsFTC3hrJVa#2.1)

示例：

```java
//设置用户的邮箱地址为yonghu@163.com
AnalysysAgent.profileSet(mContext,"Email","yonghu@163.com");

......

// 设置用户的邮箱和微信
Map<String, Object> info = new HashMap<>();
info.put("Email", "yonghu@163.com");
info.put("WeChatID", "weixinhao");
AnalysysAgent.profileSet(mContext, info);
```

## 验证数据

开启Debug模式后，用户可以通过AndroidStudio或其他开发工具的控制台中查看tag为`[analysys]`的Log日志

![AndroidStudio 控制台的日志](https://2207941107-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaKVSdcX30MGZ24jKF_%2F-M8P8r_Cd1pVmTfPneKz%2F-M8PAmyFMt7SaDuZSMgO%2F1590650915737.jpg?alt=media\&token=a3de9805-7824-48b6-acde-0906a2bdeef7)

* 检查上报地址是否正确
* 检查是否发送成功
* 检查事件名称及内容与预期相同


# 全埋点模块

此功能基于SDK建议使4.4.0及以后版本，适用方舟V4.6.0及以上版本试用此功能

## 全埋点集成

{% tabs %}
{% tab title="AndroidStudio SDK 集成" %}
第一步：在项目根目录project目录的`build.gradle`文件中添加全埋点依赖插件

```
buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        //添加易观全埋点插件依赖
        classpath 'cn.com.analysys:analysys-allgro-plugin:latest.release' 
    }
    ...
}
```

第二步：在主项目的build.gradle文件中添加易观插件apply plugin: 'com.analysys.android.plugin'和易观全埋点sdk依赖

```
apply plugin: 'com.android.application'
//易观全埋点插件 'com.analysys.android.plugin'
apply plugin: 'com.analysys.android.plugin'

dependencies {
   //易观SDK依赖
   implementation 'cn.com.analysys:analysys-arkanalysys:latest.release'
}
```

{% endtab %}
{% endtabs %}

### 设置全埋点采集

控制是否采集用户点击可触控元素。参考初始化代码如下：

示例：

```java
public class AnalysysApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        AnalysysConfig config = new AnalysysConfig();
        // 其他初始化带代码
        // 设置开启控件点击自动上报
            config.setAutoTrackClick(true);
        // 设置开启fragment的pageView自动上报
            config.setAutoTrackFragmentPageView(true);
        // 调用初始接口
        AnalysysAgent.init(this, config);
    }
}
```

### 设置全埋点页面黑名单

开发者可以设置某些页面不被全埋点自动采集，自动采集时将会忽略这些页面上的事件。接口如下:

```java
/**
 * 点击自动上报-设置页面级黑名单
 * @param pages 页面名称列表
 */
public void setAutoClickBlackListByPages(List<String> pages);
```

* pages：忽略上报页面全路径名称集合

示例:

```java
List<String> pages = new ArrayList<>();
pages.add("com.analysys.demo.activity.MainActivity");
// 忽略MainActivity页面元素点击自动采集
AnalysysAgent.setAutoClickBlackListByPages(pages);
```

### 设置全埋点控件黑名单

开发者可以设置某些控件触发后不被全埋点自动采集，自动采集时将会忽略这些控件事件的采集。接口如下:

```java
/**
 * 点击自动上报-设置元素类型级黑名单
 * @param element 单个控件对象
 */
public void setAutoClickBlackListByViewTypes(List<Class> viewTypes);
```

示例:

```java
List<Class> viewTypes = new ArrayList<>();
viewTypes.add(RatingBar.class);
// 忽略控件类点击自动采集
AnalysysAgent.setAutoClickBlackListByViewTypes(viewTypes);
```

####

### 设置全埋点view黑名单

开发者可以设置某个view元素不被全埋点自动采集，自动采集时将会忽略这些view。接口如下:

```java
/**
 * 点击自动上报-设置某个view类型级黑名单
 * @param element 单个控件对象
 */
public void setAutoClickBlackListByView(View element);
```

示例:

```java
private View mView;
...
省略mView初始化逻辑
...
// 忽略当前控件对象自动采集
AnalysysAgent.setAutoClickBlackListByView(mView);
```




---

[Next Page](/llms-full.txt/1)

