在上一篇程序化广告生态全景里,顺着一次曝光把 DSP / SSP / ADX / Ad Server 这些角色串了一遍。但那篇默认了一件事:买卖双方一旦接上 OpenRTB,就”价高者得”地竞价成交。
现实远没这么单一。同一个广告位,媒体可以扔进全市场公开拍卖,也可以只留给几个谈好的品牌;可以让买家实时出价,也可以事先锁死一个固定 CPM、保证投够多少量。这些不同的玩法,就是程序化交易模式(programmatic deal types)——业内最常被混着叫的一组缩写:RTB、PMP、PD、PDB / PG。
这篇文章不背术语表,而是先立两根轴,把四种模式钉死在一张坐标上;再讲清楚把它们在技术上粘合起来的那个关键对象——Deal ID;最后看媒体 Ad Server 是按什么优先级在这几种交易之间分配每一次曝光的。
TL;DR
- 两根轴就能分清四种模式:① 价格是实时竞价定的,还是事先谈好的固定价?② 量保不保(库存有没有被预留)?
- RTB(公开竞价 / Open Auction):全市场公开、价高者得、不保量。卖的是剩余 / 长尾库存,价格最低、透明度最差、也最容易混进劣质流量。
- PMP(私有竞价 / Private Auction):邀请制的小范围竞价,带底价和 Deal ID。媒体把优质库存优先开放给少数买家,仍是竞价、仍不保量,但买家能”先挑”。
- PD(优先交易 / Preferred Deals):固定价、不保量、一对一。买家拿到 first look(优先过目权),逐次决定买不买;不买就下沉到后面的竞价。
- PDB / PG(程序化保量 / Programmatic Guaranteed):固定价 + 保量。本质就是把传统的”直采大单”搬到程序化管道里执行——量和价都锁死,等价于程序化直采。
- Deal ID 是把这一切粘起来的钥匙。线下谈好的价格 / 量 / 库存范围 / 定向,被 SSP 编码成一个 Deal ID,写进 OpenRTB 的
pmp.deals[],DSP 在实时竞价里凭它识别”这是哪笔交易、该怎么出价”。 - 媒体 Ad Server 按优先级瀑布分配曝光:保量单(PG)> 优先交易(PD)> 私有竞价(PMP)> 公开竞价(RTB)> 保底广告。现代统一竞价(unified auction)允许下层临时高价反超,但保量 / 优先单仍享有结构性优先权。
- 越往”保量固定价”靠,越像传统直采;越往”公开竞价”靠,越自动化、越便宜、也越不可控。选哪种,是媒体在收益、控制权、流量质量之间做的权衡。
Table of contents
Open Table of contents
1. 先立两根轴:价格怎么定、量保不保
新人看交易模式,最容易陷进”RTB 是实时的、PMP 是私有的、PG 是保量的……”这种平行罗列里,越记越乱。其实只要问两个问题,四种模式立刻各就各位:
- 价格怎么定? 是每次曝光实时竞价(auction)决出来的,还是买卖双方事先谈好的固定价(fixed price)?
- 量保不保? 媒体有没有把这部分库存**预留(reserve)**给某个买家、并承诺投够约定的量?
还有一根隐含的轴——计费方式:这四种模式基本都按 CPM(cost per mille,千次曝光计价) 成交,卖的就是”曝光”本身。这正是它们区别于按点击(CPC)、按转化(CPA / oCPX)计费的效果广告的地方——交易模式谈的是”以什么价、什么方式买到这次曝光机会”,至于买到之后按什么 KPI 优化,是另一层的事。所以下文凡谈价格,单位都是 CPM。
把这两根轴交叉,就是一张干净的 2×2:
| 实时竞价定价 | 固定价 | |
|---|---|---|
| 一对多·不保量 | RTB(公开竞价) PMP(私有竞价) | — |
| 一对一·不保量 | — | PD(优先交易) |
| 一对一·保量 | — | PDB / PG(程序化保量) |
四种模式从左下”全公开竞价”到右上”锁价锁量”,本质是一条从市场化到契约化的光谱。下面这张决策树就是媒体方在面对一次曝光机会时的思考路径:
两个分叉点就够了:先分”竞价 vs 固定价”,竞价侧再分”公开 vs 邀请”,固定价侧再分”锁量 vs 不锁量”。四种模式就是这棵树的四片叶子。
一个贯穿全文的直觉:越往右上角(保量、固定价)走,越像传统的”销售签合同卖广告位”,只是用程序化管道执行;越往左下角(公开竞价)走,越自动化、越便宜,但媒体对买家是谁、流量卖了多少钱越没有掌控。 交易模式的选择,本质是媒体在收益最大化、控制权、流量质量三者之间的取舍。
这条光谱也是一条时间线:程序化最早(约 2009 年起)就是 RTB 公开竞价,先解决”长尾库存怎么自动变现”;媒体很快发现优质库存被贱卖,于是催生了 PMP(约 2012 年起)来护盘提价;品牌广告主要的是确定性,又把传统直采搬进程序化管道,长出了 PD 与 PG(约 2014 年起)。所以这四种模式不是一次设计出来的,而是市场十多年里沿着”清长尾 → 护优质 → 要确定性”一步步加出来的——理解了这条演进逻辑,就明白为什么它们看起来像一组拼凑的黑话。
2. 竞价侧:RTB 与 PMP
2.1 RTB / 公开竞价:全市场价高者得
RTB(Real-Time Bidding,实时竞价) 在交易模式语境下,通常特指 Open Auction(公开竞价 / Open Exchange)——库存对接入交易所的所有买家开放,每一次曝光都跑一场实时拍卖,价高者得。
它的特征可以用三个”最”概括:
- 最开放:不挑买家,任何接入 ADX / SSP 的 DSP 都能参与竞价。
- 最便宜:媒体卖的多是**剩余库存(remnant)**和长尾流量——直采、PMP 都没消化掉的部分。供给充足、买家匿名,价格自然被压到最低。
- 最不可控:媒体既不知道最终是谁买走了曝光(可能是竞品、可能是低质广告主),买家也面对一个匿名的库存池——流量质量参差、品牌安全风险最高,也是广告欺诈(IVT)最爱藏身的地方。
RTB 是程序化的”起点”和”兜底”。它解决的是变现长尾的问题:把那些卖不上价、但总比空着强的库存,用自动化的方式以市场价清掉。
2.2 PMP / 私有竞价:邀请制的小拍卖
媒体很快发现:把所有库存都扔进公开市场太亏了——优质库存(首页、核心版位、高价值受众)值更高的价,也需要更强的买家筛选。于是有了 PMP(Private Marketplace,私有市场),其典型形态是 Private Auction(私有竞价)。
PMP 还是竞价、还是不保量,但加了三层”门禁”:
- 邀请制:只有媒体白名单里的少数买家(Deal ID 持有者)能参与,竞品、低质广告主被挡在门外。
- 底价(floor price):媒体给这部分优质库存设一个更高的成交底线。
- 优先过目(priority over open auction):PMP 的竞价排在公开竞价之前——买家能”先挑”,挑剩下的才下沉到 RTB。
一句话:PMP = 带 Deal ID 和底价的、邀请制的小型 RTB。 它让媒体在保留竞价灵活性的同时,把优质库存卖给”对的人”、卖出更高的价,并大幅改善流量质量与透明度。
注意:PMP 是一个伞形概念。严格来说它既包含 Private Auction(私有竞价,仍是拍卖),也常被用来泛指后面的 PD、PG——因为它们都靠 Deal ID 在私有通道里执行。本文按最常见的口径,把 PMP 主要指代 Private Auction。
3. 固定价侧:PD 与 PDB / PG
竞价侧(RTB / PMP)的共同点是价格由市场实时决出、且不保量。而固定价侧反过来:价格事先谈死,按 CPM 计价,一对一交易。 区别只在量保不保。
3.1 PD / 优先交易:固定价 + 优先过目,但不锁量
PD(Preferred Deals,优先交易;也叫 Unreserved Fixed Rate) 是买卖双方一对一谈好一个固定 CPM,媒体把符合条件的库存优先喂给这个买家过目——这就是 first look(优先过目权)。
关键在于”不保量、可放弃”:
- 媒体不预留库存,也不承诺投够多少量;
- 每一次符合条件的曝光,买家拿到 first look,逐次决定这次买不买(比如看这个用户符不符合自己的定向);
- 买家放弃的,就下沉到 PMP / 公开竞价继续卖。
PD 的价值在于”优先权 + 固定价”:买家不必参与竞价就能以约定价拿到优质库存的第一顺位选择权,又保留了”看人下单”的灵活性;媒体则锁定了一个高于公开市场的价格,代价是没有量的承诺。
3.2 PDB / PG / 程序化保量:锁价又锁量,等于程序化直采
到了光谱最右端,就是把量也锁死的模式——业内叫法很多:PG(Programmatic Guaranteed,程序化保量)、PDB(Programmatic Direct Buy,程序化直采)、Automated Guaranteed 等,指的都是同一类东西。
它的本质是:用程序化管道执行一笔传统的”直采大单”。
- 固定价 + 保量:双方谈定 CPM 和总量(比如”100 万次曝光,CPM $15”),媒体预留库存并承诺投够;
- 最高优先级:保量单在媒体 Ad Server 里享有最高优先权,优先于一切竞价类交易;
- 无竞价:既然量价都锁死,就没有拍卖环节,DSP 只是作为执行和投放管理的管道。
PG 解决的是品牌广告主的核心诉求:确定性。大品牌做 campaign 要的是”我一定能在这个媒体的这个版位,投到约定的量”,而不是”也许能竞价到”。PG 把直采的确定性,和程序化的自动化(统一在 DSP 里做投放、监测、归因)合二为一。
这里要厘清一个常见误解:PG 的”保量”是双向承诺,而且”投满”这个动作是媒体(卖方)做的,不是买家。 两边各自锁死的东西不同:
| 角色 | 承诺什么 | 为什么是它 |
|---|---|---|
| 媒体 / 卖方 | 保证**交付(投满)**约定的曝光量 + 预留库存 | 库存和 ad serving 都在媒体手里,只有它能”投”出曝光 |
| 买家 / 广告主 | 保证买下并付费约定的量(锁定预算) | 买家出钱,承诺把这批量吃下来 |
买家无法”投满”——它没有库存;它能承诺的是”买满、付满”。这与不保量模式(RTB / PMP / PD)正好相反:那里两边都不锁,买家不承诺买多少、媒体也不承诺给多少,逐次曝光看实时情况。
既然两边都做了硬承诺,任何一方没做到就要担责——这套违约 / 补偿机制,正是 PG”像传统直采”的地方:
- 媒体违约:没投够 → 补量 / 赔偿。 媒体承诺投满 100 万次,但可能因为流量不足、定向太窄、或投放故障没投够。善后通常两种:① 补量(make-good)——把缺的量延期补投,或换等价版位 / 时段补齐;② 赔偿 / 退款——补不了的(如限时档期过期就没意义),按未交付部分退钱或给折扣 / 赠送资源。直觉:媒体卖的是”保证送达”,送不到就得用别的方式把这个保证兑现。
- 买家违约:撤量 / 撤预算 → 赔违约金。 买家中途砍预算、少买或取消 campaign。但媒体为这笔单子已经预留库存、推掉了别的买家(那部分曝光本可拿去竞价卖钱),买家跑路就让媒体白担了机会成本。所以合约通常带 取消条款(cancellation policy)(如”开始前 14 天可免费取消,之后付 50%“)和 违约金 / 最低消费承诺,按差额赔偿媒体”占坑没成交”的损失。
一句话:保量带来确定性,但确定性不是免费的——它是用”双方都背上违约责任”换来的。媒体赌自己投得满、买家赌自己用得完,谁赌输谁补偿对方的损失。 而 RTB / PMP / PD 因为没有量的承诺,自然也没有这套违约机制:PD 买家逐次放弃完全合规,不算违约。
还有一个工程上的关键细节:PG 的曝光交付有两条路径,决定了它走不走 bidstream。
- 走 bidstream:媒体把保量单也塞进 OpenRTB 请求,用
at: 3(固定价)+ Deal ID 表达,DSP 在竞价流里”接住”它。好处是买方所有交易(含 PG)统一在 DSP 里管理、监测、归因。 - 不进 RTB:PG 直接作为媒体 Ad Server 里的一个保量 line item 投放——这次曝光根本不发 bid request,由 Ad Server 在内部按最高优先级直接命中。这更接近传统直采的执行方式。
走哪条取决于媒体 Ad Server / SSP 的实现和双方的接入方式。对工程师的意义是:排查”PG 为什么没投出去”时,先搞清楚它到底走没走 bidstream——走 bidstream 就去查 Deal ID 匹配,不走就去查 Ad Server 的 line item 配置与优先级,两条路的排查点完全不同。
把 PD 和 PG 放在一起看,差别就一个字——量:PD 不保量、买家可逐次放弃;PG 保量、媒体承诺投满、买家承诺买满。这也决定了它们在媒体 Ad Server 里的优先级高低,正是下一节的主题。
4. Deal ID:把一笔谈判变成实时可执行的交易
讲到这里,一个工程师该追问的问题是:PMP / PD / PG 这些”线下谈好的交易”,到底是怎么在 100 毫秒的实时竞价里被识别和执行的?答案是一个不起眼但至关重要的对象——Deal ID。
Deal ID 是一串唯一标识符,由 SSP(或媒体)生成,把一笔交易的所有约定(价格、量、库存范围、定向、买家身份)编码成一个 DSP 能在竞价时认出来的”凭证”。它的生命周期分两段:一段是一次性的线下协商与配置,一段是每次曝光都要跑的实时识别。
左边一次性配置,右边每次曝光实时执行。Deal ID 就是连接两段的纽带:线下谈判的结果被它”固化”,再在每个 bid request 里被反复”激活”。
顺带一提:图里”线下协商 / 配置”这一步,也有标准化的努力——IAB 的 OpenDirect 就是为自动化”询价 / 下单 / 排期”这套(保量)直采流程设计的 API 标准,目标是让 PG 这类交易也能像下单一样被程序化地配置,而不必全靠邮件和人工。只是现实里它的普及度远不如 OpenRTB,很多 PG / PD 的协商至今仍是半人工的——这也是 Deal ID 配置容易出错的根源之一。
4.1 在 OpenRTB 里,Deal ID 长什么样
OpenRTB 的 bid request 里有一个 imp.pmp 对象,里面装着 deals[] 数组——这就是私有交易在协议层的落点。一个简化的例子:
{
"imp": [
{
"id": "1",
"bidfloor": 1.5,
"pmp": {
"private_auction": 1,
"deals": [
{
"id": "DEAL-NYT-HP-7788",
"bidfloor": 12.0,
"bidfloorcur": "USD",
"at": 1,
"wseat": ["agency-seat-42"]
}
]
}
}
]
}
几个字段就把交易模式编码进去了:
deals[].id:Deal ID 本身,DSP 凭它对上自己激活的活动。deals[].bidfloor:这笔交易专属的底价(注意它通常高于imp.bidfloor这个公开竞价底价)。at(auction type):1= 一价拍卖,2= 二价,3= fixed price(固定价)。PD / PG 用at: 3,PMP 私有竞价用1或2——同一套字段,靠at区分了”竞价”还是”固定价”。private_auction:1表示该曝光只接受deals[]里的私有交易、屏蔽公开竞价;0表示私有交易与公开竞价同场竞争。wseat:允许参与的买家 seat 白名单,对应 PMP / PD 的”邀请制”。
关键直觉:Deal ID 不是一种新协议,而是 OpenRTB 里的几个字段。 RTB、PMP、PD、PG 跑的是同一条 bid request 管道;区别只在于
pmp.deals[]有没有、at是不是固定价、private_auction屏不屏蔽公开竞价。理解了这一点,“四种交易模式”在工程上就塌缩成了”同一份请求的几种字段组合”。
4.2 DSP 侧的执行
DSP 收到带 Deal ID 的请求后,要做的事很机械但容易出错:
- 匹配:用
deals[].id去查有没有买家激活了对应的活动。 - 校验:seat、定向、底价、预算是否都满足。
- 出价:匹配上就按约定出价——固定价交易直接报约定 CPM,私有竞价按策略出价;
- 回退:匹配不上(或买家选择放弃),就退回公开竞价逻辑,或干脆不出价。
工程上最常见的坑是Deal ID 配置不一致:SSP 生成的 ID 和 DSP 激活的 ID 对不上(大小写、空格、过期),导致”交易明明谈好了,线上却一直不出价”。排查 PMP / PD 不投放的问题,第一步永远是核对两端的 Deal ID 是否逐字符一致。
5. 一次曝光怎么分配:媒体 Ad Server 的优先级瀑布
现在把四种模式放回程序化广告生态全景里的那个角色——媒体 Ad Server。它的核心职责是 ad decisioning(决策分配):一次曝光机会进来,在保量单、私有交易、公开竞价之间排出优先级,挑出既满足合约、收益又最高的那一个。
经典的优先级是一条瀑布(waterfall),从上往下逐层下沉:
读法:曝光从顶层开始”找买家”,每一层满足不了(量已交付完、定向不符、买家放弃、无人过底价)就往下掉一层,最差兜底到媒体自己的广告。越靠上的层,确定性和单价越高、对媒体的约束也越强。
这条瀑布解释了几件事:
- 为什么 PG 排最上面:媒体对它有投满的合约义务,必须优先消化,否则违约。
- 一次曝光什么时候才”下沉”过 PG 层:注意这里有个反直觉点——保量单”还没投满(未交付完)“恰恰是它『抢下』曝光的理由,而不是放走的理由。一个未达量、且定向匹配的保量单,会优先把曝光吃掉,这正是它”最高优先级”的含义。曝光下沉到下一层,是因为:① 没有保量单的定向匹配这次曝光;或 ② 能匹配的保量单已经投满了约定量(已交付完)、不再需要;或 ③ 被投放节奏(pacing)临时限速(进度超前,跳过这一次)。
- 为什么 PD 在 PMP 之上:PD 是固定价 + first look,买家有优先过目权;只有它放弃了,才轮到私有竞价。
- 为什么 RTB 垫底:公开竞价卖的就是上面几层都没要的剩余库存,价高者得、但价通常最低。
静态瀑布的问题与统一竞价:纯瀑布是”按固定顺序问,前面吃饱后面没机会”,这会让一个愿意出 $20 CPM 的公开竞价买家,输给一个只值 $8 的低优先级保量单——媒体把钱漏了。于是现代 SSP / Ad Server 普遍转向统一竞价(unified auction):把各层放进同一场拍卖按 eCPM 比价,下层若临时出价更高可以反超上层;但保量 / 优先单仍保留结构性优先权(比如加价系数、或在同等条件下优先)。这正是上一篇里讲的 Header Bidding / In-App Bidding 想解决的”瀑布不公平”问题在交易模式层的对应。
这条瀑布在媒体 Ad Server(GAM)里是用 line item + 优先级实现的——每种交易对应一类 line item,按 Sponsorship / Standard / Price Priority 等档位分层。它的 decisioning 流水线、dynamic allocation 与统一竞价的完整工程拆解,见专文《媒体 Ad Server 深挖》。
6. 旁支一瞥:last look 与拍卖透明度
交易的”优先级”理应规则透明、可解释。程序化历史上最著名的反面教材是 last look(最后一眼):处在竞价链路”最后一棒”的一方(典型是跑在 Header Bidding 出价之后、媒体 Ad Server 内嵌的 ADX),能先偷看到别人报出的竞胜价,再让自家需求”刚好高一点”反超。
行业转向一价拍卖 + 统一竞价很大程度就是为了堵它:统一竞价让所有需求”同时密封、谁也不在最后跑”,拿掉偷看的时间窗口;一价让”成交价 = 自己出价”,拿掉二价套利的动机。Google 2019 年把 GAM 切到 unified first-price auction 即是此意。
但有一种情况机制堵不住——同一家公司既办拍卖(SSP / ADX)、又下场竞价(自家 DSP)。ADX 天生看得到全场出价,“自家 DSP 跟别人一样盲投”就从结构性保证降级成口头承诺。这就是”裁判兼运动员”,也是 Google(AdX + DV360)反垄断诉讼的核心争议之一;买方只能靠 SPO / 日志级透明 / 结构性拆分来对冲。
last look 牵扯一价 / 二价机制、Header Bidding 演进、平台反垄断,水很深,这里只勾一个轮廓——完整展开见专文《Last Look 深挖》。
7. 四种模式横向对比
把前面拆开的维度压成一张表:
| 维度 | RTB(公开竞价) | PMP(私有竞价) | PD(优先交易) | PDB / PG(程序化保量) |
|---|---|---|---|---|
| 定价方式 | 实时竞价 | 实时竞价(带底价) | 固定 CPM | 固定 CPM |
| 保量 | 否 | 否 | 否 | 是 |
| 买家范围 | 全市场公开 | 邀请制·少数 | 一对一 | 一对一 |
| Deal ID | 不需要 | 需要 | 需要 | 需要 |
OpenRTB at | 1 / 2(竞价) | 1 / 2(竞价) | 3(固定价) | 3(固定价) |
| Ad Server 优先级 | 最低 | 中 | 较高 | 最高 |
| 典型库存 | 剩余 / 长尾 | 优质库存 | 优质库存 | 旗舰版位 / 品牌 campaign |
| 价格水平 | 最低 | 较高 | 高 | 最高 |
| 媒体控制权 / 透明度 | 最弱 | 中 | 较强 | 最强 |
| 流量质量 / 品牌安全 | 风险最高 | 较好 | 好 | 最好 |
| 像谁 | 公开市场清货 | 邀请制小拍卖 | 优先供货协议 | 程序化直采 |
一句话记忆:RTB 卖剩货、PMP 邀请竞价、PD 固定价优先供、PG 锁价锁量做直采。
把它落到一个具象例子上会更有体感。假设某财经媒体首页一个黄金广告位,同一次曝光、同一个用户,在四种模式下大致是这样(数字仅作量级示意):
| 模式 | 这次曝光的成交价(CPM) | 买家拿到它的确定性 |
|---|---|---|
| RTB 公开竞价 | ~$2,随行就市、每次都变 | 低——要和全市场抢,价高者才得 |
| PMP 私有竞价 | ~$6,底价之上竞价 | 中——只和少数受邀买家抢 |
| PD 优先交易 | $10 固定 | 较高——有 first look,但可放弃、不保量 |
| PG 程序化保量 | $15 固定 | 最高——量价锁死,必投满 |
同一个广告位,仅仅因为”用哪种模式买”,成交价就差出好几倍。读法是:越往下,单价越高,但”一定拿得到、一定够量”的确定性也越高——多付的那部分钱,买的正是确定性与库存质量。这也正是后面 §8 买方视角里,品牌广告主愿意为 PG / PMP 付溢价的原因。
8. 买方视角:品牌 vs 效果,什么时候用哪种
前面几节都站在媒体(卖方)角度讲”怎么把库存卖出最高价”。换到买方,选哪种交易模式,本质取决于广告主要的是确定性还是性价比——这大致对应”品牌广告”和”效果广告”两类诉求。
- 品牌广告主(要曝光、要环境、要可控):偏好 PG / PMP。一场新品发布、一次品牌 campaign,需要”一定投到约定的量、出现在干净优质的环境里、不和竞品 / 劣质内容同框”。确定性和品牌安全 ≫ 单次成本,所以愿意为 PG 的保量、PMP 的优质库存付溢价。
- 效果广告主(要转化、要 ROI、要规模):偏好 RTB(叠加受众定向 / RTA 等实时信号)。它不在乎曝光具体出现在哪个版位,只在乎”这次曝光值不值得买、能不能带来转化”。公开竞价的海量供给 + 实时压价,才能在巨大流量里挑出性价比最高的那部分——这也是为什么效果广告几乎是 RTB 的天下。
- PD 的位置:夹在中间——想拿某家优质媒体的优先供给、又不愿背保量的量承诺时用它,常见于中等预算的品牌、或”想锁优质源但保留逐次放弃灵活性”的效果买家。
一句话:同一个广告主,做品牌 campaign 用 PG、做效果拉新用 RTB,是完全正常的组合——交易模式不是”二选一”,而是一个工具箱。
8.1 一个高确定性的极端:CTV / 在线长视频
值得单独点出的是 CTV(联网电视)/ 在线长视频:这块库存几乎是 PG / PMP 的天下,公开竞价占比很低。原因很直接——
- 库存稀缺且贵:贴片广告位有限、单价高,媒体没必要扔进公开市场贱卖;
- 品牌预算为主:投 CTV 的多是看重大屏、沉浸式体验的品牌广告主,天然要保量和品牌安全;
- 体验要求高:要控制广告频次、避免竞品相邻、保证不重复串台,这些都依赖 PG / PMP 这种可控通道。
所以在 CTV 语境里,“程序化”几乎等同于”程序化保量 / 私有交易”,而不是公开竞价——这和展示广告(display)以 RTB 为主的格局正好相反。
8.2 一个买方单位经济算例:PG 的 $15 真的比 RTB 的 $2 贵 7.5 倍吗
§7 那张表给的成交价是名义 CPM——PG $15、RTB $2,差 7.5 倍。新手据此得出”RTB 便宜得多”,老手知道这是个陷阱:名义 CPM 不是买方真实付出的单位成本,因为不是每一次曝光都等值。 把”合格曝光”——可见(viewable)、非作弊(non-IVT)、品牌安全(brand-safe)——的折损算进去,故事就变了:
| PG(保量优质库存) | RTB(公开竞价剩余库存) | |
|---|---|---|
| 名义 CPM | $15.00 | $2.00 |
| 可见率 | 95% | 55% |
| 非 IVT 率 | 99% | 88% |
| 品牌安全率 | 100% | 85% |
| 合格曝光占比 | ≈ 94% | ≈ 41% |
| 每千次合格曝光成本 | ≈ $15.95 | ≈ $4.86 |
算法很简单:合格占比 = 可见 × 非IVT × 品牌安全;每千次合格曝光成本 = 名义 CPM ÷ 合格占比。
读这张表的两个反直觉结论:
- 名义价差 7.5 倍,按合格曝光只剩 3.3 倍($15.95 vs $4.86)。RTB 那 $2 里有近 60% 花在了不可见 / 作弊 / 不安全的曝光上——名义便宜的一大半是假便宜。这正是品牌预算持续从公开竞价迁往 PMP / PG 的硬核理由:买的是”合格率”,不是”名义低价”。
- 但 RTB 按合格曝光仍然更便宜——所以效果广告主没疯,他们要的就是规模 × 性价比,再叠 RTA / 受众定向把那 41% 里”会转化的人”挑出来。那剩下的 3.3 倍溢价,品牌付的不是曝光本身,而是确定性:保量投满、指定的优质环境、可控频次、不和竞品同框——这些是 RTB 给不了的,和合格率无关。
一句话给买方:别用名义 CPM 比价,用”每千次合格曝光成本”比,再单独给”确定性”标一个价。 一个广告主完全可能:品牌 campaign 用 PG(为确定性付那 3.3 倍),效果拉新用 RTB(为性价比吃那 41% 里的转化)——这不矛盾,正是 §8 那句”交易模式是工具箱”的量化版。
9. 工程实战:几个绕不开的坑
按本系列的惯例,最后落到生产里真正会咬人的地方。
一个真实的踩坑:一笔谈好的 PMP,两端后台都显示”配置成功”,可连着三天零竞价、零曝光。排查时把 DSP 侧的 deal-level 竞价日志拉出来,发现请求里压根没匹配上——最后定位到 SSP 生成的 Deal ID 末尾被复制粘贴时带了一个不可见的尾随空格,DSP 激活的那串没有,逐字符比对才看出来。删掉空格,几分钟后竞价就起来了。交易模式的故障,八成不在”竞价逻辑”,而在”Deal ID 这根字符串对没对上”。
- Deal ID 不一致是头号故障:如上,SSP 生成的 ID 和 DSP 激活的 ID 但凡有大小写 / 空格 / 过期差异,交易就”静默不投”。上线一笔 PMP / PD 后,务必拿真实流量验证 Deal 真的被匹配上了(看 DSP 侧的 deal-level 竞价日志),而不是只看后台配置成功。
- 底价的两个
bidfloor别搞混:imp.bidfloor是公开竞价底价,deals[].bidfloor是这笔交易的专属底价,后者通常更高。DSP 出价逻辑要按命中的 deal 取对应底价,否则要么过不了价、要么白白多花钱。 private_auction决定同场不同场:置1时公开竞价买家被屏蔽,优质库存只在私有通道里卖;置0时私有交易和公开竞价同场比价。媒体要想清楚是”保护优质库存”还是”最大化竞争”。- PG 的交付节奏(pacing)压力:保量单有投满义务,又要避免一次性烧完导致后期断量。DSP / Ad Server 要做 pacing 平滑,这和出价引擎里的预算节奏控制是同一类问题,只是约束反过来——不是”别超支”,而是”必须投够”。
- 统一竞价下的优先级到底怎么算:当保量单和高价公开竞价同场,“结构性优先权”具体是硬优先、还是折算成加价系数参与比价,各家 SSP / Ad Server 实现不同。接入前一定要搞清楚目标平台的 decisioning 规则,否则收益模型会和线上对不上。
- 流量质量随模式分层:越靠公开竞价,IVT(无效流量)和品牌安全风险越高。买方在 RTB 上要配套 ads.txt / sellers.json 校验、反作弊和可见性验证;而 PMP / PG 因为买家可控、库存可控,天然干净得多——这也是品牌预算持续从公开竞价向 PMP / PG 迁移的核心动因之一。
10. 常见误解 ↔ 正解
这一节专治这组黑话里最容易混的地方——也是面试和对接时最常翻车的点:
| 常见误解 | 正解 |
|---|---|
| RTB = 所有程序化竞价 | 交易模式语境里 RTB 特指公开竞价(Open Auction);PMP 也竞价但邀请制 |
| PMP 和 PD 是一回事 | PMP(私有竞价)仍是拍卖;PD(优先交易)是固定价 + first look、不竞价 |
| PG 的”保量”是买家承诺投满 | ”投满”是**媒体(卖方)**的事——买家没库存;买家承诺的是”买满 / 付满” |
| Deal ID 是一种新协议 | 它只是 OpenRTB pmp.deals[] 里的几个字段(id / at / private_auction…) |
| 固定价一定比竞价贵(或便宜) | 不一定;但越往”保量固定价”走,单价通常越高——多付的是确定性 |
| 保量单优先级最高 = 总能拿到曝光 | 还要定向匹配且未投满;已投满 / 不匹配就下沉 |
| 统一竞价后保量单就没优先权了 | 仍有结构性优先权,只是允许下层临时高价反超 |
| PMP 不保量、所以没价值 | 它用邀请制 + 底价护住优质库存、提价、改善流量质量 |
11. 一张速查表
把全篇压成随手可查的几条:
- 分不清就回到两根轴:价格是竞价还是固定?量保不保?
- RTB:公开、竞价、不保量、卖剩货、最便宜也最不可控。
- PMP:邀请制竞价、带底价和 Deal ID、优质库存优先看。
- PD:固定价、first look、不保量、买家可逐次放弃。
- PG / PDB:固定价 + 保量,最高优先级,等于程序化直采。
- Deal ID 是粘合剂:把线下谈判编码进 OpenRTB 的
pmp.deals[],靠at区分竞价 / 固定价、靠private_auction决定屏不屏蔽公开竞价。 - 媒体 Ad Server 按瀑布分配:PG > PD > PMP > RTB > 保底;统一竞价让下层能高价反超,但保量 / 优先单仍有结构性优先权。
下次再有人把 RTB、PMP、PD、PDB 当成四个并列的黑话甩给你,你只需要先画那张 2×2——竞价 vs 固定价、保量 vs 不保量——四个框立刻各就各位。
延伸阅读
按”全局 → 交易 → 决策落地 → 透明度”的顺序串起来读最顺:
- 程序化广告生态全景:四种模式背后的 DSP / SSP / ADX / Ad Server 角色全景。
- Header Bidding:Prebid.js vs Prebid Server:竞价侧”并行真实竞价”在页面头部怎么跑。
- 媒体 Ad Server 深挖:§5 那条优先级瀑布在 GAM 里的 line item / decisioning 实现。
- last look 与拍卖透明度:§6 那处”裁判兼运动员”问题的完整故事。
- RTA 实时 API:§8 效果买家在 RTB 上叠加的实时定向信号。
再是规范与一手资料:
- IAB Tech Lab. OpenRTB 2.6 Specification:
imp.pmp/deals[]/at/private_auction/wseat字段的权威定义(§4 的协议落点)。 - IAB Tech Lab. OpenDirect:自动化保量直采”询价 / 下单 / 排期”的 API 标准(§4 图里那步线下配置)。
- Google Ad Manager Help. Programmatic deals (PG / PD / Private Auction):四种交易在 GAM 侧的配置与优先级口径。
- IAB Tech Lab. ads.txt & sellers.json:§9 里 RTB 流量质量 / 供应链透明的校验标准。
附录:术语表
- RTB(Open Auction,公开竞价):库存对所有买家开放、价高者得、不保量;卖剩余 / 长尾库存。
- PMP(Private Marketplace,私有市场):邀请制小范围竞价,带底价和 Deal ID;典型形态是 Private Auction。
- PD(Preferred Deals,优先交易):固定价 + first look、不保量、一对一;买家可逐次放弃。
- PG / PDB(Programmatic Guaranteed,程序化保量):固定价 + 保量,最高优先级,等价于程序化直采。
- Deal ID:SSP 生成的唯一凭证,把线下谈好的价 / 量 / 库存 / 定向编码进 OpenRTB 的
pmp.deals[]。 - first look(优先过目权):买家在公开竞价之前优先逐次决定买不买的权利。
- CPM:千次曝光计价;四种交易模式的通用计价单位。
- floor price /
bidfloor(底价):成交底线;imp.bidfloor是公开竞价底价、deals[].bidfloor是交易专属底价(通常更高)。 at(auction type):1 = 一价、2 = 二价、3 = fixed price;PD / PG 用at: 3。private_auction:1 = 只接受私有交易、屏蔽公开竞价;0 = 同场竞争。wseat:允许参与的买家 seat 白名单,对应”邀请制”。- bidstream:OpenRTB 竞价请求流;PG 可走 bidstream(
at: 3+ Deal ID)或直接作为 Ad Server line item 投放。 - make-good(补量)/ cancellation policy(取消条款):媒体没投够的延期补投 / 买家撤量的违约赔偿机制。
- 优先级瀑布(waterfall):PG > PD > PMP > RTB > 兜底的库存分配顺序。
- unified auction(统一竞价):把各层放进同一场拍卖比价、允许下层高价反超、但保量单仍有结构性优先权。
- remnant(剩余库存):直采 / PMP 没消化掉、丢进公开竞价的长尾流量。
- IVT / 品牌安全:无效流量 / 品牌环境风险,越靠公开竞价越高。
- SPO / ads.txt / sellers.json:供应链优化与卖方身份核验,RTB 上的质量配套。
- OpenDirect:自动化保量直采配置的 IAB API 标准。