Skip to content
Charles Shao
Go back

媒体 Ad Server 深挖:它如何拍板每一次曝光

Updated:
–views

在程序化广告生态全景、交易模式和 Header Bidding 三篇文章中,媒体 Ad Server 曾反复作为最终决策者的角色出现。作为卖方(Publisher)决定「本次广告曝光归属于谁」的调度总控系统,其典型的工业界实现便是 Google Ad Manager(GAM)。

必须强调的是,媒体 Ad Server 解决的核心问题是分配(Allocation),而非竞价(Auction)。它的职责在于从直采合约、程序化交易、Header Bidding 以及兜底广告之中挑选出唯一的胜出者;而真正的实时竞价(RTB)撮合过程,则是由供给方平台与广告交易平台(SSP / AdX)来负责完成的。

本文是 卖侧竞价与决策 系列的第 2 篇(决策落地)。 全系列 4 篇:

  1. Header Bidding:Prebid 客户端与服务端架构解析
  2. 媒体 Ad Server 深挖
  3. 多交易所接入工程清单
  4. SSP Yield 深挖

一句话定位:媒体 Ad Server 是卖方决定这次曝光归谁的调度总控:line item 优先级、决策流水线,以及 dynamic allocation 如何把保量单和实时出价放在同一张桌上比较。

TL;DR

Table of contents

Open Table of contents

1. 定位:卖方侧的「调度总控」

媒体 Ad Server(Publisher Ad Server,典型代表为 Google Ad Manager / GAM,前身为 DoubleClick for Publishers / DFP)是卖方侧的广告调度总控中枢。对于一家媒体而言,同一个广告位往往存在多种截然不同的交易模式在争夺同一次广告曝光的机会:

当一次广告请求到达时,媒体 Ad Server 的核心任务便是在上述多种需求来源中排定优先级,并挑选出那个既能满足保量合约要求,又能使媒体收益最大化的唯一候选。这一决断过程在工程上被称为 ad decisioning(决策 / 分配)。

正如前文所述,媒体 Ad Server 解决的是分配问题,而非竞价机制。它判定当前广告位究竟是优先满足直采订单还是放行给程序化渠道;一旦决定放行给程序化交易,真正的实时竞价撮合工作便会交由 SSP / ADX 接管。

换言之,它充当着流量排播总控中枢的角色——系统必须在保留给保量合约的优质流量池与开放给实时竞价的剩余流量池之间,精准地决定每一次曝光的归属,在确保履约的同时最大化变现收益。正因如此,媒体 Ad Server 每秒都在执行着成千上万次这种高并发的分配决策。

什么算「一次广告请求」

需要强调的是,一次广告请求是由真实用户的交互行为所触发的,绝非系统后台的定时任务。下方的流程图展示了从「用户行为触发」到「抵达 Ad Server 进行决策」的完整路径,并标明了 Header Bidding 的介入时机:

一次广告请求是怎么产生并到达媒体 Ad Server 的流程图。① 用户行为触发(不是定时任务,平铺四种):打开/刷新页面、刷到信息流卡片、视频播到插播点、广告位进入视口;② Header Bidding 先跑(页面/App 加载时):客户端 Prebid.js 或服务端 Prebid Server → 并行向多个 SSP/bidder 询价 → 选出最高价 hb_pb=6.20、hb_bidder=sspB;③ 页面广告标签(GPT)或 App 广告 SDK 发出一个 HTTP 请求;④ 请求携带决策上下文:谁(用户标识/地理/设备)、哪儿(ad unit/尺寸/页面·版位)、候选价(hb_pb,由第②步的 Header Bidding 捎上);⑤ 请求到达媒体 Ad Server,成为一个『已带候选价』的曝光机会;⑥ Ad Server 做 decisioning,拍板这一次曝光给谁。旁注:每个请求是决策的最小单位、各自独立——同一广告位,用户 A 这次可能给保量直采,一秒后用户 B 那次可能给竞价,结果可以不同 一次广告请求 = 一个真实用户在某一刻触发了某个广告位;此前 Header Bidding 已在客户端或服务端率先跑完,把胜出价格(hb_pb)连同上下文打包进这个 HTTP 请求,送到 Ad Server 等待拍板。所以它是决策的最小单位:同位置的两次请求各自独立、结果可能截然不同。

那么,「Header Bidding 先跑」这一动作究竟覆盖了哪些广告位?这取决于广告位的加载策略,并非非此即彼,具体如下:

