Skip to content
Charles Shao
Go back

程序化广告投放层级与定向配置:模型、继承与缺省语义

Updated:
–views

本文是 广告配置与索引 系列的第 1 篇(层级与定向)。 全系列 3 篇:

  1. 程序化广告投放层级与定向配置
  2. 配置落地:从投放后台到索引快照
  3. 手把手走一遍定位式位图倒排

一句话定位:本文从离线配置视角剖析程序化投放的四层对象模型,讲清各层职责边界、定向跨层合并的逐维求交机制以及极易踩坑的缺省语义。

读者与前置:面向对程序化投放有基础认知的工程师与产品经理。建议先阅读 买侧竞价链路 的 总览 与 解析篇,但本篇亦可作为需求方平台(DSP)配置面的独立入门指南。

在程序化广告的真实投放场景中,解析篇已经将原始请求转化为了带有 deadline 的 BidContext。紧接着,Bidder 需要将其与广告的定向条件进行匹配。然而,这份至关重要的定向条件究竟从何而来?事实上,它并不在在线链路中凭空产生,而是由广告主(Advertiser)在投放后台精心维护的一棵四层配置树。广告主在投放后台绝非仅仅「配置一个广告」,而是需要统筹管理多个推广计划、广告组与海量创意。定向、预算、出价以及频次控制等约束条件分别挂载于不同层级之上,我们在运行时所看到的「某条广告的定向条件」,本质上是这棵配置树从根节点到叶子节点逐层合并的最终产物。

程序化投放四层对象模型示意图:自上而下为广告主/账户(结算主体、全局品牌安全黑白名单、转化归因口径)、推广计划 Campaign(营销目标、优化目标 CPC/CPA/CPI、总预算、投放排期)、广告组/订单项 Ad Group/Line Item(定向条件、出价、预算与 Pacing、频次控制,是定向主战场)、创意 Creative(素材/尺寸/落地页、审核状态、少量创意级定向);每层对下一层是一对多关系,越往下越具体、配置项越多,目标与预算在上、定向与出价在中、素材在下 四层对象模型:广告主 → 推广计划 → 广告组 / 订单项 → 创意,每层 1:N。目标与预算在上、定向与出价在中、素材在下,越往下越具体。定向的主战场是中间的广告组 / 订单项层(橙色)。

TL;DR

Table of contents

Open Table of contents

一、为什么需要层级:不是「一个广告」,而是一棵配置树

新手往往会将「投放一个广告」视为一项扁平化的任务:挑选素材、设定定向并分配预算即可。然而,在真实的程序化投放生态中,一个广告主通常需要同时并行数十甚至上百条投放线,涵盖不同市场、细分人群、多样化素材以及差异化的出价策略。如果每一条投放线都从零开始平铺配置,系统将立刻面临三个严峻的挑战:

正因如此,层级化配置机制应运而生。其核心逻辑在于将共性规则上提至父层以实现复用,同时将个性化策略下沉至子层进行细化。这种自上而下的树状结构,完美契合了共性与个性分离的业务诉求。对比 Bidder 总览中所描述的运行时「漏斗」过滤路径,层级树代表了广告在配置阶段的组织结构,正是后者严谨定义了前者在匹配时所依赖的底层规则。

二、四层对象模型:各层的职责边界

尽管不同需求方平台(DSP)的命名习惯不尽相同(例如 Google DV360 称之为 Insertion Order 与 Line Item,The Trade Desk 采用 Campaign 与 Ad Group,而国内平台多使用推广计划与广告组),但其底层抽象几乎都遵循这四层经典模型:

层级常见别名核心职责典型配置项
广告主 / 账户Advertiser / Account结算与合规的主体结算账户、全局品牌安全黑白名单、转化归因口径、数据资产(人群包 / 转化事件)
推广计划Campaign / Insertion Order营销活动的「目标与钱袋子」营销目标、优化目标(CPC / CPA / CPI)、总预算、投放排期(起止日期)
广告组 / 订单项Ad Group / Line Item具体投放线,定向的主战场定向条件、出价、预算分配与 Pacing、频次控制、投放版位
创意Creative / Ad真正被展示的素材素材文件、尺寸 / 格式、落地页 URL、审核状态、少量创意级定向

