# 转化变量

* [转化变量的使用场景](#zhuan-hua-bian-liang-de-shi-yong-chang-jing)
* [归因方式](#gui-yin-fang-shi)
  * [最近（Most Recent）](#zui-jin-most-recent)
  * [线性（Linear）](#xian-xing-linear)
  * [最初（First）](#zui-chu-first)
* [失效时间](#shi-xiao-shi-jian)
* [转化变量的配置和上传](#zi-ding-yi-bian-liang-de-pei-zhi-he-shang-chuan)
  * [第一步：配置 "归因方式" 和 "失效时间"](#di-yi-bu-zai-shi-jian-he-bian-liang-zhong-wan-cheng-pei-zhi)
  * [第二步：代码部署](#di-er-bu-dai-ma-bu-shu)
  * [第三步：数据校验](#di-san-bu-shu-ju-xiao-yan)
* [分析场景示例](#fen-xi-chang-jing-shi-li)

**定义：转化变量是一种强大的变量类型，可以根据不同的业务需求去配置一个转化变量的归因方式和持久性范围。随着归因模型的不同，持久性范围的不同，用户发生的事件将会归到或者不归到某一个转化变量的值上。**

在 GrowingIO 的一个项目内，转化变量的个数上限为 10 个。如果您所创建的转化变量已达上限，请联系您的客户成功经理或邀请技术支持进行扩容。

## **转化变量的使用场景**

转化变量可以用于回答下列业务问题，用户可以通过内部活动、搜索、导航等各个不同的入口访问到产品详情产生转化，那么，哪个入口的效果更好呢？使用不同的[归因方式](#gui-yin-fang-shi)，得到的结论是不同的。

* 使用最初归因模型，某个内部活动带来了多少注册，多少订单。
* 使用线性归因模型，内部搜索的效果怎样，某个具体的搜索词带来了多少订单，营业收入。
* 使用最近归因模型，同一个内部活动的不同入口分别带来了多少内部活动详情页面的浏览。

![](https://docs.growingio.com/.gitbook/assets/zhuanhuabianliang.png)

## **归因方式**

当发生一个事件的时候，GrowingIO 会通过转化变量中配置的归因模型，去计算应该将这个事件归到转化变量中的哪一个有效值上，转化变量目前支持以下三种归因模型：

### **最近（Most Recent）**

**当事件发生时，往前看，事件所有的权重将全部分配给转化变量中还在持久性范围之内并且离事件发生的时间点最近的值上。**

例如：

用户依次点击了三个内部活动，内部活动代码分别为：abcd0001, abcd0002和abcd0003。如果使用的转化变量的归因设置是最近，那么在之后当用户发生购买事件时，这个购买事件所有的权重将分配给 abcd0003 这个内部活动。

由于这个用户的操作，GrowingIO 上将看到类似于这样的报表：

| **内部活动代码** | **订单量** |
| ---------- | ------- |
| abcd0003   | +1      |

### **线性（Linear）**

**当事件发生时，往前看，事件所有的权重将平均分配所有还在持久性范围之内，还没有失效的那些值上。**

例如：

前面的那个用户点击三个内部活动的例子，如果转化变量设置的归因是线性，那么在之后用户发生购买事件时，这个购买事件所有的权重将平均分配给abcd0001，abcd0002，abcd0003这三个内部活动。

由于这个用户的操作，GrowingIO 上将看到类似于这样的报表：

| **内部活动代码** | **订单量** |
| ---------- | ------- |
| abcd0001   | +0.333  |
| abcd0002   | +0.333  |
| abcd0003   | +0.333  |

### **最初（First）**

**当事件发生时，往前看，事件所有的权重将全部分配给转化变量中还在持久性范围之内并且离事件发生的时间点最远的那个值上。从用户的角度来说也就是还在持久性范围之内的最初的那个值获得发生事件的所有权重。**

例如：

前面的那个用户点击三个内部活动的例子，如果转化变量设置的归因是最初，那么在之后用户发生购买事件时，这个购买事件所有的权重将分配给用户点击的第一个内部活动上。

由于这个用户的操作，GrowingIO 上将看到类似于这样的报表：

| **内部活动代码** | **订单量** |
| ---------- | ------- |
| abcd0001   | +1      |

请注意，虽然GrowingIO 支持在声明并且使用了一段时间的某一个转化变量上进行更改归因方式的操作，但是归因方式的改变将导致该转化变量的报表上展现的数据将出现两种或者多种归因方式混合的情况。这将导致数据出现错误，从错误的数据得出的结论也是错误的。所以，GrowingIO 建议重新启用新的转化变量来实现更改归因方式的需求。

## **失效时间**

对于转换变量来讲，失效时间是一个配置项。GrowingIO 目前支持访问，一天，一周，一月这四种失效的配置项。这四种配置项的意义分别是：

1. 访问：随着用户在一个访问中不断的交互操作，一些值会保存在转化变量中，如果这个转化变量的失效设置为访问。那么当访问结束时保存在转化变量中的值会失效，在之后发生的事件不会归到这些失效的值上。
2. 一天：随着用户的交互操作，一些值会保存在转化变量中，如果这个转化变量的失效设置为一天，那么每一个值在保存到转化变量的时候都会有一个计时器，从这个值保存到转化变量的瞬间计时器开始一天的倒计时。在这一天之内发生的事件都可以归到这个转化变量中的值，但是一天的倒计时结束的时候，这个转化变量中的值会失效，之后发生的事件不能归到这个转化变量的值上。
3. 一周：和失效时间是一天的配置项类似，只是对于每一个保存到转化变量中的值来说，计时器的倒计时时间为一周。
4. 一月：和失效时间是一天的配置项类似，只是对于每一个保存到转化变量中的值来说，计时器的倒计时时间为一月。

例如，一个用户在周一早上七点的时候开始访问一个电子商务网站，在七点十五分的时候输入“手机”作为搜索词进行了一次站内搜索，在七点五十五分，访问结束。那么

* 如果失效时间是访问，保存在转化变量中的站内搜索词“手机”在七点五十五分失效。
* 如果失效是一天，保存在转化变量中的站内搜索词“手机”在周二早上的七点十五分失效。
* 如果失效是一周，保存在转化变量中的站内搜索词“手机”在下周一早上的七点十五分失效。
* 如果失效是一月，保存在转化变量中的站内搜索词“手机”将在三十天之后的早上七点十五分失效。

## 转化变量的配置和上传 <a href="#zi-ding-yi-bian-liang-de-pei-zhi-he-shang-chuan" id="zi-ding-yi-bian-liang-de-pei-zhi-he-shang-chuan"></a>

### **第一步：配置 "归因方式" 和 "失效时间"** <a href="#di-yi-bu-zai-shi-jian-he-bian-liang-zhong-wan-cheng-pei-zhi" id="di-yi-bu-zai-shi-jian-he-bian-liang-zhong-wan-cheng-pei-zhi"></a>

参考开始讲到的使用场景，配合梳理业务需求并完成“指标 + 维度”的设计，确认需要将哪些变量设置为页转化变量,请勿直接开始代码的部署,需要先到 GrowingIO 后台找到 【数据管理】-【事件和变量】-【转化变量】 功能，在界面中完成对应的配置。

![配置归因方式设置](https://2804479340-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGNxeGABUADKiTWTaEM%2F-LIpN1HCC6EL7E2bd45l%2F-LIpQKWoVcrLw0sEzd_F%2Fimage.png?alt=media\&token=94cac46e-12b9-4d2b-acbc-adce5b194d22)

<br>

![配置失效时间](https://2804479340-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGNxeGABUADKiTWTaEM%2F-LIpN1HCC6EL7E2bd45l%2F-LIpQT9o1knyyJLdSAj0%2Fimage.png?alt=media\&token=fd378d83-2568-4f6b-8e86-194361984c61)

### **第二步：代码部署** <a href="#di-er-bu-dai-ma-bu-shu" id="di-er-bu-dai-ma-bu-shu"></a>

完成了配置后，即可在代码中完成以上设计的 “自定义事件和变量” 的部署。具体的说，就是调用 GrowingIO 提供的 API 接口，上传数据。

* [JS 接口文档](https://growingio.gitbook.io/old_docs/sdk-integration/web-js-sdk#3-web-js-sdk-2-1-api)
* [Android 接口文档](https://growingio.gitbook.io/old_docs/sdk-integration/android-sdk/android-sdk#2-android-sdk-api)
* [iOS 接口文档](https://growingio.gitbook.io/old_docs/sdk-integration/ios-sdk/ios-sdk-2.x#ios-sdk-api)
* [小程序、小游戏以及内嵌页 SDK](https://growingio.gitbook.io/old_docs/sdk-integration/xiao-cheng-xu-xiao-you-xi-yi-ji-nei-qian-ye-sdk)

API中给出了转化变量的上传方式

### 第三步：数据校验 <a href="#di-san-bu-shu-ju-xiao-yan" id="di-san-bu-shu-ju-xiao-yan"></a>

在完成了【数据管理】-【事件与变量】-【转化变量】的配置，以及代码实施后，我们接下来需要对数据是否成功上传进行校验。校验工作分为两步完成。

#### **数据校验第一步：本地开发环境校验** <a href="#shu-ju-xiao-yan-di-yi-bu-ben-di-kai-fa-huan-jing-xiao-yan" id="shu-ju-xiao-yan-di-yi-bu-ben-di-kai-fa-huan-jing-xiao-yan"></a>

GrowingIO 提供了 SDK debug 模式以及 debug 工具，来帮助您完成数据的校验。具体请参考[ Debugger 最佳实践](https://growingio.gitbook.io/old_docs/sdk-integration/growingio-debugger/best-practice#evar-zhuan-hua-bian-liang-shi-jian)。

#### **数据校验第二步：GrowingIO 后台图表验证** <a href="#shu-ju-xiao-yan-di-er-bu-growingio-hou-tai-tu-biao-yan-zheng" id="shu-ju-xiao-yan-di-er-bu-growingio-hou-tai-tu-biao-yan-zheng"></a>

在 GrowingIO 分析后台，找到 “分析” - “新建事件分析”，然后在图表中选择您设计好的 “指标 + 维度”，转化变量即对应的 "维度"，查看是否有数据。当然，您需要首先确保转化变量确实有被触发。

至此，您已经完成了 “自定义变量” 的上传，如您在配置或添加代码中有任何疑问，请联系您的客户成功经理咨询，或在工单系统中反馈问题。谢谢。

#### 特别说明

转化变量的归因计算是以自然天为单位的，也就是说当天发生的转化行为，需要第二天才能够在 GrowingIO 后台图表中进行分析。

## 分析场景示例

在电商购物场景中，可将促使用户下单的前序行为如：活动页浏览、搜索、站内banner 点击等，定义为转化变量，用于分解下单行为。例如，我们在用户进行搜索时，通过转化变量上传其输入的搜索词，即可在 GrowingIO 后台按以下方式分解不同搜索词带来的下单转化：

![](https://docs.growingio.com/.gitbook/assets/zhuanhuabianliang.png)

##
