# 归因支持

> Understand how user acquisition attribution helps you track which ad networks and campaigns bring valuable players.

游戏行业的竞争日益激烈，通过有机增长获取用户变得越来越困难。如今，所有成功的游戏工作室都会在其他游戏或平台上展示广告，以吸引他们想要的受众并将这些受众重定向到他们的游戏。这就是所谓的“用户获取”。

广告通过广告网络（例如 Unity Ads）分发。要开始使用 Unity 获取用户，请在[此处](https://unity.com/products/unity-ads/user-acquisition)了解更多信息。

## 如何使用用户获取数据来实现游戏增长##grow-your-game-using-user-aquisition-data

通过分析您的用户获取数据，您可以快速了解哪些广告网络和广告系列为您的游戏带来了最有价值的用户。这样一来，您就可以将预算只集中在有效的网络上，随着时间的推移能够只为您的游戏带来有价值的用户，并优化您的广告。

您还可以根据向每个用户展示的广告中呈现的内容，对游戏的早期内容进行个性化设置。例如，在 RPG 游戏中，如果您知道用户点击了一个显示战士的广告，则可以让玩家在教程中选择这个战士角色，而不是默认的法师。

## 如何跟踪用户获取数据

由于安装游戏的用户可能来自多个广告网络和广告系列，因此通常使用移动端成效衡量合作伙伴 (MMP) 来确定安装游戏的玩家来自哪个广告网络和广告系列。这个过程称为“归因”：将应用安装归因于特定的广告网络和广告系列。最常用的 MMP 有 AppsFlyer、Adjust、Singular、Kochava 和 Tenjin。

您可以在客户端跟踪 MMP 提供的数据，包括但不限于：广告网络、将用户引流到游戏的具体广告以及获取此用户的成本。所有这些数据都可以记录在我们的标准事件 acquisitionSource 中。

## acquisitionSource 事件

UGS Analytics 提供了一个名为 `acquisitionSource` 的标准事件，用于记录有关用户获取渠道的信息。此事件中应填充归因服务商 SDK 提供的信息。请确保遵循 MMP 自有指南中有关跟踪安装（例如来自 Facebook 的安装）的指南。

归因事件参数如下表所示：

| 参数                      | 目的/描述                                                                                  | 数据类型  | 必需 |
| ----------------------- | -------------------------------------------------------------------------------------- | ----- | -- |
| acquisitionChannel      | 用于为游戏带来流量的特定营销服务商的名称。我们建议使用获取网络名称，因为这是按用户获取渠道进行过滤或分组时显示的名称。要进行更深入的分析，请使用广告网络名称和广告系列名称。 | `字符串` | 是  |
| acquisitionCampaignId   | 用户获取广告系列的 ID。                                                                          | `字符串` | 是  |
| acquisitionCreativeId   | 用户获取广告系列广告素材 ID。                                                                       | `字符串` | 是  |
| acquisitionCost         | 安装成本，例如 2.36。                                                                          | `浮点`  | 否  |
| acquisitionCostCurrency | 安装成本货币，例如美元。                                                                           | `字符串` | 否  |
| acquisitionCampaignName | 用户获取广告系列名称，例如 Interstitial:Halloween21。                                                | `字符串` | 是  |
| acquisitionNetwork      | 用户获取广告系列网络，例如 Ironsource、Vungle 或 Unity。                                               | `字符串` | 否  |
| acquisitionProvider     | 正在使用的归因服务商的名称，例如 Adjust、AppsFlyer、Singular。                                            | `字符串` | 是  |
| acquisitionCampaignType | 用户获取广告系列类型，例如 CPI。                                                                     | `字符串` | 否  |

您将提供有关特定用户归因的不同信息，具体取决于您使用的服务商。您可能没有足够的信息来填充事件中的每个字段，因此可以将这些字段留空或填充您自己的数据。

## Adjust SDK 集成指南

您可以注册一个回调，以便在每次 Adjust SDK 更新用户的转化率值以及使用归因变量的值将数据发送到 Analytics 时收到通知，具体如以下示例所示。如需更多有关 Adjust SDK 集成的详细信息，请参阅 [https://github.com/adjust/unity\_sdk#attribution-callback](https://github.com/adjust/unity_sdk#attribution-callback)。

| 事件参数（\* 表示必需）             | 来自 Adjust SDK 的值（AdjustAttribution 归因）        |
| ------------------------- | --------------------------------------------- |
| acquisitionChannel\*      | 取决于用例。我们建议默认使用获取网络的名称，即 `attribution.network` |
| acquisitionCampaignId\*   | `attribution.campaign`                        |
| acquisitionCreativeId\*   | `attribution.creative`                        |
| acquisitionCost\*         | `attribution.costAmount`                      |
| acquisitionCostCurrency   | `attribution.costCurrency`                    |
| acquisitionCampaignName\* | `attribution.campaign`                        |
| acquisitionNetwork        | `attribution.network`                         |
| acquisitionProvider\*     | `Adjust`                                      |
| acquisitionCampaignType   | `attribution.costType`                        |

注意：这只是一个指南，我们建议与服务商核实准确性。

## Appsflyer SDK 集成指南

Appsflyer SDK 提供访问每次安装的实时用户归因数据的功能。如需了解如何注册回调，请参阅[此处](https://support.appsflyer.com/hc/en-us/articles/4412863162897#obtain-appsflyer-conversion-data)的集成详细信息。您可以注册一个回调，以便在每次 Appsflyer SDK 更新用户的转化率值以及使用归因有效负载的值将数据发送到 Analytics 时收到通知，具体如以下示例所示。如需更多有关 Appsflyer 有效负载的详细信息，请参阅[此处](https://support.appsflyer.com/hc/en-us/articles/360000726098-Conversion-Data-Scenarios#Introduction)。

以下字段只是建议的指南，并非详尽无遗：

| 事件参数（\* 表示必需）             | Appsflyer 转化率数据有效负载字段                         |
| ------------------------- | --------------------------------------------- |
| acquisitionChannel\*      | 取决于用例。我们建议默认使用获取网络的名称，即 `attribution.network` |
| acquisitionCampaignId\*   | `campaign_id`                                 |
| acquisitionCreativeId\*   | `adgroup_id`                                  |
| acquisitionCreativeId\*   | `af_cpi`                                      |
| acquisitionCostCurrency   | 请咨询服务商                                        |
| acquisitionCampaignName\* | `campaign`                                    |
| acquisitionNetwork        | `media_source`                                |
| acquisitionProvider\*     | `Appsflyer`                                   |
| acquisitionCampaignType   | 请咨询服务商                                        |

注意：这只是一个指南，我们建议与服务商核实准确性。

## 使用 SDK 实现

SDK 版本 4.0.0-pre1 提供了一个名为 `AcquisitionSource` 的方法来触发 acquisitionSource 事件。以下是 SDK 提供的对象参数：

```cs
public class AcquisitionSourceParameters
     {
         // Required
         public string channel;
         public string campaignId;
         public string creativeId;
         public string campaignName;
         public string provider;
         // Optional
         public float? cost;
         public string costCurrency;
         public string network;
         public string campaignType;
     }
```

以下示例说明了如何创建参数并在游戏中触发归因事件。

```cs
var acquisitionSourceParameters = new AcquisitionSourceParameters()
{
     channel = "Unity",
     campaignId = "gwOfhjSjyiNfGdGlUjLK",
     creativeId = "creative_name",
     campaignName = "Game Name OS Country",
     provider = "AppsFlyer",
     campaignType = "CPI",
     cost = 12,
     costCurrency = "EUR",
     network = "Unity",
};
AnalyticsService.Instance.AcquisitionSource(acquisitionSourceParameters);
```

## 使用 REST API 实现

发送标准事件“userAcquisition”以设置 Acquisition Source（用户获取来源）维度值。

事件有效负载如下：

```cs
{
    "eventTimestamp": {{eventDate}},
    "eventVersion": 1,
    "userID": {{userId}},
    "eventName": "acquisitionSource",
    "eventUUID": {{eventUUID}},
    "eventParams": {
      "clientVersion":"0.1",
      "platform":"Android",
      "userCountry":"DK",
      "acquisitionChannel":"Unity",
      "acquisitionCampaignId":"gwOfhjSjyiNfGdGlUjLK",
      "acquisitionCampaignType":"CPI",
      "acquisitionCampaignName":"Game Name OS Country",
      "acquisitionCreativeId":"creative_name",
      "acquisitionCost":"12",
      "acquisitionCostCurrency":"EUR",
      "acquisitionNetwork":"Unity",
      "acquisitionProvider":"AppsFlyer"
    }
  }
```

参数 `acquisitionChannel` 将填充 Acquisition Channel（用户获取渠道）维度。该维度位于 Analytics 工具的过滤器和分组依据选项中：

### Dashboard（后台）

单击后台 (Dashboard) 左侧的 User Acquisition（用户获取），了解每个用户获取渠道在游戏中的表现：哪个渠道带来了最多的玩家、最有价值的玩家以及总体上最多的收入。您可以过滤维度：Country（国家/地区）、Platform（平台）、Version（版本）、Audience（受众）和 Acquisition（用户获取）。此外，还可以查看每个获取渠道每天的新用户数、每个获取渠道的 DAU、每个获取渠道的每日收入以及每个获取渠道的留存率。


**Frame:**
![](/api/media?file=/analytics/media/images/attribution-new-user.png)

查看按用户获取过滤的 DAU（每日活跃用户）和 MAU（每月活跃用户）。


**Frame:**
![](/api/media?file=/analytics/media/images/attribution-dau.png)


**Frame:**
![](/api/media?file=/analytics/media/images/attribution-mau.png)

查看每个 DAU 的平均收入和按用户获取过滤的每日收入。


**Frame:**
![](/api/media?file=/analytics/media/images/attribution-average-revenue-per-dau.png)


**Frame:**
![](/api/media?file=/analytics/media/images/attribution-daily-revenue.png)

### 游戏表现

使用用户获取过滤器可以查看过去一天、7 天和 30 天内每日活跃用户在游戏中的表现。所有后台（收入、留存率、游戏表现和用户获取）都可以按用户获取来源进行过滤。

使用 Data Explorer（数据资源管理器）可以按用户获取来过滤指标。


**Frame:**
![](/api/media?file=/analytics/media/images/attribution6.png)
