APP转化数据API自归因
1 选择监测链接,通过 callback 上报
1.1 可配置的监测链接
| 监测类型 |
|---|
| 广告点击 |
| 广告曝光 |
| 应用激活 |
1.2 获得 access_token
通过开发者平台注册应用并自行获取 token, 详见如何获取 access_token。
1.3 开启鉴权
进入 DataNexus - <广告效果监测> 页面,选择【查看开启配置】。勾选后,点击【确定】。
![]()
__CALLBACK__ 中下发的 url 将根据您的【开启鉴权】/【关闭鉴权】操作变化。
| 鉴权状态 | url | 新增校验点 |
|---|---|---|
| 开启鉴权 | https%3A%2F%2Fapi.e.qq.com%2Fconv%3Fcb%3DxXx%252BxXx%253D%26conv_id%3D123 | 上报代码中是否添加-access-token、timestamp、nonce 字段 access-token 是否有效 |
| 关闭鉴权 | http%3A%2F%2Ftracking.e.qq.com%2Fconv%3Fcb%3DxXx%252BxXx%253D%26conv_id%3D123 | 无 |
信息
__CALLBACK__ 中下发的 url 将于 2025 年 Q3 全量自动切换为【开启鉴权】状态,请广告主尽早排期切换,具体请见 升级指引 。
1.4 post 形式上报 cb
1.4.1 请求参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| actions | array | Y | 返回数组列表,不能大于 50KB,数组最小长度 1,最大长度 50 |
| action_time | integer | Y | 行为发生时,客户端的时间点。UNIX 时间,单位为秒,如果不填将使用服务端时间填写,最大值 2147483647 |
| user_id | object | C | 用户标识,app 数据上报时必填,user_id 与 click_id 二选一必填 |
| hash_imei | string | Android 设备填写,md5 后的 IMEI 设备号,详见 加密方法 | |
| md5_sha256_imei | string | Android 设备填写,md5 和 sha 256 后的 IMEI 设备号,详见 加密方法 | |
| hash_android_id | string | Android 设备填写,md5 后的 android_id 设备号,详见 加密方法 | |
| hash_oaid | string | Android 设备填写,md5 后的 oaid 设备号,详见 加密方法 | |
| md5_sha256_oaid | string | C | Android 设备填写,md5 和 sha 256 后的 oaid 设备号,详见 加密方法 |
| hash_idfa | string | iOS 设备填写,md5 后的 IDFA 设备号,详见 加密方法 | |
| md5_sha256_idfa | string | iOS 设备填写,md5 和 sha 256 后的 IDFA 设备号,详见 加密方法 | |
| gdt_openid | string | GDT Cookie Mapping 分配的 openid,不做处理,字段长度为 64 字节 | |
| hash_phone | string | 电话号码直接 MD5 编码,如 md5(13500000000),字段长度为 32 字节 | |
| sha256_phone | string | SHA256 算法加密后的手机号,加密前为 11 位的纯数字串,加密后为不计大小写的 64 位数字字母串,字段长度为 64 字节 | |
| wechat_openid | string | 微信 openid 保持原值。微信 openid 是微信用户在公众号/小程序 appid 下的唯一用户标识(appid 不同,则获取到的 openid 就不同),可用于永久标记一个用户。您只能上传您已经获得授权关联的 APPID 内的 openID。否则会解析失败。请注意,当所填 user_action_set_id 的类型为{WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME}时,此字段和 wechat_unionid 必填其一,字段长度为 64 字节 | |
| wechat_unionid | string | 微信 unionid 保持原值。微信 unionid 是微信用户在同一个微信开发者账号下的唯一用户标识(开发者账号不同,则获取到的 unionid 就不同),可用于永久标记一个用户。您只能上传您已经获得授权关联的 APPID 所属开发者账号内的 unionid。否则会解析失败。请注意,当所填 user_action_set_id 的类型为{WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME}时,此字段和 wechat_openid 必填其一,字段长度为 64 字节 | |
| wechat_app_id | string | 微信分配的 APPID。请填写所填的 wechat_openid 对应的 APPID。请确保您已经获得所填 APPID 的授权关联,否则将无法通过鉴权。当您填写 wechat_openid 时,此项必填。当您未填 wechat_openid,此项填写无效。请注意,当所填 user_action_set_id 的类型为{WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME}时,此字段必填,字段长度为 64 字节 | |
| caid | string | iOS 设备填写,全称 CAA Advertising id,中国广告协会互联网广告标,详见 加密方法 | |
| caid_version | integer | 可上报腾讯版本号或中广协版本号。建议上报最新的 caid 版本,详见枚举值 | |
| action_type | enum | Y | 标准行为类型,见 枚举值,当值为 'CUSTOM' 时表示自定义行为类型 |
| outer_action_id | string | 用户自定义的行为 id 标识,最大值 255 字节 | |
| action_param | object | 行为所带的参数,最大值 204800 字节 | |
| claim_type | integer | 归因类型,腾讯平台会基于归因类型进行对应方式的归因,见 枚举值 | |
| value | integer | 订单价值,单位:分,100代表1元。体现转化带来的价值,一般在 action_type 为 COMPLETE_ORDER 或 PURCHASE 行为时选填 | |
| object | string | 行为对象,例如 action_type 为 VIEW_CONTENT 时,object=product代表“商品页面浏览 | |
| length_of_stay | integer | 停留时间,单位:天,例如action_type为START_APP作为留存行为时必填,length_of_stay=1,表示上报的是次日留存行为。枚举值:1、3、5、7,对应归因优化目标次日留存、移动app 3日留存、移动app 5日留存、移动app 7日留存 | |
| length_of_stay_s | integer | 停留时间,单位:秒,当您需要优化「长按扫码加粉」时,action_type 上报 SCANCODE_WX,length_of_stay_s 按真实秒数上报 | |
| consult_type | string | 咨询类型,见 枚举值 | |
| trust | integer | 反作弊过滤,广告主判定该转化行为,是否真实可靠。见 枚举值;为空/不上报,与trust=0处理逻辑一致 | |
| custom_action | string | 自定义行为类型,当 action_type=CUSTOM 时必填,最大值 128 字节 | |
| trace | object | 跟踪信息 | |
| click_id | string | 点击ID,user_id 与 click_id 二选一必填,广点通的click_id长度是20位数字+字母组合;微信的click_id长度是10-50,如wx0im5kwh44gh2yq,字段长度为 64 字节 | |
| url | string | C | 网页应用填写,url,请填写效果数据发生 h5 页面 URL 地址,如datanexus.qq.com,最大值 2048 字节 |
| product_inform | object | 商品信息 | |
| content_type | enum | 商品库行业。当您需要传输的商品信息为商品库行业标准类目时需要填写。详见 枚举值 | |
| product_catalog_id | string | 商品库 id。您已经同步到腾讯的商品库所对应的商品库 id,当填了商品 id 时,必须填写商品库 id,字段长度为 64 字节 | |
| product_id | string[] | 与行为相关的商品 id 列表。请填写商品库 id 内对应的商品 id,数组最大长度为 1000 | |
| category_path | string[] | 与行为相关的类目名称列表。对于所需回传的每一个商品类目,请按照“一级类目名称/二级类目名称/三级类目名称/四级类目名称”的格式回传完整类目路径,数组最大长度为 16 | |
| channel | enum | 渠道信息,标识该条行为发生在何渠道上,详见 枚举值,转化归因场景中,填写TENCENT或留空时,数据进入转化归因 |
1.4.2 请求体示例
curl -X POST
https://api.e.qq.com/v3.0/user_actions/add?cb=YWRzX......iOWNi&conv_id=10001 //这里请求的url&path 直接从点击转发出去的__CALLBACK__字段中URLDecode获得,左边是示例请求,请勿直接上报
-H 'Content-Type: application/json'
-H 'access-token: <ACCESS_TOKEN>' // 注意:这里是中划线(第 3 部分的非 callback 是下划线),静态 token 可从 DataNexus - 数据源 获得
-H 'timestamp: <TIMESTAMP>'
-H 'nonce: <NONCE>'
-H 'cache-control: no-cache'
-d '{
"actions":[
{
"outer_action_id":"outer_action_identity",// 选填,若上报可能有重复请填写该id,系统会根据该ID进行去重
"action_time":1492998081,
"user_id":{// 必填 user_id,可采集到的设备标示
"hash_imei":"7a4e6b9571b8911f9a035b3a76228ef7",// 示例,请勿直接上报,android设备上报imei
"hash_idfa":"abbaa569f8ab7cb1715c8aabe1db1247",// 示例,请勿直接上报,ios设备上报idfa
"hash_android_id":"",
"oaid":"",
"hash_oaid":"",
"caid":"a424aafe3c44b7e3618a95c0d55a56de",// 示例,请勿直接上报,ios设备上报caid
"caid_version":"1004",// 示例,请勿直接上报,ios设备上报caid_version
},
"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类型数组示例
}
}
]
}'
1.4.3 应答体结构
| 名称 | 类型 | 是否一定返回 | 描述 |
|---|---|---|---|
| code | integer | Y | 返回码,等于0表示成功,不等于0表示错误,具体见文档附录 |
| message | string | Y | 错误描述,code不等于0时,message为错误描述 |
| message_cn | string | 中文错误描述,code不等于0时,message_cn为错误情况的中文描述 | |
| data | object | 资源数据,具体返回内容见各接口定义,只在code等于0时可能返回 | |
| errors | object | 详细错误信息,只在code不等于0时可能返回 |
1.4.4 应答示例
{
"code": 0,
"message": "",
"message_cn": {},
"trace_id": "ee1fe1f904985216ca4d761c07840d16_0" //DataNexus 赋予的唯一 id 值,供排查问题使用,若咨询反馈中心请提供该字段的值
}
2 确定行为类型
在数据上报接口的必填字段 action_type 中,填写需要上报的转化行为类型。 常用的优化目标对应行为类型请见下表,完整转化行为请参考 action_type 标准行为类型枚举。
| 优化目标名称 | 标准行为(action_type) | 行为参数(action_param) | 投放端指标 | 备注 |
|---|---|---|---|---|
| 下单 | COMPLETE_ORDER | 下单量 | 若要上报金额请在param中添加参数“value”:123 | |
| 表单预约 | RESERVATION | |||
| 注册 | REGISTER | 注册量 | ||
| 激活 | ACTIVATE_APP | 激活量 | 对同一个应用30天内重复的设备激活行为去重 | |
| 次日留存 | START_APP | length_of_stay=1 | 次日留存量 | 对同一个应用30天内重复的设备次留行为去重 |
| 首次付费 | PURCHASE | 首次付费量 | 若要上报金额请在param中添加参数“value”:123 | |
| 确认意向 | CONFIRM_EFFECTIVE_LEADS | 有效线索量 | ||
| 授信 | CREDIT | 金融授信量 | 若要上报金额请在param中添加参数“value”:123 | |
| 关注 | FOLLOW | |||
| 付费 | PURCHASE | 若要上报金额请在param中添加参数“value”:123 | ||
| 加企业微信客服 | SCANCODE | 加企业微信客服次数 | ||
| 关键页面访问 | VIEW_CONTENT | |||
| 广告变现 | AD_PURCHASE | 若要上报金额请在param中添加参数“value”:123 | ||
| 公众号内注册 | REGISTER | |||
| 商品详情页浏览 | PRODUCT_VIEW | |||
| 7日留存 | START_APP | length_of_stay=7 | ||
| 跳转按钮点击 | LANDING_PAGE_CLICK | |||
| 扫码加粉 | SCANCODE_WX | |||
| 综合线索收集 | CLAIM_OFFER 或 ONLINE_CONSULT 或 MAKE_PHONE_CALL 或 RESERVATION 或 SCANCODE | |||
| 关键行为 | action_type报“CUSTOM”,custom_action报“UV_CORE_ACTION” | |||
| 在线咨询 | ONLINE_CONSULT | |||
| 24小时下单 | COMPLETE_ORDER | 若要上报金额请在param中添加参数“value”:123 | ||
| 加群 | ADD_GROUP | |||
| 快应用加桌面 | ADD_DESKTOP | |||
| 电话拨打 | MAKE_PHONE_CALL | |||
| 小游戏创角 | CREATE_ROLE | |||
| 进件 | APPLY | 若要上报金额请在param中添加参数“value”:123 | ||
| 快速下单 | COMPLETE_ORDER | |||
| 互动问答 | RESERVATION_CHECK | |||
| 领券 | CLAIM_OFFER | |||
| 预付定金 | PRE_PAY | 若要上报金额请在param中添加参数“value”:123 | ||
| 主动一句话咨询 | CONSULT | consult_type=”INTELLIGENT_TOOL” AND consult_active_type=”1_1″ | ||
| 三句话咨询 | CONSULT | consult_type=”INTELLIGENT_TOOL” AND consult_active_type=”3_0″ |
3 转化上报常用参数列表(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,表示上报的是次日留存行为 |
4 数据上报错误提示
| 错误码 | 中文提示 | 英文提示 |
|---|---|---|
| 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 |
FAQ
Q:上报行为如何自定义去重?
A:可以在 actions 内加入outer_action_id参数进行自定义去重。
| 参数名 | 类型 | 说明 | 描述 |
|---|---|---|---|
| outer_action_id | string | 去重标识,字段长度最小1字节,最大长度255字节,且只能为数字,字母,下划线,连接符组成 | 平台会基于user_action_set_id,outer_action_id 和action_type三个字段做去重 ,如果历史上报数据中存在某条数据的这三个字段与当前上报数据完全一样的,则当前数据会被过滤掉 |
Q:新版转化归因是否支持使用非 callback 上报?
A:在 <投放管理平台>-<工具>-<转化归因> 中选择【已有数据源上报】即可。
![]()
Q:我的投放账户下有多个转化ID,每个转化 ID 需要有单独的 access-token 吗?
A:access-token 按投放账户生效,故每个投放账户下的所有转化 ID 的可使用同一套 access-token 上报。
Q:我有多个投放账户,如何升级更简单?
A:callback 上报(情况1)中,1 个 access-token 供多个投放账户(不限主体)使用。
Q:非 callback 上报,1 个 access-token 也可供多个投放账户使用吗?
A:非 callback 上报,将按 marketAPI 的要求完成鉴权,具体请见 通过 Oauth 2.0 获得 access_token 。
该内容是否有帮助?