加载策略何时跑拍卖覆盖范围
首屏批量(最常见)页面加载时,一次 requestBids 同时发出询价首页首屏及预先定义的多个广告位
懒加载 / 信息流该广告位即将进入用户视口时才触发单个或一批即将露出的广告位
自动刷新按时为自己重跑拍卖、刷新 hb_pb开启了自动刷新配置的单个广告位

无论是哪种加载策略,一场拍卖都可以同时覆盖多个广告位,但 hb_pb 始终是按「广告位」维度产出的(即每个广告位决出各自的最高出价),然后再跟随各自的广告请求一并发送给媒体 Ad Server。简而言之,广告请求始终是按位(per ad slot)独立发起的,而 Header Bidding 则能够以单位或首屏批量的形式,为这些请求提前准备好对应的 hb_pb。

2. line item:决策的基本单位与优先级

在媒体 Ad Server 中,line item(订单行) 是表达每一笔需求的标准结构体——一份直采合同对应一个 line item,一个特定价格档位的 Header Bidding 资金桶同样对应一个 line item。更为关键的是,每一个 line item 都被赋予了明确的优先级,系统整体上正是沿着优先级从高到低的顺序进行流量分配。以 GAM 的经典层级类型为例:

line item 类型优先级性质谁落在这
Sponsorship(冠名)最高保量、按比例占量旗舰品牌包断、首页冠名
Standard(标准)高保量、按目标量投满多数直采订单及 PG 程序化保量
Network / Bulk中不保量广告网络联盟、批量剩余流量
Price Priority(价格优先)较低纯按价比拼Header Bidding 的 hb_pb 以及公开竞价
House(自有)最低兜底媒体自家的推广位

在这里,我们只需要记住相对档位(高、中、低)即可。尽管 GAM 内部确实存在具体的数字优先级体系(例如 1 到 16),但具体数值会随着版本更迭与后台配置而变动,死记硬背毫无意义;核心准则在于:「保量单永远凌驾于竞价单之上」。

基于此,有两点极为重要:

顺带提及一个工程实现上的痛点:为了承接 hb_pb,开发者必须在 GAM 内部为每一个价格档位(例如每 $0.10 设为一档)创建一个对应的 Price Priority line item。如果粒度设置过细,会导致 line item 数量呈指数级爆炸,进而拖慢决策延迟并加重运维负担;如果粒度过粗,又会因为价格向下取整而白白流失收益。因此,hb_pb 的价格分桶(price granularity)必须与这批 line item 保持严密的对齐。

3. decisioning:一次曝光在 Ad Server 内部怎么被选中

如果要深入理解 Ad Server,就必须将一次曝光请求进入系统后的内部处理过程,拆解为一条极其严密的流水线(pipeline)。这正是 ad decisioning 机制的核心所在:

媒体 Ad Server 决策流水线示意图。一次曝光请求进入后:第一步候选筛选,按定向(地域/设备/受众/版位)和排期(flight dates)筛出所有能投的 line item;第二步过滤,应用竞争性排除(competitive exclusion,同行业不同框)、频次控制(frequency cap)、投放节奏(pacing)等约束,淘汰不合规的候选;第三步选胜者,先按 line item 优先级分层(保量在上),同层或价格层内按 eCPM / 出价价高者得,并通过 dynamic allocation 让实时竞价与保量预估 eCPM 同台;第四步选 creative(按尺寸/格式/创意轮播规则);第五步返回并计数(impression/click)。旁注:全流程毫秒级完成,每秒上万次 decisioning 绝不是简单的挑价高者得——它是一条叠加了定向匹配、合约履约、竞争性排除、频次控制以及节奏调整等多重强约束的复杂流水线,只有走完这些过滤网,才最终进入比价环节。

具体而言,流水线分为以下五个步骤:

  1. 候选筛选(Targeting 与排期):系统首先依据地域、设备、受众、版位等定向标签,以及 flight dates(投放档期),从海量的订单库中筛选出所有具备参与当前曝光竞争资格的 line item。
  2. 过滤(约束校验):这一步主要用于淘汰不合规的候选者。
    • 竞争性排除(competitive exclusion):确保同一个页面或版位中,同行业或者指定竞争对手的广告不会同框出现(例如避免两家车企的广告相邻);
    • 频次控制(frequency cap):严格限制同一个用户在指定时间窗口内观看某条广告的次数上限;
    • 投放节奏(pacing):保证保量订单能够在整个档期内均匀消耗预算,避免出现前期迅速烧光而后期断量的情况。对比之下,这与出价引擎面临的预算平滑问题本质相同,只是这里的核心诉求并非「防超支」,而是「保完量」。
  3. 挑选胜者:在历经层层过滤的合格候选池中,系统会优先按照 line item 的优先级分层进行排布(保量类居上)。随后,在同一个优先级或纯价格层级内,借助 dynamic allocation 机制,按预估 eCPM 或实时出价的价高者最终决出胜负(具体机制见第 4 节)。
  4. 选择创意(creative):胜出的 line item 往往关联了多套创意素材。系统需要进一步结合广告位尺寸、格式限制以及创意轮播规则(creative rotation),最终敲定展示哪一张素材。
  5. 返回与打点计数:最后,Ad Server 将素材(或其 Ad Markup)回传给客户端,并同时触发相关的曝光(Impression)与点击率(CTR)等数据记录。

