全景金字塔

先给结论:CP* 主要描述按什么事件计费和结算,例如按千次曝光(CPM)、按点击(CPC)、按转化(CPA/CPS)。在传统广告模式里,计价方式和结算方式通常重合;在 OCPX 模式里,两者会被拆开——广告主可以要求系统按转化目标优化,但平台仍按曝光或点击结算。只有当更深的事件同时是结算条件时,媒体才会承担更多“没有转化就没有结算收入”的风险;如果转化只是优化目标,而平台仍按曝光结算,例如 oCPM,广告主仍然承担实际 CPA 偏离目标的经济后果。前缀 o-(Optimized)表示在原有结算方式之外,再加一层由机器学习驱动的目标优化。广告主给出的目标 CPA、目标 ROAS(Return on Ad Spend,广告支出回报率,即期望归因收入 ÷ 广告费)等通常不是每次 auction 直接提交的最终 bid;系统会结合这些目标、pCTR、pCVR、转化价值和预算,计算这次机会的有效 bid,争取当前目标下综合价值更高的流量。“最可能转化”只是简化说法,不等于 ROI 最高,也不等于只挑转化概率最高的用户。而 eCPM 既不是计费方式,也不是结算方式,它是把不同计费口径、不同出价单位和不同转化概率综合进同一个“每千次曝光预期价值分”的结果,让原本不能直接比较的候选流量进入同一排序尺度。在“按转化目标出价、且 pCVR 定义为点击后到最终 goal 的整体转化概率”这一口径下,排序分才可以写成 eCPM = pCTR × pCVR × bid × 1000;不同平台对 bid 和 pCVR 的定义可能不同,不能把这条式子当成所有广告产品的结算公式。

把全文术语压缩成一条决策链:

1
2
3
4
5
6
7
广告主的目标(曝光 / 点击 / 转化 / 交易价值)
↓
系统用 pCTR、pCVR 和目标价格计算综合价值分
↓
auction 按综合价值分排序,决定谁获得曝光
↓
按 CPM、CPC、CPA 等结算规则记广告消耗

这里的 pCTR、pCVR 是竞价前的预测概率;bid 是手工出价或系统根据目标换算出的有效竞价输入;auction 是分配曝光机会的竞争过程;eCPM 是把这些因素综合后的每千次曝光预期价值分。它们不是同一层概念。

广告从目标、预测、综合价值分到计费的完整链路

图中概率符号里的竖线 | 读作“在……条件下”或“给定……”,不是除法,也不是“或者”。例如 P(点击 | 曝光) 表示“已经发生一次曝光的条件下,用户点击的概率”;若 1000 次曝光带来 20 次点击,那么 P(点击 | 曝光) = 20 ÷ 1000 = 2%。

这一家族要解决的根本矛盾只有一个:广告主想按真实效果付费以锁定 ROI,媒体想按可控的曝光供给收费以锁定收入,两边都不愿意单独承担数据噪声、作弊和归因延迟带来的不确定性。广告计费从 1990 年代的 GD 合约一路演进到今天的 OCPX 自动出价,本质是在一次又一次地重新分配这份不确定性:谁承担风险、谁掌握数据、谁负责校准、谁来兜底。

本文中的“风险”不是“广告没转化,所以媒体违约”的同义词,而是结果落空以后,哪一方仍然承受经济损失。广告主的损失是已经支付曝光或点击费用,却没有得到目标转化;媒体的损失是已经消耗广告库存和投放资源,却因未达到结算事件而无法确认收入,同时损失了展示其他广告的机会。平台或出价系统还可能承担模型预估偏差、成本保障赔付、作弊和归因争议。只有合同或平台政策明确保证转化量、成本线或赔付条件时,结果落空才可能进一步涉及未履约或赔付。仅凭普通 CPM、CPC 投放没有转化这一事实,不能判断媒体违约;是否违约要回到合同和平台政策。

计算广告的历史演进:从买广告位到买结果

计费方式的变化,背后对应的是广告供给、用户意图和可测量结果的变化。早期广告主要购买固定版面或固定时段;搜索广告把用户当下的查询意图引入竞价;社交网络广告利用用户关系和兴趣信号组织信息流;程序化交易再把广告位拆成一次次可竞价的流量机会。到了原生广告和 OCPX 阶段,广告形式越来越接近内容消费场景,优化目标也从曝光逐步深入到点击、线索、安装和交易。

下图把“广告类型”和“计费/优化方式”放在同一条历史路径上。类型描述广告出现在哪里、以什么形态触达用户;计费描述广告主按什么事件付费;优化描述系统在竞价时试图争取什么结果,三者不是同一个维度。

图 1:计算广告历史演进与主要广告类型。 搜索广告是在用户主动查询结果页中展示、与查询意图相关的广告;展示广告是在网页或应用版面中展示的横幅、开屏或富媒体广告;社交网络广告依托用户关系、兴趣或行为信号出现在社交平台的信息流中;原生广告尽量采用所在内容环境的版式和交互方式,并通过广告标识与自然内容区分。程序化广告不是一种固定版式,而是用自动化交易和实时竞价完成广告位购买;OCPX 则是在既有结算口径上,用转化目标和预测模型自动优化出价。

这条历史线不能理解成“旧广告被新广告完全替代”。品牌展示仍然需要 CPM,搜索广告仍然以点击和查询意图为核心,社交和信息流广告可以同时采用 CPM、CPC 或 oCPM,程序化交易也可以承载展示、视频和原生广告。真正发生变化的是:广告库存从固定资源变成可实时交易的机会,效果衡量从曝光逐步深入到结果,出价从人工规则逐步转向模型自动决策。

本文做三件事。第一,穷举 CP* 家族的所有成员,给每个术语一个权威出处。第二,把 eCPM 的三种口径一次讲清楚,连带讲透 GSP 拍卖和 2019 年 Google 切回一价的那次重大转向。第三,按照 GD → CPM → CPC → CPA/CPS → oCPX → 全自动出价的时间轴,还原这套体系是怎么一步一步长成今天的样子。

CP* 家族的全景图

一张总表:18 种计费方式

CP* 的意思是 Cost Per X,即“围绕 X 这个事件计量成本”。X 可以是一次点击、一次转化,也可以是 1000 次曝光;它描述的是计费/结算的计量单位,不保证每次事件都按固定价格成交。实际成交价仍由 auction 和定价规则决定。截至 2026 年仍在被主流平台使用、或在历史文献中留下痕迹的成员如下,按触发深度从浅到深排列:

