Adobe Advertising 的 Creative Management — Dynamic Creative Optimization (DCO) 将基于规则的定位与机器学习相结合,在 25 毫秒内呈现来自 10,000 多个产品目录的个性化广告,通过双层架构提供了 20-40% 的性能改进。
简介
想象一下,当您在线浏览时,看到一则广告,恰好是您感兴趣的产品 — 不是随机的,而是为您完美定制的。在这个看似简单的广告背后,是一个复杂的双层系统,它将基于规则的定位与机器学习相结合,可在 25 毫秒内投放个性化广告。
Adobe Advertising Creative Management 使广告商能够跨渠道创建、管理和优化广告。它支持标准静态创意、带有定位、轮换方法和效果优化的动态馈送/目录广告。
Dynamic Creative Optimization (DCO) 是 Creative Management 中一项核心功能,可支持动态广告的实时个性化。虽然 Creative Management 可处理创意设置、目录上传和体验配置,但在广告渲染的幕后,DCO 执行着实时决策引擎,根据用户偏好选择最适合的产品。这种双层系统结合了确定性定位规则和机器学习优化,确保广告商可以利用大量产品目录,同时保持程序化广告所需的速度和规模。DCO 将静态创意模板转换为个性化、上下文感知的广告,可实时适应用户的位置和偏好。
这就是 Dynamic Creative Optimization (DCO) — 一个生产就绪的架构,每天处理数百万项决策,同时不断学习最佳实践。。
图 1:从竞价成功到定向、产品选择、机器学习优化和最终广告渲染。
图 2:端到端的创意优化工作流
挑战
大规模投放个性化广告需要同时解决四个限制条件:
-
规模:为每个广告商处理包含 10,000 多种产品的目录
-
速度:每个广告请求在 25 毫秒内做出决策
-
相关性:使广告与用户上下文(位置、兴趣、设备)相匹配
-
优化:从真实用户行为中不断学习和改进
传统方法存在不足。随机选择相关性差。顺序扫描数千个产品速度太慢。静态评分规则无法学习哪些内容能转化。而纯粹的机器学习没有业务逻辑可能会投放不相关的广告或违反活动限制条件。
创意类型:标准和动态
在深入了解定向系统之前,了解两种主要的创意类型很重要。
标准创意
标准创意是静态广告,具有预定义、固定的内容。创意资产(图片、文案、行动号召)上传一次后,无论谁看到广告都保持不变。
-
使用场景:品牌意识和订阅推广等不需要个性化的场景。
-
示例:一个 Adobe Creative Cloud 横幅广告,突出显示“将简短变为精彩”或“客户希望有更多选择”等功能,展示预先设计的广告模板和创意工具,布局和消息固定,对所有符合条件的用户显示相同内容。
-
优化:机器学习优化 哪种 静态创意表现最佳,但内容本身不会因用户而异。
图 3:静态创意变体示例
动态创意
动态创意是基于模板的广告,从目录数据源中提取实时产品信息。模板定义布局,而产品数据(图片、标题、价格、描述)则根据用户上下文在投放时注入。
-
使用场景:零售、旅游、汽车 — 任何拥有大型产品目录并希望向每个用户展示相关产品的广告主。
-
示例:一位在加利福尼亚州浏览电子产品的用户看到一个动态广告,展示其所在地区售价 999 美元的笔记本电脑,而一位在纽约的用户则根据其浏览历史看到不同的产品。
-
优化:机器学习优化 产品 × 创意模板 的组合 — 为该用户选择最佳产品和最佳视觉效果。
创意组与广告主题 (AdThemes)
在 Adobe Advertising Creative 中,活动按 体验 组织。定向体验可以使用决策树:每个分支应用受众规则(地理位置、设备、细分等),而该树中的 最终叶节点 即为本文所称的广告主题 (AdTheme) — 一个带有附加创意的特定受众路径。
创意组是与一个广告主题相关联的创意(标准或动态)集合。一旦第一层为当前请求选择了广告主题,系统仍需决定从该创意组中展示哪个创意。此选项由 UI 中配置的 轮换方法 控制:
基于算法(算法)
使用机器学习(特别是汤普森采样)自动选择表现最佳的创意。该系统会跟踪每个创意的成功量度(点击次数、转化率),并会在不断探索替代方案的同时日益倾向于获胜者。这是最大化营销活动效果的推荐方法。
加权
根据广告商定义的百分比跨创意内容分发广告展示。例如,广告商可能将 70% 的广告展示次数配置给创意 A(其主要消息),将 30% 的广告展示次数配置给创意 B(一个测试变体)。对于受控 A/B 测试或需要特定流量分配时非常有用。
顺序
以定义的顺序轮换浏览创意,在重复之前循环浏览每个创意。确保一段时间内均匀分布,对于所有创意需要同等曝光度的营销活动非常有用。
随机
在每次请求时从具有相同概率的可用创意中随机选择。简单但无法学习或优化 — 适用于基准测试或需要真正随机化的情况。第 1 层:定位与广告主题选择
用途:查找正确的创意组(广告主题)。这适用于 所有 广告类型:标准广告、动态广告和视频广告。
第 1 层:定位和广告主题选择
用途:查找正确的创意组(广告主题)。这适用于 所有 广告类型:标准广告、动态广告和视频广告。
两种定位方法
1.决策树定位
广告商可以以决策树体验的形式设置多个定位层,并将创意分配给决策树的每个分支。体验具有广告标记,广告商可以在任何需求方平台 (DSP) 中使用这些标记
工作原理
同时评估多个标准并执行设置的交集。系统会为每个定位维度维护单独的索引:
-
地理:国家/地区、地区/州、城市、ZIP、DMA
-
设备:设备类型、浏览器、操作系统
-
数据传递:自定义参数 (t1-t5)
-
配置文件:用户属性 (ut1-ut5)
-
区段:行为定位
-
广告计划:日期/时间范围
2.基于标记的定位
用户可以设置非决策树的体验,该体验适用于为广告大小设置的不同标记。
当请求包含 tag='4' 时,系统直接检索与标记 4 关联的广告主题。比决策树更快,但灵活性更差。
评分:加性模型
在交集识别匹配的广告主题后,评分使用加性模型:
示例:
图 4:第 1 层定位流程 — 将决策树或基于标记的定位输入加性评分,以便为请求选择获胜的广告主题
适用于动态广告:产品选择层
重要提示:产品选择仅适用于动态广告。 标准广告跳过此层。
图 5:DCO 的四大支柱 — 定位、评分、产品选择和机器学习优化 — 实时协同工作
产品目录文件(MUP 文件)
广告商上传产品馈送(UTF-8,制表符分隔)。每一行表示一个产品并包括:产品 ID、标题、描述、价格、图像 URL、类别、品牌、提供商、地理可用性以及自定义定位字段。
从馈送到索引:离线管道
-
馈送分析:将行解析为轻量级产品句柄(初始分数= 1.0)。
-
索引配置:哪些列变为索引是由配置驱动的(通过属性文件)。
-
反向索引创建:对于每个已配置的列,通常使用压缩位图生成反向索引。
-
序列化和热加载:序列化二进制索引,并通过原子更新热交换到服务 Pod 中。
产品选择流程
步骤 1 — 基于索引的筛选:按条件(国家/地区、类别、区段)获取产品集。
第 2 步 — 乘性评分(不同于第 1 层):
示例表:
图 6:变体 1 — 基于索引的筛选和乘性评分后排名最高的产品。这是选定的产品。
图 7:变体 2 — 符合定位但最终得分较低的合格动态广告产品
图 8:变体 3 — 另一个保留进行比较但未选定的合格产品
累积注释:这些(图 6-8)图片表示从产品馈送的不同行派生出的相同动态广告的三个变体。所有变体均符合定位和评分约束,但只选择 得分最高的变体 并映射到创意模板。
步骤 3 — Top-N 选择:返回前 N 个产品(例如,前 200 个)。为公平起见,处于临界点的并列产品也会被包含在内。
步骤 4 — 最终产品经过创意优化算法后,返回最终产品,并将其映射到模板上。
性能工程:达到 <25 毫秒
多项工程实践确保实现了 <25 毫秒的目标:
1.数据本地性
-
启动时将索引预加载到 Pod 内存中
-
缓存频繁访问项的产品详细信息
-
无需停机即可对更新进行热加载
2.紧凑的数据结构
-
句柄集的压缩位图
-
通过字典间接引用避免字符串重复
-
高效的集合操作
3.结果缓存
-
记忆重复模式的结果
-
使馈送更改失效
-
基于 TTL 的过期
4.有界候选集
-
限制 top-N 以保持 ML 快速运行(每个创意 10-50 个产品)
-
仅对符合条件的子集运行 ML
-
并行执行统计信息查找和详细信息获取
5.原子索引交换
-
支持零停机原子更新
-
针对大批次进行优化;回滚功能
图 9:内存索引、紧凑的数据结构和缓存策略,共同实现低于 25 毫秒的决策延迟
第 2 层:ML 优化
目的:从最热门候选者中进行智能选择。ML 适用于所有广告类型,但运行于不同的“臂”上:
-
标准广告:臂 = 静态创意
-
动态广告:臂 = 产品 × 创意对
-
视频广告:臂 = 视频创意
ML 何时运行?
当有多个竞争选项或需要探索时,ML 会运行。
场景 A — 清除获胜者(无 ML):
场景 B — 平局/竞争选项(由 ML 决定):
汤普森采样:ML 的引擎
-
检索每个变体的历史成功/失败计数
-
从 Beta 分布中采样(每个变体一个分布)
-
选择具有最高采样概率的变体
为什么选择汤普森采样?适用于每日批量更新,自然平衡探索与利用,运行速度快,相较于简单选择有 20–40% 的提升。
图 10:DCO 中的汤普森采样 — 符合条件的臂及其各自性能统计数据输入到老虎机引擎,由该引擎为当前请求选择最佳创意或“产品 × 创意”组合
理解多臂老虎机中的“臂”
“臂”一词来自老虎机(又称独臂强盗)。 在 DCO 中:
-
标准广告 — 臂 = 静态创意(例如,5 个创意 = 5 臂)
-
动态广告 — 臂 = 产品 × 创意对(例如,3 个创意× 10 个产品 = 30 臂)
为什么上下文的臂很重要:臂的集合可以根据请求上下文(位置、可用性)而变化。ML 仅从当前符合条件的臂中采样,实现动态适应而无需预先计算所有组合。
完整流程:从请求到响应
对于标准广告,流程是直接的:第 1 层根据定位规则挑选广告主题,第 2 层 ML 使用汤普森采样从该组中选出最佳创意。对于动态广告,在 ML 决定最终产品 × 创意组合之前,会有一个额外的层来筛选和评分产品。在这两种情况下,整个决策管道将在 25 毫秒内完成
图 11:标准广告请求流程 — 定位和 ML 选择最佳的静态创意
图 12:动态广告请求流程 — 包括在 ML 优化和渲染之前的产品选择。
超越广告:通用应用
双层模式(定位 + ML)的应用范围超越了广告领域:
-
内容推荐 — 按评级/可用性筛选;ML 优化参与。
-
电子商务搜索排名 — 按库存/价格筛选;ML 优化转化。
-
电子邮件营销活动优化 — 强制执行偏好;ML 选择主题/时间。
-
临床试验匹配 — 强制执行资格;ML 优化入组成功率。
模式:定位 → 评分 → 优化。
为何此架构行之有效
仅使用定位 + 规则:快速且有确定性,但平局时可能随机选择。
仅使用 ML:可以学习,但可能会违反商业逻辑,且在不进行剪枝的情况下收敛缓慢。
定位 + 规则 + ML:两者兼而有之 — 强制实施商业逻辑、相关性评分和 ML 以实现持续改进。典型增益:与朴素基线相比,延迟低于 25 毫秒,相较于朴素基线性能提升 20-40%。
关键要点
-
双层系统:首先定位/评分(快速、确定性),然后进行 ML 优化(自适应学习)。
-
不同评分方式:加性评分适用于广告主题选择;乘性评分适用于产品选择。
-
动态 = 额外层:动态广告在广告主题选择和 ML 之间添加产品选择。
-
ML 适用于所有类型:汤普森采样适用于标准、动态和视频广告 — 区别仅在于臂不同。
-
实时规模:每天数百万次决策,每次请求耗时 <25 毫秒。
结论
Dynamic Creative Optimization 是一种强大的架构模式,它结合了:
-
第 1 层:基于规则的定位和评分(确定性、快速)
-
产品选择:基于索引的筛选和乘性评分(动态广告)
-
第 2 层:使用汤普森采样的 ML 优化(所有广告类型)
关键洞察:它不是规则 或 机器学习 — 而是 两者 按顺序结合。定位可确保相关性,评分可确保区分,而 ML 可确保持续优化。
想要了解有关 DCO 如何提高广告效果的更多信息?探索 Adobe Advertising Creative 以开始使用。