转化事件回调服务
简介
广告主在收到广告平台下发的点击或者展示事件后(通过转化归因-监测API),需要进行用户的归因。 在完成归因后,广告主需要将相应的转化事件信息传递给广告平台,并以此计算一次转化。 转化事件回传接口,就是用来接受广告主自己定义的转化事件的接口,通过调用转化归因-回调API,可以将广告主的广告转化相关数据回传给广告平台。
示例
https://${AD_SERVER_DOMAIN}/v1/track/activate?callback=EJiw267wvfQCGKf2g74ZIPD89-vIATAMOAFCIjIwMTkxMTI3MTQxMTEzMDEwMDI2MDc3MjE1MTUwNTczNTBIAQ%3D%3D&conv_time=1574835097&event_type=3&os=1&idfa=FCD369C3-F622-44B8-AFDE-12065659F34B&muid=FCD369C3-F622-44B8-AFDE-12065659F34B&source=mybestcustom
请求结构
接口地址
https://${AD_SERVER_DOMAIN}/v1/track/activate/
通信协议
支持通过HTTP或HTTPS通道进行请求通信。为了获得更高的安全性,推荐您使用HTTPS通道发送请求。
请求方法
支持HTTP GET方法发送请求,这种方式下请求参数需要包含在请求的URL中。
字符编码
统一采用UTF-8
的编码格式,url
中的参数如果包含非 ASC 字符,需要进行url encode
传递
假如我们需要传入一个字段:props = {"aaa":"bbb"}
,我们需要对 json 字符串进行 encode
https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxx&props=%7B%22aaa%22%3A%22bbb%22%7D
可靠传输
由于事件回调是通过网络来传递的,该过程中可能由于网络不稳定、服务故障、受限等因素存在,请广告主/归因平台确保每个请求至少会回传一次
,广告平台会对重复的数据进行去重处理。
以下场景请重试回传:
- 接口超时未响应
- http状态码不为200
- code不为
0
重要参数
callback_param
点击事件
我们的点击事件,在下发给广告主的时候,会有一个callback_param字段,这个字段是一个加密字符串,用以标记我们对转化事件的匹配,不可或缺。在广告主调用我们接口的时候,需要把这个参数传递回来。
举例说明:
- 广告平台在下发点击事件的时候会携带一个
callback_param
参数 。https://mybestcustom.com/callback_param=EJiw267wvfQCGKf2g74ZIPD89-vIATAMOAFCIjIwMTkxMTI3MTQxMTEzMDEwMDI2MDc3MjE1MTUwNTczNTBIAQ%3D%3D
callback_param
参数decode 之后的值是EJiw267wvfQCGKf2g74ZIPD89-vIATAMOAFCIjIwMTkxMTI3MTQxMTEzMDEwMDI2MDc3MjE1MTUwNTczNTBIAQ==
- 广告主在调用广告平台的事件回传接口的时候,需要将
callback_param
参数传递回来https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=EJiw267wvfQCGKf2g74ZIPD89-vIATAMOAFCIjIwMTkxMTI3MTQxMTEzMDEwMDI2MDc3MjE1MTUwNTczNTBIAQ%3D%3D&event_type=0
Event_type
event_type 代表的是事件类型,这个值是一个数字类型枚举值,如果回传的值既不在枚举范围内,也未曾与广告平台进行其他形式的确认,广告平台将无法识别具体事件类型。具体取值如下:
取值 | 事件名称 | 定义 |
---|---|---|
0 | 激活 | 用户下载安装完毕应用之后,在联网环境下打开应用 |
1 | 注册 | 完成应用下载并且在联网环境打开应用后,完成个人账号/游戏角色注册信息提交 |
2 | 付费 | 完成应用下载并且在联网环境打开应用后,应用内完成一笔付款 |
3 | 表单 | 完成表单填写并提交 |
4 | 在线咨询 | 用户点击在线咨询按钮 |
5 | 有效咨询 | 用户在消息咨询页面内完成至少一句消息对话 |
6 | 次留 | 用户激活后次日联网环境下打开应用 |
20 | app内下单 | 在应用内完成一次订单提交,例如:点击“立即下单” |
21 | app内访问 | 用户成功打开访问应用 |
22 | app内添加购物车 | 在应用内成功将商品加入购物车,例如:点击“加入购物车” |
23 | app内付费 | 在应用内完成一次订单付费 |
25 | 关键行为 | 用户在应用内发生的关键行为/行为集合,若是关键行为集合一般是有关联的行为路径。(举例:某直播类客户以注册+发送弹幕作为关键行为转化目标,电商用注册+收藏商品+加入购物车+下单等) |
28 | 授权 | 完成授权电商/支付/社交等账号登陆 |
29 | app内详情页到站uv | 成功访问应用内指定页面的UV数 |
设备信息
设备信息包含:idfa、imei、oaid 、muid四种。
设备信息为必传字段,支持两种传递的组合形式:
- 组合一: idfa / imei 组合
- 组合二: os / muid 组合
两种组合任选其一即可。
组合 | 参数名 | 释义 | 举例 |
---|---|---|---|
组合一 | idfa | ios系统idfa的原值 | FCD369C3-F622-43B8-AFDE-12012349F35B |
组合一 | imei | 安卓系统 imei 的md5摘要 | 0c2bd03c39f19845bf54ea0abafae70e |
组合二 | os | 操作系统 | 3 |
组合二 | muid | 如果是安卓,就返回 imei 的md5摘要;如果是 IOS,就返回 idfa 原值 | b315ef2fefddfea2 |
举例说明
举例,以下均是合法的设备信息:
- https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxxx&imei=xxxxx
- https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxxx&idfa=xxxxxx
- https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxxx&os=1&muid=xxxxxxx
举例,以下均是不合法的设备信息:
- https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxxx// 没有任何 设备信息
- https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxxx&os=1// 传了 os 没有传入 muid
- https://${AD_SERVER_DOMAIN}/v1/track/activate?callback_param=xxxxx&muid=xxxx//传入了 muid,没有传入os
参数列表
参数 | 是否必须 | 含义 | 样例 |
---|---|---|---|
callback_param | 是(点击事件) | 点击检测下发的 CALLBACK_PARAM | EJiw267wvfQCGKf2g74ZIPD89-vIATAMOAFCIjIwMTkxMTI3MTQxMTEzMDEwMDI2MDc3MjE1MTUwNTczNTBIAQ== |
imei | 是 | 安卓手机 imei 的 md5 摘要 | 0c2bd03c39f19845bf54ea0abafae70e |
muid | 是 | 安卓:imei号取md5sum摘要;IOS:取idfa原值 | FCD369C3-F622-44B8-AFDE-12065659F34B |
idfa | 是 | ios 手机的 idfa 原值 | FCD369C3-F622-44B8-AFDE-12065659F34B |
oaid | 是 | Android Q 版本的 oaid 原值 | b305ee2fefddfea2 |
oaid_md5 | 否 | Android Q 版本的 oaid 原值的md5摘要 | 8FCF82C6-47E7-2679-2F44-37405B982580 |
os | 是 | 客户端的操作系统类型 | 4: android 3: ios |
source | 否 | 数据来源,广告主可自行定义 | |
conv_time | 否 | 转化发生的时间。格式:rfc3339的毫秒精度时间。go生成方式:time.Now().Format("2006-01-02T15:04:05.999Z07:00") ;java生成方式:new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").format(new Date()) |
2006-01-02T15:04:05.999Z07:00 |
event_type | 是 | 事件类型 | 见列表 |
返回值
成功示例
接口返回http状态码:200
,标准返回值如下
{
"code":0,
"msg":"success"
}
最主要的两个字段是 code 和 msg,code 等于 0 表示请求正常
失败示例
code
不为 0
,msg 会返回错误的提示信息。
常见错误
错误信息 | 含义 |
---|---|
MISSING_PARAM_CALLBACK_PARAM | callback_param / link 字段没有传入 |
MISSING_PARAM_DEVICE_ID | imei或者idfa没有传递 |