这条包含多轮次召回与过滤的流水线,每秒钟都要在系统内执行数以万计次,并且必须在极其严苛的毫秒级时延内给到结果——这也正是其底层工程架构极为复杂、极具挑战的核心所在(详见第 8 节)。

4. dynamic allocation 与统一竞价:竞价价格如何与直采同台较量

在早期完全依赖「优先级瀑布」的分配模式下,存在一个明显的收益漏损痛点:一笔本愿意出价 $20 的 Price Priority 竞价,往往会因为层级劣势而败给一个实际价值仅为 $8 但优先级更高的保量合约,导致媒体白白流失了巨额差价。

为了缓解这一矛盾,GAM 在发展初期引入了 dynamic allocation(动态分配) 机制。该机制允许 AdX 携其实时竞价报价,与保量单的预估 eCPM 进行跨层级的同台比拼;只要 AdX 出价更高,便能顺利「插队」赢走曝光,同时系统会通过调整投放节奏,确保保量单仍然能够在后续的流量中投满。这在历史上首次实现了让「价格」局部凌驾于「层级」之上。

不同于上一节聚焦于单次决策的串行步骤,下面的架构图着重揭示了另一个维度的真相:最终的胜出者是如何在保量与竞价这两个截然不同的世界中诞生的,以及价格是如何跨越天然的层级壁垒进行博弈的。

媒体 Ad Server 决策的两个世界示意图。上层是按优先级的保量世界(直采):先 Sponsorship 冠名(保量、最高优先),未满足则下沉到 Standard 标准(保量/PG、高优先)。若上层已投满或不匹配定向,则下沉到下层按价高者得的竞价世界(统一竞价):Header Bidding 传入的 hb_pb(price priority line item)与 AdX / Open Bidding 的实时出价在此同台比价、价高者得;若都没有则兜底 House 自有广告;胜者返回 creative。旁注:保量按优先级在上层享有结构性优先,价格层内部纯价高者得;现代统一竞价(unified pricing rules)尽量把两层放到同一把价格尺子上比,减少'高价竞价输给低价保量'的漏损 在这个决策架构中,上层是由合约优先级主导的保量世界,下层则是纯粹信奉价高者得的竞价世界。值得注意的是,Header Bidding 的竞价报价始终与 AdX 一并存活在下层之中。

然而,初期的 dynamic allocation 存在严重的利益偏袒。历史上,只有 Google 自家的 AdX 平台才能享有这种实时插队的特权,而且它能够凭借「最后一棒」的位置优势,窥探其他需求方的出价后再决定自己的报价。毫无疑问,这成为了 last look 现象滋生的温床。这也反向催生了 Header Bidding 技术的崛起,迫使整个生态必须将其他需求方同样搬运到能够与直采及 AdX 公平竞争的起跑线上。

时至今日(包含 GAM 于 2019 年实施的重大改造),整个广告生态的演进方向已稳步迈向 unified pricing rules(统一竞价)。这一机制致力于将 AdX、Open Bidding 以及诸如 Header Bidding 等 Price Priority line item,全部纳入同一把度量价格的标尺之中。虽然保量订单凭借优先级,在上层依然享有结构性优先权,但在下方的竞价层内部,已基本实现了高度透明、价高者得,且赢家必须按照自身的真实出价进行结算的一价竞价体系。

一个算例:同一次曝光,三种机制三种结局

为了更直观地理解,假设当前有同一次曝光机会,并面临三个候选者:一张处于开启状态但尚未投满的 Standard 保量单(预估 eCPM 为 $8,属于高优先级)、一笔来自 Header Bidding 的竞价请求(hb_pb 报出了 $20),以及一笔 AdX 的实时出价(其实际内部估值为 $22)。同样的一次曝光机会,在不同的分配机制下,最终流向媒体口袋的收益有着天壤之别:

机制谁赢这次曝光媒体到手 eCPM问题
纯优先级瀑布保量单(优先级高直接吃掉)~$8价值 $20 / $22 的高价需求被拦截于门外
dynamic allocation + AdX last lookAdX(看到 HB 出价后报 $20.01 截胡)~$20.01AdX 依赖「最后一眼」恶意压价,HB 真实需求落败
统一竞价(HB 与 AdX 同台、无 last look)AdX(凭 $22 真实高价公平胜出)~$22媒体拿到真实最高价,保量单顺延到后续曝光补齐

这组算例向我们传达了三个核心结论:

顺带一提:由二价向一价竞价体系的整体迁移

在 2019 年前后,AdX 与 GAM 彻底将底层的拍卖机制从次价竞价全面切换为一价竞价(First-Price)。促成这一转变的动因有二:其一,彼时 Header Bidding 生态已经广泛普及了一价竞价规则,二价与一价混杂在同一场拍卖中,导致了无法进行公平对标的计算乱象;其二,一价机制极大程度地压缩了 last look 滥用的获利空间——当你无法确切知晓对手的底牌,自然也就失去了「只比对手高出一分钱」的投机余地。

然而,这一转变的代价是将博弈的复杂度推回给了需求方。DSP 平台被迫开始自研所谓的出价压扁(Bid Shading)算法,艰难地在「出价过高沦为赢家诅咒的牺牲品」与「出价过低痛失优质流量」之间探寻最优的平衡点。这也深刻揭示了一个事实:卖方媒体侧哪怕只是微调一条拍卖规则,买方的竞价引擎就必须为此重构整套出价算法。正因如此,卖方侧的工程师如果能深入洞悉买方生态的运转逻辑,往往能爆发出更强的系统架构把控力。

5. Header Bidding 怎么落进来

现在,我们将 Header Bidding 一文未尽的后半段拼图补齐:当 Header Bidding(无论是借助客户端的 Prebid.js 还是基于服务端的 Prebid Server)完成了所有询价流程并得出全场最高价后,它并不会越俎代庖直接播放广告;相反,它会将这个胜出结果精准编码成一组携带交易属性的键值对:

hb_pb     = 6.20      # 价格分桶所在的刻度区间
hb_bidder = sspB      # 最终中标的 bidder 身份标识
hb_adid   = a1b2c3    # 用于索取具体素材创意的唯一标识符

随后,GPT 标签会携带这些关键键值对向 GAM 发起 HTTP 调用请求。GAM 接收到请求后,会利用传上来的 hb_pb 值去逐一匹配媒体预先在后台铺设好的 Price Priority line item 队列(请回想我们在第 2 节中提到的,每一个价格分桶档位都必须对应存在一个预先建好的订单行)。这一连串巧妙的暗号对接,使得 Header Bidding 拿到的竞价出价能够披上「价格优先 line item」的外衣,名正言顺地切入我们在第 3、第 4 节探讨的决策流水线中,并与直采大单、官方 AdX 平起平坐,同台竞逐。

至此我们可以得出结论:Header Bidding 并不是要绕开甚至是架空媒体 Ad Server;恰恰相反,它是把自己精准地翻译成了 Ad Server 能够听懂的 line item 与键值对语言。不过,这种无缝融合并非毫无代价。它带来的沉重负担,便是第 2 节中提及的 line item 配置数量急剧爆炸,以及 hb_pb 的分桶机制必须与 line item 的价格档位时刻保持严苛的一一对应关系,进而增加了极大的运维压力。

6. 别和广告主 Ad Server 混淆(最常见的认知坑)

在广告技术领域,“Ad Server” 这一名词指代着两套功能截然不同的底层系统。这也是许多初涉行业的新人最容易栽跟头的地方:

对比维度媒体 Ad Server广告主 Ad Server
核心服务对象媒体(Publisher)广告主(Advertiser)
系统核心职责规划库存排期、调配流量分发、主导 ad decisioning集中托管创意素材、跨渠道统一分发 creative、统筹数据记账与归因计算
试图解决的问题「这个广告位现在该放行给哪一笔需求」「我投放的广告到底被曝光了多少次、带来了多少转化量」
典型代表产品Google Ad Manager(GAM)Campaign Manager 360(CM360)

一言以蔽之:媒体 Ad Server 掌管的是「卖方的库存应当如何分配才能收益最大化」,而广告主 Ad Server 关注的则是「买方的投放效果到底该如何透明记账」。本文自始至终所聚焦的探讨对象,皆是前者。