整体而言,层级越靠上,其属性越抽象且关乎全局目标与预算;层级越靠下,则越具体且聚焦于实际的投放策略与素材呈现。

2.1 广告主 / 账户:全局口径的锚点

广告主层并不直接参与「当前曝光是否投放」的实时判定,但它奠定了一整套不可逾越的全局口径:包括结算主体、品牌安全黑名单以及转化归因的精确定义(如归因窗口与转化事件)。这些全局约束一旦下沉到具体的投放线,必然会引发规则冲突。因此,它们必须在最高层级进行统一定义并向下全局生效。这也恰好呼应了定向过滤篇 3.2 节中的黑白名单机制:品牌安全黑名单天然应当作为账户级别的全局约束。

2.2 推广计划:目标与预算的容器

推广计划(Campaign)的核心使命是明确「本次营销活动的最终目标、总预算额度以及投放周期」。它主要承载以下三个维度的配置:

2.3 广告组 / 订单项:定向的主战场

作为配置树中信息密度最高的层级,广告组(Ad Group)是绝大多数「如何投放」决策的最终落脚点:

需要思考的是,为什么定向条件要集中在广告组而非创意层?原因在于,「目标受众」与「展示素材」在业务逻辑上是完全正交的两个维度。同一套定向策略(例如加州、纽约州、iOS 设备及高价值人群)往往需要搭配多套创意进行 A/B 测试。将定向收拢在广告组,而创意层仅负责素材管理,能够有效避免「每更换一张素材就必须重配一遍定向」的冗余操作。

2.4 创意:被展示的素材

作为配置树的叶子节点,创意层仅关注最终展示给用户的实体内容:包括素材文件、尺寸格式、落地页以及审核状态。在这一层级,定向条件通常只保留与素材强绑定的少数维度,例如特定尺寸仅适配特定版位,或特定语言的素材仅投放于对应的语言环境。将核心定向保留在广告组,仅将「由素材决定的物理约束」下沉至创意层,是职责划分最为清晰的架构设计。

需要补充的是,「广告组至创意」的映射关系并非静态的挂载。一个广告组下通常会关联多条创意,在实际投放时系统需要动态决策:是采用均匀轮播、按 CTR / CVR 择优倾斜,还是基于特定权重进行分配。这种创意选择与优化机制发生在「该广告组赢得实时竞价之后」(呼应总览中的填充阶段),与前置的定向判定属于两个独立的业务流程。本文重点聚焦于配置的组织结构,创意优化策略则另有专篇论述。

2.5 树之外:实验与版本是叠加上去的正交维度

四层配置树描述的是系统的「稳态配置」,但在真实的程序化投放中,A/B 实验几乎是不可或缺的环节。针对同一条广告组,系统可能需要同时运行「定向 A 搭配出价 A」与「定向 B 搭配出价 B」两个版本以对比效果。需要强调的是,实验通常并不构成树的第五层,而是作为叠加在广告组或创意层之上的一个正交维度:系统根据流量比例将用户分桶,不同桶内的流量命中不同的配置版本。这提醒我们:层级树仅仅是「配置的组织形式」,并不等同于「投放的全部结构」;实验、版本与灰度发布都是横切这棵树的独立维度(这与后文提到的频控机制异曲同工)。

横切维度示意图:左侧是稳态层级树(广告主 → 推广计划 → 广告组/订单项 → 创意,纵向组织、配置归层);右侧两个横切维度——实验/版本(按流量把用户分桶 Bucket A/Bucket B,多叠加在广告组/创意之上)与频次控制(统计口径是用户,跨广告组/计划/广告主聚合计数),都以虚线横切整棵树;一条注释说明层级树是配置的组织、而非投放的全部结构,实验/频控/灰度都横切这棵树 层级树是纵向的配置组织;实验 / 版本、频次控制是横切整棵树的正交维度:前者按流量分桶、后者按用户聚合计数,都不属于树的任何一层。

