1 接收:监测链接和 SDK 上报
结论:数据从两个口进来:腾讯每次曝光和点击回调监测链接,DSP 10 ms 内返回 204;App 里的自有 SDK 批量上报事件。
SDK 的接入、事件和联调见SDK 模块(挂在第 1 步)。
1. 链接模板
每个链接属于一个广告主和一个计划,在链接管理里生成和复制。
展开完整链接模板(曝光,17 个参数)
https://t-dsp.emorika.com/tencent/imp?
lk={链接ID}
&sig={签名}
&imp_id=__IMPRESSION_ID__
&imp_time=__IMPRESSION_TIME__
&req_id=__REQUEST_ID__
&account_id=__ACCOUNT_ID__
&adgroup_id=__ADGROUP_ID__
&creative_id=__DYNAMIC_CREATIVE_ID__
&os=__DEVICE_OS_TYPE__
&muid=__MUID__
&oaid=__HASH_OAID__
&android_id=__HASH_ANDROID_ID__
&caid=__CAID__
&ip=__IP__
&ua=__USER_AGENT__
&site=__SITE_SET_NAME__
&callback=__CALLBACK__2. 点击监测链接
结论:点击链接和曝光链接一起生成,路径是
/tencent/clk,多一个宏 click_id=__CLICK_ID__。每次点击,腾讯回调一次,DSP 返回 204。点击事件叫 tencent_click,去重键是 click_id。点击用来给用户打“点过”标签(见数据挖掘),也用来算 CTR。两个链接都在链接管理里复制。
3. 签名
结论:签名能防止别人猜出链接,但拿到链接的人仍能造数据,所以还靠频率上限和按天对账。
腾讯不对请求签名,所以签名写在链接里:sig 等于 HMAC-SHA256(链接密钥,链接 ID)的前 16 位。链接一旦泄露,任何人都能用它发请求。所以还要做三件事:同一 IP 每秒超过 20 次请求就限流;同一设备键每分钟超过 10 次曝光就进隔离区;每天按 imp_id 和腾讯后台的曝光数对账。
4. 事件等于名称加属性
结论:每次曝光变成一条事件
tencent_impression,属性就是下表。宏是占位符,腾讯发请求时换成真实值。必填
| 宏 | 属性 | 类型 | 示例 | 意思 |
|---|---|---|---|---|
| __IMPRESSION_ID__ | imp_id | 文本 | 8f3a… | 曝光 ID,也是去重键(定义见清洗第 5 步) |
| __IMPRESSION_TIME__ | imp_time | 秒级时间戳 | 1793269495 | 曝光发生的时间 |
| __ACCOUNT_ID__ | account_id | 数字 | 2345678 | 腾讯广告主 ID,用来对应 DSP 的广告主 |
| __DEVICE_OS_TYPE__ | os | ios / android | android | 系统 |
| __HASH_OAID__ | oaid | MD5 哈希 | e10a… | 安卓设备标识(安卓必填) |
| __MUID__ | muid | MD5 哈希 | 5d41… | 腾讯设备标识(无 OAID、CAID 时必填) |
| __CALLBACK__ | callback | URL 编码 | https%3A… | 需要转化回传时必填 |
选填
| 宏 | 属性 | 类型 | 示例 | 意思 |
|---|---|---|---|---|
| __REQUEST_ID__ | req_id | 文本 | r-91… | 腾讯请求 ID,排查用 |
| __ADGROUP_ID__ | adgroup_id | 数字 | 771 | 广告组 ID |
| __DYNAMIC_CREATIVE_ID__ | creative_id | 数字 | 5521 | 创意 ID |
| __HASH_ANDROID_ID__ | android_id | MD5 哈希 | 9a0b… | 安卓 ID |
| __CAID__ | caid | MD5 哈希 | c4ca… | iOS 设备标识 |
| __IP__ | ip | IPv4 | 1.2.3.4 | 用于过滤无效流量和限流 |
| __USER_AGENT__ | ua | 文本 | Mozilla/5.0… | 用于过滤无效流量 |
| __SITE_SET_NAME__ | site | 文本 | SITE_SET_MOBILE_UNION | 投放版位 |
DSP 收到时再加一个属性 received_at(收到时间,毫秒),和 imp_time 存在一起。每个属性的负责人和状态见数据字典。
宏名来源:腾讯广告开发者文档《曝光监测》。事件建模参照 Mixpanel:每条事件有名称、发生时间和唯一 ID,唯一 ID 用来去重,所以重复请求是安全的(Mixpanel Import API)。
5. SDK 上报
SDK 把事件攒满 50 条或等 15 s 发一次,地址是 /sdk/events。它和监测链接走同一套清洗。详见SDK 模块。
6. 返回规则
任何情况都返回 204,没有内容,腾讯不重试。检查结果只记在接收监控里。