一:广告系统整体架构
1:用户通过浏览器访问网页(或者手机浏览app),网页上的广告位贴了广告请求代码(或者app接入了广告sdk)
2:广告请求发送到广告引擎,广告引擎adn进行处理,选择出合理的广告进行投放。
3:如果步骤2中没有选择到广告,(或者网站上直接贴的是请求ssp/adx的代码,也可能是app嵌套的是ssp/adx的sdk),则向ssp/adx请求广告
4:ssp/adx将请求转发到各个dsp,dsp进行出价处理,ssp选择出价最高的dsp广告进行投放
广告主通过界面进行投放设置,投放设置将设置到数据库中,push程序从数据库中读取设置数据,并生成cache,将cache push到投放机供DE使用。
DC控制每个投放在每台投放机上的投放数量。
DS获取精准投放的数据,如用户相关的数据或者投放相关的数据。
Tracking处理show,click,等请求之后记录相应的日志,云收集日志供数据处理团队进行数据分析,提供报表给广告主或者媒体。
云收集的日志还用来进行用户行为的分析,点击率分析,以及投放效果分析。分析之后生成数据set到DS或者push到广告引擎。
二:adn广告系统组成元素
广告系统中的组成元素和push过来的cache结构一一对应。
一个广告位下可以有多个投放,一个投放有多个config(多个投放时间段),一个投放对应一个banner group,一个banner group下有多个banner。
一个账号下有多个order group,一个order group下有多个order,一个order下有多个投放/策略(solution)
三:dsp广告系统组成元素
一个广告主会创建多个广告计划,广告主涉及到余额
一个广告计划下会有多个广告组,每个广告计划下会有投放预算和排期
每个广告组下有多个广告创意,大部分定向都在广告组上
广告创意就是我们看到的实际投放的广告的最小单元。
四:广告后台投放系统处理简易流程
1:adn/dsp接收Get或者Post请求,进行http解析,解析出http头包括cookie等信息,如果是dsp解析出post data信息,并转换为内部的结构。
2:DSP根据是否要cookie mapping,或者有精准投放的设置,从DS获取数据。
3:进行各种定向处理,过滤不符合设置的投放。
4:对投放中的各个创意进行出价。
5:对出价和优先级进行排序
6:选择最优的投放,并组织打包生成http相关的创意内容给浏览器,如果是ssp需要组织生成bidresponse。
原文写于2015年,最初写于网易博客