三、每层挂什么:配置项为什么各归其层

将配置项准确归入对应层级,本质上是为了界定该约束条件的「作用范围」。作用于全局账户的配置应置于广告主层,作用于单次活动的归入推广计划,作用于具体投放线的落在广告组,而仅作用于单一素材的则下沉至创意层。配置错位往往会导致两类严重问题:层级过高会丧失局部调优的灵活性,层级过低则会引发重复劳动并增加配置冲突的风险。

配置项应归层级为什么
结算主体 / 全局品牌安全 / 归因口径广告主全局唯一且跨活动共享,下沉必然导致规则冲突
营销目标 / 优化目标推广计划一次活动对应一个核心目标,直接决定下游出价公式
总预算 / 投放排期推广计划广告主最为关心的资金总盘与时间边界
定向条件广告组(少量在创意)「目标受众」是具体投放线的核心控制变量
出价广告组不同的定向人群具备不同的商业价值,需差异化出价
预算分配 / Pacing广告组(受 Campaign 总预算约束)实现总预算的向下切分与消耗节奏的精细化控制
频次控制Campaign 或广告组(见第七节)取决于业务诉求是「跨线去重」还是「单线封顶」
供给 / ADX 定向(从哪买)广告组(全局黑白名单在广告主)作为独立的定向维度接入;ADX 接入本身属于平台级配置(见 5.3)
素材 / 落地页 / 审核创意与最终展示的物理实体强绑定

层级设计的初衷并非追求结构的对称美,而是确保每个约束条件仅在其生效范围内被精准配置一次。就近落层,是配置架构最核心的指导原则。

四、定向的跨层级合并:继承、收窄与冲突

跨层级合并是配置面最容易滋生 Bug、同时也最考验系统设计功底的环节。既然定向条件可以分布在推广计划、广告组以及创意等多个层级,那么在运行时,系统必须通过多层合并来推导出「该广告最终的有效定向」。这里的合并语义绝非简单的「下层覆盖上层」,而是严格遵循「逐维求交、只能收窄」的逻辑。

定向跨层级合并示意图(与下文「一个完整例子」的示例树同一套配置):广告主 Acme 设品类排除=adult(全局累加);推广计划 Q3-Brand-US 设地域=US、品类排除=gambling;广告组 CA-NY-iOS-HighValue 设地域=California+New York、设备=iOS、人群包=high_value;广告组 Tokyo-Retarget 设地域=Tokyo(超出父层范围)、设备=Android。向下继承后,CA-NY-iOS-HighValue 的有效定向为逐维求交:地域=[US]∩[CA,NY]=[CA,NY]、设备=iOS、人群=high_value、排除=adult+gambling,结果可投;Tokyo-Retarget 的有效定向为地域=[US]∩[Tokyo]=空集,交集为空导致零投放。合并规则:子层只能收窄不能放宽,同维度跨层求交(AND),排除项向下累加,子层为空则继承父层,缺省语义须全系统统一 定向合并 = 逐维求交 + 排除累加。CA-NY-iOS-HighValue 的地域 [CA, NY] 与父层 [US] 求交仍是 [CA, NY](收窄成功);Tokyo-Retarget 的地域 [Tokyo] 与父层 [US] 求交为空:子层超出父层范围时交集为空,这条线一条流量都投不出去。这类「配了却投不出」的问题不报错,极难第一时间发现。这张图正是下文「一个完整例子」那棵示例树的图解。

4.1 继承:父层的约束向下自动生效