缩写 英文全称 中文译名 触发动作 结果落空时主要承担方 典型平台
CPM Cost Per Mille 每千次曝光成本 广告被展示 1000 次 广告主 品牌展示、门户、Facebook/腾讯/Meta
CPT Cost Per Time 每时段成本(包时段) 广告位独占指定时间段 广告主 抖音开屏、门户首页包天
CPD Cost Per Day / Cost Per Download 每天 / 每次下载成本 包天 / 用户下载 App 广告主(包天)/ 媒体(下载) 门户 / Google Play
CPC Cost Per Click 每次点击成本 用户点击 双方共担 搜索广告(Google AdWords、百度凤巢)、信息流
CPV Cost Per View 每次观看成本 用户观看视频(通常 ≥30 秒或完成率达标) 双方共担 YouTube TrueView、视频信息流
CPCV Cost Per Completed View 每次完整观看成本 完整看完视频广告 媒体偏多 YouTube、OTT 长视频
CPE Cost Per Engagement 每次互动成本 点赞、评论、转发、上滑等主动互动 双方共担 微博、Instagram、富媒体广告
CPF Cost Per Follower 每次关注成本 用户关注账号 媒体偏多 Twitter Follow Ads、账号涨粉
CPUV Cost Per Unique Visitor 每独立访客成本 触达一个去重后的 UV 广告主偏多 早期网站广告,今已罕见
CPL Cost Per Lead 每条线索成本 用户留下表单、手机、邮箱等线索 媒体 B2B、教育、金融、房产
CPI Cost Per Install 每次安装成本 用户安装完成 媒体 移动应用推广、Google UAC、Meta App Install
CPR Cost Per Registration / Response / Result 每次注册 / 响应 / 结果成本 用户完成注册或触发指定 result 媒体 会员注册、Meta Ads 通用指标
CPO Cost Per Order 每张订单成本 用户提交订单(不一定完成付款) 媒体 电商、外卖
CPA Cost Per Action / Acquisition 每次行动 / 获客成本 用户完成指定深度转化动作 媒体 Google tCPA、联盟营销
CPS Cost Per Sale 每次销售成本 用户完成付款成交 媒体 阿里妈妈淘宝客、Amazon Affiliate
CPP Cost Per Purchase / Point / Phone Call 每次购买 / 每收视点 / 每次来电成本 含义随语境而定 看含义 电商 / 传统电视 GRP / 呼叫营销
CPH Cost Per Hour 每小时成本 广告位独占 1 小时 广告主 YouTube Masthead、植入时长
CPM 衍生:eCPM effective CPM 有效千次曝光(收益) 不是计费方式,是把各种计费折算到千次曝光量纲的通用尺 — 媒体与广告系统共用

四个分类维度

同一张表从四个维度切,能看出整个家族的内部结构。

维度一:按触发深度(营销漏斗)

  • 曝光层:CPM、CPT、CPD(按天)、CPH——只要广告出现就计费
  • 互动层:CPC、CPV、CPCV、CPE、CPF、CPUV——需要用户主动发生轻度交互
  • 转化层:CPL、CPI、CPD(按下载)、CPR——需要用户完成低门槛转化
  • 交易层:CPA、CPS、CPO、CPP(按购买)——需要用户完成有商业价值的深度转化

维度二:按结果落空后的经济承担

判断风险归属时,先看什么事件发生才形成可结算费用,不能只看系统在优化什么目标。广告投放的根本不确定性来自三件事:流量到底值不值这个价(供给侧噪声)、用户会不会真的转化(需求侧噪声)、转化数据能不能被归因(测量噪声)。结算规则决定这些不确定性最终由谁承担。

  • 广告主承担为主:CPM、CPT、CPD-day、CPH。曝光或时段交付完成后就形成费用;即使没有转化,广告主仍需要支付
  • 按链路分段承担:CPC、CPV、CPE、CPF。媒体承担“曝光后没有交互”的库存机会成本;广告主为交互付费后,继续承担“交互后没有转化”的成本
  • 媒体承担为主:CPL、CPI、CPR、CPA、CPS、CPO。未出现符合归因口径的转化,就没有可结算事件。这不是广告主拒绝支付,也不当然构成媒体违约,而是这笔费用根本没有生成

由此才能得到一条有条件的规律:当更深的事件同时是结算条件时,媒体承担的未结算风险通常更大,单次事件的名义价格也通常更高。这是因为媒体需要用更高的单次收入,覆盖没有达到结算事件的曝光、点击和库存机会成本。这只是一般规律,最终价格还受供需、流量质量、竞争强度和转化价值影响。

这条规律可以再说得严谨一点:

1
2
3
4
5
6
7
8
9
目标事件越靠近交易
↓ 通常
事件频率越低,反馈越晚,归因和外部影响越复杂
↓
pCVR 和最终 ROI 越难稳定预测
↓ 如果按深层事件结算
媒体无法形成结算收入的概率越高
↓ 通常
单次事件价格包含更高的风险溢价

所以,“转化链路越深,成功预测 ROI 的难度越大,CPX 单价通常越贵”和“离交易越近,噪声越多,媒体承受的风险越大”不能直接画等号。链路深度会影响预测难度,但媒体是否承担经济损失,还要看深层事件是不是结算条件。在 oCPM 中,转化链路可以很深,但平台仍按曝光结算,因此媒体并没有承担纯 CPA 模式下全部的未结算风险。这里的“噪声”也不是说购买这个标签比点击更不真实,而是说购买样本通常更稀疏、反馈更晚,并且更容易受到价格、库存、竞品、支付和归因窗口的影响。最终单价还会受到流量质量、供需、竞争强度和广告主转化价值影响,不能只按事件深度排序。

另一个容易误解的地方是“单价贵”。CPA = 50 元/转化 看起来比 CPC = 5 元/点击 大,但如果点击到转化的概率是 10%,两者在期望成本上正好对应:5 元/点击 ÷ 10% = 50 元/转化。分母不同,数字不能直接比较。

归因到底在做什么

归因(attribution)是把一次转化和它之前发生的广告触点连接起来,再按照约定的规则把这次转化计入某个广告、计划、渠道或平台。它要回答的不是“用户一定是被哪一条广告说服的”,而是“在当前数据和规则下,这次转化应该记到谁名下”。曝光、点击、安装、注册、下单、付费等事件先被采集,系统再用设备标识、登录账号、点击 ID、UTM 参数、SDK 回传或隐私保护的聚合信号把它们串成路径。

一条可执行的归因规则至少要规定四件事:什么事件算转化,转化前允许回看多长时间,点击和曝光哪个优先,以及同一笔转化能不能被多个渠道重复领取。比如“点击后 7 天内完成注册,优先归给最后一次有效点击”是一套规则;“曝光后 24 小时内安装,按平台提供的聚合回传确认”是另一套规则。归因窗口不是越长越好,窗口越长,能覆盖的延迟转化越多,也越容易把本来与广告关系很弱的自然转化算进去。Google Analytics 文档把 lookback window 定义为触点获得转化归因资格的回看范围;不同转化类型可以使用不同窗口。

归因通常同时服务三件事。第一是报表:把转化和收入分摊到广告计划,计算 CPA、ROAS 和渠道贡献。第二是优化:用已经归因的转化训练 pCVR,让系统知道哪些流量更可能完成目标。第三是结算:在按转化收费的产品里,只有满足去重、反作弊、时间窗口和有效性规则的归因转化,才可能成为可结算事件。于是“归因转化”既不是用户行为的原始事实,也不是平台随意填写的数字,而是原始事件经过匹配、过滤和分配后的业务结果。

归因的“准不准”要拆成三层看:

层次 它真正检验什么 常见误差
事件准确性 曝光、点击、安装、注册、购买是否真的发生,时间和金额是否正确 SDK 漏埋、回传延迟、重复上报、退款和无效事件没有回冲
连接准确性 这次转化能否和某个广告触点匹配 跨设备、未登录用户、Cookie 失效、广告拦截、隐私限制、线下成交无法完整连接
贡献准确性 被匹配的触点到底贡献了多少,是否真的带来了新增转化 最后点击会高估临门一脚,多触点或数据驱动模型也只是规则或统计估计,不等于因果证明

