Postback 与 S2S 转化回传:从原理到四条排错路径

转化数对不上,九成问题出在这一段

Campaign 跑了 6 小时,流量平台后台显示 18,000 次点击,Tracker 只认到 15,200 次,联盟后台显示 23 个转化,Tracker 里只躺着 11 个。

三个数字,三套口径。这时候如果你没有把回传链路理清楚,所有优化动作都是猜——你不知道是该关 Campaign、换 Offer,还是该去修配置。

Media Buy 里大部分"数据不准"不是流量质量问题,是回传链路的问题。这篇把这条链路从头拆一遍。


一次投放的数据流其实有两条独立的链路,很多人会混成一条:

链路 方向 传的东西 谁负责
点击链路 流量平台 → Tracker → Offer click_id、来源、GEO、设备 Tracker 的 Campaign URL
转化链路 Offer / 联盟 → Tracker → 流量平台 哪个 click_id 转化了、payout 多少、什么状态 Postback

点击链路是"把人送过去",转化链路是"把人送回来"。你花钱买的是点击,但只有转化链路通了,你才知道哪一次点击赚了钱。

回传一断,剧本就变成:流量平台只知道有人点了,不知道有没有转化,它的自动出价算法学不到任何东西,只会把钱越烧越平均。


联盟平台给你一个像素 URL,你把它贴在 Offer 的 thank-you page 或者 Tracker 的转化页上,浏览器加载这张 1×1 图的时候顺便把参数带回去。

  • 优点:配置最简单,不用服务器
  • 缺点:依赖浏览器。用户点了转化但立刻关页面、装了拦截插件、或者这是纯服务端的转化(比如 PIN Submit 的二次确认),像素就不会触发
  • 典型丢单场景:移动端弱网、页面加载被用户中断、跨域问题

联盟的服务器在转化发生时,直接向你的 Tracker 发一个 HTTP 请求:

1
https://tracker.example.com/pb?cid={click_id}&payout={payout}&status={status}&txid={txid}
  • 优点:不依赖浏览器,转化发生在哪都能回传;可以带 status(pending / approved / rejected)
  • 缺点:需要你的 Tracker 有公网地址、能接收请求;参数名要和联盟的 macro 对上

这是我推荐的唯一方式。你不可能靠一张 1×1 像素图去追一个需要审核 30 天的 CPS 单。

部分联盟提供 Conversion API,让你定时去拉转化报表,再用 txid 匹配回 Tracker。

  • 优点:绕开回传丢失,数据源是联盟的账本
  • 缺点:延迟。通常半小时到几小时一次,实时优化用不上,只适合对账

结论:S2S 用于优化,API 用于对账。两个都要,但不是一回事。


回传里最重要的只有一个字段:click_id(有的平台叫 clickid、click_id、subid、cid)。

流程是这样的:

1
2
3
4
5
6
流量平台给 Tracker 一个 click_id
   ↓ Tracker 把它写进自己的 sub1(或 c1)
      ↓ Tracker 把 sub1 拼进 Offer 链接
         ↓ 联盟把 sub1 存进自己的 click 记录
            ↓ 转化发生时,联盟把 {sub1} 回传给你
               ↓ Tracker 用 sub1 找到那次点击

中间任何一环没把值传下去,这条转化就永远匹配不上,只能躺在 Tracker 的"未匹配"里。

环节 平台 转化回传用的 macro
转化回传 多数 CPA 联盟 {click_id} / {sub1} / {aff_sub1}
转化回传 常见 CPS / 电商联盟 {click_id} + {txn_id}
Tracker 接收 Binom ?cid={click_id}(cid 是它的 click 参数)
Tracker 接收 BeMob ?cid={click_id}
Tracker 接收 Voluum ?cid={click_id}
流量平台回传(喂算法) PropellerAds postback=...&status=...&payout=...
流量平台回传(喂算法) PopAds ?cid={click_id}&payout={payout}

表里的参数名一定要以你后台当前显示的为准,各平台改名很勤。我这套是按"点开后台看到的字段名"抄下来的,抄错一个字母,整条链路就断。


配置完 Postback,不用等真实转化,直接手动打一次请求:

1
curl -i "https://tracker.example.com/pb?cid=TEST123&payout=1.20&status=approved&txid=TEST-TX-1"

看三件事:

  1. HTTP 状态码必须是 200(不是 302、不是 404)
  2. Tracker 后台的 Conversions 里出现一条 cid=TEST123 的记录
  3. 这条记录能被归到正确的 Campaign / Offer / 流量源