7. 边界:Ad Server vs SSP/ADX vs 竞价引擎

这三套核心引擎在宏观架构上极易混淆成一团。为了彻底理清它们的边界,最有效的方法是剖析「它们各自究竟在回答什么问题」:

角色核心回答的问题实际执行的动作
媒体 Ad Server本次广告曝光的最终归属权交给谁(分配)在直采合约、程序化交易网关以及兜底广告中排序并敲定最优解
SSP / ADX程序化放行的这批流量究竟能卖多少钱(撮合)并行向海量的需求方发起广泛询价,主导实时拍卖大局
竞价引擎(DSP 侧)针对这批流量,我是否值得买入以及出多少钱(出价)必须在毫秒级时延内运算并拍板买方的真实出价底牌

可以清晰地看到,媒体 Ad Server 拍板的是「是否放行给程序化」;只有当闸门开启之后,才轮到 SSP / ADX 出马去市场上「兜售」;而在生态链的最远端,代表买方利益的 DSP 竞价引擎则在拼命盘算如何「购买」。三者各司其职、接力流转,切勿混淆。

8. 工程视角:它是个高 QPS 决策系统

请千万不要被它那套看似极其传统的「配置后台」外表所蒙蔽。部署在线上的媒体 Ad Server,实际上是一个每秒钟都必须完成成千上万次复杂决策、且能在毫秒级别返回稳健结果的硬核分布式系统。从工程复杂度而言,它与 DSP 竞价引擎、Prebid Server 齐名,同属于「高并发、低延迟且承载重度决策逻辑」的顶级系统挑战。

为了建立直观的量级概念:头部媒体的 Ad Server 每天承载的广告请求量级可达数十亿乃至数百亿次。不仅如此,系统留给单次分配决策的时间预算往往被压缩在几十毫秒的狭窄区间内。原因在于,在请求到达 Ad Server 之前,已被 Header Bidding 的超长等待时间窗消耗了一轮;在返回结果之后,客户端又必须预留出充沛的时间去加载素材以及进行可见性测量,整条链路对用户的总耗时窗口极其严苛。

进一步拆解,我们可以洞察出以下几个致命的系统挑战点:

归根结底,媒体 Ad Server 本质上就是在极为苛刻的延迟约束下,所完成的一次高 QPS 实时流量分配:召回(提取候选集)、过滤(施加业务约束)、排序(衡量优先级与价格)。同样的这套「召回 → 过滤 → 排序」的三段论架构,你可以在推荐系统、搜索排序甚至是 DSP 竞价引擎中看到它的倒影。

8.1 深挖:库存预测(forecasting)为什么是 Ad Server 最难的离线题

前文重点探讨的 decisioning,解决的是实时的「眼前这次曝光应该归谁」问题。然而,Ad Server 还背负着一道难度堪称炼狱的离线硬题——avails(可用库存)预测。设想一下:在销售人员签署一笔保量单(譬如「未来 30 天内,定向美国地区、iOS 设备上的体育版块,投满 1000 万次曝光,CPM 价格为 $15」)之前,底层系统必须提前给出一个直指未来的反事实推演答案:在这一系列的定向枷锁下,未来的 30 天内究竟会爆发出多少次总曝光?而在这其中,又究竟能够剥离掉多少已经被其他保量单死死锁住的份额,从而得出真真正正依然可卖的纯粹库存?

这道题之所以难,主要集中在以下三个根本不属于实时检索范畴的痛点上:

  1. 这是一次关于 What-If 的平行宇宙推演,而非单纯查历史:你所要运算的,并不是冷冰冰的过往数据,而是「如果接下这单生意,它到底能不能顺利投满」。这就要求系统不仅具备对未来流量走向进行精准投影的能力,还要模拟新旧合约互相争抢资源的残酷战况。
  2. 定向条件是一个极其庞杂的高维谓词组合:geo(地域) × device(设备) × OS(系统) × 版块 × 受众属性 × 时段 × 频次控制 等一系列维度的排列组合,足以引发恐怖的组合爆炸。系统绝无可能采用空间换时间的暴力解法,给每一种组合预先存一个确定的计数结果。
  3. 推演过程必须快到能够支撑页面交互:业务端的销售人员往往盯着下单界面的进度条等待结果,几秒内就必须出数;可它背后却是一场针对未来海量广告曝光所进行的重度多轮模拟。