因此,归因报表可以很稳定,却不一定很接近“广告真正带来的增量”。如果用户本来就会购买,广告只是在购买前最后一次被点击,那么最后点击归因仍可能把整笔订单记给广告;如果同一个用户先看短视频、再搜品牌词、最后点击重定向广告,多触点模型会分配多份贡献,但这些份额取决于模型假设。Google 的数据驱动归因会比较转化用户和未转化用户的触点路径,再估计不同互动的贡献;这比固定的最后点击规则更有信息量,但仍然是模型估计,不是对“如果没有这条广告,用户一定不会买”的直接观测。

隐私保护还会改变归因结果的形状。以 iOS 的 AdAttributionKit / SKAdNetwork 为例,平台可以提供广告驱动安装或再互动的签名回传,但回传字段会受隐私阈值、聚合和延迟限制,广告主拿到的不是完整的用户级路径。这样的结果可能更少、更粗,却不代表数据错误;它表示系统有意不提供可识别个人的完整链路。不同平台各自计算归因时,还会因为窗口、时区、去重规则、点击优先级和退款回补时间不同,出现“平台 A 的转化数”和“平台 B 的转化数”对不上。跨平台数字不一致本身不能证明某一方作弊,先要对齐统计口径。

真正接近“广告带来了多少新增转化”的方法是增量实验,例如随机对照、地理实验、留出实验或经过校准的因果模型。归因适合回答“这笔转化按当前规则记给谁”,增量实验才更接近回答“如果不投这条广告,会少多少转化”。实践中通常把两者并用:归因负责日常报表、出价和结算,增量实验负责校准归因模型是否长期偏向某类渠道。没有统一的“归因准确率 90%”之类通用数字;能报告的准确程度必须限定在事件、匹配、分配和因果增量中的某一层。

维度三:按产品生命周期

营销漏斗 Awareness → Consideration → Conversion → Transaction 的四段路径,几乎和计费方式一一对应:

  • Awareness(认知):CPM、CPT——品牌要的是曝光量和注意力
  • Consideration(考虑):CPC、CPV、CPE、CPF——品牌要的是兴趣信号
  • Conversion(转化):CPL、CPI、CPR——效果广告主要的是低门槛转化
  • Transaction(交易):CPA、CPS、CPO、CPP-purchase——电商与直营广告主要的是真金白银

维度四:按主流程度

2026 年仍占据绝大多数市场份额的核心计费方式有 8 种:CPM、CPC、CPA、CPS、CPL、CPI、CPV、CPE。其余大多数是特定行业的 niche(CPT 门户包天、CPH YouTube Masthead、CPF 社交涨粉)或已被替代的历史形态(CPUV 基本被 CPM 吸收、CPR 基本被 CPA 吞并)。

一词多义的坑

同一个缩写在不同语境下经常指完全不同的东西,读文档时不区分清楚会直接读错。

  • CPD:在移动广告语境里是 Cost Per Download(每次下载),在门户/信息流广告语境里是 Cost Per Day(包天)。两者风险方向完全相反。
  • CPT:在数字广告里是 Cost Per Time(按时段),在英国电视广告传统里是 Cost Per Thousand(等同于 CPM)。
  • CPP:至少有三种含义——Cost Per Purchase(电商)、Cost Per Point(电视 GRP)、Cost Per Phone Call(呼叫营销)。
  • CPR:至少有三种含义——Cost Per Response(早期直邮)、Cost Per Registration(注册)、Cost Per Result(Meta Ads 通用术语)。
  • CPA 与 CPS 的界线:广义的 CPA 包含 CPS(销售本身就是一种 action),但在效果广告行话里,CPA 常默认指注册、下单、激活这类"非付款"行动,CPS 单独留给真正的"付款成交"。

读任何一份广告平台文档之前,先确认这些缩写在当前产品线下被如何定义,是第一步。

先把五个词放回同一笔交易

广告投放里最容易混淆的不是缩写本身,而是把不同阶段的数字放在了一起:预算是上限,优化目标是系统想争取的结果,bid 是一次竞价提交的价值,auction 是分配机会的过程,计价是价格如何形成,结算是最终按什么事件收多少钱,消耗是实际扣掉的钱,收入是收款方确认的钱。它们的关系可以压缩成一条链:

1
2
3
4
5
6
7
预算(最多允许花多少)
↓ 约束投放节奏
候选广告 → bid(这次机会愿意按什么价值参与)
↓ 进入 auction
排序、竞争、决定是否赢和付多少
↓
消耗(广告主实际支付)→ 收入(平台/媒体按结算规则取得,可能还要扣分成)

记忆这条链时,可以把几个词各自压成一句:预算是投放总量的闸门,控制最多能买多少;目标 CPA/ROAS 是系统优化的约束尺,说明希望把成本或回报控制在什么水平;bid 是单次竞价机会的价值报价。

auction 是广告机会的分配与定价过程;eCPM 是把不同出价折到同一尺度后的价值分;结算是把已发生的计费事件记入账单的规则。这些词分别描述总量、目标、单次报价、竞争过程、排序依据和账务处理。

预算、消耗、收入不是三个同义词

预算(budget)是广告主给计划或账户设置的花费上限,通常有日预算、生命周期预算和账户总预算。预算解决的是“最多允许花多少”,不是“系统一定会花多少”。没有足够的流量、竞价竞争力或有效转化,计划可能花不满;预算控制也可能因为结算、延迟归因和时区口径出现短时偏差。

消耗(spend)是广告主已经因为展示、点击或转化等计费事件被记账的金额。它回答“已经实际扣了多少”,需要明确是请求级预估、投放报表里的消耗,还是财务最终确认的应付金额。预算可以是 100 元,实际消耗 63 元;预算是上限,消耗是结果。

收入(revenue)要先说明站在哪一方看。对广告平台或媒体,收入通常来自广告主的消耗,但可能还要扣除流量分成、代理佣金、退款和无效流量调整;对广告主,广告带来的销售额才是经营收入,广告消耗是成本。于是“平台收入”和“广告主收入”不是同一个数字,也不要求一一相等。

Spend 是累计总消耗,Cost 更常表示单位事件成本或成本指标。例如广告主花费 60 元获得 30 次点击,则 Spend = 60 元,平均 CPC Cost = 2 元/点击;如果其中产生 2 次转化,则平均 CPA Cost = 30 元/转化。在财务语境里,cost 也可能泛指平台自身的履约成本,必须结合字段名判断。

词 它回答的问题 发生时间 一个 100 元预算计划的例子
预算 最多允许花多少? 投放前设置 上限 100 元
bid 这次竞价机会按什么价值参与? 每次 auction 前提交或计算 目标 CPA 50 元经换算形成有效 bid,或 CPC 出价 2 元
auction 谁获得这次机会?按什么价格成交? 每次广告请求发生时 多个候选广告排序、竞争、定价
消耗 实际记了多少广告费? 计费事件发生后 已展示/点击后累计 63 元
收入 收款方确认拿到多少? 结算、分成、退款处理后 平台确认收入可能低于广告主消耗

预算和目标如何约束投放与出价

