转化归因——API自归因接口
1. 请求参数
参数仅适用于使用新转化归因专区的API自归因接口上报。
原有上报方式请参考:《原应用类API接口》
2. 请求参数及示例
名称 | 是否必填 | 类型 | 描述 | |
user_id | hash_imei | Android 必填 IOS不填 |
string | IMEI设备号保持小写,进行MD5编码字段长度为32字节 |
hash_idfa | IOS必填 Android 不填 |
string | IDFA设备号保持大写,进行MD5编码 字段长度为32字节 |
|
hash_phone | 选填 | string | 电话号码直接 MD5 编码,如 md5(13500000000) 字段长度为32节 |
|
oaid | Android 选填,推荐使用 IOS不填 |
string | 移动安全联盟(简称MSA)制定的匿名设备标识符,保留原始值,不需要MD5编码。具体OAID介绍以及最新覆盖厂商范围请详见 [MSA官网] |
|
hash_oaid | Android 选填,推荐使用 IOS不填 |
string | oaid原值进行MD5编码 | |
hash_android_id | Android 选填 IOS不填 |
string | 对 android_id 进行 MD5 编码 字段长度为 32 字节 |
|
CALLBACK | 无 | 必填 | string | 直接从点击转发出去的__CALLBACK__字段中URLDecode获得,每次点击唯一,作为上报地址使用 |
curl -X POST \
http://tracking.e.qq.com/conv?cb=YWRzX3NlcnZpY2UsMTU4NDUxMDI3OSwyNjg5MzNhMzc5MTM0YzBjMDQ4ZGZjMGQyNGYzMTk0NWYzMzJiOWNi&conv_id=10001 \ //这里请求的url&path 直接从点击转发出去的__CALLBACK__字段中URLDecode获得,左边是示例请求,请勿直接上报
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"actions":[
{
"outer_action_id":"outer_action_identity",// 选填,若上报可能有重复请填写该id,系统会根据该ID进行去重
"action_time":1492998081,
"user_id":{// 必填 user_id,可采集到的设备标示
"hash_imei":"f9efca36a3c30e1cf28170d86ecbf5e9",
"hash_idfa":"f9efca36a3c30e1cf28170d86ecbf5e9",
"hash_android_id":"",
"oaid":""
"hash_oaid":""
},
"action_type":"ACTIVATE_APP", // 必填 行为类型
"action_param":{
"value":123,// 选填,用作付费/下单金额等上报
"int_example":456,// 选填,int类型参数示例
"int_array_example":[
123,
456
],// 选填,int类型数组示例
"string_example":"aaa",// 选填,string类型参数示例
"string_array_example":[
"aaa",
"bbb"
]// 选填,string类型数组示例
}
}
]
}'
当请求API后,收到返回值为{"code":0, "message":""} 表示广告平台成功收到数据
注意上报地址CALLBACK是直接从点击转发出去的CALLBACK字段中URLDecode获得,上面示例中的url&path是示例请求,请勿直接上报
3. 优化目标上报方式说明
优化目标名称 | 标准行为(action_type) | 行为参数(action_param) | 投放端指标 | 备注 |
激活 | ACTIVATE_APP | 激活总量 | ||
次日留存 | START_APP | length_of_stay=1 | 次日留存量 | |
注册 | REGISTER | 注册量 | ||
付费 | PURCHASE | 付费行为量 | 若要上报金额请在param中添加参数“value”:123 | |
首次付费 | PURCHASE | 首次付费人数 | 系统会依据设备号进行去重,若要上报金额请在param中添加参数“value”:123 | |
下单 | COMPLETE_ORDER | 下单量 | 若要上报金额请在param中添加参数“value”:123 | |
关键页面浏览 | VIEW_CONTENT | 关键页面浏览量 | ||
商品页浏览 | VIEW_CONTENT | object=PRODUCT | 商品页浏览量 | |
发货 | DELIVER | 订单发货量 | 若要上报金额请在param中添加参数“value”:123 | |
加入购物车 | ADD_TO_CART | 加入购物车量 | ||
首次会员购买 | PURCHASE | object=MEMBER_CARD | APP/WEB | 系统会依据设备号进行去重,若要上报金额请在param中添加参数“value”:123 |
完件 | APPLY | 完件量(金融) | ||
预授信 | PRE_CREDIT | 预授信量(金融) | 若要上报金额请在param中添加参数“value”:123 | |
授信 | CREDIT | 授信量(金融) | 若要上报金额请在param中添加参数“value”:123 | |
提现 | WITHDRAW_DEPOSITS | 提现量(金融) | 若要上报金额请在param中添加参数“value”:123 |
4. 转化上报常用参数列表(action_param)
参数名 | 类型 | 描述 | 是否必填 | 取值范围 | 备注 |
---|---|---|---|---|---|
value | int | 订单价值,单位:分 | 否 | — | 体现转化带来的价值,在上报COMPLETE_ORDER或PURCHASE行为时可选填 |
object | string | 行为对象 | 否 | ^.{0,200}$ | 在上报VIEW_CONTENT行为时参数填写为object=product,表示上报的是商品页面浏览行为 |
length_of_stay | int | 停留时间,单位:天 | 否 | — | 在上报START_APP作为留存行为时必填。length_of_stay=1,表示上报的是次日留存行为。 |
5. 数据上报错误提示
错误码 | 中文提示 | 英文提示 |
20001 | 回调url内容错误 | CB_CONTENT_ERROR |
20002 | 没有与转化ID对应的转化规则 | CONV_ID_ILLEGAL |
20003 | 无效数据源ID | ACTION_SET_ID_ABNORMAL |
20004 | 无效账户ID | ACCOUNT_ID_ABNORMAL |
20005 | 编码base64密钥失败 | ENCODE_B64_KEY_ERROR |
20006 | 回调url base64解码失败 | DECRYPT_B64_CB_ERROR |
30000 | Api访问失败 | API_ERROR |
6. 设备标识获取方式
IMEI
- 描述:
- Android版本 < 6.0,只需要READ_PHONE_STATE静态权限(安装App时即可获取到该权限),即可通过系统API TelephonyManager#getDeviceId API获取准确值;
- 6.0 <= Android版本 <= 9.0,READ_PHONE_STATE升级为动态权限,安装App时不会获得该权限,需要在App运行时用户在弹窗确认授权后才可以获取
- Android版本 >= 10.0,设备不可变ID的隐私保护得到进一步升级,需要READ_PRIVILEGED_PHONE_STATE权限才可以获取IMEI,而该权限只有系统级别的应用才可以获得,因此一般App无法获取到IMEI。
- 原始数据获取
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); deviceId = tm.getDeviceId(); // android版本>=10.0 不获取
- 加密方式
对IMEI设备号转成小写,再进行md5编码,再小写,32位。md5(imei.toLowerCase()).toLowerCase() - 示例
- 原始值:868049039501257
- MD5后:8d3ebd3654fb46a2832296669cf1b536
IDFA
- 描述:
目前iOS系统主流的广告获取设备标识符方式。用户可开启、关闭,每次切换会改变为新的取值。 10以下的版本关闭时也能取到唯一值, >=10的iOS版本关闭时取到的值为00000000000 ;系统大版本升级(如11 到 12) IDFA也会发生变化 - 原始数据获取
idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
- 加密方式
IDFA 设备号保持大写,进行 md5 编码,再小写,32位。md5(idfa.toUpperCase()).toLowerCase()
Android ID
- 描述:
- Android版本 = 8.0,应用签名、用户(即系统上的用户账号)和设备的每个组合都具有唯一的 ANDROID_ID值,即使系统升级也不变。
- 原始数据获取
Settings.System.getString(context.getApplicationContext().getContentResolver(), Settings.System.ANDROID_ID);
- 加密方式
对 android_id 进行 md5 编码,再小写。 md5(androidId).toLowerCase() - 示例
- 原始值:f40c5cf5100f9be3
- MD5后:1995c8f7cec20632797539b68555752f
OAID
- 描述:
移动安全联盟(简称MSA)制定的匿名设备标识符,保留原始值,不需要MD5编码。可用于android系统的补充设备标示,通常android10以上的国内主流设备都可以获取。具体OAID介绍以及最新覆盖厂商范围请详见 [MSA官网] - 原始数据获取
使用MSA官网提供的sdk - 加密方式
无需加密
HASH_OAID
- 描述:
移动安全联盟(简称MSA)制定的匿名设备标识符,原始值进行MD5编码。可用于android系统的补充设备标示,通常android10以上的国内主流设备都可以获取。具体OAID介绍以及最新覆盖厂商范围请详见 [MSA官网] - 原始数据获取
使用MSA官网提供的sdk - 加密方式
OAID原值做MD5加密