事件与转化上报
追踪接口前缀为 /track,无需鉴权,由 track.adbnk.co 承载。广告展示、点击、转化三类事件均在此上报。
展示 / 点击所需的 track_id 由 广告请求 API 下发(impression_url / click_url 中已内嵌),SDK 通常无需手动拼接。
track_id
track_id 是 AES-128-CBC 加密后的 URL-safe 串,封装了 request_id、creative_id、ad_id、zone_id、bid_id 与时间戳。伪造或篡改的 track_id 会被记入反作弊日志(INVALID_TRACK_ID),但仍返回 1×1 像素/正常响应,避免作弊者感知拦截。
展示上报(Impression)
GET /track/impression/{track_id}
返回 1×1 透明 GIF 像素。直接渲染广告请求返回的 html 时,展示像素已自动注入,无需额外调用。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
track_id | string | 是 | 路径参数,来自广告请求的 impression_url |
_v | int | 否 | 协议版本,2 起启用签名校验 |
_d | string | 否 | v2 混淆编码的设备数据 |
_s | string | 否 | v2 请求签名 |
qa_k | string | 否 | v2 会话密钥(来自广告请求响应) |
_r | string | 否 | v2 随机数(含毫秒时间戳,用于防重放) |
<img src="https://track.adbnk.co/track/impression/q1w2e3r4t5y6..."
width="1" height="1" style="position:absolute;left:-9999px" alt="" />只有签名校验、反作弊、指纹一致性与定向条件全部通过时事件才计费(billable=true)。
点击追踪(Click)
GET /track/click/{track_id}
返回一个中间页(HTML)。中间页通过 JS 采集设备特征与 document.referrer 后 POST 到 /track/click-verify,验证通过后跳转真实落地页。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
track_id | string | 是 | 路径参数,来自广告请求的 click_url |
_p | string | 否 | SDK 附加的混淆页面信息(页面 URL / referrer / 时间戳) |
服务端在返回中间页前会先写入一条 verify_pending 的点击事件(billable=false),确保无 JS / 拦截场景下点击不丢失。
点击验证
POST /track/click-verify
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
track_id | string | 是 | 点击的 track_id |
qa_k | string | 是 | 会话密钥(click 阶段下发,5 分钟有效,一次性) |
_r | string | 否 | 随机数 |
device_data | object | 否 | 中间页采集的设备指纹 / 屏幕 / 系统 / 网络 / 页面信息 |
{
"code": 0,
"message": "OK",
"data": {
"url": "https://shop.example.com/landing?click_id=CLK20260710...",
"click_id": "CLK20260710120001a1b2..."
}
}响应返回的 url 即经过宏替换的落地页地址,click_id 用于后续转化归因。
落地页宏
落地页 URL 支持宏替换({macro} 或 ):bid_id、click_id、request_id、creative_id、zone_id、timestamp、random。
转化上报(Conversion)
GET /track/conversion 或 POST /track/conversion
推荐使用转化追踪器编码 code 上报;同时兼容旧的 click_id 方式。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
code / c | string | 是* | 转化追踪器编码 tracking_code(推荐方式) |
click_id / clickid | string | 否 | 点击 ID,用于归因到具体点击 |
value / payout | number | 否 | 转化价值,缺省用追踪器配置的默认值 |
type | string | 否 | 转化类型(旧模式),默认 conversion |
未提供 code 时按旧模式处理,此时 click_id 必填,否则返回 400。
curl "https://track.adbnk.co/track/conversion?code=TRK_xxxxx&click_id=CLK20260710...&value=59.9"{ "code": 0, "msg": "OK", "conversion_id": 10086 }转化像素
GET /track/conversion.gif
以像素方式静默上报转化(返回 1×1 GIF),参数 c=tracking_code,适合无法发起 AJAX 的落地页。
<img src="https://track.adbnk.co/track/conversion.gif?c=TRK_xxxxx" width="1" height="1" alt="" />S2S Postback
GET /track/postback 或 POST /track/postback
服务器到服务器回传,参数与 /track/conversion 一致(内部即转发到转化处理逻辑),适合广告主服务端在转化发生时主动回传。
去重与归因
- 去重:展示 / 点击按
ip + creative在去重窗口内视为重复,窗口由管理端设置ad.impression_dedup_seconds、ad.click_dedup_seconds控制(0表示不去重)。重复事件标记DUPLICATE_IMPRESSION/DUPLICATE_CLICK且不计费。 - 归因:转化通过
click_id归因到campaign_id/adgroup_id/creative_id,并记录点击到转化的时延。 - 计费:只有反作弊、指纹一致性、定向校验全部通过的事件才计入计费。
转化追踪器管理(广告主)
追踪器由广告主在 /api/advertiser/trackers(需鉴权)创建与管理:
| 方法 | 路径 | 说明 |
|---|---|---|
GET | /api/advertiser/trackers | 追踪器列表 |
POST | /api/advertiser/trackers | 创建追踪器 |
GET | /api/advertiser/trackers/{id}/code | 获取埋点/回传代码 |
POST | /api/advertiser/trackers/{id}/regenerate-code | 重新生成编码 |
GET | /api/advertiser/trackers/{id}/conversions | 转化明细 |
GET | /api/advertiser/trackers/{id}/stats | 转化统计 |
创建追踪器(POST /api/advertiser/trackers)参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 追踪器名称 |
type | string | 否 | 类型,默认 PIXEL(另有 POSTBACK 等) |
event_type | string | 否 | 转化事件类型,默认 CUSTOM |
conversion_value | number | 否 | 默认转化价值 |
attribution_window | int | 否 | 归因窗口(天),默认 30 |
postback_url | string | 否 | 回传 URL |
pixel_code | string | 否 | 像素代码 |
创建后系统自动生成 tracking_code,即上报时使用的 code。