预算和目标约束的是两件不同的事:预算约束最多能买多少,目标约束系统愿意用多大价值去争取什么样的机会。例如一个 oCPM 计划设置日预算 100 元、目标 CPA 50 元。某次曝光的 pCTR=2%、pCVR=10% 时,简化排序价值是 2% × 10% × 50 元 × 1000 = 100 元 eCPM。如果把目标 CPA 提高到 80 元,同一流量的简化 eCPM 会变成 160 元,系统通常会更积极地参与竞争;但日预算仍然只有 100 元,不会因为目标提高就允许无限消耗。反过来,目标 CPA 降到 30 元,简化 eCPM 变成 60 元,可能更难赢得流量,计划也可能花不满预算。

预算不是“系统一定要花完的钱”,目标也不是“每次 auction 直接提交的 bid”。前者是投放总量和节奏的上限,后者是系统把转化成本或收入回报换算成有效 bid 时使用的约束。实际是否出价、出价多少、是否放慢消耗,还要看可用流量、竞争、频控、转化延迟和平台的 pacing 策略。

从目标 CPA 到实际 CPA:一条完整投放闭环

广告主通常在广告计划、广告组或投放单元层级配置预算、目标事件和 target CPA,具体层级因平台而异。从设置到报表,整条链路可以写成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
投放前:预算 + 目标事件(Goal)+ 优化目标(Objective)+ target CPA
↓
每次广告请求:预测 pCTR / pCVR
↓
为“候选广告 + 当前流量机会”计算有效 bid / eCPM
↓
进入本次 auction,与其他候选广告排序和竞争
↓
赢得流量机会,并实际发生曝光、点击或转化
↓
按 CPM / CPC / CPA 等结算规则累计 Spend
↓
报表汇总曝光、有效点击、归因转化和归因收入
↓
计算 actual CPM / CPC / CPA / ROAS

eCPM 不是多轮 auction 结束后累积出来的结果。系统会在每一次广告请求中,针对“候选广告 + 当前流量机会”即时计算排序用 eCPM。同一条广告面对不同用户、时段和上下文时,pCTR、pCVR 和有效 bid 都可能不同,因此 eCPM 也会变化。

赢得 auction 只表示广告获得了这次曝光机会,不必然等于立刻增加 Spend。真正增加 Spend 的时点由结算方式决定:oCPM 通常在有效曝光发生后记账,oCPC 在有效点击发生后记账;如果当前平台把 oCPA 定义为按归因转化结算,则在转化确认后记账。oCPA 不是跨平台完全统一的名称,具体扣费时点必须以当前产品的结算条款为准。目标 CPA 只负责约束优化方向,不能据此判断扣费时点。

Spend 可能逐渐接近预算,但预算不是必须花完的任务。流量不足、竞争力偏低、频控、审核、目标过严或 pacing 策略都可能让计划花不满;结算延迟和无效流量调整也可能使报表消耗与最终账单存在时间差。

投放报表通常直接提供 Spend、曝光、有效点击、归因转化和归因收入。实际结果按统一口径计算:

1
2
3
4
actual CPM  = Spend ÷ 曝光数 × 1000
actual CPC = Spend ÷ 有效点击数
actual CPA = Spend ÷ 归因转化数
actual ROAS = 归因收入 ÷ Spend

因此,target CPA、actual CPA 和 CPA billing 需要分开:target CPA 是投放前的优化约束;actual CPA 是投放后的结果指标;CPA billing 才表示按归因转化结算。三者都带 CPA,但分别属于优化、统计和结算三个阶段。

计价和结算:传统模式相近,OCPX 模式分离

这里需要把两个容易混用的词分开:

  • 计价(pricing)回答“这次广告机会值多少钱、成交价怎么形成”。它通常发生在 auction 中,涉及 bid、排序分、下一位竞争者价格、底价和一价/GSP 等规则。
  • 结算(billing / settlement)回答“最终按什么计费事件向广告主记账”。它涉及展示、点击、转化中的哪一个事件,以及退款、无效流量、分成等账务规则。

在传统模式里,两者经常看起来是同一件事,所以容易产生“计价方式就是结算方式”的直觉。比如 CPC 广告按点击竞价,最终也按点击结算;CPM 广告按千次曝光报价,最终也按曝光结算。此时可以粗略地把 CPC、CPM、CPA 同时叫作计费方式。

OCPX 把两层拆开了。以 oCPM 为例:

1
2
3
优化目标:尽量获得转化,目标 CPA = 50 元
计价/排序:pCTR × pCVR × 50 元,折算成 eCPM 参加 auction
结算方式:广告主仍按曝光或千次曝光被扣费

也就是说,广告主告诉系统“希望每个转化控制在 50 元附近”,系统据此估算每次曝光的竞争价值并争取转化;但这次曝光没有转化,通常仍可能产生曝光费用。50 元 是目标价格和排序输入,不是每次曝光都会直接扣掉的金额。若把“优化目标”误叫成“结算方式”,就会误以为没有转化就没有任何消耗。

所以,原文那句“广告主每一块钱应该在什么触发条件下花出去”更准确的说法是:广告主希望把预算优化到哪个结果上,以及平台在什么事件发生时记账。前半句是优化目标,后半句才是结算条件;只有在传统模式中,两者才经常重合。

bid 和 auction 的差别

bid 是一个输入值或中间值:广告主手动给出的 CPC/CPM 价格,或者系统根据目标 CPA、pCTR、pCVR 和预算动态算出的参与价值。它只表达“这条广告愿意以什么价值竞争”,不等于最终一定支付的价格,也不等于一定赢得曝光。

auction 是一个决策过程:广告系统收集候选广告,做资格过滤和预估,按统一的排序分比较,选出胜者,并依据一价、GSP 或其他定价规则决定实际扣费。可以把 bid 理解成报名时提交的价格,把 auction 理解成整场比赛;价格是比赛的输入,比赛还负责决定名次、是否成交和成交价。

在一价拍卖里,胜者通常按自己的有效 bid 支付;在 GSP 里,胜者可能按下一位竞争者的价格加最小增量支付。两种机制下都可能出现“bid 很高但没有赢”或“赢了但实际支付低于 bid”。因此,不能用 bid 直接代替消耗,也不能用一次 auction 的结果推断整日收入。

广告竞争流量机会以及 pCTR、pCVR 概率链的 auction 过程

这张图把“流量/广告位竞争广告”和“广告竞争流量”放回同一个过程里:一次用户请求产生一个可分配的曝光机会,候选广告竞争这次机会,auction 决定谁获得曝光以及按什么价格成交。从具体 auction 的内部视角看,是广告竞争一次流量机会;从市场关系的外部视角看,也可以说广告位提供流量、吸引广告。两种说法观察角度不同,不能把广告位理解成参加竞价的广告。

图中把点击画成概率链的分割线:pCTR = P(点击 | 曝光)描述曝光后点击的概率,pCVR = P(goal | 点击)描述点击后到达目标的概率。在这个简化口径下,曝光后直接到达目标的概率约等于 pCTR × pCVR;如果平台把 pCVR 定义成从曝光到目标的整体概率,则不能再重复乘一次 pCTR。

bid、成交价和实付价格

