在程序化交易模式那篇里,我把 last look(最后一眼) 作为一个”旁支”一笔带过——但它其实是整个程序化广告史上最值得讲透的一次信息不对称:它直接催动了行业从二价拍卖集体倒向一价拍卖,也是 Google 广告技术反垄断案最核心的争议之一。
这篇文章把它单独拎出来讲清楚:last look 到底是什么、靠什么结构前提成立、Header Bidding 怎么把它从暗处推到台面上、一价拍卖 + 统一竞价又是怎么把它堵住的,以及为什么在”裁判兼运动员”的垂直整合格局下,它从未真正死透。
TL;DR
- 一句话定义:last look 指处在竞价链路”最后一棒”的一方(历史上典型是 Google 的 AdX),能先偷看到其他渠道已经报出的竞胜价,再让自家需求”刚好高一点”地反超——买方的出价被偷看,本该公平的竞价被扭曲。
- 靠两个结构前提成立:① 顺序 / 分层竞价——总有人被安排在”最后跑”;② 二价机制——成交价由别人的出价决定,留出”看了别人才能定价”的缝和套利空间。
- Header Bidding 把它推上风口:HB 本意是打破媒体 Ad Server 的”瀑布”垄断、让需求公平并行竞价;但它把头部竞价的最高价当成”门槛价”喂进 Ad Server,而 AdX 仍跑在最后、能看着这个门槛价反超——不对称反而更刺眼,直接引爆了行业对 last look 的声讨。
- 一价 + 统一竞价是组合拳:统一竞价让所有需求”同时密封、谁也不在最后跑”,拿掉偷看的时间窗口;一价让”成交价 = 自己出价”,拿掉二价套利的经济动机。Google 2019 年把 GAM 切到 unified first-price auction,正是这两步一起做。
- 但它没真死:当**同一家公司既办拍卖(SSP / ADX)、又下场竞价(自家 DSP)**时,“密封”只是口头承诺而非结构保证。这就是”裁判兼运动员”——Google(AdX + DV360)、Project Bernanke、以及最终的反垄断判决都指向这里。
- 机制堵不住,就靠透明度和结构隔离:买方用 SPO、log-level data 审计、优先走一价 / 无自我交易的路径来对冲;监管则推动结构性拆分。
Table of contents
Open Table of contents
1. 先还原案发现场:瀑布与动态分配
要理解 last look,得先回到 Header Bidding 之前——大约 2010 年代初,媒体侧的变现是媒体 Ad Server(典型是 Google 的 DFP,后来的 GAM)一手主导的。
那时 Ad Server 用一套叫 dynamic allocation(动态分配) 的机制决定一次曝光给谁:
- 先按优先级走直采订单(保量、固定价);
- 直采吃不下的,丢给程序化——但这里有个关键设计:只有 Google 自家的 AdX 能参与这场实时竞价,而且 AdX 是在 Ad Server 内部、在所有其他需求被排过之后才跑的;
- AdX 拿到一个”需要打败的价格”(Ad Server 里其他订单的预估 eCPM),只要它的实时出价高过这个数,就赢走曝光。
问题就藏在第 2、3 步:AdX 永远站在队伍的最后一个,而且能看到前面所有人开出的价。 其他需求源(别的交易所、网络)只能事先把价格”挂”在 Ad Server 里被动等待,没有”看一眼再决定”的权利。这种结构性的”最后一棒 + 上帝视角”,就是 last look 的温床。
2. last look 的精确定义
把它说精确:
last look(最后一眼):在一条分层 / 顺序进行的竞价链路里,处在最后一棒的一方,能先观测到其他所有渠道已经报出的竞胜价,再据此决定自家是否出价、以及出多少——通常是”刚好比当前最高价高一点”地反超。
它能成立,靠且仅靠两个结构前提:
- 顺序 / 分层竞价(有人能最后跑):竞价不是一次性同时密封进行的,而是分了先后。只要存在”最后一棒”的位置,坐在那个位置的人就拥有信息优势。
- 二价机制(成交价由别人决定):在二价拍卖里,赢家付的是”第二名 + 0.01”,成交价取决于别人的出价。这天然制造了一条”必须看到别人出价才能算清成交价”的缝——也给中间人留下了可操纵、可套利的空间。
last look 就是这两个前提的乘积。记住这两条,后面”怎么堵”就是逐一拆掉它们。
3. 一个数字演示:它怎么”刚好高一点”赢
抽象定义不如算一遍。假设一次曝光,三方需求:
| 需求源 | 真实愿意出价(CPM) | 何时出价 |
|---|---|---|
| 网络 A(挂在 Ad Server 里) | $4.00 | 事先挂价,被动 |
| 网络 B(挂在 Ad Server 里) | $5.00 | 事先挂价,被动 |
| AdX(最后一棒) | 愿意出到 $8.00 | 看完前两家后才出 |
没有 last look 的公平拍卖(大家同时密封投标、价高者得):AdX 出 $8.00,赢,媒体收 $8.00(一价)或第二名 $5.00(二价)。
有 last look 时:AdX 看到当前要打败的价是 $5.00(网络 B),于是它不出 $8.00,只出 $5.01——刚好够赢。结果:
- AdX 照样赢走曝光;
- 但它只花了 $5.01,把本可付出的 $8.00 里,省下了近 $3 的”消费者剩余”;
- 媒体本可以拿到更高的价(如果 AdX 被迫亮出真实出价),现在被压在了 $5.01。
这就是 last look 的危害:它不改变谁赢,却系统性地压低成交价、把价差悄悄转移给那个坐在最后一棒的人。对媒体是少赚,对其他买家是”我的出价被你当成了标尺”。注意——这里的”刚好高一点”之所以有利可图,正是因为二价 / 软底价语境下,赢家不必亮出真实估值。
4. Header Bidding 如何把 last look 推上风口
很多人以为 Header Bidding(头部竞价)是 last look 的解药,其实它更像是把 last look 从暗处照到了聚光灯下——这段反讽值得讲清楚。
Header Bidding 的初衷是好的:打破媒体 Ad Server”瀑布 + 动态分配”的垄断,让多个交易所 / SSP 在调用 Ad Server 之前,先在浏览器(或服务端)里并行、同时竞价,把最高价拿出来。本意是”让大家站在同一条起跑线上”。
但落地时有个绕不过的步骤:Header Bidding 跑完,得到一个最高出价,这个价要作为一个 key-value(如 hb_pb=5.00)传进媒体 Ad Server,让 Ad Server 拿它和直采订单、以及 AdX 一起做最终决策。问题就在这——
- Header Bidding 的胜出价进了 Ad Server,等于把买方的底牌摊在了桌上;
- 而 AdX 依然跑在 Ad Server 内部的最后一棒,能看着这个
hb_pb的值,再决定自己出多少。
于是出现了最刺眼的画面:媒体辛辛苦苦用 Header Bidding 把需求摆到明面上公平竞价,结果这些明面上的出价,反而成了 AdX 精准反超的”参考答案”。 Header Bidding 越普及、越透明,AdX 的 last look 就越显得不公平。正是这种对比,让 last look 从一个技术细节,变成了 2017—2018 年间整个行业声讨的焦点,也直接逼出了下一节的解法。
5. 一价 + 统一竞价:怎么把它堵住的
行业的解法是两件事捆在一起做,正好对应第 2 节那两个结构前提:
下面这张图把”病灶”和”解法”并排画出来——左边是带 last look 的旧链路,右边是统一密封的一价拍卖:
左边的病根是”有人能最后跑 + 二价留缝”;右边的解法是把竞价压成”同时密封的一场一价拍卖”,让最后一棒的位置和二价的缝同时消失。
拆开看这套组合拳:
- 统一竞价(unified auction)拆掉”前提 1”:把竞价从串行改成并行密封、一场定胜负——所有需求源(含 AdX / 自家交易所)同时把出价交上来、彼此看不见,放进同一场拍卖、按同一套规则一次性决胜。没有任何一层被安排在”最后”,那个能偷看的位置被物理删除了,偷看的时间窗口就没了。
- 一价拍卖(first-price)拆掉”前提 2”:赢家付的就是自己报的价,成交价只由自己的出价决定,与别人无关。这既消除了”必须看别人才能算二价”的借口,也堵掉了”用二价赢下来、再用更高价上报、私吞差额”的套利动机。
为什么必须是组合拳? 单上一价不够——理论上即便一价,只要你还能”最后看一眼”别人的价,你仍可贴着最高竞争者 + 一个最小增量去赢。所以真正根除 last look 的是”同时密封 + 单场 + 一价”三者合一:统一竞价拿掉偷看的时间窗口,一价拿掉偷看的经济动机。Google 2019 年把 GAM 从”二价 + AdX last look”切到 unified first-price auction,正是这两步一起做的;少了任何一步,缝都堵不严。
这也顺带解释了一个常被问的问题:为什么整个行业在 2018—2019 年集体从二价倒向一价? 表面看是”定价规则之争”,底层动因之一就是堵 last look、把竞价的公平性和可解释性还给买卖双方。
6. 但它没真死:垂直整合下的”裁判兼运动员”
如果故事到这里就结束,那是个皆大欢喜的工程胜利。可惜现实有个机制堵不住的口子——当同一家公司既办拍卖(SSP / ADX),又下场竞价(自家 DSP)时。
回到第 5 节解法的前提:统一密封竞价之所以能堵 last look,靠的是”所有人同时密封投标、谁也不在最后跑”。但这有个隐含假设——办拍卖的人自己不下场。而 ADX 这个角色,天生就能看到全场出价(它必须看到,才能裁决谁赢)。
下面这张图把这个利益冲突画出来:
统一密封竞价对所有第三方都成立,但对”办拍卖的自家 DSP”不成立:拍卖主机本就看得到全场出价,要不要把这个信息优势喂给自家买方,是一个无法用机制证伪的承诺。
一旦自家 DSP 也在场内,“拍卖是密封的、自家 DSP 跟别人一样盲投”这件事,就从一个结构性保证,降级成了一个口头承诺——技术上完全有路径把竞胜价喂给自家 DSP 精准反超,而拍卖主机和 DSP 在同一家公司手里,没有物理隔离。这就是经典的”裁判兼运动员”。
最典型的就是 Google:AdX(卖方拍卖)+ DV360 / Google Ads(买方 DSP) 一手包办:
- Google 的 AdX 在 2019 年之前确实拥有 last look;这不是传言,是公开承认并废除的;
- 后来在反垄断诉讼中被曝光的 Project Bernanke(以及 “Project Bell”、“Jedi” 等)等内部项目,核心正是利用 AdX 上积累的竞价数据,去优化 Google 自家买方的出价——即便明面的 last look 取消了,数据优势仍可以换个形式延续;
- 美国 DOJ 与欧盟的广告技术反垄断诉讼,核心指控之一正是这种**自我交易(self-dealing)**与利益冲突,并最终认定 Google 在 ad server / ad exchange 市场构成垄断。
关键结论:一价 + 统一竞价堵死的是公开架构里人人都看得见的不对称(串行最后一棒、二价套利);但”同一家既办拍卖又竞价”这种藏在公司内部的不对称,机制本身保证不了——拍卖主机有上帝视角,你只能选择信或不信。这也是为什么 last look 从一个”已解决的技术问题”,升级成了一个”还在打官司的结构问题”。
7. 不止 last look:相关的信息不对称家族
last look 是最有名的一个,但它属于一个更大的”竞价信息不对称”家族。工程师值得知道这些近亲,因为它们常被混为一谈:
- 软底价(soft floor)与 last look 的合流:软底价是”低于它也可能成交”的模糊底价。在二价 + 软底价下,交易所对”成交价该是多少”有很大自由裁量权,这正是 last look 式操纵的土壤。一价 + 硬底价(hard floor)是更透明的方向。
- Bid caching(出价缓存):把买方一次出价缓存下来,复用到后续别的曝光上。买方以为只为某次曝光出价,结果被拿去赢了另一次——又一种”买方不知情”的信息不对称。
- 二价套利 / auction within auction(拍卖中的拍卖):中间层用二价在下游赢下来、再用更高价向上游上报、私吞差额。它和 last look 共享同一个根:二价让成交价依赖别人的出价,给中间人留了缝。
- 费用不透明(hidden fees / take rate):买方支出和媒体实收之间的差额(ad tech tax)里,有多少是明示的、有多少是暗扣的。这与拍卖机制不直接相关,但同属”链路不透明”的大问题。
把它们放一起看会发现:这些问题的共同解法,都是朝『一价 + 硬底价 + 同时密封 + 可审计日志』的方向走——让成交价只取决于参与者自己的出价,并且过程可被第三方核查。
8. 工程与买方视角:机制堵不住,就靠透明与隔离
既然在垂直整合下技术机制兜不住,买方和行业的应对就转向了”别走有利益冲突的路、并要求把账摊开”。这些是落到工程和投放实操里的动作:
- SPO(供应链优化,Supply Path Optimization):买方主动审计、收敛中间路径,对同一份库存优先走最短、最透明、无自我交易嫌疑的 SSP,砍掉冗余跳数。
- log-level data(日志级数据)审计:要求 SSP / 交易所提供成交价、清算逻辑、auction type 的可核查原始日志,自己复算”我付的价对不对、是不是被加塞”。
- 优先一价 / 透明拍卖:在可选时,倾向接入明确声明一价、硬底价、不做 last look / bid caching 的供给路径。
- sellers.json / ads.txt / schain 校验:从供应链透明的角度,确认每一跳的卖方身份与分成关系,压缩信息黑箱。
- 结构性拆分(监管层面):要求把卖方拍卖和买方平台分离,从源头消除”裁判兼运动员”——这已不是工程问题,而是反垄断救济的范畴。
一句话给工程师:当你接入一条程序化供给时,“它用一价还是二价、做不做 last look / bid caching、给不给 log-level data、是不是自我交易”这几个问题,比”它能给多少量”更值得先问清楚。
9. 速查表
- last look 是什么:最后一棒的一方偷看别人竞胜价、再”刚好高一点”反超。
- 靠两个前提:① 顺序 / 分层竞价(有人最后跑);② 二价(成交价由别人决定)。
- 危害:不改变谁赢,但系统性压低成交价、把价差转移给最后一棒。
- Header Bidding:本意打破瀑布、公平竞价,却把买方底牌摊上桌,让仍跑在最后的 AdX 反超更刺眼——把 last look 推上风口。
- 怎么堵:一价(拿掉套利动机)+ 统一竞价(拿掉偷看窗口),组合拳,缺一不可。Google 2019 GAM unified first-price 即此。
- 没真死:垂直整合(办拍卖 + 自家 DSP)下,“密封”是承诺非结构——裁判兼运动员,反垄断争议核心。
- 对冲:SPO、log-level data 审计、优先一价、sellers.json / schain、结构性拆分。
回到交易模式那篇的那句话:交易的”优先级”应当规则透明、可解释。last look 的整段历史,就是这句话的反面教材——以及行业为了把它扳回正面,所做的全部努力。
延伸阅读
先看同系列里和本篇直接相邻的几篇:
- 程序化交易模式:RTB / PMP / PD / PG:本篇正是那篇里”旁支一瞥”的完整展开。
- 媒体 Ad Server 深挖:§1 dynamic allocation 与 AdX”最后一棒”的机制底座。
- Header Bidding:Prebid.js vs Prebid Server:§4 里把 last look 推上风口的那条竞价链路,以及默认一价的来由。
- 程序化广告生态全景:§8 里 SPO / sellers.json / schain 供应链透明的全局位置。
再是规范与一手资料:
- Google Ad Manager. Simplifying programmatic: first-price auctions for Google Ad Manager(2019):Google 官方宣布切到 unified first-price、废除 last look 的源文。
- U.S. Department of Justice. United States et al. v. Google LLC(ad tech 反垄断案):自我交易与 ad server / ad exchange 垄断指控的一手卷宗。
- Texas et al. v. Google(多州诉状):Project Bernanke 等内部项目最早被公开披露的来源;网络上有去封存版本可查。
- IAB Tech Lab. OpenRTB 2.6 Specification:
at(一价 / 二价 / 固定价)字段与拍卖类型的协议定义。 - IAB Tech Lab. sellers.json & SupplyChain Object:§8 买方对冲里供应链透明 / 自我交易识别的标准。
附录:术语表
- last look(最后一眼):处在竞价”最后一棒”的一方先偷看别人竞胜价、再”刚好高一点”反超的信息不对称。
- dynamic allocation(动态分配):媒体 Ad Server 让 AdX 实时出价与其他需求预估 eCPM 比价、且 AdX 跑在最后一棒的旧机制。
- 一价拍卖(first-price):赢家付自己出价;成交价只由自己决定,拿掉二价套利动机。
- 二价拍卖(second-price):赢家付”第二名 + 增量”;成交价由别人决定,给 last look 留缝。
- 统一竞价(unified auction):所有需求同时密封、单场一次定胜负,删除”能最后跑”的位置。
- 软底价 / 硬底价(soft / hard floor):低于它仍可能成交的模糊底价 / 不可逾越的明确底价;软底价是 last look 式操纵的土壤。
- bid caching(出价缓存):把买方一次出价复用到后续别的曝光,买方不知情的信息不对称。
- auction within auction(拍卖中的拍卖):中间层用二价在下游赢、再用更高价向上游上报、私吞差额。
- 裁判兼运动员(self-dealing):同一家既办拍卖(SSP / ADX)又下场竞价(自家 DSP),密封只是承诺而非结构保证。
- Project Bernanke:Google 被披露的内部项目,利用 AdX 竞价数据优化自家买方出价。
- SPO(Supply Path Optimization):买方收敛供给路径、优先走最短最透明 / 无自我交易的 SSP。
- log-level data(日志级数据):成交价 / 清算逻辑 / auction type 的可核查原始日志,用于买方自行复算。
- sellers.json / ads.txt / schain(SupplyChain Object):核验每一跳卖方身份与分成关系的供应链透明标准。
- 结构性拆分(structural separation):监管要求把卖方拍卖与买方平台分离,从源头消除利益冲突。