menu
Is this helpful?

# Singular 集成方案

TIP

请注意,第三方数据集成产生的数据会被纳入集群的消耗数据量

# 概要

# 接口简介

接口名 类型 粒度 归因 成本 收益 展示 点击 转化
Internal BI Postbacks 回传 用户级别

Singular 提供了合作伙伴设置回调功能 (opens new window),您可以使用该功能回传用户粒度数据,包括归因数据、广告收益以及转化数据

在开始接入 Singular 数据前,请确保您已经阅读 TE 系统用户识别规则,理解 TE 如何通过 #distinct_id 和 #account_id 识别一个用户

# 集成流程

  1. 接入 Singular 客户端 SDK 与 TE 客户端 SDK,在 Singular SDK 中设置 TE 用户识别 ID
  2. 登录 TE 后台,进入三方集成模块,新增 Singular 回传方案,完成相关配置并获取回调地址
  3. 在 Singular 的后台添加 Internal BI 回调
  4. 查看 TE 系统否成功接收数据,并完成报表搭建

# 一、客户端 SDK 配置

如果要将 Singular 的回传数据与 TE 项目的用户数据进行打通,就需要在 Singular SDK 中上报 TE 项目的账号 ID 与访客 ID。

我们非常建议您先初始化 TE SDK,并在 Singular SDK 初始化时将 TE SDK 的访客 ID 设置为 Singular 的自定义用户 ID,以下是 Android 的代码样例:

// 初始化 TE SDK
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);

// 获取 TE 的访客 ID, 对应 TE 中的 #distinct_id
String te_distinct_id = ThinkingAnalyticsAPI.GetDistinctId();

// 在 SingularConfig 中传入 TE 的访客 ID, 将其作为自定义用户 ID,并进行初始化
SingularConfig config = new SingularConfig("SDK KEY","SDK SECRET")
    .withCustomUserId(te_distinct_id);
Singular.init(context, config);

# 二、方案配置

完成 SDK 配置后,接下来需要您登录 TE 系统后台,在「三方集成」模块中完成 Singular 方案的配置。下图是 Singular Internal BI Postbacks 方案的配置界面:

# 2.1 用户识别字段

由于 Singular Internal BI Postbacks 数据是用户级别数据,因此需要为其设置用户识别规则,即 Singular SDK 中设置的 TE 系统的用户识别 ID。TE 系统将根据该配置,在转换回传数据时,将这些字段设置为数据中的用户识别字段。

如果您按照本文档上一步进行客户端 SDK 配置,请使用以下配置:

  • 账号 ID 关联字段:无
  • 访客 ID 关联字段:user_id

# 2.2 事件表入库设置

打开「事件表入库设置」开关后,Singular 回传的数据都将写入到事件表中,我们建议您开启事件数据入库。

# 2.3 用户属性入库规则

在默认情况下,TE 系统不会将 Singular 数据写入到用户属性中。如果您希望将一些字段写入用户表,比如用户归因信息字段,请首先打开规则,使其运行,再通过属性映射功能添加需要写入用户表的字段,来源属性名需填写字段的入库名:

我们建议您可以按照以下方式设置用户属性入库规则:

  • 关闭「包含所有事件」
  • 来源事件名选择:singular_install
  • 入库规则使用:user_setOnce
  • 属性字段配置如下:
来源数据名 目标属性名 说明
network te_ads_object.media_source 媒体渠道
tracker_campaign_name te_ads_object.campaign_name 广告计划名
tracker_sub_campaign_name te_ads_object.ad_group_name 广告组名
tracker_creative_name te_ads_object.ad_name 广告名

# 2.4 集成配置

您可以在集成配置模块对数据拉取的细节配置进行控制。比如入库后的事件名等

集成配置中的内容是一个 JSON,您可以按照以下内容进行自定义配置:

模块 名称 含义
sink_event event_mapping 入库后的事件名,可以自定义。Key 为 Singular 回传数据的事件名,Value 为该事件入库后的事件名。如果有事件没有写在此处,则会按照回传数据的事件名在前加 singular_ 前缀作为其入库事件名

# 2.5 终端地址

终端地址中展示了 TE 系统接收 Singular 回传数据的地址。请您直接复制该地址,在接下来进行 Singular 回传配置时,请将该地址填入:

若此处无地址没有显示,请进入右上角菜单「项目管理」-「接入配置」-「数据上报地址」处配置公网地址。该地址即 TE SDK 中配置的数据上报地址。配置后再回到 Singular 配置页的「数据源」复制终端地址。

最后,别忘了点击右上角的保存按钮,将 Singular 方案保存下来。

# 三、配置回调与数据入库

# 3.1 配置回调