bid 是参赛者提交的出价,clearing price(成交价/中标价)是 auction 根据定价规则形成的价格,price paid(实付价格)是经过结算、折扣、退款和无效流量处理后实际记入账单的价格。在简单场景里,成交价和实付价格可能相同;在一价拍卖里,成交价通常接近获胜者的有效 bid;在 GSP 里,成交价可能接近下一位竞争者的出价加最小增量。

1
2
3
4
bid             = 参赛时提交什么价值
auction = 如何竞争、决定谁赢
clearing price = 这次竞争形成什么成交价
price paid = 账单最终实际收多少钱

目标 CPA 和目标 ROAS 都不应直接写成最终 bid,它们是经营约束。系统会结合目标、pCTR、pCVR、转化价值、预算和竞争环境,把它们换算成这次 auction 的有效 bid;不同平台的换算单位和公式可能不同。

可以,作为第一层记忆:

  • 目标 CPA/ROAS 是广告主告诉系统的经营目标:它们约束成本或回报,不是天然等于最终 bid。
  • bid 是这一次竞价拿什么价值参赛:可以是广告主手工给出的 CPC/CPM 价格,也可以是系统把目标、预测概率和预算换算后的有效 bid。
  • auction 是整场竞争过程:系统比较候选广告的有效价值,决定谁赢、如何排序、按什么规则形成 clearing price。
  • eCPM 是综合加权结果:把不能直接比较的 CPC、CPM、oCPX 候选,都换算成“每千次曝光的预期价值”,从而能够比较和排序;它不是计费方式,也不是最终成交价。
  • Spend 是累计总消耗,Cost 通常是单位事件成本:例如花 60 元获得 30 次点击,Spend = 60 元,平均 CPC Cost = 2 元/点击。

例子一:目标 CPA 为什么不等于最终 bid

某广告主设置目标 CPA 为 50 元,表示“平均每获得一次转化,希望成本接近 50 元”。某次曝光的模型预测为:

1
2
3
pCTR = 2%                  # 曝光后点击的预测概率
pCVR = 10% # 点击后转化的预测概率
P(转化 | 曝光) = 2% × 10% = 0.2%

在一个简化模型里,这次曝光对应的目标价值是:

1
2
3
每次曝光的期望价值 = 0.2% × 50 元 = 0.1 元
等价 eCPM = 0.1 元 × 1000 = 100 元
等价 CPC = 10% × 50 元 = 5 元/点击

这里的 50 元 是目标 CPA,100 元 是把期望价值折成千次曝光后的 eCPM,5 元/点击 是在另一种口径下的等价值;三者都不是在说“每次曝光实际扣 50 元”。平台还会结合预算、频控、竞争、底价和自身的出价策略,生成最终有效 bid;auction 再据此排序并形成成交价。

例子二:目标 ROAS 也不是一个 bid 金额

某广告主设置目标 ROAS 为 500%,也就是 5 倍:每花 1 元广告费,希望带来 5 元收入。某次曝光的预测为:

1
2
3
4
pCTR = 1%
pCVR = 5%
一次转化价值 = 200 元
P(转化 | 曝光) = 1% × 5% = 0.05%

于是:

1
2
3
每次曝光的期望收入 = 0.05% × 200 元 = 0.1 元
满足 5 倍 ROAS 时允许的期望广告费 = 0.1 元 ÷ 5 = 0.02 元
等价 eCPM = 0.02 元 × 1000 = 20 元

5 倍是收入和广告费之间的比例约束,不是 5 元出价。上面的 20 元是一个用于理解“目标如何被换算成排序价值”的简化结果;真实平台还会考虑预算消耗速度、转化延迟、归因窗口和竞争环境。

一个 auction 里的排序例子

假设同一个广告位同时出现三个候选广告,系统先把它们折算成同一 eCPM 尺度:

候选 出价口径 预测输入 有效排序分
A oCPM,目标 CPA 50 元 pCTR=2%,pCVR=10% 100 元 eCPM
B CPC,手工 bid 2 元 pCTR=4% 80 元 eCPM
C CPM,手工 bid 70 元 不需要转化预测 70 元 eCPM

排序时是 A > B > C,所以 A 更可能赢得曝光。但 A 的 100 元 eCPM 只是排序分,不等于 A 最终一定按 100 元 eCPM 结算:一价 auction 可能接近 A 的有效 bid,GSP 可能参考下一位竞争者,结算后还可能有折扣、退款或无效流量调整。

pCTR、pCVR 和 bid 各自解释什么

  • 这里的 p 是 predicted,表示“预测的”。pCTR(predicted Click-Through Rate)是给定一次曝光后发生点击的预测概率。例如 pCTR = 0.02,表示模型认为这类曝光平均每 100 次约有 2 次点击;它是概率预估,不是这一次曝光一定会点击。
  • pCVR(predicted Conversion Rate)是在约定条件下发生转化的预测概率。很多 OCPX 公式把它定义为“点击后到最终 goal 的整体转化概率”,也有系统把它定义为“曝光后直接转化概率”或某个中间事件后的转化概率,所以读公式时必须先确认条件概率的分母。

CTR 和 CVR 则是事后统计值:前者是实际点击次数除以曝光次数,后者是实际转化次数除以约定的样本数。竞价发生在结果出现之前,只能使用 pCTR 和 pCVR;投放结束后,才能用真实 CTR、CVR 检查模型预测是否准确。

cCTR 不是全行业统一的固定写法。有的平台用它表示 conditional CTR,即“给定曝光后点击的条件概率”;有的平台用它表示 calibrated CTR,即经过校准的点击率预测。不能只看到 c 就断定含义,必须以具体平台的字段定义为准。通常情况下,广告排序公式更常见的写法仍是 pCTR。

长漏斗也不能直接规定“点击后所有环节都叫 pCVR”。例如曝光后依次经过点击、落地页到达、进店、加购、购买:

1
2
3
4
5
P(购买 | 曝光)
= P(点击 | 曝光)
× P(到达 | 点击)
× P(进店 | 到达)
× P(购买 | 进店)

如果平台把 pCVR 定义为 P(购买 | 点击),它可以把点击后的多个环节整体包进去;如果平台分别建模每个环节,就必须把多个条件概率相乘。pCVR 的 CVR 只表示“目标转化率”,不自动表示“任意长度漏斗的剩余概率”。

  • bid 是广告主愿意为目标事件支付的价格,或系统把目标价格转换成竞价输入后的值。目标 CPA 的 50 元、目标 CPC 的 2 元和 CPM 出价 10 元不是同一种 bid,不能只看数字大小比较。

如果 pCVR 是点击后到最终 goal 的整体转化概率,且目标 CPA 是每次转化 50 元,那么一次曝光的排序价值可以简化为:

1
2
曝光发生点击的概率 × 点击后发生转化的概率 × 目标 CPA
= pCTR × pCVR × 50 元

再乘以 1000,才得到用于和 CPM 类广告比较的预估 eCPM。这个值是排序用的期望价值,不是广告主已经支付的消耗,也不一定就是最终提交的 bid 或成交价;只有真实计费事件发生并经过对应的结算规则,才会形成实际消耗。模型预测错了,排序价值和实际结果就会偏离,这正是 OCPX 需要校准的原因。

eCPM 不是计费方式,是一把通用尺

三种口径

eCPM 的字面含义是 effective Cost Per Mille——有效千次曝光成本/收益。在不同语境下它对应完全不同的公式,混用会导致非常严重的沟通错位。

