# Tenjin Reporting Metrics API
TIP
请注意,第三方数据集成产生的数据会被纳入集群的消耗数据量
# 概要
# 接口简介
| 接口名 | 类型 | 粒度 | 归因 | 成本 | 收益 | 展示 | 点击 | 转化 | 
|---|---|---|---|---|---|---|---|---|
| Reporting Metrics API | API | 聚合指标 | ✅ | ✅ | ✅ | ✅ | ✅ | 
Tenjin 也提供了拉取聚合指标数据的接口—— Reporting Metrics API (opens new window),可以提供:
- 成本数据:可以认为是广告主数据,包含成本、点击、曝光以及总收入等数据
- 收益数据:可以认为是流量主数据,包含变现广告的曝光、点击以及更为细致的收益数据
# 集成流程
- 登录 Tenjin 后台,获取 Access Token
- 登录 TE 后台,进入三方集成模块,新增 Tenjin Reporting Metrics API,并完成相关配置
- 查看 TE 系统否成功接收数据,并完成报表搭建
# 一、获取 Access Token
接入 Tenjin 数据的第一步,请登录 Tenjin 后台,在导航栏中,依次点击 AUTOMATE -> API Access Tokens 。

在下图所示的页面中创建 Access token 密钥即可。请注意,在创建 Token 时可以为其命名,您可以使用该 Token 的用法来描述它。名称在之后可修改,不会影响到使用。

创建 Access token 密钥后,您随时可以在此操作界面上复制密钥。撤消访问也是在该操作界面上进行。请复制该 Token。

# 二、方案配置
当您获取 Tenjin 的 Access Token 后,您可以登录 TE 系统,在「三方集成」模块中完成新方案的配置。下图是 Tenjin Reporting Metrics API 的配置界面,请您按照本章节内容完成方案的创建

# 2.1 授权信息配置
点击「授权信息」按钮,在弹出框内填写您在上一步中获得的 Access Token:

# 2.2 定时拉取
您可以在「定时拉取」模块设置 TE 系统定时拉取 Tenjin Reporting Metrics API 数据的策略,可以选择在每天的某时拉取一段时间的数据。由于拉取的数据也会计算再数据量中,建议您在不要定时拉取太长时间的数据

# 2.3 入库设置
您可以控制数据是否以事件的形式写入,如果关闭,则数据将不会写入事件表,因此请不要关闭该配置。

# 2.4 集成配置
最后,您可以在集成配置模块对数据拉取的细节配置进行控制。包括数据的时间聚合粒度,拉取的指标字段与维度,以及入库后的事件名等。

