海量实时广告流平台(DSP广告系统)架构设计与实践

article/2025/11/6 23:54:52

1. 项目背景

在互联网上,流量=变现

流量变现的⽅式有很多种,不同的产品/平台,变现模式不一样。按大类分,无外乎三类:卖广告卖产品/服务增值服务

今天重点说说广告的变现模式,并主要解决两个问题:

  1. ⼴告从何来?

  2. 怎样的广告策略才能让流量变现最大化?

广告来源可以有很多渠道,分两个大类:

  1. 直投客户:来⾃自己销售,或代理公司。

这⾥的直投是指直接在流量⽅广告系统投放,可以自建也可以使用第三方⼴告系统。

在变现上,DAU千万级以上的产品就不用过于发愁了,不管是自建销售队伍还是走代理公司,一般都是 广告主或代理公司争抢的TOP流量。只要想变现,还是不缺广告填充的,因为平台级产品是可以掰着⼿指头数的过来的。

⽽且有了这么大量级的⽤户,变现的玩法更多,如果哪家用户过千万级产品还苦于没钱赚,那负责变现的朋友自动下课好了。

  1. DSP(或SSP、或联盟广告)

对于DAU规模在⼤几十万甚⾄百万级别的产品(垂直细分类产品除外,如⾦融类),流量有了⼀定的广告价值,可能会有广告主或代理公司主动找上门要求投放,但这类基本属于守株待兔型的,如果不主动出击,可能都解决不了温饱问题。

如果往前推个⼗年,⽹站只要稍微有点流量,不少都是靠在底部留个联系方式等广告上门,⽽且客户还真不少,因为那会的环境是狼少肉多。

特别对于流量规模更小的APP或个⼈网站,基本没有销售队伍或者销售能力,⼴告填充基本都是来自于 DSP或联盟广告。

怎样的广告策略才能让流量变现最大化?

通过数据驱动,将数据作为生产资料,通过科学的方法,运⽤到业务经营过程中,并不断作出正向的反馈,促进业务优化提高。

image-20210723115555938

2. 数据管理平台

数据管理平台是互联网⼴告体系中非常重要的一部分

  • 是广告主实现自身数据增值的重要工具,⼴告主通过大数据分析消费者的行为,可以将⼴告更有针对性地传达给“刚需客户”。
  • 通过数据统计分析用户的访问行为和喜好,将内容更有针对性地推送给用户,提高⽤户访问的粘性,增大⽹站的流量。
  • 数据管理理平台提供了多维度的查询接⼝,让广告主和运营人员能够实时的查看数据效果展示。

从数据角度来看,通过数据管理平台,需求方平台的广告投放的效果得到增强,并通过直观的数据展示,也让更多的广告主认可了广告投放平台,通过数据的应用为广告主和公司创造了收益。

3. DSP广告系统架构

DSP广告系统架构

3.1 DSP是什么

​ DSP(Demand-Side Platform),就是需求方平台,以精准营销为核心理念。允许广告客户和广告机构更方便地访问,以及更有效地购买广告库存(流量)。

3.2 DSP是⼲什么的

​ 为需求方(即⼴告主或代理商)提供实时竞价投放平台,需求方可以在DSP平台上管理广告活动及其投放策略,包括目标受众的定向条件、预算、创意、出价等等,DSP可以通过技术和算法优化投放效果, 提供数据报告,使需求方清晰明了的看到⾃己的广告效果。

说白点就是把产品的广告直接送到目标客户⾯前

image-20210723133543275

3.3 DSP的⽬标

​ 使用程序的方式进行广告的投放的管理,并利用算法和技术自动实现精准的目标受众定向,只把广告投放给对的人。

​ 对广告主⽽言,使⽤程序化购买不仅能提高流量采购效率,更低成本的或可靠,稳定的流量,还能使用各种策略,投放不同的目标人群,使得广告的投放效果更加可控。减少⼴告浪费的同时,提升转化率, 扩大覆盖面积,最终实现跨终端的投放管理和效果追踪

