广告技术系列(二):程序化广告与竞价机制
上一篇从宏观视角梳理了广告行业的商业逻辑和生态角色——DSP、SSP、Ad Exchange 各司其职,数据在它们之间流转驱动精准匹配。本篇从"交易机制"切入,回答一个更具体的问题:每一次广告展示机会,是怎么定价和分配的?
程序化广告的本质不是技术的堆砌,而是广告交易效率的系统性重构。从传统的人工谈判、按位置打包售卖,到如今每一次展示机会都在毫秒级完成定价与分配,这一演进过程涉及经济学中的拍卖理论、信息论中的信号博弈、以及工程实践中的高并发系统设计。本文将从交易模式、竞价机制、计费模型、工程实现和反作弊体系五个维度,系统性地解析程序化广告的核心知识框架。
传统广告交易的局限与程序化的价值主张
传统广告采购模式
在程序化广告出现之前,在线广告的交易模式与线下媒体广告并无本质区别。广告主或其代理公司与媒体方进行人工谈判,双方就广告位置、投放时间段、曝光量级和价格达成协议,签订合同后按约执行。这种模式通常采用 CPD(Cost Per Day,按天计费)或 CPT(Cost Per Time,按时间段计费)的定价方式,广告主购买的是"某个页面上某个位置在某个时间段内的展示权"。
以门户网站首页的 Banner 广告为例,典型的交易流程如下:
- 需求沟通:广告主向媒体提出投放需求,包括目标人群、预算范围、期望位置
- 资源排期:媒体方根据现有排期情况,提供可用的广告位和时间段
- 价格谈判:双方就 CPD 价格进行多轮谈判,通常涉及折扣、搭配销售等
- 合同签订:确定投放方案后签订合同,锁定资源
- 素材提交:广告主按规格提交素材,媒体方进行审核
- 上线投放:按约定时间上线,投放期间通常无法动态调整
- 结案报告:投放结束后,媒体方提供曝光数据报告
整个流程从需求提出到最终上线,通常需要数周甚至数月时间。
传统模式的三大痛点
痛点一:效率低下
人工谈判的周期长、沟通成本高,且严重依赖销售人员的经验和关系网络。对于中小广告主而言,高昂的沟通门槛意味着优质广告资源几乎不可触达。媒体方同样面临效率问题——大量的长尾广告位无法通过人工销售逐一变现,导致广告库存的填充率(Fill Rate)长期偏低。
痛点二:浪费严重
传统模式的核心交易对象是"广告位 × 时间段",而非"用户"。一个 25 岁的女性用户和一个 50 岁的男性用户在同一时刻访问同一个页面,看到的是同一个广告。这意味着广告主无法按受众特征进行精准定向,大量的广告预算花费在了非目标人群上。以某母婴品牌为例,如果其在综合门户首页投放广告,真正属于目标受众(25-35 岁、有育儿需求的女性)的比例可能不足 15%,剩余 85% 的曝光都是无效浪费。
痛点三:不透明
传统广告交易中,效果量化是一个长期难题。广告主很难精确地知道每一分钱花在了哪里、带来了什么效果。媒体方提供的数据报告通常只有总曝光量和点击量这类粗粒度指标,无法支撑精细化的 ROI 分析。更严重的是,由于缺乏第三方监测和透明的竞价机制,价格的形成过程充满了信息不对称——广告主不知道同一个广告位的市场公允价格是多少,媒体方也难以实现收入的最大化。
程序化广告的核心价值
程序化广告(Programmatic Advertising)通过技术手段实现广告交易的自动化,其核心价值体现在四个方面:
| 维度 | 传统模式 | 程序化模式 |
|---|---|---|
| 交易效率 | 人工谈判,周期数周 | 系统自动完成,毫秒级决策 |
| 定向能力 | 按位置/时间段,粗粒度 | 按受众特征,可精确到个体 |
| 效果量化 | 粗粒度报告,滞后性强 | 实时数据反馈,可归因分析 |
| 价格机制 | 固定价格,信息不对称 | 市场化定价,竞价驱动 |
| 优化能力 | 投放期间无法动态调整 | 实时优化出价、定向、素材 |
| 覆盖范围 | 受限于人工销售能力 | 可同时接入数千家媒体资源 |
程序化广告改变了广告交易的基本单位——从"广告位"转向"受众"。每一次广告展示机会不再是按位置和时段打包售卖,而是基于当前访问用户的属性(人口统计、兴趣偏好、行为历史、实时场景等)进行独立定价和分配。这一转变的意义是深远的:它使得广告交易从"批发"模式转向"零售"模式,从"卖位置"转向"卖受众"。
程序化不等于 RTB
一个常见的误解是将程序化广告与 RTB(Real-Time Bidding,实时竞价)画等号。事实上,RTB 只是程序化广告的交易方式之一。程序化广告的核心是"通过技术系统自动化完成广告的采购、投放和优化",而这一目标可以通过多种交易方式实现:
- 程序化直接购买(PDB):保价保量,无需竞价
- 优先交易(PD):固定价格,按需选购
- 私有交易市场(PMP):限定范围内的竞价
- 实时竞价(RTB):开放市场的逐次竞价
这四种交易方式构成了程序化广告的完整交易图谱,从确定性最强(PDB)到灵活性最高(RTB),满足不同类型广告主的差异化需求。理解这四种模式的定位与差异,是理解整个程序化广告体系的基础。
四种程序化交易模式深度对比
程序化广告的四种交易模式可以按照两个维度进行分类:价格是否确定和库存是否保障。这两个维度的组合决定了每种模式的核心特征、适用场景和风险分布。
| 保量(库存确定) | 不保量(库存不确定) | |
|---|---|---|
| 保价(价格确定) | PDB(程序化直接购买) | PD(优先交易) |
| 不保价(价格不确定) | — | PMP(私有市场竞价)/ RTB(公开市场竞价) |
从流量的优先级来看,当同一个展示机会同时被多种交易模式覆盖时,其分配顺序通常为:PDB > PD > PMP > RTB。这一优先级排序反映了媒体方对不同交易模式的承诺强度——保价保量的 PDB 承诺最强,因此优先级最高;开放市场的 RTB 无任何承诺,优先级最低。
PDB:程序化直接购买
PDB(Programmatic Direct Buying,程序化直接购买)是最接近传统广告采购的程序化方式。其核心特征是保价保量——广告主与媒体方预先约定价格和采购量,通过程序化系统自动执行投放。
运作机制:
PDB 的交易流程分为两个阶段。第一阶段是线下协商:广告主与媒体方就投放目标(人群定向、投放周期、曝光量)和价格进行谈判并签订合同。第二阶段是线上执行:合同条款被录入程序化系统,系统在投放期间自动完成广告的请求、匹配和展示,无需人工干预。
与传统直接购买相比,PDB 的"程序化"体现在以下方面:
- 受众定向:即便是保量购买,PDB 也支持基于 Cookie 或设备 ID 的受众定向,广告主可以选择只向目标受众展示广告
- 频次控制:系统自动控制单个用户的广告展示频次,避免过度曝光
- 实时监测:广告主可以实时查看投放数据,而非等到投放结束才获取报告
- 素材动态优化:支持多套素材的 A/B 测试和动态轮替
适用场景:
PDB 主要服务于有大规模品牌曝光需求的广告主,典型场景包括:
- 新品上市期间的大规模曝光(如汽车品牌新车发布)
- 重大营销节点的品牌占位(如双十一期间的电商平台)
- 品牌形象类广告的持续投放(如奢侈品品牌的形象广告)
为什么大型品牌主将 PDB 作为首选:
对于年广告预算在千万级以上的大型品牌主,PDB 的吸引力在于三点。其一,库存确定性——品牌主可以确保在关键营销节点获得足够的优质曝光,这对于新品发布、大促等时间敏感的营销活动至关重要。其二,流量质量保障——PDB 的流量通常来自媒体方的优质广告位,且由于是直接合作关系,流量的真实性和可见性更有保障。其三,成本可控——虽然 PDB 的单价通常高于 RTB,但由于价格事先锁定,不存在竞价导致的成本波动风险。
局限性:
PDB 的主要限制在于灵活度不足。一旦签订合同,广告主在投放期间难以大幅调整策略。此外,保量承诺意味着即使投放效果不佳,广告主也必须履行合同——这在一定程度上限制了预算的灵活分配。对于效果导向的广告主而言,PDB 的 ROI 不确定性也是一个考量因素。
市场趋势:
行业发展的一个重要趋势是 PDB 正在逐步替代传统的非程序化直投。其根本原因在于 PDB 在保留传统直投"保价保量"优势的同时,增加了受众定向、频次控制和数据透明等能力。对于媒体方而言,PDB 提升了广告运营效率;对于广告主而言,PDB 提升了投放的精细化程度。两者利益一致,推动了这一替代进程的加速。
PD:优先交易
PD(Preferred Deal,优先交易)的核心特征是保价不保量——广告主与媒体方预先约定价格,但广告主并不承诺购买全部库存,而是拥有优先选择权。
运作机制:
PD 的交易逻辑可以形象地理解为"优先选购权"。媒体方以固定价格向广告主开放特定广告位的库存,当一个展示机会到来时,系统首先询问 PD 广告主是否购买。如果广告主的系统判断该用户符合投放目标(基于人群标签、行为特征等),则以约定价格购买;如果不符合,则放弃该次展示机会,该库存随后流入下一优先级的交易模式(PMP 或 RTB)。
这一机制的关键在于"可选择性"——广告主可以基于实时的用户数据决定是否购买每一次展示机会,而非像 PDB 那样承诺购买全部库存。
适用场景:
PD 适合以下类型的广告投放需求:
- 有品牌诉求但需要灵活性的广告主:例如,某快消品牌希望在优质媒体上投放广告,但只想针对特定人群(如 18-25 岁的年轻女性)展示,而非全量曝光
- 临时补量需求:当常规投放计划的曝光量未达预期时,通过 PD 从特定媒体补充曝光
- 季节性投放:在特定营销节点(如节假日)临时增加投放,但不想签订长期保量合同
- 试投放阶段:在决定是否与某媒体签订 PDB 合同之前,先通过 PD 进行小规模测试
优势与限制:
PD 的核心优势在于灵活度——广告主可以根据用户标签进行选择性购买,只为目标受众付费。同时,固定价格避免了竞价带来的成本不确定性。其主要限制在于库存不确定:由于不保量,广告主可能无法获得足够的曝光量,尤其是在流量高峰期。此外,PD 的价格通常介于 PDB 和 RTB 之间——低于 PDB(因为不保量),但高于 RTB 均价(因为是优质库存的优先选择权)。
PMP:私有交易市场
PMP(Private Marketplace,私有交易市场)是一种邀请制的私有竞价市场。媒体方将特定的高价值库存开放给经过筛选的广告主群体,这些广告主在限定范围内进行竞价。
运作机制:
PMP 的核心机制是 Deal ID。媒体方为每个私有交易创建一个唯一的 Deal ID,并将该 ID 分发给受邀的广告主。在竞价过程中,广告主的 DSP(Demand-Side Platform)在 Bid Request 中识别到 Deal ID 后,按照 PMP 的规则参与竞价,而非按照公开市场的规则。
Deal ID 承载了以下信息:
- 参与资格:哪些广告主被邀请参与
- 库存范围:哪些广告位被纳入此 PMP
- 底价(Floor Price):竞价的最低出价要求
- 优先级:相对于其他交易模式的优先级
PMP 的竞价通常采用第二价格拍卖机制(近年来部分平台已转向第一价格拍卖),中标者支付第二高出价加上一个最小增量(或直接支付自己的出价,取决于拍卖机制)。
适用场景:
PMP 在以下场景中发挥关键作用:
- 优质媒体的高价值库存变现:如头部新闻媒体将首页焦点图的库存通过 PMP 向品牌广告主开放,既保证了流量质量(限定参与者),又实现了市场化定价(竞价机制)
- 品牌安全敏感的广告主:通过 PMP,广告主可以确保广告仅出现在经过审核的媒体环境中,避免品牌安全风险
- 垂直领域的精准投放:如母婴、汽车、金融等垂直媒体向相关行业广告主开放的定向库存
Deal ID 机制的深层作用:
Deal ID 不仅是一个技术标识符,更是程序化广告中"关系管理"的载体。在传统广告交易中,广告主与媒体方之间的合作关系依赖人际沟通来维护;在程序化交易中,Deal ID 将这种合作关系数字化、标准化。一个 Deal ID 本质上代表了"媒体方向特定广告主开放特定库存、并约定基本交易条件"的一种结构化协议。
优势与限制:
PMP 的优势在于兼顾了流量质量和竞价灵活性。相比 PDB/PD,PMP 通过竞价机制实现了更充分的市场化定价;相比 RTB,PMP 通过邀请制保证了参与者质量和库存质量。其限制主要在运营层面——媒体方需要主动管理邀请关系、维护 Deal ID,这增加了运营成本。对于广告主而言,PMP 的库存规模通常小于 RTB,且竞价的结果具有不确定性。
RTB:实时竞价
RTB(Real-Time Bidding,实时竞价)是程序化广告中最具革命性的交易方式,也是程序化广告发展的起点。其核心特征是在开放市场中对每一次展示机会进行逐次拍卖,每次拍卖在毫秒级完成。
运作机制:
当一个用户访问某个网页或打开某个 App 时,该次访问产生的广告展示机会被发送至广告交易平台(Ad Exchange)。Ad Exchange 将该展示机会以 Bid Request 的形式广播给所有接入的 DSP。每个 DSP 根据用户画像、广告主的投放策略和预算约束,在极短时间内(通常 100ms 以内)决定是否参与竞价及出价金额,并将 Bid Response 返回给 Ad Exchange。Ad Exchange 在所有响应中选出出价最高者(或根据拍卖机制确定胜出者),中标的 DSP 获得该次展示机会,其广告素材被展示给用户。
这一过程中,每一次展示机会都是一次独立的拍卖——不同用户、不同页面、不同时间的展示机会,其价格完全由实时市场竞争决定。
适用场景:
RTB 最适合效果导向的广告主,特别是:
- 电商广告主:追求 ROI 最大化,需要根据用户的购买意向灵活调整出价
- 游戏广告主:需要大规模获取新用户,对流量池的广度要求高
- 金融类广告主:对转化成本敏感,需要精细化控制每次获客的成本
- 中小广告主:预算有限,无法承担 PDB/PD 的高门槛,RTB 提供了低门槛的优质媒体接入
优势与限制:
RTB 的最大优势是流量池规模和灵活度。由于是开放市场,RTB 覆盖了绝大部分可程序化交易的广告库存,广告主可以同时接触到数千家媒体的流量资源。同时,RTB 允许广告主按效果出价——基于每个用户的预估转化价值,动态调整出价金额,实现预算的最优分配。
然而,RTB 的限制同样显著。首先是流量质量参差——开放市场中混杂着大量低质量流量、甚至虚假流量(fraud),广告主需要投入大量资源进行流量筛选和反作弊。其次是品牌安全风险——广告可能出现在不当内容旁边,对品牌形象造成负面影响。第三是竞价成本的不确定性——在流量高峰期或竞争激烈的人群定向中,CPM 可能大幅上涨。
RTB 是起点,但非终点:
从行业发展的角度看,RTB 是程序化广告的起点——它最早证明了"逐次竞价、实时决策"的技术可行性和商业价值。但随着行业的成熟,市场逐渐认识到 RTB 的局限性:纯粹的开放竞价难以保障流量质量和品牌安全。这推动了 PMP、PD 和 PDB 等更具确定性的交易模式的发展。如今,成熟的广告主通常采用多种交易模式的组合策略——用 PDB 保障核心营销节点的曝光,用 PD/PMP 覆盖优质媒体的目标人群,用 RTB 进行大规模的效果类投放。
四种模式综合对比
| 维度 | PDB | PD | PMP | RTB |
|---|---|---|---|---|
| 价格确定性 | 固定价格 | 固定价格 | 竞价决定(有底价) | 竞价决定 |
| 库存保障 | 保量 | 不保量 | 不保量 | 不保量 |
| 流量质量 | 最高(直接合作) | 高(优先选择) | 较高(邀请制) | 参差不齐 |
| 灵活度 | 低 | 中 | 中高 | 最高 |
| 品牌安全 | 最好 | 好 | 较好 | 风险较高 |
| 适用广告主 | 大型品牌主 | 品牌+效果兼顾 | 品牌安全敏感型 | 效果导向型 |
| 最低预算门槛 | 最高 | 较高 | 中等 | 最低 |
| 优先级 | 最高 | 次高 | 中等 | 最低 |
| 典型计费模式 | CPM/CPD | CPM | CPM | CPM/CPC/CPA |
| 与传统模式关系 | 替代传统直投 | 传统直投的灵活版 | 介于直投与公开竞价之间 | 完全市场化 |
从广告主的角度看,选择哪种交易模式取决于三个核心因素:营销目标(品牌曝光 vs 效果转化)、预算规模(大预算偏向 PDB/PD,小预算偏向 RTB)、风险偏好(确定性优先 vs 灵活性优先)。实践中,成熟的广告主通常采用"漏斗式"的组合策略:
- 核心资源层(PDB):锁定关键营销节点的核心媒体资源,确保品牌声量
- 优质补充层(PD + PMP):在优质媒体环境中灵活触达目标人群
- 效果拓展层(RTB):在开放市场中大规模进行效果类投放,追求 ROI 最大化
竞价理论:广告拍卖的经济学基础
广告交易的核心环节是拍卖。理解广告竞价机制,需要回到拍卖理论的基本框架。拍卖理论是微观经济学和博弈论的重要分支,研究的是在信息不对称条件下,如何通过机制设计实现资源的高效分配。
拍卖理论基础
拍卖是一种通过竞争性出价来分配商品的交易机制。根据出价的公开性和规则差异,经典拍卖可以分为以下四种基本形式:
| 拍卖类型 | 出价方式 | 价格走势 | 支付规则 | 典型场景 |
|---|---|---|---|---|
| 英式拍卖(English Auction) | 公开竞价 | 价格递增 | 最高出价者支付自己的出价 | 艺术品拍卖 |
| 荷兰式拍卖(Dutch Auction) | 公开竞价 | 价格递减 | 第一个喊停者支付当前价格 | 鲜花批发市场 |
| 第一价格密封拍卖 | 密封出价 | — | 最高出价者支付自己的出价 | 政府采购招标 |
| 第二价格密封拍卖 | 密封出价 | — | 最高出价者支付第二高出价 | 在线广告竞价 |
在线广告竞价本质上是一种密封价格拍卖——每个竞价方独立提交出价,互不知晓对方的出价金额,最终由拍卖平台根据规则确定胜出者和支付价格。
第一价格拍卖
在第一价格拍卖(First-Price Auction)中,出价最高的竞价方胜出,且支付的价格等于自己的出价金额。这一机制的直觉非常简单:出多少钱就付多少钱。
竞价者的策略行为:
第一价格拍卖面临一个根本性的博弈问题——出价压缩(Bid Shading)。由于中标者需要支付自己的全部出价,理性的竞价者有动力将出价压低至其真实估值之下。假设某广告主认为一次展示机会的价值为 10 元,在第一价格拍卖中,他不会出价 10 元(因为这样即使中标也没有利润),而是会根据对竞争对手出价分布的估计,将出价压低至某个水平(例如 7 元),以在中标概率和利润之间取得平衡。
这种策略行为导致了两个后果:
- 出价不反映真实价值:竞价者的出价系统性地低于其真实估值,拍卖结果可能不是最优分配
- 策略复杂度高:竞价者需要不断估计市场竞争态势和对手的出价分布,并动态调整自己的出价策略
数学表达:
在独立私有价值(IPV)模型下,假设有 $n$ 个竞价者,每个竞价者的真实估值 $v_i$ 独立地从均匀分布 $U[0,1]$ 中抽取。在贝叶斯纳什均衡下,每个竞价者的最优出价策略为:
$$b_i(v_i) = \frac{n-1}{n} \cdot v_i$$
即竞价者会将出价压缩为真实估值的 $(n-1)/n$。当竞价者数量为 2 时,出价为真实估值的 50%;当竞价者数量为 10 时,出价为真实估值的 90%。竞争越激烈,出价越接近真实估值。
第二价格拍卖
第二价格拍卖(Second-Price Auction),也称为维克里拍卖(Vickrey Auction),以诺贝尔经济学奖得主 William Vickrey 的名字命名。在这种机制下,出价最高的竞价方胜出,但支付的价格等于第二高出价(通常加上一个最小增量 $\epsilon$)。
真实出价的激励兼容性:
第二价格拍卖最重要的理论性质是激励兼容(Incentive Compatible)——每个竞价者的最优策略是按照自己的真实估值出价,而非策略性地压低或抬高出价。这一性质的证明思路如下:
假设竞价者 $i$ 的真实估值为 $v_i$,当前的第二高出价为 $p$($i$ 不知道 $p$ 的具体值)。
- 如果 $v_i > p$:按真实估值出价会中标,支付 $p$,获得正利润 $v_i - p > 0$。若压低出价至 $b < p$,则不中标,利润为 0——这是不利的偏离。
- 如果 $v_i < p$:按真实估值出价不会中标,利润为 0。若抬高出价至 $b > p$,则会中标,但支付 $p > v_i$,利润为负——这也是不利的偏离。
因此,无论市场环境如何,按真实估值出价都是弱占优策略。这大大简化了竞价者的决策过程——不需要猜测对手的出价策略,只需要准确评估每次展示机会对自己的价值即可。
对广告平台的意义:
第二价格拍卖之所以在早期在线广告中被广泛采用,是因为它同时满足了平台和广告主双方的需求。对广告主而言,真实出价策略的简单性降低了参与门槛——不需要复杂的出价算法,也不需要实时监控市场竞争态势。对平台而言,真实出价带来了更高效的资源分配——每次展示机会分配给真正估值最高的广告主,最大化了社会总福利。
GSP:广义第二价格拍卖
GSP(Generalized Second-Price Auction,广义第二价格拍卖)是搜索广告领域的主流拍卖机制,由 Google 和 Yahoo 在 2000 年代中期推广应用。GSP 是对标准第二价格拍卖在多位置场景下的扩展。
搜索广告的多位置问题:
搜索广告与展示广告的一个关键差异在于,搜索结果页上通常有多个广告位(如 3-5 个),每个位置的点击率随排名递减。这意味着拍卖需要同时确定多个胜出者及其排列顺序,而非简单地选出一个胜出者。
GSP 的规则:
在 GSP 机制下,所有竞价者按出价从高到低排列(通常以 eCPM 排序),每个位置分配给对应排名的竞价者,且每个位置的竞价者支付下一位竞价者的出价。
以搜索结果页上的三个广告位为例:
| 排名 | 广告主 | 出价(CPC) | 实际支付 |
|---|---|---|---|
| 第 1 位 | A | 5.0 元 | 3.0 元(B 的出价)+ ε |
| 第 2 位 | B | 3.0 元 | 1.5 元(C 的出价)+ ε |
| 第 3 位 | C | 1.5 元 | 0.8 元(D 的出价 / 底价)+ ε |
GSP 与 VCG 的关系:
需要注意的是,GSP 并不具备激励兼容性——在 GSP 下,真实出价不一定是最优策略。理论上,VCG(Vickrey-Clarke-Groves)机制在多位置拍卖场景中是激励兼容的最优机制,但 GSP 由于规则更简单、广告主更容易理解,在工程实践中被广泛采用。
GSP 的纳什均衡出价通常低于真实估值但高于 VCG 均衡出价,这意味着 GSP 下平台的收入通常不低于 VCG,这是平台偏好 GSP 的一个经济学原因。
VCG:理论最优的激励兼容机制
VCG(Vickrey-Clarke-Groves)机制是拍卖理论中最重要的结果之一,它在多物品拍卖场景中实现了激励兼容和社会福利最大化。
VCG 的支付规则:
每个中标者的支付金额等于其参与拍卖对其他参与者造成的外部性成本。具体而言,VCG 下竞价者 $i$ 的支付金额计算方式为:
$$Payment_i = \sum_{j \neq i} V_j(\text{without } i) - \sum_{j \neq i} V_j(\text{with } i)$$
其中,$V_j(\text{without } i)$ 是在竞价者 $i$ 不参与时,竞价者 $j$ 获得的价值;$V_j(\text{with } i)$ 是在竞价者 $i$ 参与时,竞价者 $j$ 获得的价值。
以三个广告位、四个广告主的场景为例:
假设四个广告主 A、B、C、D 对第一位的真实估值分别为 10、8、5、3 元(假设不同位置的价值按 CTR 等比例衰减),VCG 下各位置的中标者和支付如下:
- A 获得第 1 位:A 的参与使 B 从第 1 位降至第 2 位,C 从第 2 位降至第 3 位,D 从第 3 位被挤出。A 的支付 = B 损失的价值 + C 损失的价值 + D 损失的价值
- B 获得第 2 位:类似计算
- C 获得第 3 位:类似计算
VCG 的理论优越性与工程局限:
VCG 机制在理论上具有以下优越性质:
- 激励兼容:真实出价是每个竞价者的占优策略
- 社会福利最大化:分配结果使得所有参与者的总价值最大
- 个体理性:每个中标者的支付不超过其真实估值
然而,VCG 在工程实践中面临显著挑战:
- 计算复杂度高:需要计算每个竞价者参与和不参与时的最优分配,当竞价者数量多、广告位数量多时,计算量急剧增加
- 收入可能较低:VCG 的支付通常低于 GSP,这对追求收入最大化的平台不利
- 规则不直观:广告主难以理解自己为什么支付某个特定金额,增加了信任成本
- 共谋风险:VCG 在某些条件下对竞价者之间的共谋行为不够鲁棒
这些原因共同解释了为什么 VCG 虽然在理论上最优,但在实践中的采用远不及 GSP 和简单的第一/第二价格拍卖。
从第二价格到第一价格的行业转向
在线广告行业在过去数年经历了一次重要的拍卖机制变革——从第二价格拍卖向第一价格拍卖的转型。这一转变的标志性事件是 Google Ad Exchange 在 2019 年宣布全面切换为第一价格拍卖。
转向的深层原因:
推动这一转变的根本原因不是理论上的优劣之分,而是程序化广告生态的复杂化导致第二价格拍卖的前提条件被破坏。具体而言:
1. Header Bidding 的兴起打破了单一拍卖场的假设
第二价格拍卖的理论性质(激励兼容、真实出价)建立在一个关键假设之上——存在一个单一的拍卖场。然而,Header Bidding(头部竞价)技术的普及改变了这一格局。Header Bidding 允许媒体方同时向多个 Ad Exchange 发起竞价请求,每个 Ad Exchange 返回的最高出价再进行二次竞争。
在这种"拍卖之上的拍卖"架构下,如果每个 Ad Exchange 内部采用第二价格拍卖,那么最终的竞争环节(Header Bidding 的比较)实际上是一个第一价格机制——每个 Ad Exchange 提交的价格就是其最终的"出价"。这导致了机制的不一致性:DSP 按第二价格拍卖的逻辑真实出价,但这个出价在 Header Bidding 环节又被当作第一价格来比较,系统性地使得采用第二价格拍卖的 Ad Exchange 处于竞争劣势。
2. 供应链中的多层中间商扭曲了价格信号
程序化广告的供应链中存在多层中间商——SSP(Supply-Side Platform)、Ad Exchange、Ad Network 等。每一层中间商都可能对拍卖结果进行干预,例如通过调整底价(Floor Price)来影响第二高出价。在多层嵌套的拍卖结构中,第二价格拍卖的真实出价激励被严重扭曲——DSP 不知道自己的出价在哪一层被消费、支付价格又是如何确定的,整个定价过程变得不透明。
3. 简化竞价逻辑,提升透明度
第一价格拍卖的规则非常简单:出多少钱付多少钱。虽然这增加了 DSP 侧的出价策略复杂度(需要做 Bid Shading),但从整个交易链路来看,价格的形成过程更加透明和可预测。广告主可以清楚地知道自己为每次展示支付了多少钱,而不需要去理解"我出了 10 元,为什么只付了 3 元"这种反直觉的逻辑。
Bid Shading:第一价格拍卖下的出价优化
在第一价格拍卖机制下,如果竞价者按真实估值出价,就会系统性地多付(因为支付价格等于出价,而非第二高出价)。因此,竞价者需要进行 Bid Shading(出价压缩)——在真实估值的基础上按一定比例降低出价,以在中标概率和支付价格之间取得平衡。
Bid Shading 的核心思路:
Bid Shading 本质上是在回答一个问题:"在当前的市场竞争环境下,我应该将出价压缩多少,才能以最优的性价比赢得竞拍?"
理想的 Bid Shading 策略需要估计市场清算价格(Market Clearing Price),即在当前竞争环境下赢得拍卖所需的最低价格。这等价于估计第二高出价的分布。如果能够准确估计这一分布,竞价者就可以根据自己的风险偏好,在中标概率和利润之间做出最优权衡。
Bid Shading 的实现路径:
在工程实践中,Bid Shading 模型通常基于以下特征进行预测:
- 历史竞价数据:某个广告位/人群组合的历史成交价格分布
- 竞争强度信号:同一展示机会上的竞价者数量、历史中标率
- 时间维度特征:时段、星期、节假日等对竞争强度的影响
- 广告位特征:媒体、位置、广告形式等
- 用户特征:用户的人群标签、行为特征等
模型的输出通常是一个压缩系数(Shading Factor),取值在 0 到 1 之间。实际出价 = 真实估值 × 压缩系数。当压缩系数接近 1 时,出价接近真实估值(风险厌恶策略);当压缩系数较低时,出价大幅低于真实估值(激进策略)。
Bid Shading 的行业实践:
主要的 DSP 平台(如 The Trade Desk、MediaMath)在第一价格拍卖转型后,纷纷推出了内置的 Bid Shading 算法。部分 SSP(如 Index Exchange、Rubicon Project)也提供了面向买方的 Bid Shading 辅助服务。这些算法的共同特点是:基于大量历史竞价数据,通过机器学习模型预测市场清算价格,并自动调整出价。
从宏观视角来看,第一价格拍卖 + Bid Shading 的组合,与第二价格拍卖在长期均衡中的效果是相近的——这正是拍卖理论中收入等价定理(Revenue Equivalence Theorem)的体现。只不过,价格发现的机制从拍卖规则内部(第二价格机制自动实现)转移到了竞价方的出价策略中(Bid Shading 算法实现)。
eCPM:统一排序的核心框架
为什么需要统一排序
在一个成熟的广告平台上,不同广告主可能采用不同的计费模式。品牌广告主通常按 CPM 出价,搜索广告主按 CPC 出价,效果广告主按 CPA 或 oCPM 出价。当一个展示机会到来时,平台需要在这些采用不同计费模式的广告主之间进行排序和选择——如何在"苹果"和"橘子"之间做比较?
举一个具体的例子:某个展示机会上有三个候选广告:
- 广告 A:按 CPM 出价 30 元
- 广告 B:按 CPC 出价 2 元
- 广告 C:按 CPA 出价 50 元
直接比较这三个数字没有意义——它们的单位和含义完全不同。平台需要一个统一的度量标准,将所有广告的价值转化为同一个单位进行比较。这个统一度量标准就是 eCPM。
eCPM 的定义与计算
eCPM(effective Cost Per Mille)的含义是"每千次展示的有效收益"。它是站在媒体/平台视角的度量指标——无论广告主按什么方式出价和付费,平台最终关心的是"如果展示这个广告 1000 次,我预期能获得多少收入"。
eCPM 与 CPM 的区分:
CPM 是广告主视角的购买价格——"我愿意为每千次展示支付多少钱"。eCPM 是平台视角的预期收益——"如果展示这个广告 1000 次,我预期能赚多少钱"。当广告主按 CPM 出价时,eCPM = CPM;但当广告主按 CPC 或 CPA 出价时,eCPM 需要通过预估模型来计算。
不同计费模式下 eCPM 的计算
| 计费模式 | eCPM 计算公式 | 平台需要预估的能力 | 预估难度 |
|---|---|---|---|
| CPM | eCPM = CPM 出价 | 无需预估 | — |
| CPC | eCPM = pCTR × CPC × 1000 | 点击率预估(pCTR) | 中等 |
| CPA | eCPM = pCTR × pCVR × CPA × 1000 | 点击率 + 转化率预估 | 高 |
| oCPM | eCPM = pCTR × pCVR × Bid × 智能调控因子 × 1000 | 点击率 + 转化率 + 动态调控 | 最高 |
各公式的推导逻辑:
CPM 模式: 广告主直接按千次展示出价。eCPM = CPM,无需转化。例如,广告主出价 CPM = 30 元,则 eCPM = 30 元。
CPC 模式: 广告主按点击出价,平台按展示分配。平台需要预估:如果展示这个广告 1000 次,预期会产生多少次点击?
$$eCPM = pCTR \times CPC \times 1000$$
其中 pCTR(predicted Click-Through Rate)是平台预估的点击率。例如,广告主出价 CPC = 2 元,平台预估 pCTR = 1.5%,则 eCPM = 0.015 × 2 × 1000 = 30 元。
CPA 模式: 广告主按转化行为出价。平台需要预估:如果展示这个广告 1000 次,预期会产生多少次转化?
$$eCPM = pCTR \times pCVR \times CPA \times 1000$$
其中 pCVR(predicted Conversion Rate)是平台预估的转化率(点击→转化)。例如,广告主出价 CPA = 50 元,平台预估 pCTR = 1.5%、pCVR = 10%,则 eCPM = 0.015 × 0.1 × 50 × 1000 = 75 元。
oCPM 模式: 广告主以转化为目标出价,但平台引入了智能调控因子来动态调节。
$$eCPM = pCTR \times pCVR \times Bid \times \alpha \times 1000$$
其中 $\alpha$ 是智能调控因子,它的作用是在广告主的成本目标和平台的收益目标之间进行动态平衡。当广告主的实际转化成本低于目标时,$\alpha > 1$,平台会适当提高 eCPM 以获取更多展示机会;当实际成本高于目标时,$\alpha < 1$,降低 eCPM 以控制成本。
eCPM 排序的博弈论含义
eCPM 排序看似是一个简单的技术问题——按 eCPM 从高到低排列,选出最高者即可。但在博弈论视角下,eCPM 排序机制的设计涉及平台、广告主和用户三方的利益博弈。
平台的短期收入最大化 vs 长期生态健康:
如果平台纯粹追求短期收入最大化,应该始终选择 eCPM 最高的广告。但这可能导致以下问题:
- 用户体验下降:eCPM 最高的广告可能与用户当前的兴趣和场景不相关,降低用户对广告的接受度,进而影响长期的流量价值
- 劣币驱逐良币:如果低质量但高出价的广告持续获得展示机会,优质广告主的投放效果下降,最终退出平台,导致生态恶化
- CTR 预估的自我实现:如果某类广告因高出价持续获得展示,其 CTR 数据可能被"稀释"(因为展示给了不感兴趣的用户),进而影响预估模型的准确性
因此,成熟的广告平台在 eCPM 排序中通常会引入广告质量分和用户体验因子,使得排序公式从纯粹的 eCPM 排序演化为更综合的价值排序。
质量分的引入
质量分(Quality Score)是对广告质量的综合评估,它在 eCPM 排序中发挥加权作用,使得高质量的广告即使出价较低也有机会获得展示,而低质量的广告即使出价较高也可能被过滤。
质量分的构成维度:
不同平台的质量分体系各有差异,但通常包含以下维度:
| 维度 | 说明 | 典型权重 |
|---|---|---|
| 广告相关性 | 广告内容与用户当前场景/意图的匹配度 | 高 |
| 历史 CTR | 广告的历史点击率表现 | 高 |
| 落地页体验 | 广告落地页的加载速度、内容质量、用户体验 | 中 |
| 广告素材质量 | 素材的视觉质量、信息清晰度、合规性 | 中 |
| 广告主信誉 | 广告主的历史投放表现、违规记录 | 低 |
引入质量分后,排序公式变为:
$$\text{Ad Rank} = eCPM \times \text{Quality Score}$$
这一设计的经济学含义是:平台通过质量分对广告的外部性进行定价。低质量广告对用户体验的负面外部性被"内部化"为较低的质量分,从而需要更高的出价才能获得同等的展示机会。这相当于对低质量广告征收了一种"庇古税"(Pigouvian Tax),激励广告主提升广告质量。
Google Ads 是质量分体系的先驱。在 Google 的搜索广告中,Ad Rank = Max CPC × Quality Score,其中 Quality Score 取值为 1-10 分,综合考虑了预期 CTR、广告相关性和落地页体验三个维度。这意味着一个质量分为 10 的广告,只需要出价 1 元就能与质量分为 1、出价 10 元的广告获得同等的竞争力。
计费模型全景:从 CPM 到 oCPM 的优化路径
广告计费模型的演进,本质上是风险在广告主和媒体/平台之间重新分配的过程。从 CPM 到 CPC 到 CPA 再到 oCPM/oCPC,广告主承担的风险逐步减少(从"展示无效"的风险到"点击无效"的风险到"转化不达标"的风险都被转移给平台),而平台承担的优化责任逐步增加。
基础计费模型
CPM:按千次展示计费
CPM(Cost Per Mille)是最早的在线广告计费模型,广告主按广告展示的千次为单位支付费用。
核心特征:
- 广告主出价和支付都以展示次数为基准
- 平台只需保证广告被展示,不承诺点击或转化效果
- 风险完全由广告主承担——展示了但没有点击,费用照付
适用场景:
CPM 主要适用于品牌曝光类广告。对于品牌广告主而言,广告的核心目标是提升品牌知名度和好感度,而非即时的点击或转化。在这一目标下,"被看见"本身就是价值所在,因此按展示计费是合理的。典型的 CPM 广告包括:
- 品牌形象广告(如奢侈品、汽车品牌的视频/图片广告)
- 新品知晓类广告(以最大化覆盖面为目标)
- 活动告知类广告(如大促预热、线下活动宣传)
CPM 的局限:
对于效果导向的广告主而言,CPM 的风险过高——平台没有动力优化广告的点击率和转化率(因为收入只与展示次数挂钩),广告主需要自行承担"展示了但无效"的风险。
CPC:按点击计费
CPC(Cost Per Click)在 CPM 的基础上将风险向平台侧转移了一步——广告主只为实际发生的点击付费,展示但未被点击的曝光是"免费"的。
核心特征:
- 广告主按点击次数付费
- 平台需要优化广告的点击率,否则大量展示却不产生点击意味着平台的广告位被"浪费"
- 点击到转化的风险仍由广告主承担
CPC 在搜索广告中的地位:
CPC 是搜索广告的基础计费模型,这与搜索广告的场景特性密切相关。用户在搜索引擎中主动输入查询词,表达了明确的信息需求或购买意向。在这一场景下,点击行为是一个有意义的中间指标——用户点击了广告,说明广告与其需求相关,后续的转化概率显著高于随机展示。
Google Ads 在 2000 年推出的 AdWords 正是以 CPC 为核心计费模式,配合质量分和 GSP 拍卖机制,开创了搜索广告的商业模式。
CPC 的局限:
CPC 的问题在于"点击"并不等于"有效转化"。广告主可能为大量的无效点击(如误点击、恶意点击、好奇心点击)付费,而这些点击并不带来实际的业务价值。此外,CPC 模式下平台的优化目标是点击率(CTR),而非转化率(CVR),二者的优化方向可能不一致——一个"标题党"式的广告可能有很高的 CTR,但 CVR 极低。
CPA:按转化行为计费
CPA(Cost Per Action)将风险进一步转移至平台/媒体侧——广告主只为实际发生的转化行为(如注册、下载、购买等)付费。
核心特征:
- 广告主按约定的转化行为计费
- 从展示到点击再到转化的全链路风险由平台承担
- 广告主的 ROI 高度确定(每个转化的成本是固定的)
CPA 的理论优势与实践挑战:
CPA 从广告主的角度看是最理想的计费模式——"我只为结果付费"。然而,CPA 在实践中面临严重的挑战:
- 归因困难:如何确定一个转化行为确实是由广告引起的?多触点归因、跨设备归因等问题使得转化的准确归因极为复杂
- 数据回传延迟:转化行为(如购买)可能发生在广告曝光后的数天甚至数周,数据回传的延迟严重影响实时竞价和优化
- 平台风险过高:平台需要承担从展示到转化的全部不确定性,如果广告主的落地页体验差、产品缺乏竞争力,即使平台提供了优质流量也难以实现转化
- 作弊风险:在联盟类 CPA 投放中,作弊者可能通过伪造转化数据来骗取广告费
这些挑战使得纯粹的 CPA 模式在实践中的应用范围有限,通常局限于特定的垂直领域(如移动应用推广中的 CPI——按安装计费)和联盟营销场景。
优化型计费模型
基础计费模型(CPM/CPC/CPA)各有明确的局限性。优化型计费模型(oCPM/oCPC)的出现,旨在通过引入平台的算法优化能力,在广告主的效果目标和平台的收入目标之间找到更好的平衡点。
oCPM:以转化为目标出价,按展示计费
oCPM(Optimized CPM)是当前头部流量平台(如字节跳动的巨量引擎、Meta 的 Facebook Ads)最主流的计费模式。其核心思路是:广告主以转化行为为目标进行出价("我愿意为每个转化支付 X 元"),但平台按展示进行计费和优化。
运作机制:
在 oCPM 模式下,广告主设定一个转化出价(如"每个应用安装出价 30 元"),平台的算法系统基于以下公式计算每次展示机会的竞价价值:
$$\text{竞价价格} = Bid \times pCTR \times pCVR \times \alpha$$
其中:
- $Bid$:广告主设定的转化出价
- $pCTR$:平台预估的点击率
- $pCVR$:平台预估的转化率(点击→转化)
- $\alpha$:智能调控因子
平台根据这个竞价价格参与排序。如果胜出,广告主按展示付费(但付费金额由竞价结果决定,而非固定的 CPM 价格)。
oCPM 的核心优势:
oCPM 的设计使得平台拥有最大的优化空间。由于按展示计费,平台在"展示给谁"这个决策上拥有完全的自主权,可以同时优化展示→点击→转化的全链路。具体而言:
- 展示环节:平台可以选择将广告展示给最有可能产生转化的用户,而非简单地追求展示量
- 点击环节:平台有动力优化广告的点击体验(如素材匹配、位置优化),因为点击是转化的前置步骤
- 转化环节:平台通过 pCVR 预估来识别高转化潜力的用户,并优先向这些用户展示广告
智能调控因子 $\alpha$ 的作用:
智能调控因子是 oCPM 机制中最精妙的设计之一。它的作用是在广告主的成本目标和平台的收益目标之间进行动态平衡:
- 当广告主的实际转化成本低于出价目标时:说明当前的投放效率较高,$\alpha > 1$,平台适当提高竞价,争取更多展示机会,在成本可控的前提下扩大投放规模
- 当广告主的实际转化成本高于出价目标时:说明当前的投放成本偏高,$\alpha < 1$,平台降低竞价,减少低价值展示机会的竞争,控制成本
- 在投放冷启动阶段(数据不足、预估不准):$\alpha$ 的调控更为谨慎,避免因预估偏差导致成本大幅偏离目标
$\alpha$ 的调控频率通常是实时或准实时的(秒级/分钟级),基于滑动窗口内的实际转化数据进行反馈调整。这使得 oCPM 具备了"自动驾驶"的特性——广告主只需设定目标成本,平台的算法系统自动完成全链路的优化和调控。
oCPM 适用的平台特征:
oCPM 模式的有效运作依赖于两个前提条件:一是平台拥有丰富的用户数据和强大的预估能力(pCTR 和 pCVR 的准确性直接决定了 oCPM 的效果);二是平台的流量质量整体较高(如果流量中充斥着低质量或虚假流量,预估模型的准确性会大打折扣)。这解释了为什么 oCPM 在字节跳动、Meta 等拥有优质自有流量的平台上大获成功,但在以聚合第三方流量为主的联盟类平台上应用较少。
oCPC:以转化为目标出价,按点击计费
oCPC(Optimized CPC)与 oCPM 的目标相同(以转化为优化目标),但计费方式不同(按点击而非按展示计费)。
运作机制:
在 oCPC 模式下,广告主设定一个转化出价(如"每个订单出价 100 元"),平台的算法基于以下公式计算每次点击的竞价价值:
$$\text{竞价价格} = Bid_{click} \times pCVR \times \alpha$$
其中 $Bid_{click}$ 是将转化出价折算到点击层面的出价。
与 oCPM 不同的是,oCPC 的计费点是点击——只有用户点击了广告,广告主才需要付费。
oCPC 的两阶段模型:
在百度搜索广告等平台上,oCPC 通常采用两阶段运行模型:
第一阶段(数据积累期): 广告主按传统 CPC 模式投放,自行设定关键词出价。在这一阶段,平台积累广告主的转化数据(需要广告主回传转化数据),用于训练 pCVR 预估模型。通常需要积累一定数量的转化样本(如 20-30 个转化)才能进入第二阶段。
第二阶段(智能出价期): pCVR 模型训练完成后,平台接管出价决策。对于每次点击机会,平台根据 $pCVR \times$ 转化出价计算竞价价格,自动调整实际的 CPC 出价。高转化概率的点击,平台愿意出更高的 CPC;低转化概率的点击,平台自动降低 CPC。
oCPC 适用的平台特征:
oCPC 更适合流量质量参差不齐的平台和联盟类场景。在这些场景中,流量来源多样、质量难以统一保障,按点击计费为广告主提供了一层"保护"——至少用户真正点击了广告(虽然存在误点击和恶意点击的风险,但相比按展示计费风险较低)。搜索广告场景也更适合 oCPC,因为搜索行为本身是强意图信号,点击行为的信息量较大。
oCPM 与 oCPC 的深层差异
oCPM 与 oCPC 虽然都是"以转化为目标的优化型计费模型",但两者在机制设计、风险分配和适用场景上有着本质的差异。
| 维度 | oCPM | oCPC |
|---|---|---|
| 收费点 | 展示 | 点击 |
| 竞价公式 | Bid × pCTR × pCVR × α | Bid_click × pCVR × α |
| 优化链路 | 展示→点击→转化(全链路) | 点击→转化(后半链路) |
| 平台的展示决策权 | 完全自主 | 受限(用户不点击则无收入) |
| 广告主承担的风险 | 较高(为展示付费) | 较低(为点击付费) |
| 平台承担的风险 | 较低(按展示即收费) | 较高(展示不点击无收入) |
| 对预估模型的要求 | pCTR + pCVR 都需要准确 | 主要依赖 pCVR |
| 适合的平台类型 | 自有优质流量平台 | 联盟类/搜索类平台 |
差异一:收费点不同
这是最直观的差异。oCPM 按展示收费,平台在广告被展示的瞬间就产生了收入;oCPC 按点击收费,平台在用户点击广告后才产生收入。这一差异直接影响了平台的收入模式和风险承担。
差异二:优化空间不同
oCPM 的优势在于平台可以优化"展示→点击→转化"的全链路。平台不仅可以选择"展示给谁"(优化 pCVR),还可以优化"如何展示"(优化 pCTR)——包括素材选择、展示位置、展示时机等。而 oCPC 的优化空间主要集中在"点击→转化"环节,对于"展示→点击"环节的优化动力相对不足(因为无论是否点击,平台都不从展示中获益)。
差异三:风险分配不同
在 oCPM 模式下,广告主为展示付费,这意味着即使展示没有带来点击和转化,广告主仍需支付费用。平台的收入与展示量直接挂钩,风险较低。在 oCPC 模式下,平台需要"先展示、后收费",如果展示未能带来点击,平台的广告位被"白白"消耗。这迫使平台在 oCPC 模式下更加审慎地分配展示机会。
差异四:平台选择倾向
以上差异决定了不同类型的平台对 oCPM 和 oCPC 的偏好:
- **自有优质流量平台(如抖音、Instagram)**倾向于 oCPM:平台对自有流量的质量有信心,预估模型准确度高,且 oCPM 给予平台最大的展示分配自主权和全链路优化空间。
- 联盟类平台(如百度联盟、Google Display Network) 倾向于 oCPC:联盟流量来源多样、质量参差不齐,按点击计费降低了广告主对流量质量的顾虑,也倒逼平台在流量筛选上投入更多。
- 搜索广告平台(如百度搜索、Google Search) 偏好 oCPC:搜索场景下点击行为的信息量大、信号质量高,按点击计费与搜索广告的交互模式天然契合。
RTB 竞价流程的工程实现
一次完整的 RTB 竞价流程
从用户访问一个网页到广告展示完成,RTB 的全链路需要在极短的时间内(通常 100-200ms)完成以下步骤:
Step 1:用户访问触发广告请求(0ms)
用户打开一个网页或 App 页面,页面中嵌入的广告标签(Ad Tag)向 SSP(Supply-Side Platform)或 Ad Exchange 发起广告请求。请求中包含以下信息:
- 广告位信息:位置、尺寸、广告形式(Banner/视频/原生等)
- 用户信息:Cookie ID 或设备 ID、IP 地址、User-Agent
- 页面信息:URL、页面分类、关键词
- 其他:地理位置、网络环境、设备类型等
Step 2:SSP/Ad Exchange 生成 Bid Request(5-10ms)
SSP/Ad Exchange 接收到广告请求后,基于已有的用户数据(如 DMP 中的用户画像)丰富请求信息,并生成标准化的 Bid Request,广播给所有接入的 DSP。
Step 3:DSP 接收 Bid Request 并决策(10-80ms)
每个 DSP 在接收到 Bid Request 后,需要在极短时间内完成以下决策链:
- 用户识别:通过 Cookie Mapping 或设备 ID 匹配,将 Ad Exchange 的用户标识映射为 DSP 内部的用户 ID
- 用户画像查询:从 DSP 的 DMP 中查询该用户的画像标签(人群属性、兴趣偏好、历史行为等)
- 广告候选匹配:根据用户画像和广告位特征,从全部活跃的广告 Campaign 中筛选出符合定向条件的候选广告
- eCPM 预估:对每个候选广告预估 pCTR 和 pCVR,计算 eCPM
- 出价决策:选出 eCPM 最高的广告,结合预算约束和 Bid Shading 策略,确定最终出价
- 返回 Bid Response:将出价金额和广告素材信息封装在 Bid Response 中返回
Step 4:Ad Exchange 进行拍卖(80-100ms)
Ad Exchange 收集所有 DSP 返回的 Bid Response,根据拍卖规则(第一价格或第二价格)确定胜出者和支付价格。
Step 5:广告展示与追踪(100-200ms)
中标 DSP 的广告素材被发送至用户的浏览器/App 进行渲染展示。同时,展示事件(Impression)被记录,触发后续的曝光监测和计费流程。
Step 6:后续事件追踪
用户在广告展示后的行为(点击、转化等)被各方的追踪系统记录,用于计费结算、效果归因和模型训练。
OpenRTB 协议
OpenRTB 是 IAB(Interactive Advertising Bureau)制定的程序化广告竞价通信标准协议。它规范了 Bid Request 和 Bid Response 的数据格式,使得不同的 SSP、Ad Exchange 和 DSP 能够互相通信。
Bid Request 的核心字段:
| 字段类别 | 关键字段 | 说明 |
|---|---|---|
| 展示信息(Imp) | id, banner/video/native, bidfloor, bidfloorcur | 描述广告位的基本属性和底价 |
| 网站/App 信息(Site/App) | domain, page, cat, publisher | 描述流量来源的属性 |
| 用户信息(User) | id, buyeruid, gender, yob, geo | 描述当前用户的基本属性 |
| 设备信息(Device) | ua, ip, devicetype, os, make, model | 描述用户终端设备的属性 |
| 限制信息(Regs) | coppa, gdpr | 隐私法规合规要求 |
| 交易信息(Deal) | id, bidfloor, at, wseat | PMP 交易的标识和条件 |
Bid Response 的核心字段:
| 字段类别 | 关键字段 | 说明 |
|---|---|---|
| 出价信息(Bid) | price, adid, crid, adm, nurl, w, h | 出价金额、广告创意标识、素材内容 |
| 座席信息(Seat) | seat, bid[] | DSP 的座席标识和出价列表 |
| 扩展字段(Ext) | 各平台自定义 | 用于传递非标准化的附加信息 |
OpenRTB 协议经过多次版本迭代(从 2.0 到 2.6,以及 OpenRTB 3.0),逐步增加了对原生广告、视频广告、隐私保护等新场景的支持。值得注意的是,虽然 OpenRTB 定义了标准化的协议框架,但各平台在实际实现中通常会有自定义的扩展字段(Ext),这些扩展字段往往承载了差异化的竞争能力。
Cookie Mapping:跨平台用户识别
RTB 的核心在于"人"——根据用户的属性和行为进行定向投放。但不同平台对同一个用户的标识方式不同(Ad Exchange 使用自己的 Cookie,DSP 使用自己的 Cookie),如何实现跨平台的用户识别?答案是 Cookie Mapping(Cookie 匹配)。
Cookie Mapping 的工作原理:
Cookie Mapping 的本质是建立不同平台间用户标识的映射关系。以 Google Ad Exchange 与某 DSP 之间的 Cookie Mapping 为例,典型流程如下:
- 用户首次访问包含 Google 广告代码的页面,Google 在用户浏览器中设置一个 Cookie(如
google_id=ABC123) - Google 向 DSP 发起一个 Cookie Matching 请求(通常通过 302 重定向实现),请求中包含 Google 的用户 ID
- DSP 接收到请求后,读取自己在该用户浏览器中的 Cookie(如
dsp_id=XYZ789),并将google_id=ABC123与dsp_id=XYZ789的映射关系存储在自己的系统中 - 后续在 RTB 竞价中,当 Google 发送的 Bid Request 中包含
google_id=ABC123时,DSP 可以通过映射表查找到dsp_id=XYZ789,进而获取该用户在 DSP 侧积累的画像数据
Cookie Mapping 面临的挑战:
- 匹配率有限:由于 Cookie Mapping 依赖用户同时访问过两个平台,且 Cookie 未过期、未被清除,实际的匹配率通常在 40%-70% 之间
- 延迟问题:Cookie Mapping 通常是异步进行的(需要用户访问触发),在用户首次出现在某个 Ad Exchange 上时,DSP 可能尚未建立映射关系
- 隐私法规压力:GDPR、CCPA 等隐私法规对 Cookie 的使用做出了严格限制;Safari 的 ITP(Intelligent Tracking Prevention)和 Chrome 的第三方 Cookie 淘汰计划,正在从技术层面削弱 Cookie Mapping 的可行性
Cookie Mapping 的未来替代方案正在行业中积极探索,包括基于第一方数据的身份识别(如 Unified ID 2.0)、基于隐私保护技术的方案(如 Google Privacy Sandbox 中的 Topics API 和 FLEDGE)等。这些方案试图在保护用户隐私的前提下,保留程序化广告的基本定向能力。
超时控制与性能要求
RTB 竞价的一个核心工程挑战是极端的时间约束。从 Bid Request 发出到 Bid Response 返回,DSP 的响应时间预算通常只有 100-150ms。超过这个时间窗口的响应会被直接丢弃,DSP 失去该次竞价机会。
为什么时间预算如此紧张?
从用户体验的角度看,一个网页从开始加载到用户可以看到内容,理想时间在 1-3 秒以内。在这个时间预算中,广告的加载只是众多环节之一。如果 RTB 竞价本身就占用了 500ms 以上,加上广告素材的下载和渲染时间,广告的展示会严重滞后于页面内容的加载,导致广告可见性下降甚至无法展示。
DSP 的响应时间分解:
在 100ms 的时间预算内,DSP 需要完成的操作包括:
| 环节 | 典型耗时 | 优化策略 |
|---|---|---|
| 网络传输(Bid Request 到达) | 10-30ms | CDN 部署、就近接入 |
| 请求解析 | 1-2ms | 高效的序列化/反序列化 |
| Cookie Mapping 查询 | 2-5ms | 内存缓存 |
| 用户画像查询 | 5-15ms | 分布式缓存(Redis/Memcached) |
| 广告候选匹配 | 5-10ms | 倒排索引、预计算 |
| eCPM 预估 | 5-15ms | 模型推理优化、模型蒸馏 |
| 出价决策 | 2-5ms | 预计算出价表 |
| Bid Response 生成与发送 | 5-10ms | 高效序列化 |
| 总计 | 35-92ms |
留给网络传输的余量非常有限,这要求 DSP 的服务器部署在物理位置上尽可能靠近 Ad Exchange 的服务器(通常在同一数据中心或同一区域)。
QPS 挑战
除了时间约束,RTB 系统面临的另一个核心挑战是请求量级。一个中等规模的 Ad Exchange 每秒可能产生数十万到数百万的 Bid Request,这意味着每个接入的 DSP 需要具备处理每秒数十万次请求(QPS,Queries Per Second)的能力。
DSP 的流量处理架构要求:
- 高并发处理能力:DSP 的竞价服务需要支持数十万 QPS 的并发处理,通常采用基于事件驱动的异步 I/O 模型
- 低延迟响应:在高并发条件下保持 P99 延迟在 100ms 以内,要求系统的各个环节(数据查询、模型推理、业务逻辑)都经过深度优化
- 高可用性:竞价服务的任何宕机或响应超时都直接导致收入损失,系统需要具备多机房容灾和自动故障转移能力
- 弹性伸缩:广告流量具有明显的时间波动性(如晚间高峰、节假日高峰),系统需要能够快速扩缩容以应对流量波动
流量筛选(Traffic Shaping)
面对海量的 Bid Request,DSP 不可能也不需要对每一个请求都进行完整的竞价决策。流量筛选(Traffic Shaping)是 DSP 侧的预过滤策略,目的是在竞价决策之前快速过滤掉低价值或明确不参与的流量,降低系统负载。
流量筛选的常见策略:
| 筛选维度 | 策略 | 说明 |
|---|---|---|
| 广告位维度 | 黑/白名单 | 仅参与特定媒体/广告位的竞价 |
| 地域维度 | 地域过滤 | 仅参与特定国家/地区的竞价 |
| 设备维度 | 设备类型过滤 | 如只参与移动端或 PC 端 |
| 频次维度 | 频次上限 | 对同一用户的竞价次数设上限 |
| 预算维度 | 预算节奏控制 | 当日预算消耗接近上限时降低参与率 |
| 预估维度 | eCPM 预估阈值 | 快速预估 eCPM,低于阈值则不参与 |
| 流量质量 | 反作弊过滤 | 过滤已识别的虚假流量源 |
通过流量筛选,DSP 通常可以将需要进行完整竞价决策的请求量降低至总请求量的 10%-30%,大幅降低系统的计算负载和资源消耗。
反作弊与流量质量
程序化广告的自动化和规模化,在提升效率的同时也为欺诈行为提供了温床。据行业估算,全球数字广告市场中虚假流量造成的损失每年高达数百亿美元。反作弊和流量质量保障是程序化广告生态健康运转的基石。
虚假流量的类型
虚假流量(Ad Fraud / Invalid Traffic)是指非真实用户产生的广告曝光、点击或转化行为,其目的是骗取广告费用。虚假流量可以分为以下几大类:
1. 机器人流量(Bot Traffic)
由自动化程序(Bot)模拟用户行为产生的流量。根据复杂程度可以进一步分为:
- 简单 Bot:使用固定的 IP 和 User-Agent 大量访问页面,行为模式高度规律,相对容易检测
- 复杂 Bot:模拟真实的浏览器环境、随机化行为模式、使用代理 IP 池和设备指纹伪造技术,检测难度显著增加
- 僵尸网络(Botnet):通过恶意软件感染大量真实用户的设备,利用这些被控制的设备产生看似"真实"的流量,极难检测
2. 点击农场(Click Farm)
雇佣大量低成本人力在真实设备上进行广告点击。由于操作者是真实的人,且使用真实的设备和网络环境,传统的技术检测手段(如 IP 黑名单、设备指纹)对点击农场的识别效果有限。点击农场通常集中在劳动力成本低廉的地区,通过远程分发点击任务来规避地域检测。
3. 广告堆叠(Ad Stacking)
在同一个广告位上堆叠多个广告——用户只能看到最上层的广告,但所有被堆叠的广告都被记录为"已展示"并计费。这种作弊方式利用了展示计费的机制漏洞:广告主为"展示"付费,但用户实际上从未看到过自己的广告。
4. 像素填充(Pixel Stuffing)
将正常尺寸的广告塞入一个极小的容器(如 1×1 像素的 iframe)中。广告在技术上被"加载"了,触发了展示事件并计费,但由于容器尺寸极小,用户根本无法看到广告内容。像素填充与广告堆叠类似,都是利用了展示计费与实际可见性之间的差距。
5. 域名欺骗(Domain Spoofing)
低质量网站伪装成知名媒体的域名来售卖广告库存。例如,一个充斥着低质量内容的网站在 Bid Request 中将自己的域名伪装为某知名新闻网站,骗取品牌广告主的高出价。IAB 推出的 ads.txt 和 sellers.json 标准正是为了解决这一问题——通过媒体方的公开声明来验证广告库存的来源真实性。
6. 归因欺诈(Attribution Fraud)
不产生真实的展示或点击,而是通过技术手段"抢夺"转化的归因。常见形式包括:
- 点击注入(Click Injection):监控用户安装 App 的行为,在安装即将完成时注入一个虚假的广告点击,使得安装被错误地归因为该广告带来的转化
- 点击泛洪(Click Flooding):大量发送虚假的点击报告,利用概率使得部分自然转化被错误归因
反作弊的技术路径
反作弊是一个持续的攻防对抗过程。随着作弊技术的不断升级,反作弊技术也在持续演进。以下是目前行业中主流的反作弊技术路径:
1. 基于规则的检测
这是最基础的反作弊方法,通过预定义的规则识别可疑流量:
- IP 黑名单:维护已知的作弊 IP 地址库,直接过滤来自这些 IP 的流量
- 频率阈值:单个 IP/设备在短时间内产生的展示或点击次数超过阈值,判定为异常
- 地域一致性检查:IP 所在地域与 GPS 位置不一致,或与目标地域定向不匹配
- User-Agent 检查:识别已知 Bot 的 User-Agent 特征
基于规则的检测简单高效,但对复杂作弊行为的检测能力有限,且规则需要持续更新维护。
2. 设备指纹技术
通过采集设备的多维度特征(操作系统版本、屏幕分辨率、已安装字体列表、浏览器插件列表、Canvas 指纹、WebGL 指纹等),生成设备的唯一标识。设备指纹的反作弊应用包括:
- 识别同一设备的多次伪装:即使更换了 IP 和 Cookie,设备指纹仍可能保持一致
- 检测模拟器/虚拟机:模拟器和虚拟机的设备特征与真实设备存在系统性差异
- 识别设备农场:大量设备具有高度相似的指纹特征,暗示可能是批量设置的作弊设备
3. 行为模式分析
通过分析用户的行为模式来识别异常:
- 鼠标/触摸轨迹分析:真实用户的鼠标移动和触摸操作具有自然的随机性和连续性,Bot 的行为通常过于规则或缺乏自然性
- 会话行为分析:真实用户的页面浏览行为具有合理的时间间隔和页面跳转逻辑,Bot 的行为往往缺乏这种上下文连贯性
- 时间序列分析:广告展示和点击的时间分布是否符合自然流量的模式(如昼夜波动、工作日/周末差异)
- 转化漏斗分析:从展示→点击→页面浏览→转化的漏斗比例是否合理,异常偏高或偏低的转化率可能暗示作弊
4. 第三方验证服务
行业中已形成了专业的第三方验证(Verification)服务商生态,主要包括:
| 服务商 | 核心能力 | 典型客户 |
|---|---|---|
| IAS(Integral Ad Science) | 流量质量验证、品牌安全、可见性监测 | 品牌广告主、代理商 |
| MOAT(Oracle 旗下) | 注意力指标、可见性验证、反作弊 | 品牌广告主 |
| DoubleVerify | 流量质量、品牌安全、上下文定向 | 全球性品牌广告主 |
| 秒针系统 | 中国市场的广告监测与验证 | 国内品牌广告主 |
第三方验证的价值在于独立性和专业性——其数据不受买卖双方的利益影响,提供的验证结果可以作为交易双方结算的依据。
品牌安全
品牌安全(Brand Safety)是指确保广告不出现在不当、有害或与品牌形象不符的内容旁边。在程序化广告中,由于广告投放的自动化和规模化,广告主对广告展示环境的控制力相对较弱,品牌安全风险相应增加。
品牌安全风险的类型:
- 内容不当风险:广告出现在暴力、色情、仇恨言论等不当内容旁边
- 新闻负面风险:广告出现在灾难新闻、丑闻报道等负面新闻旁边
- 竞品相邻风险:广告出现在竞争对手的广告或内容旁边
- 政治敏感风险:广告出现在政治极端内容或争议性话题旁边
品牌安全的保障手段:
- 媒体白名单/黑名单:广告主明确指定允许或禁止投放的媒体列表
- 上下文定向(Contextual Targeting):通过 NLP 技术分析页面内容,识别页面的主题和情感倾向,避免在不当内容旁展示广告
- Pre-bid 过滤:在竞价前对 Bid Request 中的页面信息进行品牌安全评估,对不符合要求的请求不参与竞价
- ads.txt / sellers.json:通过公开的授权声明文件验证广告库存来源的真实性和合法性
- 第三方品牌安全工具:使用 IAS、DoubleVerify 等第三方服务进行实时的品牌安全监测
可见性标准
广告可见性(Viewability)是衡量广告是否被用户实际看到的指标。一个广告虽然被"加载"了,但如果它处于页面的折叠下方(Below the Fold)、被其他元素遮挡、或用户在广告加载完成前就离开了页面,那么这个广告实际上并未被用户看到。
MRC(Media Rating Council)标准:
MRC 制定了行业通行的广告可见性标准:
| 广告形式 | 可见性标准 |
|---|---|
| 展示广告(Display) | 广告面积的 50% 以上在可视区域内,且持续时间不少于 1 秒 |
| 大尺寸展示广告(>242,500 像素) | 广告面积的 30% 以上在可视区域内,且持续时间不少于 1 秒 |
| 视频广告(Video) | 广告面积的 50% 以上在可视区域内,且视频播放持续 2 秒 以上 |
可见性对程序化广告的影响:
可见性指标的引入改变了程序化广告的计费和优化逻辑。越来越多的广告主要求按"可见展示"(Viewable Impression)而非"总展示"(Served Impression)来计费和考核。这对平台和媒体方提出了更高的要求:不仅需要保证广告被"加载",还需要保证广告被用户"看到"。
高可见性的广告位(如首屏、信息流中的前几位)的价值显著高于低可见性的广告位,这推动了广告位定价的精细化分层。部分先进的 SSP 已经开始将可见性预估(pViewability)纳入 eCPM 的计算公式中:
$$eCPM_{adjusted} = eCPM \times pViewability$$
这进一步优化了广告库存的价值排序,使得高可见性、高质量的展示机会获得更高的定价。
反作弊对程序化广告生态的重要性
反作弊和流量质量保障不仅是一个技术问题,更是关系到程序化广告生态可持续发展的根本性问题。
对广告主的影响:
虚假流量直接导致广告预算的浪费。更严重的是,虚假流量会污染广告主的数据体系——基于虚假数据做出的人群分析、效果归因和策略优化全部失去参考价值。长期来看,如果广告主对程序化广告的流量质量失去信任,他们会将预算转移回传统的直投模式或线下渠道,这将动摇整个程序化广告市场的根基。
对媒体方的影响:
虚假流量的泛滥会拉低整个市场的 CPM 水平——当广告主意识到流量中充斥着虚假成分时,他们会降低出价来补偿预期的损失。这使得优质媒体的真实流量也被"打折",形成"劣币驱逐良币"的恶性循环。
对行业的影响:
行业的应对策略正在从被动防御转向主动治理。IAB 推出的 ads.txt、sellers.json、supply chain object 等标准旨在提升供应链透明度;TAG(Trustworthy Accountability Group)的认证体系为供应链各环节设定了反作弊的基准要求;各主要平台(Google、Meta 等)也在持续加大反作弊技术的投入。
从长远来看,程序化广告行业需要建立一个"信任基础设施"——通过技术标准、行业认证和第三方验证的组合,使得交易链路中的每一个环节都具备可验证性和可追溯性。只有在信任的基础上,程序化广告的自动化和规模化才能真正释放其价值。
程序化广告的演进方向
回顾从传统广告交易到程序化广告的演进历程,可以看到一条清晰的主线:交易效率的持续提升和决策精度的不断精细化。从按天购买到按展示竞价,从人工决策到算法决策,从粗粒度定向到个体级定向,每一次演进都在缩小广告价值的"信息差"。
交易模式的融合趋势:
四种交易模式之间的界限正在变得模糊。PDB 正在引入更多的程序化能力(如基于受众的动态选择);PMP 的管理工具越来越自动化;RTB 的流量质量治理使其逐步接近 PMP 的品牌安全水平。未来的程序化交易可能不再需要广告主显式地选择某种交易模式,而是由智能系统根据广告主的目标和约束,自动在不同模式之间分配预算。
竞价机制的持续优化:
第一价格拍卖的普及和 Bid Shading 技术的成熟,标志着行业在竞价机制上的一次重要范式转换。未来可能会出现更多基于机器学习的出价策略创新,如基于强化学习的动态出价、基于博弈论的多智能体竞价等。
计费模型的深化:
oCPM/oCPC 的成功验证了"平台侧智能优化"的商业模式。随着预估模型能力的持续提升,计费模型可能进一步向"保效果"的方向演进——平台承诺某种效果指标(如保 ROI),并在此承诺的基础上设计计费和分成机制。
隐私保护的技术重构:
第三方 Cookie 的淘汰和隐私法规的趋严,正在倒逼程序化广告的技术架构进行根本性重构。从依赖第三方 Cookie 的跨站用户追踪,转向基于第一方数据、上下文定向和隐私保护计算(如联邦学习、差分隐私)的新范式。这一转变不仅影响用户识别和定向技术,还将深刻改变竞价机制和计费模型的设计。
反作弊的持续升级:
随着生成式 AI 等新技术的发展,作弊行为的复杂度还将进一步提升(如 AI 生成的虚假用户行为、深度伪造的广告素材等)。反作弊技术需要持续跟进,从基于规则和统计特征的检测,向基于深度学习和对抗训练的检测演进。
程序化广告的交易模式与竞价机制,是广告技术(Ad Tech)领域最核心的知识体系之一。理解这一体系,不仅需要掌握经济学中的拍卖理论和博弈论基础,还需要深入理解工程实践中的系统设计和性能优化,更需要从商业视角把握广告主、媒体方和平台三方的利益博弈与动态平衡。本文从交易模式、竞价理论、eCPM 框架、计费模型、工程实现和反作弊体系六个维度进行了系统性的梳理,旨在为读者构建一个完整的认知框架。竞价机制决定了广告展示机会的分配效率,但竞价的精准度最终取决于数据能力——系统能否准确识别用户是谁、预测用户会做什么。下一篇将深入广告系统的数据基建,从用户身份体系、DMP、定向策略到 CTR/CVR 预估模型,拆解"精准"背后的技术支撑。
系列导航
- 广告技术系列(一):商业逻辑与生态架构
- 广告技术系列(二):程序化广告与竞价机制
- 广告技术系列(三):数据基建与智能定向
- 广告技术系列(四):度量体系与优化方法论
- 广告技术系列(五):聚合平台的运作原理