当您创建完成了 Singular 的方案,登录 Singular 后台,进入 Attribution > Partner Configuration 页,点击「Add a Partners」,在搜索框内输入 Internal BI 并点击,即可添加一个 Partner Configuration。

进入 Configuration 页面,首先选择需要回传数据的 App 和 Site

其次,请将 TE 系统中 Singular 集成方案的回调地址,填入 Postback URL 中

最后,Singular 的会默认回传安装事件(install),如果您还有应用内事件需要回传,请在下拉框中选择「Send all events, regardless of attributed partner」,并在其下方添加需要回传的事件(如果是收益事件,可以勾选收益数据回传):

WARNING

注意:SDK事件列表中包括以下几种收益事件选项:

  • __IAP__是指所有没有自定义名称的应用内购买事件
  • 直接显示事件名的收益事件指的是已经经过重命名的应用内购买事件
  • ADMON_USER_LEVEL_REVENUE 指的是广告收益事件(如果您配置了 Ad Revenue Attribution)
  • __REVENUE__包括:
    • 所有应用内购买事件(包含__IAP__与自定义的应用内购买事件)
    • 广告收益事件(如果您配置了 Ad Revenue Attribution)
    • 并且会将所有收益数据统一成一个事件进行回传

在配置回传时,请确认应用内购买事件是否在 TE SDK 中已经上报了。如果 TE SDK 中已上报应用内购买事件,则不建议您从 Singular 回传__IAP__以及其他应用内购买事件,避免数据重复 另外,由于__REVENUE__会将所有收益事件统一成一个事件,因此如果您的项目中同时记录了应用内购买事件以及广告收益事件,则不建议配置__REVENUE__,而是单独配置每一个收益事件,从而更好地内购与广告变现数据

# 3.2 事件入库规则

  • 使用数据中的 user_id 字段,作为用户的访客 ID
  • 使用数据中的 event_utc_timestamp 字段,即事件发生时间,作为数据的 #event_time
  • 数据事件名取数据中的 event_name,并加前缀 singular_ ,未命名的收益事件将会被命名为:
    • IAP:singular_iap
    • ADMON USER_LEVEL_REVENUE_:singular_ad_revenue
    • REVENUE:singular_revenue
  • 其余字段都将会入库,以下展示的是 Internal BI Postbacks 回传的字段:
字段 含义
app_name 应用名称
longname 应用的 bundle ID
platform 操作系统,取值为 iOS 或 Android
event_name 事件名称
idfa iOS 的 IDFA
idfv iOS 的 IDFV
aifa Android 设备的广告标识 ID
android_id Android ID,只有 AIFA 不可用时才会上报
singular_id (过时)当 iOS 设备限制数据跟踪(开启 LAT 时)才会上报,使用Singular 内部 ID
event_utc_timestamp 事件发生时的 UNIX 时间戳
click_utc_timestamp 点击时的 UNIX 时间戳
install_utc_timestamp 安装时的 UNIX 时间戳
is_organic 1 代表用户是自然量,0 代表用户是非自然量
is_viewthrough 1 代表用户是展示归因,0 则反之
network 用户归因的媒体渠道
campaign Singular 标识的 Campaign 名
campaign_group Singular 标识的 Campaign 组名(部分平台会有)
creative Singular 标识的创意名或创意 ID
site Source site & Sub Site for click. Available if passed in click
user_id 自定义用户 ID,根据 2.1 的配置,值应等于 TE 系统访客 ID
singular_click_id Singular 生成的唯一点击 ID
is_reengagement 1 代表再营销广告回流用户,0 则相反
click_ip 点击广告时的 IP 地址
os_version 点击广告时的操作系统版本
app_version 安装或事件发生时的应用版本
country 用户安装时的国家(地区)
city 用户安装时的城市
limit_ad_tracking 1 代表开启了限制追踪,0 代表其他情况
device_model 设备机型
device_brand 设备品牌
match_type 归因匹配模式,取值有 deterministic (设备 ID 匹配,精准匹配), probabilistic (Android 独有,模糊匹配), or none (即自然量).
amount 收益数据才会回传,以美元计价的收益值
currency 收益数据才会回传,收益计价币种的 ISO 4217 三位字母的货币代码
is_first_event 1 代表该事件(收益或自定义事件)是该设备第一个时间,0 代表不是第一个事件
tracker_campaign_name 渠道回传的 Campaign 名
tracker_campaign_id 渠道回传的 Campaign ID
tracker_sub_campaign_name 渠道回传的 Sub-campaign 名
tracker_sub_campaign_id 渠道回传的 Sub-campaign ID
tracker_creative_name 渠道回传的创意名
tracker_creative_id 渠道回传的创意 ID
tracker_publisher_id 渠道回传的哈希后的 App ID
tracker_publisher_sub_id 渠道回传的 Publisher SUB ID
tracker_publisher_site_name 渠道回传的 App 名
tracker_publisher_site_id 渠道回传的 App ID
tracker_publisher_sub_site_name 渠道回传的 Sub-publisher 名
tracker_publisher_sub_site_id 渠道回传的 Sub-publisher ID
tracker_name 追踪到的 Campaign 名
network_tiktok_restricted 对于 Tiktok 的展示归因用户数据,会有该限制字段,详见附录
campaign_tiktok_restricted 对于 Tiktok 的展示归因用户数据,会有该限制字段,详见附录
fb_campaign_id Facebook 的 Campaign ID,会收到 Facebook 服务条款的限制,详见附录
fb_campaign_name Facebook 的 Campaign 名,会收到 Facebook 服务条款的限制,详见附录
fb_adset_id Facebook 的 Ad Set(广告组)ID,会收到 Facebook 服务条款的限制,详见附录
fb_adset_name Facebook 的 Ad Set(广告组)名,会收到 Facebook 服务条款的限制,详见附录
fb_ad_id Facebook 的广告 ID,会收到 Facebook 服务条款的限制,详见附录
fb_ad_name Facebook 的广告名,会收到 Facebook 服务条款的限制,详见附录
twitter_campaign_name Twitter 的 Campaign 名,会收到 Twitter 服务条款的限制,详见附录
twitter_campaign_id Twitter 的 Campaign ID,会收到 Twitter 服务条款的限制,详见附录
twitter_line_id Twitter 的 Line Item(广告组) ID,会收到 Twitter 服务条款的限制,详见附录
fraud_status 假量识别的结果,只有开启 fraud postbacks 时才会回传,取值为"valid"/"suspicious"/"rejected"(有效/疑似/拒绝)
fraud_reason 假量数据的识别规则名,只有开启 fraud postbacks 时才会回传