口径一:媒体结算口径(回看视角)

eCPM=广告总收入总曝光次数×1000eCPM = \frac{\text{广告总收入}}{\text{总曝光次数}} \times 1000

这是 Google AdMob、Meta Audience Network 官方文档里给出的定义。它是事后统计指标,用来把 CPC 广告、CPA 广告、CPV 广告全部折算成「每千次曝光赚多少钱」的可比口径,方便媒体横向比较不同需求渠道的变现效率。

口径二:广告系统排序口径(实时视角)

eCPM=pCTR×pCVR×bid⏟期望每次曝光收入×1000eCPM = \underbrace{pCTR \times pCVR \times bid}_{\text{期望每次曝光收入}} \times 1000

这是 OCPX 下的竞价排序分。在每一次广告请求到来时,广告系统对候选广告逐一计算这个 eCPM,按从高到低排序,决定给谁曝光。bid 的含义依出价方式不同:

  • oCPM:在简化排序模型中把 target_CPA 作为每次转化的目标价格输入,eCPM 可写成 pCTR × pCVR × target_CPA × 1000;实际有效 bid 和成交价由平台的换算与 auction 规则决定
  • oCPC:把 target_CPC 作为目标点击价输入,eCPM = pCTR × target_CPC × 1000;实际有效 bid 和成交价仍由平台规则决定
  • CPC:bid 是广告主手工设的 CPC 出价,eCPM = pCTR × bid × 1000
  • CPM:bid 就是 CPM 出价,eCPM 直接 = bid(免去预估)

同一个广告位同一次竞价里,oCPM、CPC、CPM 广告会被统一折算成 eCPM 同台排序。eCPM 的作用就是把原本单位不同、不能直接比较的候选流量,转换成同一排序尺度。

口径三:广告主视角的效率指标

某些效果广告主会把自己投放得到的实际 eCPM(总消耗 / 总曝光 × 1000)作为效率 KPI,用来比较不同渠道、不同素材、不同定向组合。口径三的公式和口径一相同,只是屁股坐在了广告主这边。

三种口径共享同一个数学形式(收入/收益 ÷ 曝光 × 1000),但实时排序口径里的「收益」是预估值(pCTR × pCVR × bid),结算口径里的「收入」是实际值(真实发生的消耗)。把预估和实际搞混会得到错误的结论。广告主看到自己的实际 eCPM 比出价对应的 target 低,通常说明平台在竞价时保守估计了流量价值,并不意味着系统在坑钱。

排序口径的数学直觉

为什么是 pCTR × pCVR × bid × 1000 这个形式?一步一步推:

  1. 广告主给出每次深度转化的目标价格 target_CPA;这是系统的目标价格输入,不必等于最终 bid
  2. 给定一次点击,用户完成转化的概率是 pCVR,所以这次点击的期望价值 = pCVR × target_CPA
  3. 给定一次曝光,用户发生点击的概率是 pCTR,所以这次曝光的期望价值 = pCTR × pCVR × target_CPA
  4. 乘以 1000 换算成千次曝光,就得到 pCTR × pCVR × target_CPA × 1000

这个 eCPM 代表的是系统从这条广告这次曝光里期望能为媒体赚到的钱。系统用期望收入排序,天然就最大化了媒体的长期收入。广告主出 target_CPA,实际扣费按 CPM(oCPM)或 CPC(oCPC)结算。O 前缀的核心设计正是优化目标和结算口径的分离。

这里有一个容易被忽略的细节:pCTR 和 pCVR 都是模型预估值,不是真实值。模型有偏差,预估就有偏差,排序就有偏差,广告主的成本就会跑偏。OCPX 系统里最关键的工程问题由此引出:校准。

与 CPM / RPM / ARPU 的区分

这四个词在真实工作场景里天天被混用,但口径差异其实很清晰。

术语 视角 分子 分母 典型用途
CPM 广告主 广告主花的钱 曝光次数 计费方式本身
eCPM 通用 期望/实际收益 曝光次数 跨计费方式的可比尺、竞价排序分
RPM 媒体(发布方) 总收入(广告+其他) PV 页面浏览量 AdSense、新闻站发布方的页面级变现效率
ARPU 媒体/产品 总收入 用户数 用户生命周期价值,不是单次曝光维度

最容易混的是 eCPM 和 RPM。两者分子都是「赚的钱」、都乘 1000,但分母不同:eCPM 的分母是广告位曝光次数,RPM 的分母是页面浏览量(PV)。一个页面上有 3 个广告位,每次 PV 会产生 3 次曝光;如果三个广告位每个的 eCPM 都是 10 美元,那么这个页面的 RPM 差不多是 30 美元。媒体策划通常看 RPM(页面值多少钱),广告 Ops 通常看 eCPM(广告位值多少钱)。

O 前缀:智能出价的历史与机制

Facebook 2012 年那一刀

OCPX 这一代出价方式的起点是 Facebook 的 optimized CPM(oCPM),大约 2012 年推向市场。Facebook 在 2012 年上半年做了影响深远的广告架构改造,oCPM 是其中最核心的产品动作。

oCPM 想解决的是一个非常具体的痛点:广告主想要的是转化,但不得不按曝光或点击出价。传统 CPM 下广告主买的是曝光,曝光了但没转化钱就白花。传统 CPC 下广告主买的是点击,点击到转化还隔着一层鸿沟,素材诱导性越强点击成本越低、真实转化越差。广告主真正想要的表达是「我只在乎每次购物车下单出多少钱,其余交给系统」。

Facebook 给出的交易方案是:广告主设一个转化目标(比如「每次安装最多出 5 美元」),系统在后台对每一次曝光机会预估 pCTR × pCVR × 目标转化价,按这个期望收益排序选广告。结算仍然按 CPM 走。广告主得到的是期望的转化成本控制,媒体得到的是稳定的千次曝光收入。这里转移给系统的是预估和优化责任,不是把“没有转化的曝光成本”全部转给媒体。广告主仍按曝光支付,实际 CPA 也可能高于 target CPA;只有平台的成本保障或合同条款被触发时,平台才进一步承担赔付责任。

OCPX 这套体系最关键的那一步跨越是:优化目标(广告主侧)和结算口径(媒体侧)被解耦。

中国四大平台的 2017-2018 跟进

国内的跟进集中在 2017–2018 两年:

  • 腾讯广告(原广点通)oCPA:2017 年上线。腾讯广告官网回顾里明确写着"2017 年,oCPA 功能上线,Marketing RPI 正式开放",同期推出成本保障政策
  • 百度凤巢 OCPC:2017 年。这条线的主导者鲁鹏俊在后续访谈里提到,2017 年他在凤巢推出 OCPC,最初只是为了冲击"百度最高奖";2017Q4 百度财报里披露凤巢首次部署强化学习以支持 OCPC 精细化优化;2018 年百度官方宣布把 OCPC 推广到更多行业
  • 今日头条/巨量引擎 oCPC → oCPM:2018 年。业界报道显示,2018 年初头条上线 oCPC,年内升级到 oCPM;2018 年底游戏行业已普遍从 oCPC 切换到头条 oCPM
  • 阿里妈妈智能出价:2018 年随 Uni Desk 代理商工作台集成上线