集成配置中的内容是一个 JSON,您可以按照以下内容进行自定义配置:
| 模块 | 名称 | 含义 | 
|---|---|---|
| sink_event | event_mapping | 入库后的事件名,可以自定义,JSON 类型。Key 对应报表类型,Value 为该报表类型的入库事件名。 | 
| source | report_types | 拉取的报表类型,Tenjin Reporting Metrics API 支持两种报表类型。列表类型,建议您只填入一个元素,即一次只拉取一个报表的数据 可选值: spend、ad_revenue,具体可查看接下来的内容 | 
| metrics | 数据中的指标,列表类型,不同报表类型支持不同的 metrics,填写时需要注意 | |
| group_by | 数据中的分组维度,列表类型,不同报表类型支持不同的 group_by,填写时需要注意 | 
由于不同报表类型的数据配置有较大区别,建议您直接使用各层级的配置模板,或对模板进行微调
# 2.4.1 Spend 模板
Spend 模板对应拉取 API 的成本数据,即广告主数据,以下是该接口的的模板,您可以直接全文复制到集成配置中。如需调整,请参照本小节的内容:
{
  "sink_event": {
    "event_mapping": {
      "spend": "tenjin_spend_data",
      "ad_revenue": "tenjin_ad_revenue_data"
    }
  },
  "source": {
    "group_by": [
      "campaign",
      "country"
    ],
    "report_types": [
      "spend"
    ],
    "metrics": [
      "spend",
      "cpc",
      "cpi",
      "tcpi",
      "cpm",
      "total_rev",
      "revenues",
      "pub_rev",
      "clicks",
      "tracked_clicks",
      "impressions",
      "installs",
      "tracked_installs",
      "ctr",
      "cvr",
      "users"
    ]
  }
}
- 分析维度
成本数据提供了以下分析维度,默认情况下,我们使用campaign, country作为分析维度,您也可以根据需要选择其他分析维度。如需调整,请将分析维度填写在 source.group_by 中:
| 分析维度 | 包含维度字段 | 是否默认 | 
|---|---|---|
| app | app_id, bundle_id | |
| channel | ad_network_name, ad_network_id, ad_network_icon_url | |
| country | country | |
| platform | platform | |
| site | site_id | |
| campaign | campaign_name, campaign_id, ad_network_name, ad_network_id, ad_network_icon_url, app_id, app_name, bundle_id, store_id, app_icon_url, channel, platform | |
| campaign, country | campaign_name, campaign_id, ad_network_name, ad_network_id, ad_network_icon_url, app_id, app_name, bundle_id, store_id, app_icon_url, channel, platform, country | 是 | 
| channel, app | ad_network_name, ad_network_id, ad_network_icon_url, app_id, bundle_id | |
| channel, app, country | ad_network_name, ad_network_id, ad_network_icon_url, app_id, bundle_id, country | 
部分关键指标存在报告值和追踪值,默认情况下,我们选取报告值,如果您需要调整成追踪值,建议将这些指标都调整为追踪值,以保证数据的逻辑一致性。如需调整接入的指标,请将 API 字段名写入 source.metrics 中:
| API字段 | 字段名 | 含义 | 是否默认 | 
|---|---|---|---|
| spend | 总支出 | 总支出值 ($) | 是 | 
| cpc | CPC | 平均 CPC ($) | 是 | 
| cpi | CPI | 每次报告安装的成本($) | 是 | 
| tcpi | 追踪安装的 CPI | 每次追踪安装的成本 ($) | 是 | 
| cpm | CPM | 平均 CPM ($) | 是 | 
| cp_ksessions_Nd | N 日每千次 Sessions 平均成本 | 第 N 日 1000 次 Sessions 的平均成本 ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| cp_user_Nd | N 日每留存用户成本 | 第 N 日 留存用户的平均成本 ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| roas_Nd | N 日 ROAS | 第 N 日 ROAS (%) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| roi_Nd | N 日 ROI | 第 N 日 ROI (%) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| total_rev | 总收入 | 总收入值 ($) | 是 | 
| total_arpu | 总 ARPU 值 | 包含内购与广告的 ARPU 值 ($) | |
| total_rev_Nd | N 日 LTV | 第 N 日的 LTV ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| rpu_Nd | N 日总收入 LTV / 用户数 | 第 N 日 LTV 除以 DAU 的值 ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| revenues | 内购收入 | 内购的收入 ($) | 是 | 
| iap_arpu | 内购 ARPU 值 | 仅包含内购的 ARPU 值($) | |
| revenues_Nd | N 日内购收入 LTV | 第 N 日内购收入的 LTV ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| iap_rpu_Nd | N 日 内购收入 LTV / User | 第 N 日只计算 IAP 的 LTV 值除以 DAU ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| pub_rev | 广告收入 | 广告总收入 ($) | 是 | 
| pub_arpu | 广告收入 ARPU 值 | 仅包含广告收入的 ARPU 值 ($) | |
| pubrev_Nd | N 日 广告收入 LTV | 第 N 日广告收入的 LTV ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| pub_rpu_Nd | N 日 广告收入 LTV / 用户数 | 第 N 日广告收入的 LTV 除以 DAU 的值 ( ($) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| fraud_purchases | 虚假购买数 | 虚假购买的次数 | |
| fraud_revenue | 虚假收入 | 被拦截的虚假购买的收入 ($) | |
| clicks | 报告点击数 | 报告的总点击次数 | 是 | 
| clicks_difference | 点击差异数 | 报告点击与追踪点击的差值 | |
| clicks_difference_pct | 点击差异占比 | 报告点击与追踪点击的差异占比 (%) | |
| tracked_clicks | 追踪点击数 | 追踪到的点击数 | 是 | 
| blocked_clicks | 拦截的点击数 | 被拦截的点击的次数 | |
| impressions | 报告曝光数 | 报告的曝光数 | 是 | 
| tracked_impressions | 追踪曝光数 | 追踪到的曝光数 | |
| installs | 报告安装数 | 报告的安装数 | 是 | 
| installs_difference | 安装差异数 | 报告安装与追踪安装的差值 | |
| installs_difference_pct | 安装差异占比 | 报告安装与追踪安装的差异占比(%) | |
| tracked_installs | 追踪安装数 | 追踪到的安装数 | 是 | 
| ctr | CTR | 平均 CTR (%) | 是 | 
| cvr | CVR | 平均 CVR (%) | 是 | 
| all_fraud | 虚假事件量 | 虚假事件的总数 | |
| blocked_device_events | 拦截的设备事件数 | 被拦截的设备事件数 | |
| cpr | Completion Rate (CPR) | 平均 CPR Percentage (%) | |
| sessions | Session 数 | 平均 Sessions 数 | |
| sessions_Nd | N 日 Session 数 | 第 N 日的 Sessions 数 N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| users | DAU | 平均 DAU | 是 | 
| retention_Nd | N 日留存率 | 第 N 日的留存率(%) N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| users_Nd | N 日留存人数 | 第 N 日的留存用户数 N 的范围是:0, 1, 2, 3, 4, 5, 6, 7, 14, 30, 60, 90, 120 | |
| tracked_cvr | 追踪转化率 | 追踪到的转化率 (%) | 
使用数据中的 day 字段,即数据的日期,设置为聚合数据的 #event_time
模板中使用的事件名为 -- tenjin_spend_data
# 2.4.2 Ad Revenue 模板
Ad Revenue 模板对应拉取 API 的收益数据,即流量主数据,以下是该接口的的模板,您可以直接全文复制到集成配置中。如需调整,请参照本小节的内容:
{
  "sink_event": {
    "event_mapping": {
      "spend": "tenjin_spend_data",
      "ad_revenue": "tenjin_ad_revenue_data"
    }
  },
  "source": {
    "group_by": [
      "channel",
      "app",
      "country"
    ],
    "report_types": [
      "ad_revenue"
    ],
    "metrics": [
      "ad_revenue",
      "clicks",
      "ecpc",
      "ecpm",
      "impressions"
    ]
  }
}
- 分析维度
收益数据提供了以下分析维度,默认情况下,我们使用channel, app, country作为分析维度,您也可以根据需要选择其他分析维度。如需调整,请将分析维度填写在 source.group_by 中:
| 分析维度 | 是否默认 | 
|---|---|
| app | |
| channel | |
| country | |
| channel, app | |
| channel, app, country | 是 | 
| ad_placement | 
部分关键指标存在报告值和追踪值,默认情况下,我们选取报告值,如果您需要调整成追踪值,建议将这些指标都调整为追踪值,以保证数据的逻辑一致性。如需调整接入的指标,请将 API 字段名写入 source.metrics 中:
| API字段 | 是否默认 | 含义 | 
|---|---|---|
| ad_revenue | 是 | 总收益 | 
| clicks | 是 | 总点击量 | 
| ecpc | 是 | eCPC(每次点击收益) | 
| ecpm | 是 | eCPM(千次展示收益) | 
| impressions | 是 | 总曝光量 | 
使用数据中的 day 字段,即数据的日期,设置为聚合数据的 #event_time
模板中使用的事件名为 -- tenjin_ad_revenue_data
# 2.5 标准化字段
如果数据中存在以下事件属性,我们会自动进行标准化处理:
| 原始字段 | 标准化字段 | 含义 | 
|---|---|---|
| campaign_name | te_ads_object.campaign_name | 广告计划名 | 
| campaign_id | te_ads_object.campaign_id | 广告计划 ID | 
| ad_network_name | te_ads_object.media_source | 媒体渠道或变现渠道 | 
| store_id | te_ads_object.app_id | 应用 ID | 
| app_name | te_ads_object.app_name | 应用名 | 
| platform | te_ads_object.platform | 平台,即 Android、iOS 等 | 
| country | te_ads_object.country | 国家地区编码 | 
| 【USD】 | te_ads_object.currency | 成本或收益的币种 | 
| impressions | te_ads_object.impressions | 曝光量 | 
| clicks | te_ads_object.clicks | 点击量 | 
| installs | te_ads_object.installs | 转化量(安装) | 
| spend | te_ads_object.cost | 买量成本 | 
| ad_revenue | te_ads_object.revenue | 变现收益 | 