​ 对媒体资源⽽言,使⽤程序化管理的⽅式,能实现资源的⾃动化售卖,提高流量的使用率,有效利用优质流量和⻓尾流量,并且能基于人群的属性、兴趣等标签,对不同流量给出不同售价,提升流量库的收入。

3.4 DSP怎么做的

​ 简单讲,就是DSP平台先对接媒体,如微博、腾讯、头条、OPPO、ZAKER等资源,再通过实时竞价(RTB)的方式,让广告主自主选择投放的媒体及投放的客户群体,进⾏⼴告投放~

3.5 DSP投放系统架构图

image-20210723144750757

3.5.1 RTB竞价逻辑

image-20210723150613580

3.6 平台核心要素

3.6.1 流量资源

​ 不同的流量资源会有不同的效果,如何选择媒体和广告位是关键。平台上各种站点,频道,广告位,⼴告投放前制定投放策略,需要根据投放KPI(即⼴告主用于评估效果的关键指标)选择适合的媒体。 制定媒体策略⾸先需要分析目标受众,根据目标受众选择匹配的媒体资源。媒体策略可以从所要投放的 广告位所在页面(page)、位置(spot)、流量 (inventory)、价格(price)和转化(conversion)五个角度来制定。

  • 页面: 包括渠道、载体(PC/WAP/APP)、媒体分类、频道、URL、页面关键词 等。

  • 位置: ⼴告位所在的具体位置、尺寸的⼤小、⼴告位类型、屏次(如⾸屏、第二 屏)等,都会影响广告 的有效性。

  • 流量: 总流量的大⼩决定着能采购的流量⼤小。⽐如,每天需要投放3,000,000个 展示,那么起码得先确保所选媒体的总流量⼤于这个量级。需求⽅平台通常有流量预估功能,可以为需求方的流量采购提供一定的参考价值。

  • 价格: 广告主KPI⼀般会对单价或量级有要求,要在有限的投放预算里⾯满足 KPI,就得考虑价格。在竞价环境中,价格是不固定的,但是我们可以参考历史投放的平均价格。

  • 转化: 除了参考流量和价格,还需要参考历史转化情况,以达到更好的媒体效果预估。

3.6.2 投放策略及受众定向

  1. 基础设置
  • 出价上限,可以按照CPM(Cost Per Mille:展现成本,或者叫千人展现成本)或CPC(Cost Per Click点击成本,即每产生一次点击所花费的成本)设置,⼴告主可以设置好能承受的价格上限,将投放成本控制在可接受范围。附:还有个CPA(Cost Per Action):每行动成本。即按行动收费
  • 预算控制,提前设置好预算可以避免消耗过度,预算分为每⽇预算、总预算。在平台上还可以设置曝光数限制和点击数量限制,相应的有每⽇日曝光数、总曝光数或每日点击数、总点击数。
  • 频次控制,频次控制是指⼴告主设置的同一个⽤户在设定时间内看到特定广告的总次数,或者在设定时间内看到某个广告素材的总次数。⼀方面,在预算有限的情况下,有效的频次控制可以覆盖到更多的用户;另一⽅⾯,同段时间内对同一用户进行⼤量曝光或者大量重复同一广告素材的意义不不大,有效的频次控制还能在⼀定程度上提升点击率和转化率。
  • 投放时间,设置投放⽇期或投放时段,也可以设置为不不限制。投放日期或每日的投放时段都会对广告效果产⽣影响,⽐如周末、晚上高峰阶段。
  1. 受众定向
  • 地区定向,指定投放区域,包括国家、省份、城市等。
  • 客户端定向,设置受众的操作系统、浏览器器、系统语言等。
  • 移动设备,包括设备类型(如手机、平板)、设备品牌(如 Apple、华为)和设备型号等。
  • 人群标签定向,基于DMP(Data Management Platform 数据管理平台)系统,可以选着不同兴趣爱好的人群进行⼴告投放,以实现更精准的⼈群覆盖

3.6.3 创意内容