整体看,中国互联网广告的 OCPX 化比 Facebook 晚了 5–6 年,这个时间差符合海外技术扩散的普遍节奏。真正让这一套在国内普及的两个条件:一是深度学习模型在 2015–2016 年前后进入工业级应用,pCTR/pCVR 预估的精度迈过了可用门槛;二是移动信息流广告(头条、广点通、百度 Feed)在 2016–2017 年同时爆发,给了新机制足够大的流量样本去训练和校准。

oCPC / oCPM / oCPA 的机制差异

O 前缀的三兄弟经常被混用,但它们在出价口径、结算口径、风险承担方这三条上差异明显。

下表使用一组简化口径:oCPC 按点击结算,oCPM 按曝光结算,oCPA 按归因转化结算。这些名称并非跨平台统一标准;某个产品叫 oCPA 不足以单独证明它按转化扣费,仍需查看它的结算条款。

维度 oCPC oCPM oCPA
广告主出价口径 CPC 出价 目标转化价(target CPA) 目标转化价(target CPA)
系统结算口径 按点击扣费 按千次曝光扣费 按转化扣费
优化目标 转化 转化 转化
广告主的结果风险 已为点击付费,但点击可能不转化 已为曝光付费,实际 CPA 可能偏离目标 转化前不形成可结算费用,但仍承担归因口径和转化价值判断风险
媒体/平台的结果风险 无点击则无点击收入 结算收入较稳定;另承担模型质量和成本保障责任 无归因转化则无结算收入,库存机会成本高
作弊难度 中(伪造点击相对容易) 较高 最高(需伪造完整转化链路)
曝光量可控性 较好 最好 最差
国内主流度 过渡形态 主流 较少

三者的排序公式都落回同一个 eCPM 量纲:

  • oCPM 下:eCPM = pCTR × pCVR × target_CPA × 1000,结算按曝光,实际扣费由 auction 的定价规则和结算规则决定
  • oCPC 下:eCPM = pCTR × target_CPC × 1000,结算按点击,扣费是点击时的 target_CPC(或 GSP 下一位价)
  • oCPA 下:eCPM = pCTR × pCVR × target_CPA × 1000,结算按转化;归因转化被确认后才形成可结算事件,实际结算价仍以具体平台规则为准,不能一概认为恒等于 target CPA

为什么国内主推 oCPM 而不是 oCPA

oCPA 是"真正按效果付费"——广告主出转化价,系统也按转化扣费,逻辑上最干净。但国内大厂最终主推的是 oCPM 而不是 oCPA,原因有四层:

一是风险分配。oCPA 下,如果系统高估了转化率,把广告推给了不转化的用户,已消耗的曝光和点击不会形成 CPA 结算收入,平台还损失了把广告位分配给其他广告的机会。oCPM 则按曝光结算,平台的基础收入更稳定;广告主获得 target CPA 优化,但仍承担曝光费用已发生而转化未发生的可能性。

二是作弊成本。oCPA 下,每一次转化数据都直接决定扣费金额,黑产有极强的动机去伪造点击→注册→付费的完整链路。oCPM 按曝光扣费,伪造转化只能影响后续优化方向而不直接扣平台的钱,风控压力小得多。

三是曝光量可控性。oCPM 下广告主可以大致预测"预算 × 1000 / oCPM 出价"的曝光量,投放节奏可控;oCPA 下曝光量完全取决于系统当下对 pCVR 的预估,广告主难以预测投放节奏,容易出现"钱花不出去"或"爆量超预算"的极端情况。

四是与 GSP 拍卖机制的兼容性。GSP 对同一量纲的 eCPM 做排序和定价天然契合,oCPM 的 pCTR × pCVR × target_CPA × 1000 可以无缝进入 GSP 框架。oCPA 需要一套更复杂的机制设计来处理"竞得但不转化"的空档。

oCPM 本质上是一套三方经济后果分配机制:优化目标对齐广告主,按曝光结算保持平台基础收入,系统负责识别更可能完成目标的流量。它不等于保证每次投放都达到 target CPA,也不等于没有转化就不收费。国内主流平台(腾讯、字节、百度、快手、阿里)最终都把 oCPM 做成主打出价方式,原因都在这四层里。

oCPM 之后又出现了双出价的演进形态:广告主同时设置浅层转化(表单提交)和深层转化(有效线索)两个目标价,平台在保证深层转化成本的前提下优先放量,兼顾数据量与 ROI。

成本保障与 pCTR/pCVR 校准

OCPX 的技术基石是 pCTR 和 pCVR 的精准预估,而这两个数字都是机器学习模型的输出,天然有偏差。偏差会直接传导成广告主的成本偏差:

  • 模型高估 pCTR/pCVR:系统以为这次曝光很值钱,排到前面给了它。结果转化没发生,广告主实际花的钱比预期的 target_CPA 高——成本超标
  • 模型低估 pCTR/pCVR:系统觉得这次曝光价值不高,排到后面没给曝光。结果广告主的优质流量被错过——失去转化机会

工业界的解决方案叫校准(calibration):在 pCTR 模型输出的原始概率之后接一个简单模型(常用 Platt Scaling 逻辑回归、Isotonic Regression 单调回归),把模型输出的概率分布校正到与真实世界观测频率对齐。判断一个 OCPX 系统是否工业级,看的不是底层模型多复杂,而是校准做得多稳。模型预测 pCTR=0.01 的那批曝光,真实点击率是否真的落在 [0.009, 0.011] 的窄区间里,这是校准能力的终极考核。

为了让广告主敢用 OCPX,各大平台推出了成本保障(成本赔付)政策:新计划冷启动阶段,如果实际转化成本超过 target 的某个倍数(头条是 20%,即超成本 ≥1.2 × target 就开始赔付,腾讯类似),平台按规则赔付广告主超出部分。赔付机制在商业上兜底了冷启动数据不足导致的成本波动,在技术上倒逼平台把 pCTR/pCVR 的校准做准。赔付金额直接进平台损益表,校准差一点,财报就难看。

拍卖机制:GSP 的黄金二十年与 2019 年的一价转向

GSP 是怎么来的

搜索广告的竞价定价机制,最早是 1998 年 GoTo.com(后来的 Overture,再后来的 Yahoo! Search Marketing)发明的一价拍卖:广告主按关键词出价,出价最高的排第一,点击按自己的出价扣费。一价拍卖有一个众所周知的病症叫出价震荡。当前第一名没必要出比第二名高很多,于是第一名会把价格降到"刚好比第二名高一分"。第二名一看位置丢了就再往上加价,第一名再跟着调。整个市场变成一场机器人互相试探的循环。

2002 年 2 月,Google 在 AdWords Select 里引入了广义第二价拍卖(Generalized Second-Price Auction,GSP):出价最高者胜出,但只需按第二高的出价 + 最小增量结算。Yahoo/Overture 随后也切换到了 GSP。这套机制让广告主没有动机去反复试探,因为最终付的钱与自己的出价无关(只和下一位有关),震荡消失。

GSP 的经典学术分析来自 Edelman、Ostrovsky 与 Schwarz 的 Internet Advertising and the Generalized Second-Price Auction,发表于 American Economic Review 2007 年 1 月号(vol. 97, no. 1, pp. 242-259)。这篇论文指出一个容易误解的事实:GSP 不等于 VCG(Vickrey-Clarke-Groves),也不是严格的 truthful auction。在多广告位场景下,真实出价并不是 GSP 的纳什均衡策略。但 GSP 在工程实现上远比 VCG 简单,在实际中表现稳定,这是 Google 当年选它而不是选 VCG 的关键原因。