现今工业界普遍采用的主流破局之道,是基于抽样的预测算法(sample-based forecasting),其算法精髓就是一次经过精密改造的蒙特卡洛模拟:

1. 蓄水池抽样:把过去 N 天的真实广告请求保留一个具备代表性的样本(如 1%),
   每条记录需携带全部的定向维度(如地域、设备、受众与时段等)。
2. 流量投影:按季节性、趋势以及星期几等周期规律,把这个历史样本投影成「未来 30 天」
   的预期请求流(需乘上流量增长系数与节假日扰动系数)。
3. 回放与扣减:把候选保量单的定向谓词,连同所有【已存在的、优先级更高或处于同级的】
   保量单,一并投入到这个投影样本上进行厮杀回放——
   系统会优先放行现有合约,依据其优先级和 pacing 强行扣除其应得的流量份额,
   历经扣减后残留下来的且匹配新单定向的流量,才是真正的「可卖 avails」。
4. 放大回真实量级:由于初始样本仅为 1%,系统需将预测结果 ×100 以拟合出绝对预测值,
   并同时反馈科学的置信区间。

正是由于这套基于抽样推演的系统设计,解释了几个极其反直觉的现象:

总结来看:实时的 decisioning 是一道检索题,遵循着「召回 → 过滤 → 排序」的铁律。而离线的 forecasting 则是充满了挑战的预测题,依托于「抽样 → 投影 → 争抢模拟」的演进路径。这便是同一个 Ad Server 必须兼顾的两面:它既能在毫秒级内果断裁决每一次零碎曝光的归属,又要在暗地里依靠蒙特卡洛模拟谨慎地权衡每一笔保量大单的接单风险——而在后者的赌局上,只要算错一步,代价便是惨痛的违约金赔付。

9. 生产取舍

在真实的生产环境中,曾经发生过一起极具代表性的「收益漏损」事故:某头部媒体发现,一大批本愿意报出高价的 Header Bidding 竞拍者,竟然始终拿不到足够的流量曝光。经过排查后发现,问题根本不在竞价逻辑,而是出在 Ad Server 身上——运营人员错误地配置了几个实际上并没有真正卖出(目标流量设置得虚高)的「保量」line item,且赋予了它们 Standard 的高优先级。结果,这些僵尸保量单,硬生生地凭借优先级压制,将所有的流量曝光统统半路截走,将本应该遵循价高者得原则的 HB 高价需求死死地踩在了下面。当技术团队将这些僵尸保量单降级或清理后,处于 Price Priority 层面的真实竞价终于破冰而出,大盘的 eCPM 瞬间迎来了大幅回升。在 Ad Server 的复杂体系中,一条小小的优先级配置失误,往往比竞价算法崩溃更加隐蔽,也更费钱。

其余高频踩坑的重灾区还包括:

10. 常见误解 ↔ 正解

常见误解正解
媒体 Ad Server 的核心是「竞价」它是专注于「分配」;真正的竞价撮合任务是由 SSP / ADX 平台来承担的
HB 只要出价最高就必然能斩获曝光并非如此——保量合约始终凭借高优先级,死死地压制着 Price Priority 层的竞价请求
媒体 Ad Server 等同于 广告主 Ad Server截然不同的两套系统:GAM 掌管的是库存分配,CM360 负责的是前端投放效果记账
保量单由于优先级高,所以能够让媒体收益最大化未必,纯粹的瀑布流机制会因为缺乏竞争而白白漏掉暗处的高价竞标(请参见 §4 算例)
last look 机制使得 AdX 强行「抢走」了曝光机会其实质更多是恶意的「压价」——AdX 依然是最终赢家,但媒体却无奈地收到了更少的真金白银
dynamic allocation 机制对所有外部需求绝对公平历史上,它极其偏袒自家 AdX(借助最后一棒优势以及窥探出价的特权)
line item 各个层级的具体优先级数值必须死记硬背只需掌握相对高低档位即可,底层具体数值会随系统版本更迭而随时变动
Price Priority 的价格分桶切分得越精细越好切分过细会引发灾难性的 line item 数量爆炸,最终严重拖慢整个决策引擎

延伸阅读

同系列(卖侧竞价与决策):

按照「全局视角 → 交易模式 → 卖方机制」为主线再串联相关系列篇章:

再附上权威规范与一手官方资料:

附录:术语表


–views
Share this post on:

Previous Post
程序化策展(Curation):卖方侧打包数据与库存的新中间层
Next Post
拍卖机制与 Bid Shading:竞价漏斗、底价与缩水策略