​ 选择好广告位和对应的⼈群,还需要有适合的创意匹配用户的喜好。即使是同一个广告位,甚至是同一个用户,对不同创意素材的反应都是不同的。制作创意首先要把握好创意形式(Format)和⽤户交互 (Engagement)方式。

​ 创意形式是指素材是以什么文件形式呈现,比如图片、文字、图文、Flash、视频、表单或者其它。目前来看,视频创意和图文创意(如信息流)创意形式最佳,这跟广告位特性有关,这些广告位的价格也比普通广告位高一些。用户交互是指用户在素材上进行什么动作,如点击切换动态创意、在创意上填写注册信息、 点击⼴告后扩展素材、甚至是语音提交信息。

  • 图片PC
  • ⼩灯泡
  • 动态创意

3.7 数据指标

​ 作为广告主一方,在广告投放过程中,必须要需要关注广告的投放效果,以及时调整投放策略,达到效果最大化,关注的指标包含: 请求,展示,点击,花费基础指标,以及不同时间段,不同⽹网站,策略,创意,广告形式,省市,频次的⾼阶指标

3.7.1 基础指标

  • 请求数:包含总请求数,有效请求数,参与竞价数,赢得竞价数

  • CPC:每点击成本,即⼴告被点击一次对应的价格。⽤公式表示即 CPC=Cost/Click。如果结算类型是CPC,那么CPC和CTR会是主要的考核和优化⽬目标

  • CPM:每千人成本, 即广告被展示一千次对应的价格。⽤公式表示即 CPM= (Cost/Impression)*1000。如果结算类型是CPM,⼀般会从CPM和CTR着⼿手

  • CTR:指广告的点击率,即广告点击次数占广告展示次数的百分比。⽤公式表示即CTR= (Click/Impression)*100%

3.7.2 高阶指标

  • 独⽴访客数(UV):Unique Visitor数量,指在特定时间内访问页⾯的虚拟自然人(用客户端标识)的总数。

  • 访问数 …

  • 网站到达率:指⽤户到达landingpage的数量和点击数的比值,⽤于衡量该环节用户流失率

  • 频次:分为离线频次和累计频次,指对每个独立用户的曝光频次

  • 网站浏览量:⽤户到达目标页面产生的浏览量

  • 二跳率:…

  • 平均停留时间:该次投放用户到达目标页面后的平均停留时间

  • 下载,激活,注册:该次⼴告投放引导用户下载,激活,注册的数量付款⾦额,付款人次,该次广告投放引导用户产生⽀付的金额,人次

4. 需求分析

  1. ⼴告主要看实时统计广告效果数据,并且支持多维度分析

  2. 把服务端⼴告竞价阶段的信息补充到客户端上报的日志里,需要实时⽇志拼接

  3. 还有最基本的保证数据的准确性,需要有离线流程定时做数据修复

5. 架构选型

  • 技术选型(1) 方案一:

    • 广告请求时把信息编码到广告url里面, 曝光和点击的时候再上报。
    • 缺点:
      • 广告url过长,“偷”⽤户流量,移动端优质APP难以接受。
      • 不能放入过多的信息。
  • 技术选型(2) 方案二:

    • 在实时处理引擎里面实现流式关联
    • 缺点:
      • join 窗⼝的双流数据都是被缓存在内存中的,也就是说如果某个key上的窗口数据太多就会导致 JVM OOM。
      • 广告下发后的曝光,转化等数据可能需要几天之后才能回传回来,内存无法缓存如此长时间的请求数据。
  • 技术选型(3) 方案三:

    • 广告请求信息写入kv store(redis和HBase),⼴告曝光和点击时查询kv store(HBase),做日志关联
    • 优点:
      • 不需要使用移动端回传
      • kv store(HBase)里保存近1个月的数据,作为兜底逻辑,可保证拼接率
      • redis里保存近两个小时的数据,大部分的查询能命中 cache

6. 数据管理平台(DMP)整体流程介绍