三种拍卖机制的对照

机制 胜者支付 激励兼容 抗合谋 实现复杂度 典型应用
一价(First-Price) 自己的出价 弱(需要 bid shading 策略) 一般 低 Google Ad Manager(2019 后)、Header Bidding、程序化交易所
GSP(广义二价) 下一位的出价 + 最小增量 近似真实(但非严格 truthful) 较强 中 Google Search Ads、微软 Bing Ads、多数 SSP 历史默认
VCG 自己给其他竞拍者造成的"福利损失" 严格真实(dominant strategy) 强 高 Facebook 广告拍卖、部分组合拍卖、学术研究为主

三种机制配合 eCPM 排序时,公式都是先按 eCPM 从高到低排,区别只在扣费环节。

2019 年 Google Ad Manager 切回一价

GSP 当了 17 年的行业标配,2019 年 Google 做了一次重要的反转:把 Google Ad Manager(展示广告)从 GSP 切回了一价。

时间线(来源:Google 官方公告 + 美国司法部在反垄断诉讼中披露的 Google 内部文件 PTX1096):

  • 2019 年 3 月 6 日:Google 公开宣布将切换 Google Ad Manager 为"统一一价拍卖"(Unified First-Price Auction)
  • 2019 年 6 月:切换正式启动
  • 2019 年 9 月:切换完成,同时退役了 Last Look 等第二价时代的产品特性

切换原因主要有三条。一是 Header Bidding 的生态压力:2017 年前后 Header Bidding 兴起,SSP 们在头部竞价里默认走一价,而 Google Ad Manager 内部还是二价,两种机制并存导致跨生态的出价难以公平比较,publisher 反映"Google 总是在占便宜"。二是结构透明度:GSP 下底价(floor price)可以被 publisher 隐性操纵影响成交价,一价拍卖让这一套策略失效。三是对齐市场:所有主要 SSP 的默认机制都是一价,Google 跟着切是顺应市场趋势。

切换的覆盖范围要看清楚:这次切换只覆盖 Google Ad Manager(GAM),即展示广告侧;Google Search Ads 至今仍沿用 GSP 体系。两套产品在底层是分离的,所以 2019 年的这次切换不能简单说成"Google 全线切一价"。国内大厂的展示广告拍卖机制大致也在同一时间段(2019–2021)跟着从 GSP 逐步切回一价或向 VCG 靠拢,具体路径各平台不同。

一价拍卖回来之后,bid shading(出价下调)也跟着回来。广告主在 DSP 里训练模型估算"在这次竞价中刚好能赢的最低出价是多少",再按这个值提交。bid shading 本身催生了一批专门做出价优化的 DSP 产品和论文(KDD 2021 开始有多篇),这是一条独立的演进线。

三十年演进版图

互联网广告计费方式的演进大致分为六个阶段:

每一步演进解决的是上一步留下的痛:

  • GD → CPM:GD 合约的包量报价颗粒度太粗,不同广告位难以横向比较。CPM 把「千次曝光」作为标准单位,让广告买卖第一次有了通用度量
  • CPM → CPC:CPM 下广告主为不确定的点击机会付费,在搜索广告场景里并不公平。Google 2000 年上线 AdWords 从 CPM 起步,2002 年切到 CPC + GSP。从此,没有点击的曝光不产生 CPC 结算收入,媒体承担这部分库存机会成本
  • CPC → CPA/CPS:CPC 下广告主仍为「点击到转化」的不确定性买单。联盟营销(2000 年代中后期 Amazon Associates、ClickBank、CJ Affiliate)改为按真实成交结算;没有归因成交时,不是广告主拒付,而是没有生成 CPA/CPS 可结算费用
  • CPA → oCPX:纯 CPA/CPS 下,媒体已交付但未转化的曝光和点击无法形成结算收入,再叠加作弊和归因争议,难以规模化。2012 年 Facebook oCPM 用「优化目标与结算口径分离」的设计让广告主按 CPA 目标优化,同时使媒体保留 CPM 结算的基础收入,由机器学习负责 pCTR/pCVR 预估
  • oCPX → 全自动:2018 年后 Google Smart Bidding、字节极速智投、阿里妈妈 AIGB、腾讯 AEM 陆续出现。广告主只设预算和 ROI 目标,系统全自动出价、定向、创意组合。这一代的关键词从 optimized 变成 autonomous

演进背后的驱动力有三条。一是数据归因工具的成熟(UTM、SDK 归因、归因窗口标准化)让深度转化可测。二是机器学习模型从 LR 到 DeepFM、DIN、MMoE 的迭代让 pCTR/pCVR 精度过关。三是流量供给端从桌面 PC 向移动信息流、短视频转移,给了新机制大样本训练空间。这三条缺一不可。

Google Smart Bidding 与国内 OCPX 的对应

海外的 Smart Bidding 和国内的 OCPX 走的是同一条路,产品名字不同而已。对照表:

Google Smart Bidding 国内对应 核心含义
Target CPA oCPA / oCPM(目标转化成本模式) 设目标转化成本,系统按此自动出价
Target ROAS oCPM + ROI 目标 / 超自动化 ROI 模式 设目标投资回报率,系统按此优化
Maximize Conversions oCPM 放量模式 / 极速模式 在预算内最大化转化量,不设成本上限
Enhanced CPC (eCPC) oCPC 手动 CPC 基础上系统自动上下浮动出价

Google Smart Bidding 的全面推广在 2016–2017 年,国内主流平台的对应产品在 2017–2018 年完成跟进,时间差一年左右。

实务速查卡

读文档、做 Excel、复盘数据时最常遇到的四个问题。

问题一:要不要按效果付费?

  • 预算充足、做品牌 → CPM / CPT
  • 要真实点击 → CPC / oCPC
  • 要真实转化 → oCPM(优先)/ oCPA(真要严格按效果)/ CPS(联盟场景)

问题二:拿到一个 eCPM 数字,它是什么意思?

先问口径。是媒体结算的事后 eCPM(总收入÷曝光×1000)、广告系统实时排序的 eCPM(pCTR×pCVR×bid×1000),还是广告主侧的效率指标。三个口径公式形式一致,但视角和用途不同,不区分清楚会把「看起来对」的分析做成错误结论。

问题三:OCPX 下成本为什么会超?

三种可能:pCTR/pCVR 校准没做准、冷启动期数据不足、素材或定向漂移导致转化率突降。前两种大平台的成本保障政策会兜底(头条 ≥1.2 × target 开始赔付,腾讯类似),第三种由广告主自己负责。

问题四:一价拍卖和 GSP 哪个出价策略更难?

一价更难。GSP 下真实出价基本就是最优策略;一价下需要 bid shading(出价下调)模型估算"刚好能赢的最低出价"。2019 年 Google Ad Manager 切回一价后,DSP 侧 bid shading 成了显学,字节穿山甲、阿里妈妈的需求侧产品都在这块重写过一次技术栈。

参考资料

权威定义

拍卖机制与经济学

Google Ad Manager 2019 切换一价

OCPX 历史

行业综述