# 3.3 标准化字段

Singular 回调数据中的部分字段,TE 系统会进行标准化处理:

字段 标准化字段 含义
app_name te_ads_object.app_name 应用名
longname te_ads_object.app_id 应用 ID
platform te_ads_object.platform 平台,即 Android、iOS 等
country te_ads_object.country 国家地区编码
amount te_ads_object.revenue 变现收益
currency te_ads_object.currency 收益的币种
network te_ads_object.media_source 媒体渠道
tracker_campaign_name te_ads_object.campaign_name 广告计划名
tracker_campaign_id te_ads_object.campaign_id 广告计划 ID
tracker_sub_campaign_name te_ads_object.ad_group_name 广告组名,变现广告的 Unit 名
tracker_sub_campaign_id te_ads_object.ad_group_id 广告组 ID,变现广告的 Unit ID
tracker_creative_name te_ads_object.ad_name 广告名
tracker_creative_id te_ads_object.ad_id 广告 ID

# 四、附录

部分平台会限制用户粒度数据回传到其他第三方平台,其中也包括使用 Internal BI Postbacks 回传到 TE 系统。以下表格展示的是这些平台的限制规则:

平台名 限制规则
Facebook Facebook 用户粒度数据会在归因后的 6 个月清除,因此在归因的 6 个月后,Facebook 的归因用户会在 Singular 系统中被标识为 "Organic"(即自然量)。同时获取 Facebook 展示归因的用户粒度数据在最终用户协议中是不被允许,因此 Facebook 展示归因用户的归因信息都会被标记为 "Unattributed"
Google Ads (Adwords) Google Ads 用户粒度数据会在归因后的 6 个月清除,因此在归因的 6 个月后,Google Ads 的归因用户会在 Singular 系统中被标识为 "Organic"(即自然量)
Snapchat Snapchat 的数据分享政策禁止任何 Snapchat 数据分享给第三方
TikTok TikTok 用户粒度数据会在归因后的 6 个月清除,因此在归因的 6 个月后,Tiktok 的归因用户会在 Singular 系统中被标识为 "Organic"(即自然量)。同时获取 Tiktok 展示归因的用户粒度数据在最终用户协议中是不被允许,因此从 2022-05-02 之后的 Tiktok 展示归因用户的归因信息都会被标记为"TikTok Restricted"
Twitter 请确认您的 Twitter 接入点有资格接收 Twitter 的设备粒度归因数据 Twitter用户粒度数据会在归因后的 6 个月清除,因此在归因的 6 个月后,Tiktok 的归因用户会在 Singular 系统中被标识为 "Organic"(即自然量)。另外,Twitter 最终用户有权将他们的数据从第三方处删除,这些用户的数据不会出现在用户粒度数据中,但仍会在聚合数据中被计算