在默认情况下,子层会自动继承父层的定向条件。例如,当推广计划设定了「地域为美国、排除赌博类目」时,其下属的所有广告组即使未做任何显式配置,也会自动受到这两条规则的约束。这种继承机制的优势显而易见:共性规则被有效上提,实现了一处配置、全局生效的高效管理。

4.2 收窄:子层只能更严,不能更宽

跨层合并的核心约束在于:子层对某一维度的设定,必须是父层设定的子集。广告组可以将「美国」进一步收窄为「加州与纽约州」,但绝不能将其放宽至「全球」。在工程实现上,正向定向的合并语义被严格固定为同一维度跨层取交集:

有效地域 = Campaign.地域 ∩ 广告组.地域 ∩ 创意.地域
有效设备 = Campaign.设备 ∩ 广告组.设备 ∩ 创意.设备
...每个维度独立求交...

与之相对,排除定向则遵循跨层累加(并集)的逻辑:只要任意一层排除了特定媒体或类目,合并后的最终结果就会将其永久排除。正向求交与排除累加在方向上截然相反,因此在底层实现时必须分开表达(这与定向过滤篇 5.2 节中「正向集合与排除集合分开存」的理念一脉相承)。

4.3 冲突:交集为空即意味着零投放

收窄语义不可避免地带来了一个隐蔽的副作用:如果子层设定的值完全落在父层范围之外,求交结果将为空集,导致该投放线无法匹配到任何流量。正如上图所示,广告组 B 设定了「东京」,而其父层限定为「美国」,两者交集为空。此时,广告主在后台明明完成了定向配置,线上却面临零曝光的窘境,且系统不会抛出任何异常。这类问题的排查成本极高。因此,优秀的投放后台应当在保存配置时主动进行跨层校验,并明确提示「该定向与上层冲突,将无法投放」,而不是任由其上线后通过零消耗来倒逼排查。

一个完整例子:从配置树到有效定向

为了将继承、收窄与冲突的逻辑串联起来,我们来看一棵极简的配置树(以下 YAML 仅保留定向相关字段):

Advertiser: Acme                     # 全局约束
  exclude_category: [adult]          # 品牌安全,向下累加
  Campaign: Q3-Brand-US              # 一次活动的硬边界
    geo: [US]                        # 正向定向:美国
    exclude_category: [gambling]     # 再排除赌博
    AdGroup: CA-NY-iOS-HighValue     # 收窄成功的一条线
      geo: [California, New York]    # ⊂ US,收窄
      device: [iOS]
      audience: [high_value]
    AdGroup: Tokyo-Retarget          # 越界的一条线
      geo: [Tokyo]                   # ⊄ US,越出父层
      device: [Android]

经过逐维合并(正向求交、排除累加)后,运行时真正用于匹配的有效定向如下:

广告组geo(求交)deviceaudience排除(累加)结果
CA-NY-iOS-HighValue[US] ∩ [CA, NY] = [CA, NY][iOS][high_value][adult, gambling]可投
Tokyo-Retarget[US] ∩ [Tokyo] = ∅[Android][adult, gambling]空集 → 零投放,不报错

可以看出,两条投放线的排除项都自动累加了 adult(广告主级)与 gambling(计划级)。而 Tokyo-Retarget 的地域求交结果为空,正是典型的「配了却投不出」的案例:广告主误以为自己成功定向了东京,却不知道该条件早已被父层的美国边界无情拦截。

4.4 覆盖式 vs 求交式:仅针对定向维度,切勿混淆标量值

需要澄清的是,并非所有平台的所有定向维度都采用「求交」逻辑。部分维度会采用覆盖式语义(即子层一旦设定,便无视父层约束,完全以子层为准)。这两种语义在各自场景下均能自洽,但系统必须逐维明确定义、保持统一,并与后台展示逻辑严格对齐:

混淆这两种语义是配置面 Bug 的高发区。以前文示例树中的 Tokyo-Retarget 为例,同一条 geo = [Tokyo] 且父层 geo = [US] 的配置,在不同语义下会产生截然相反的后果:

合并语义Tokyo-Retarget 的有效地域后果
求交式[US] ∩ [Tokyo] = ∅投不出(显性冲突,可在保存时拦截校验)
覆盖式子层接管 → [Tokyo]实际投放至东京,悄然突破 Campaign 的美国边界

正因如此,地域与类目排除这类涉及合规与品牌安全的维度,几乎毫无例外地采用求交式逻辑:系统宁可让子层越界时「投不出」(显性且可校验),也绝不允许其「悄悄投出界」(隐性且极具风险)。一旦父层的硬约束能够被子层轻易覆盖,品牌安全与合规边界便形同虚设。

此外,必须明确一个关键边界:出价、预算与 Pacing 这类「标量值」并不属于本节讨论的范畴。它们并非集合型定向,不存在「跨层求交或覆盖」的合并语义,仅仅涉及「该值归属于哪一层」的问题(详见第六节)。将标量值与定向维度强行塞入同一张「合并规则」表,本质上是对底层概念的严重混淆。

各维度合并语义(示例口径,具体以平台约定为准):

定向维度合并语义空集风险理由
地域 geo求交有父层是硬边界,子层越界必须被显性拦截
年龄 / 性别求交有旨在收窄人群,父层圈定的合规范围不可放宽
兴趣 / 人群包求交有子层只能在父层圈定的受众池内进行细分
类目 / 关键词排除并集(累加)无排除条件只会愈发严格,永不成空集,适合上提做硬闸
版位 placement覆盖(部分平台)无属于「下层说了算」的运营策略选择
出价 / 预算 / Pacing不合并,只归层—标量值仅探讨归属层级,不涉及跨层合并逻辑

4.5 定向该放几层:单层 vs 多层,必须显式拍板的设计决策

回顾 4.1 至 4.3 节中关于继承、收窄与交集为空的复杂逻辑,我们不难发现,这一系列挑战本质上都源于一个底层设计选择:系统允许定向条件分布在多个层级,并执行跨层求交。然而,这并非唯一的解决方案,甚至在某些场景下并非最优解。现实中,许多 DSP 倾向于采用定向单层化架构:定向条件仅存在于广告组层面,推广计划层完全剥离定向功能,从而从根本上消灭了「跨层合并」的复杂性。这两种设计思路的权衡十分清晰:

这两种方案并没有绝对的优劣之分,但它是系统设计初期必须显式拍板的核心决策,切忌盲目默认「理所当然应该多层求交」。一个务实的折中方案是:正向定向仅保留在广告组层面(单层化),而将真正需要全局硬边界的少数维度(如品牌安全与合规地域)以「排除型硬闸」的形式上提至广告主或计划层。由于排除项的跨层累加(并集)只会让范围更小且永远不会产生空集,这种设计恰好完美避开了多层正向定向最危险的陷阱。

单层 vs 多层定向权衡示意图(沿用同一套示例):① 多层定向 + 求交(灵活但有空集陷阱)——计划 Q3-Brand-US 设地域=US 作为正向硬边界,广告组 CA-NY 收窄为 California、求交=California 通过,广告组 Tokyo-Retarget 设 Tokyo 越界、求交=空集导致投不出;② 单层定向(简单、难配错)——广告主/计划只放排除型硬闸(排除受限地域/品牌安全,累加永不成空集),正向定向只在广告组一层(地域=California 为唯一来源),无跨层求交因而无空集陷阱 两种定向层级设计的权衡(沿用 Q3-Brand-US 那棵树):① 多层 + 求交灵活,但正向定向跨层求交会在子层越界时产生空集(Tokyo-Retarget 投不出);② 单层定向把正向定向收在广告组一层、只把排除型硬闸上提,从结构上消灭空集陷阱。

五、定向条件本身:维度、正向 / 排除、缺省语义与供给定向