DMP是把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分,让用户可以把这些细分结果推向现有的互动营销环境里的平台。能够为广告投放提供人群标签进行受众精准定向,并通过投放数据建立用户画像,进行人群标签的管理以及再投放。 代表有:百分点、达摩盘等。

  1. 为什么要有这个平台,平台的功能

    1. 服务于DSP系统模型
    2. 服务于广告主看数需求
  2. 采集

    1. 竞价引擎日志如何采集、如何进kafka、为啥进kafka、如何保障稳定性
    2. client用户上报日志如何采集、如何进kafka、不落地如何保证数据不丢
    3. ⼴告主回传数据:在微信朋友圈投广告,为什么要回传,如何回传
  3. 处理

  4. 结果展示

7. 平台的架构难

  1. 实时拼接

    1. 拼接率
    2. 拼接失败重试方案
    3. 准确性
  2. 读取kv的压⼒

  3. 数据重复问题

  4. 多维数据分析

8. 如何从架构设计上解决这些问题

  1. *实时引擎选型

  2. 拼接失败重试方案

  3. 实时拼接,采用离线来修复

  4. 存储引擎选型,读取kv的压力,读kv慢,flink处理能力下降,数据处理不过来

  5. 数据重复问题,⽇志加event_id

  6. *多维分析引擎选型

9. 架构设计

数据收集 --> 数据预处理 -->数仓建模(分层设计 事实表 维度建模) --> 需求案例实现

LAMBDA

image-20210723140815395


http://chatgpt.dhexx.cn/article/qJBjk9fA.shtml

相关文章

google广告系统

http://www.chinaz.com/web/2009/0707/82091.shtml 如果要问全球最简单的广告系统是什么?那答案也许就是 Google 的在线广告系统。的确,你只要交了钱,来自无数网民的和你的线上业务有关的关键词点击就会自动和你的排名广告匹配起来&#xff0…

在线广告系统工程架构

一、广告系统概览 广告投放系统:供广告主使用,核心功能包括会员续费、广告库管理、设定推广条件、设置广告出价、查看投放效果等。广告运营后台:供平台的产品运营使用,核心功能包括广告位管理、广告策略管理、以及各种运营工具。广…

广告系统中通道类推送服务实践

目录 1 广告系统概述 2 广告系统中的推送服务 3 推送服务实践 3.1 推送服务任务流程 3.2 任务状态流转 3.3 推送服务业务处理流程 4 总结 1 广告系统概述 首先介绍下广告系统,本文所述的广告系统指类似CSDN、InfoQ这类型依托站点庞大的用户群,根…

对接腾讯广告平台系统开发(半自动化广告投放系统)

这是我最近刚弄完上线的一套比较有意思的比较大型的系统,因此特意记录一下。 先说这套玩意获得的效果:竞品的投放团队运营团队就算有一百个人,天天996,007加班不睡觉,投放效率也没有我们四五个人的高,这个…

java广告投放系统_广告投放系统

一、串讲PPT 二、上下游 需求方: 商业产品部投放同学 后端: 账号部分:小度注册后端给广告前端提供注册接口。 数据表部分:广告组后端以mysql表的形式与广告前端对接。 测试: 白盒测试 三、系统设计 四、代码开发 4.1 前…

销售系统—指引腾讯广告平台对接销售系统操作

一.教程介绍。 本教程是指引腾讯广告平台对接(自己)销售系统。是对https://leads.qq.com/assets/doc/api_guide.pdf详细文档的简解。 二.对接设置教程 1.推送线索设置 1.1.登录腾讯广告平台,在【工具 - 线索管理 - 系统设置 - 线索转发设…

dmp广告系统

项目背景就是项目描述,主要描述以下几个方面: 1、你分析的数据源是什么,有几个,为什么 2、通过这些数据要分析什么结果(有几个模块,每个模块有哪些需求) 3、通过这些结果能够给公司的产品或决策…

大型广告系统架构 — 检索模块

广告系统主要解决一个问题:在给定展示场景、用户的情况下,返回收益最大化的广告。下图是一个广告系统最简单的架构图。其中,Router,检索模块,排序模块一般称为广告系统的核心。同时,与之辅助的至少包含三大…

