转化追踪 SDK
转化追踪用于在用户完成关键动作(下单、注册、留资等)后,把转化回传给 ADBNK,从而把转化归因到对应的点击、创意和广告活动。ADBNK 提供两种前端上报方式:Pixel(图片像素) 和 JS 方式,两者最终都请求同一个转化接口。
先创建转化追踪器
上报前,需在广告主后台创建转化追踪器(Conversion Tracker),系统会生成一个唯一的追踪代码 tracking_code(格式形如 cvt_xxxxxxxx...)。后台会直接给出可复制的 Pixel / JS / Postback 代码,本页用于说明其原理与参数。相关操作流程见 转化追踪指南。
Pixel 方式(图片像素)
在转化完成页(如订单成功页)嵌入一个 1×1 透明像素图片,浏览器加载图片即完成上报。适用于纯 HTML、无法执行复杂 JS 的场景。
<img src="https://track.adbnk.co/track/conversion.gif?c=cvt_你的追踪代码"
width="1" height="1" style="display:none" alt="" />带上金额与订单号、click_id 的完整示例:
<img src="https://track.adbnk.co/track/conversion.gif?c=cvt_你的追踪代码&value=99.00&click_id=CLK20260710xxxx"
width="1" height="1" style="display:none" alt="" />Pixel 请求命中 /track/conversion.gif,服务端记录转化后始终返回一张 1×1 透明 GIF。
JS 方式
若转化金额需要在页面运行时动态计算(如购物车总价),用 JS 动态构造像素请求更灵活。可在转化前把金额挂到全局变量:
<script>
// 转化金额(如订单实付金额),可选
window.adbnk_conversion_value = 99.00;
(function () {
var img = new Image();
img.src = 'https://track.adbnk.co/track/conversion.gif'
+ '?c=cvt_你的追踪代码'
+ '&v=' + (window.adbnk_conversion_value || 0)
+ '&click_id=' + (localStorage.getItem('adbnk_click_id') || '')
+ '&_t=' + Date.now(); // 缓存破坏参数
})();
</script>click_id 从哪来
用户从 ADBNK 广告点击进入你的落地页时,ADBNK 会通过落地页 URL 宏 {click_id} 把点击 ID 附加到落地页链接上。你应在落地页读取该参数并存入 localStorage / Cookie / 服务端会话,转化时再回传,用于精确归因。宏机制详见 S2S Postback。
请求参数
Pixel 与 JS 方式最终都请求转化接口(/track/conversion.gif 或 /track/conversion),支持以下参数:
| 参数 | 别名 | 必填 | 说明 |
|---|---|---|---|
c | code | 是 | 转化追踪器代码 tracking_code |
click_id | clickid | 否 | 点击 ID,用于把转化归因到点击/创意/活动 |
value | v / payout | 否 | 转化金额;不传时使用追踪器配置的默认转化价值 |
type | — | 否 | 转化事件类型,如 PURCHASE、LEAD、SIGNUP、PAGEVIEW、CUSTOM |
金额与类型以后台配置为准
转化事件类型(event_type)与默认转化价值(conversion_value)通常在追踪器创建时就已配置。前端传入的 value 会覆盖默认值;不传则回落到追踪器默认价值。可传入的具体类型集合以广告主后台为准。
归因与去重
- 归因:携带
click_id时,系统会按click_id反查该点击对应的广告活动(campaign)、广告组(adgroup)、创意(creative)并写入转化记录;查不到时以空归因保留该转化。 - 归因窗口:每个追踪器有
attribution_window(归因窗口,单位天,默认 30 天),超窗的点击不再计入归因。 - click_id 时延:系统会从
click_id中解析点击时间,计算“点击→转化”耗时用于分析。
去重是你的责任
转化接口本身不会按订单号自动去重——同一个像素/JS 被触发多次会产生多条转化记录。建议:
- 在转化成功页只触发一次上报(避免刷新重复触发);
- 通过
click_id做归因,配合归因窗口过滤过期点击; - 如需按订单去重,请在你自己的系统内保证每个订单只上报一次(例如上报后置标记位)。
_t / Date.now() 仅用于破坏浏览器图片缓存,不是幂等键,不具备去重作用。
服务器到服务器上报
如果你的转化发生在服务端(例如支付回调),推荐使用更可靠的 S2S Postback,避免依赖浏览器加载像素。详见 S2S Postback。转化上报的接口约定也可参考 事件与转化上报 API。