除了跨层合并的复杂性之外,单层内部的定向条件同样拥有一套严密的语义规则。这部分内容与定向过滤篇第四、五节探讨的逻辑高度同源:那篇侧重于运行时的求值机制,而本节则聚焦于配置时的准确表达。在此不作过多重复,仅点出配置面特有的核心注意事项。

5.1 定向维度:配置侧的组织逻辑

广告组层能够配置的定向维度,基本涵盖了定向过滤篇第四节中所列举的核心要素:地域、时段、设备环境、媒体版位、人群包以及上下文内容。在配置层面,系统设计者必须格外关注以下两点:

5.2 缺省语义:配置面最昂贵的陷阱

在定向过滤篇 5.3 节中,缺省语义被定性为「最贵的一个坑」。在配置面,这个问题显得更为棘手,因为它额外引入了层级维度:除了运行时的「未设等同于不限或全不通」之外,还叠加了「子层未设等同于继承父层」的复杂逻辑。为了确保系统稳健,以下三个层面的语义必须实现绝对对齐:

只要这三者中存在任何一处脱节,经典的线上事故便会如期而至:广告主未设地域,满心以为会「继承父层的美国定向」;然而编译模块却将其解析为「空集」;最终运行时又将空集判定为「全不通」。其结果是,这条投放线将无法获得任何曝光,且整个过程不会触发任何系统告警。要守住这条防线,唯一的出路与运行时策略如出一辙:建立明确的语义约定,将其固化为单元测试,并通过海量真实配置的回放来进行严苛校验。

5.3 供给与 ADX 定向:不在树上,以定向维度接入

在众多维度中,有一个极易被误认为是「投放对象树上节点」的概念——AdExchange(ADX)或供给来源。实际上,广告层级树解决的是「投给谁、投什么」的问题,而 ADX 解决的则是「从哪买」的问题。ADX 并非配置树上的层级节点,而是作为供给定向(Inventory Targeting)这一独立维度接入到广告组层面。我们需要清晰地剥离这两个层面的逻辑:

简而言之,ADX 仅仅是「供给定向」维度的一个取值集合,它与地域、设备等维度一样,平等地参与第四节所述的「逐维求交、只能收窄」的合并过程。其运行时的落地机制也与其他维度保持高度一致(详见定向过滤篇):首先在请求级 Gating 阶段,依据账户级的供给黑名单进行一刀切拦截(一旦来源 ADX 命中黑名单,整个请求直接 No-bid);随后在候选级布尔匹配阶段,系统会严格校验请求的 exchange 是否落在广告组允许的供给集合内,若不匹配则直接淘汰该广告。

六、预算与出价的层级:钱袋子在上、出价在下

预算与出价虽然都与资金流转密切相关,但它们在配置树中的归属层级却截然不同,这背后折射出极其清晰的业务分工。

6.1 预算:总额在 Campaign,分配与 Pacing 在广告组

在此处,系统设计往往面临一个经典的业务张力:推广计划的总预算与下属广告组预算之和应当如何对齐?不同平台的处理策略存在显著差异:部分平台允许广告组预算之和大于推广计划总预算(即允许超卖),最终由 Campaign 总预算进行全局封顶——这种机制的优势在于,当某条投放线消耗乏力时,预算能够平滑地流向其他高消耗线;另一些平台则严格要求子预算之和必须小于或等于父预算;更有甚者,彻底摒弃了广告组级别的预算设定,将预算管控完全收拢在 Campaign 层,纯粹依靠 Pacing 机制向下动态分配。无论采用何种架构,只要系统中同时存在两级预算,运行时的预算闸门就必须具备同时校验广告组与 Campaign 双层余额的能力。

6.2 出价:为什么必须落在广告组

出价之所以被配置在广告组层,核心原因在于:不同的定向条件与受众人群,其蕴含的商业价值存在显著差异。广告主显然愿意为高价值人群支付更高的溢价,而对宽泛的普通流量则倾向于压低出价。将出价精准锚定在广告组,恰好能够实现「一条定向策略对应一个合理出价」的完美映射。相比之下,推广计划层通常仅设定宏观的优化目标(如 CPC、CPA 或 CPI)——这一目标决定了出价计算所采用的底层公式,而具体的出价数值则必须下沉至广告组。