互联网智能广告系统架构(业务+系统)

互联网智能广告系统架构 (争取用最简单的图,最简洁的语言描述清楚) 一、业务简述 从业务上看整个智能广告系统,主要分为: 1)业务端:广告主的广告后台 2)展现端:用户实际访…

广告系统简易流程与架构

一、业务简述 从业务上看 整个智能广告系统,主要分为: 1)业务端:广告主的广告后台 2)展现端:用户实际访问的页面 业务端,广告主主要有两类行为: 1)广告设置行为&am…

揭秘广告系统架构

作者 | 骆俊武 来源 | IT人的职场进阶(ID:BestITer) 广告、增值服务、佣金,是互联网企业最常见的三种盈利手段。在这3大经典中,又以广告所占的市场份额最大,几乎是绝大部分互联网平台最主要的营收途径,业务…

广告系统架构

一:广告系统整体架构 用户通过浏览器访问网页,网页上的广告位贴了广告请求代码,广告请求发送到投放机,投放机上DE进行处理,选择出合理的广告进行投放。(或者网站上贴的是ssp的代码,ssp将请求转发…

大型广告系统架构概述

在互联网江湖中,始终流传着三大赚钱法宝:广告、游戏、电商。三杰之中,又以大哥广告的历史最为悠久,地位也最为不可撼动。君不见很多电商和游戏公司,也通过广告业务赚的盆满钵满。其发迹于Y公司,被G公司发扬…

广告管理系统

软件工程与UML 大作业 课题:广告管理系统 学号:3158126157 姓名:徐先森 专业班级:网络工程 指导老师:杨财英 目录 一、 系统的需求分析 2 1.1功能性需求 2 1.2广告管理系统介绍 2 1.3.1用例图如图: 3 1.3.2 用例描述 3 二、 概要设计 5 2.1总体结构图&…

三大视角,聊聊我眼中的广告系统

作者 | wulc 整理 | NewBeeNLP 从实习到工作,接触过一些大大小小的广告系统,有麻雀虽小但五脏俱全的小 dsp,也有把 ssp、adx、dsp 都打包了的大媒体 ,算是对业界的广告系统有了一个初步的了解。趁着放假这几天,简单地…

十分钟理解广告系统

什么是广告系统 广告是以“把合适的内容推送给合适的受众”为目的的商业交易过程,它同时为三种人群服务:第一种是广告主,即出钱购买广告的人,需要通过广告获取顾客;第二种是媒体,即提供投放平台以换取广告费…

广告系统架构浅谈

写在前面 最近即将入职字节跳动的广告系统部门,因此花了一些时间了解了一下现代广告系统的一般架构,在这里分享给大家。 广告系统一般架构 整体上来看,广告系统由三个主体部分构成: 1、在线的高并发投放引擎(Ad server)。 2、离…

广告系统实现

一、系统架构 二、准备工作 1、开发工具:IDEA 2、数据库:MySQL 3、环境:JDK1.8、 Maven 3 4、系统目录结构 三、广告系统的功能 1、广告投放系统 -> 既然是广告系统,一定得有广告数据,数据当然是由广告主或代理…

逻辑位移和算术位移

在C语言标准中&#xff0c;有两种位移分别为算术位移和逻辑位移。 逻辑位移&#xff1a;在位移运算符&#xff08;>>和<<&#xff09;之前的数是无符号数&#xff0c;编译产生的汇编指令是逻辑位移。 算术位移&#xff1a;在位移运算符之前的数是有符号数&#xff…

带符号位移运算,无符号位移运算,位运算

带符号位移运算&#xff1a; &#xff08;符号位也参与移动&#xff09; &#xff08;除了负数右移高位补1&#xff0c;其他情况空位均补0&#xff09; &#xff08;左移右移后可能结果正负都变了&#xff09; >>右移 &#xff08;向右移一位约等于除以2&#xff0c;注意…