如果第 1 步 200 但第 2 步没记录,那说明请求到了但 Tracker 没识别参数——大概率是参数名不对,或者这个 cid 在你的 Tracker 里根本不存在(很多 Tracker 会静默丢弃匹配不上的 cid,不报错)。


症状:Tracker 的点击数明显少于流量平台(比如少 15% 以上)。

  • 检查 Campaign URL 有没有正确带上流量平台的 {click_id} macro
  • 检查 Offer 链接里 sub1 是否被 URL 编码破坏(& 被截断最常见)
  • 用浏览器手动打开一次 Campaign URL,看跳转后的最终 URL 里 sub1 有没有值

症状:Tracker 里出现"未匹配转化"(Unmatched Conversions)一堆。

  • 说明请求到了、参数也带了,但 cid 的值在 Tracker 里查不到
  • 常见原因:流量平台把 click_id 限制在 32 位或去掉特殊字符,你传回去的已经被截断
  • 另一个原因:点击记录被 Tracker 按保留期清理了(Binom 默认 30 天,长周期 CPS 会超时)

症状:curl 测试通过,真实转化不回来。

  • 看联盟后台里 Postback URL 是否真的保存成功(很多平台保存后需要点一次"Test")
  • 看联盟的 {click_id} 是不是在转化时才拼装——有些联盟的 macro 在点击时不记录,只有带 sub1 才有值
  • 检查你的服务器是否拦了来源 IP(Cloudflare 的 WAF 常把联盟的回传请求当机器人拦掉,这条踩过)

血泪提示:如果你的 Tracker 前面挂了 Cloudflare,一定要把 /pb 这条路径加进 WAF 白名单,或者干脆给 Tracker 用独立域名、不套 CDN。

症状:Tracker 显示 30 个转化,联盟只认 20 个。

  • 说明有重复回传,通常是联盟重试机制 + 你的 Tracker 没做 txid 去重
  • 或者你的像素和 S2S 两条路都在回传,同一次转化被记了两遍

处理方式:Tracker 里打开"按 txid 去重",如果平台不支持,就在回传 URL 里带上 txid 并让 union 侧保证唯一。


流量平台、Tracker、联盟三方的日报默认时区几乎一定不一样:

  • 流量平台常用 UTC
  • Tracker 常用你设置的时区(很多默认 UTC)
  • 联盟常用自己的商务时区(美西、东八区都有)

结果就是:你今天看"昨天 ROI -40%",第二天回看同一时段变成 +5%。不是数据错了,是对比的两个窗口不是同一个窗口。

做法很简单:把 Tracker 的时区统一成流量平台的时区,优化时只看一个时间基准。对账时再切回联盟时区。


# 检查项 通过标准
1 Campaign URL 带 click_id macro 跳转后 URL 可见值
2 Offer 链接带 sub1 且已编码 打开 Offer 后 sub1 有值
3 联盟侧 Postback 已保存并测试 后台 Test 按钮返回成功
4 Tracker /pb 未被 WAF 拦截 curl 返回 200
5 回传带 txid 且已去重 重复请求只记一次
6 Tracker 时区 = 流量平台时区 日报窗口一致
7 流量平台侧 postback 已配 平台后台能看到转化回传
8 保留期覆盖转化周期 长周期 Offer 用 API 对账

八项全过,你的数据才敢拿来当决策依据。


回传链路是 Media Buy 里唯一一条"做了就不会再返工"的基础设施。

它做对了,你后面所有的优化动作——关掉亏钱的 GEO、给赚钱的 placement 加价、判断一个 Offer 到底能不能跑——才建立在真实数据上。

它没做对,你会用三倍预算去买一个错误的结论。我自己最早那两个月,一半的学费交在这条链路上。

下一篇讲预算:当你终于能看清数据了,第一笔钱该怎么分、什么时候该停。两篇连着看,基本就是新手最容易亏钱的两个环节。

如果这篇里的配置你在 BeMob 上做,这里可以免费开一个,10 万事件/月的免费额度足够跑通整套回传链路,不用先付钱。

相关内容

接着往下走:你需要的东西基本都在这两篇里 —— Media Buy 必备工具清单(按顺序配齐环境,少走弯路)、主流 POP 流量平台对比(选平台前的价格与量级参考)。

我自己在用的:BeMob 免费 Tracker(每月 10 万事件,新手够用)、搬瓦工 VPS(建站与自建环境)。卡住了可以来 Telegram 问我。