然而,上述逻辑主要针对手动出价场景。在现代 DSP 广泛采用自动出价策略(如 tCPA、最大转化或目标 ROAS)的背景下,「出价」已不再是广告组上一个静态的常数。此时,广告组上配置的仅仅是优化目标(例如设定 tCPA 为 50 元),而真正参与竞价的 bid,是由 Bidder 在运行时结合预估 CTR、CVR 以及 Pacing 系数,针对每一次请求动态计算得出的产物(详见 Bidder 出价与预算篇)。因此,更为严谨的表述应当是:在手动出价模式下,出价数值直接归属于广告组;而在自动出价模式下,广告组仅承载出价目标,真实的数值则是运行时的动态产物。这一演进并未颠覆层级归属的大框架,但它深刻提醒我们:切勿将「出价」简单固化为一个躺在广告组上的静态字段。

七、频次控制与排期的层级归属

7.1 频控:跨线去重放 Campaign,单线封顶放广告组

频次控制(即限制同一用户触达特定广告的次数)的层级归属,完全取决于业务端期望管控的粒度:

在实际应用中,多级频控策略往往会叠加生效(例如系统会优先校验广告主级的总帽,随后校验 Campaign 级,最后才落实验证广告组级的分帽)。

这里隐藏着一个极易被传统层级思维误导的关键点:频控的统计口径是「用户」,这一属性天然横切了整棵层级树。同一个用户的曝光计数,必须跨越广告组、推广计划甚至广告主进行全局聚合。正因如此,尽管频控规则在 UI 上被「配置」在某一层级,但其底层状态并不依附于树上的任何一个单一节点,而是表现为 用户 × 层级节点 的交叉计数矩阵。这也完美解释了为什么频控与前文提及的实验维度(2.5 节)一样,属于「横切树」的正交维度,而非树的某一层。至于这些海量计数在运行时如何被高效判定(哪些规则可以前置拦截,哪些必须穿透查询 Redis),则是定向过滤篇第六节所探讨的运行时性能优化问题,与配置面的层级归属属于两个独立的技术命题。

7.2 排期:Campaign 定边界,广告组做时段

需要特别警惕的是,排期与时段配置往往绕不开一个致命的隐患:时区问题。「工作日 9 至 18 点」究竟是基于广告主所在时区,还是基于用户的本地时区来解释?在跨国投放场景中,两者的偏差可能高达十几个小时。系统必须显式约定统一的时区标准,并在编译期将这一口径彻底定型(这与 5.2 节中缺省语义的定型逻辑如出一辙)。否则,同一条「9 至 18 点」的规则在不同市场将引发实际投放窗口的全面混乱。这类 Bug 同样属于隐性故障:系统不会抛出任何错误,只是在悄无声息中彻底投错了时间。

这棵庞大且复杂的配置树,最终将如何被近线编译为可投快照(经历层级合并、口径归一、缺省语义定型,最终构建倒排索引与位图,并打上版本号),这一过程已在专篇中详细论述:配置落地:从投放后台到索引快照。整体链路可概括为:广告主配置树 → 近线编译 → 版本化索引快照 → 下发热更新 → Bidder 运行时定向过滤。本文聚焦于「配置如何组织与合并」,配置落地篇深入探讨「如何编译成快照、触发机制及组件依赖」,手把手篇拆解「快照如何下发并装载进 Bidder」,而定向过滤篇则揭秘「快照如何在毫秒级完成精准匹配」。

八、生产取舍:常见问题


延伸阅读

规范与一手资料:

附录:术语表


–views
Share this post on:

Previous Post
配置落地:从投放后台到索引快照(近线编译、触发机制与版本化快照)
Next Post
Pacing 目标曲线:时段消耗权重怎么设计