如何搭建一个极简的广告系统?

简介: 如何搭建一个极简的广告系统?


 心之所向,皆是朝阳


广告行业是个存在了相当长时间的行业。在互联网时代数字化广告的产生,改变了线下传统媒体的采买形态,通过一些核心指标可以度量和优化广告投放。有流量的地方就有通过广告变现的诉求,本文将会从最简单、易懂的方式来拆解广告系统是怎么来的,是如何更新换代不断迭代更新来适应媒体特性的不断变化。本文适用于所有广告营销行业的产品、技术、运营和投放优化岗位了解广告系统背后到底有什么,解决黑盒投放模式给广告从业人员带来的玄学感觉,数字广告投放应该是一门科学,不是一门玄学。



01

什么是广告系统?


广告是广告主以付费方式通过广告媒体向受众售卖商品、传播信息或者提供服务的触达手段。广告是互联网商业化的三大经典模式(广告、佣金、增值服务)之一。所有推出免费服务的公司背后大多是通过广告来支撑公司的营收的,通过免费聚拢用户,流量聚集到平台上,通过广告进行变现。简单来讲,广告系统(Ad Server)是为媒体方(Publishers)、广告主(Advertisers)、广告代理(Ad Agencies)和广告网络(AdNetworkins)等角色管理广告投放诉求触达受众的软件解决方案。

具体的目标是,通过程序化的方式将在线广告投放在指定的媒体(可以是网站、博客、App或者任何有变现诉求的软件或者载体)上。广告系统大多独立于其他的CMS系统,数据管理系统等IT系统而存在,是为了每个系统都承载相对单一的功能,避免耦合,降低系统的复杂度,提高软件的易用性和易维护性。广告系统可以是媒体方公司所有,也可以不是媒体方公司所有,甚至于可以归属于八竿子打不着的第三方公司,公司与公司之间通过协议(在线的或者离线的协议)约定流量的售卖方式和对接方式,就能实现媒体公司干好内容产出和用户运营,广告公司做好媒体采买和售卖,为广告主服务不同阶段干好不同职责,分得自己应用的那份收益。
我们这里先不纠结复杂的系统名词,什么DSP,SSP,ADX等等,这些系统后面我们单独进行描述和介绍,你只需要首先理解的是广告系统就是为了在一定范围内的媒体上满足投放方广告投放诉求的系统就可以了,当然为了满足这个看似简单的要求,会有很多周边系统对流量进行度量、计费和追踪,这些系统可以在广告系统内部存在,也可以为了利益解绑采用第三方公司的系统。一个好的广告系统,通常具有以下几个特点:可以承受短时间内巨大流量的冲击(高并发),并在极短的时间内(低延时)返回差异化广告(容量大);可以承载图文,视频、激励视频,试玩光等多种广告样式(种类多),可以兼容web端/移动端(SDK兼容性好,稳定);可以支持多种用户定向能力(数据处理能力强),如地域,人群标签、频次等;计费服务不重不漏(准确性要求高),计费延时要可控(实时性要求高),广告主预算不花超还得花的完;这些能力都达到,对于广告系统的开发设计人员要求是非常高的,想做好一个广告广告系统需要很多的技术积累。


02

为什么需要一个广告系统?


互联网上有流量的地方,就有江湖。每个推出新产品的公司都需要获客去使用自己的产品,在产品中留存用户,同时通过广告变现获取收益,通过广告投放,一方面能快速扩大用户群体,让每个用户身上微小的收益通过基数的加大放大整体的收益,另外一方面广告模式是互联网上门槛最低,也是最有效的变现手段。

之前的文章为什么要做产品和用户生命周期管理?里,曾经有一张用户生命周期管理的图,我们能发现功能迭代优化和变现效率提升两个闭环是相辅相成的,没有广告投放的放大再好变现效率也无法获取足够大的收益,而没有后向的变现效率的提升,买量越多亏的可能也会越多。



   因此每个有流量的公司都应该有套高效的广告系统,不管这个广告系统是自建还是用第三方的。


03


如何搭建一个极简的广告系统?


根据上面的描述我们可以先简单猜测一下,一个广告系统需要有哪些模块:

为了能正常投放广告,广告系统需要对外暴露一批接口API,当媒体需要在特定位置放置一个广告的时候就需要向接口标明是哪个用户在什么媒体的什么位置,展示一个多大尺寸,什么形式的广告,为了能把媒体和广告系统隔离开,把api的调用封装在一套SDK(媒体是什么形式的就用什么形式的SDK,媒体是web页面就封装js的SDK,媒体是安卓app就封装安卓的SDK,媒体是iOS app就封装iOS的SDK等等)中,媒体只需要简单初始化SDK并传递相关参数给SDK,在需要展示广告的位置调用相应的接口,SDK就能完成广告的后续逻辑,如果SDK有升级媒体只需要简单更换SDK并微调变更的接口就能实现逻辑的更新,那最简单结构应该是类似于下图:


我们需要定义一套api接口,比如:广告请求曝光点击接口,只有有了这些接口我们才能识别,媒体有多少流量被发送过来,广告请求里会下发物料和监测链接,如果广告物料被展示了则sdk调用曝光接口,如果物料被点击了,则调用点击接口。相关的广告请求、曝光、点击逻辑被封装在了SDK中,所有调用这个SDK的媒体都可以复用广告逻辑,避免媒体间对于逻辑的实现不一致带来不必要的麻烦。


我们通常使用的广告api通常会选择http协议来实现,为什么选择的是http呢?因为http兼容性还可以,扩展性也不错,从谷歌开始搞广告用js操作dom树向网页里插广告开始,到后来我们用iframe向页面插入广告,再到后来有了移动端我们通过app中集成广告SDK,SDK调用http接口上报客户端信息,服务端返回对应的广告数据,客户端根据这些数据安排广告展现,点击和后续广告展示逻辑,并且上报转化数据,你都可以把这些接口先理解成为http接口,不管背后是用nginx代码魔改,在nginx上用lua操控数据,或者是nginx转发流量到后端的Java,golang,Python程序都可以,甚至是你用C++手打一个http的服务都可以,他们都能基本满足一个广告服务的要求,先有个大致印象,广告api≈一个http服务。
这就是最简单的广告系统,有服务端的广告接口和供客户端集成的SDK就能完成简单的广告展示诉求,但随着广告数量的增多,每次修改程序上线变更物料太麻烦,于是需要一套管理系统去管理广告物料和投放逻辑,以及各个媒体的不同广告位,于是广告管理系统就产生了,任何可以开发MIS系统的语言都可以被用来构建一个广告管理系统。



为了能有效实时计费还需要把展现、曝光和后续转化的监测系统剥离出来,通过收集日志,推送到消息队列,通过实时计算进行去重和计费,最终实现计费系统,调用账务结算系统广告主费用划转,为了去除广告投放过程中的作弊流量还需要有反作弊系统对日志进行清洗,多扣的广告费用需要分阶段回填返还给广告主。

系统功能模块图如下图所示:

其实到这个阶段我们已经有了一个简单的AdNetwork了,也就是广告联盟,媒体集成广告联盟的SDK把流量托管给广告联盟去售卖,广告主可以通过广告联盟投放广告到媒体上,任何打开媒体的受众都可以看到广告主投放的广告,当然这可能只是一个简单的排期广告系统,一段时间内可能一个位置只放一个广告主的一个广告,只有大广告主才能投的起广告。比较知名的广告网络有Google的AdSense,国内早期有好耶、传漾,最近几年做的比较大的有字节的穿山甲联盟、腾讯的优量汇,快手的快手联盟等。

04


广告系统外围还有哪些系统支撑投放


随着媒体和广告主的增多,大广告主挑走了媒体上大段的优势位置和时间段,边角下料的剩余流量越来越多,为了撮合中小广告主和各类流量后来又产生了AdExchange,简称ADX,与之相对应的广告主通过ADX采买流量需要一个DSP(Demand-side Platform,需求方平台,帮助广告主/需求方),采用RTB(Realtime Bidding,实时竞价)的模式采买流量,当然媒体为了更方面的管理自己的广告位和流量应运而生了SSP(Supply-side Platform,供应方平台),SSP协助媒体主将广告资源管理起来加入广告交易平台,可以很方便的调配流量。为了能正确匹配广告主和媒体流量,一些有数据积累的公司也推出了DMP(Data Management Platform,数据管理平台),这些公司一般是做监测工具,或者移动端消息推送相关的公司,因为做数据监测或者消息推送公司的SDK一般都会被集成到量级比较大的媒体app中,所以用户在app中的行为数据收集的比较齐全,通过用户画像后将标签输出给广告主或者媒体用于流量采买和精准定向。各类系统之间的大致关系,类似于下图:

本篇内容已经不少了,后续的文章中我会单独拆解文中提到的诸如(ADX,DSP,SSP,DMP等)每一类系统是怎么做的,内部流程如何流转,数据如何打通,流量如何调度。

下图罗列了相关术语的定义:


当然广告主在对流量进行采买的时候,为了解决数据是以广告主的数据为准,还是以媒体的数据为准标准不统一的情况下,就产生了第三方的监测分析工具;对于媒体的流量质量不放心的时候,还会找第三方的广告流量验证的工具去做验证;当广告主投放计划和物料特别多的时候为了提升优化师的人效,产生了TradingDesk这种聚合投放的模式,调用大媒体方的marketing api实现批量物料上传、创建/启停计划,汇总各平台数据等等功能;为了有效管理程序化创意当然还会用到程序化创意工具,这几类工具大多是广告主根据使用量采买付费。

每一种系统在使用过程中也逐渐衍生出了一些变种,比如,用于媒体方的SSP在移动端流量调度的过程中,为了有效管理app流量利益最大化的过程中,也出现了聚合SSP这种新生的流量调度模式,用服务端下发的配置控制自己的SDK调用第三方广告联盟的SDK,完成广告的后续流程。

下图是RTBChina整理的《2022版中国程序化广告技术生态图》,从图中我们能看到各家公司都涉及了哪几类角色,字节跳动、腾讯,阿里,快手,京东都有自己的超级广告平台,他们或者有大预算,或者有大的流量,亦或是兼而有之,从外部收拢了大流量,也汇集了大投放预算:



广告行业是一个非常庞杂的行业,各式各样的产品形态层出不穷,根据媒体的更新迭代,广告系统也在升级换代,每个有流量的公司都在不断升级改造自己的广告系统,让它的广告系统适应自己的媒体流量。作为广告从业人员,每个人都应该努力去理解跟自己相适应的媒体的广告平台是如何运行和存在的,找到跟自己相适应的使用模式。

相关文章
|
4天前
|
API
市面上最常见的几个邮件营销系统,哪个最好用?
本文比较了5个主流邮件营销系统:蜂邮EDM、AokSend、Sendinblue、GetResponse和AWeber。蜂邮EDM和AokSend以其易用性和丰富模板深受初学者和小企业喜爱;Sendinblue以低定价和多功能吸引中小企业;GetResponse是全能营销平台,适合各类企业;AWeber则适合有经验的用户。选择最适合自己的系统能提升邮件营销效率。
零撸游戏广告变现模式系统开发部署源码搭建
零撸游戏广告变现模式系统开发部署源码搭建
|
5月前
|
安全 机器人 Linux
分享5款安全无毒且没有广告的小软件
今天推荐一些可以大幅度提升办公效率的小软件,安全无毒,下载简单,最重要的是没有广告!
110 0
体育赛事直播系统源码搭建平台四种用户获利方式
通过“东莞梦幻网络科技”体育直播源码搭建的赛事直播平台,有哪些功能帮助打造出完整的社群环境来吸引许多优质创作者,不仅让创作者能够获利,也让自家平台的素材内容多元且丰富,吸引更多用户和创作者,形成一个良好的正循环。
|
10月前
|
安全
视频交友源码开发搭建平台用户资料功能:小功能有大用处!
视频交友源码平台用户资料功能不仅仅对于视频交友平台是重要的,它对于很多源码搭建的平台都是非常重要的,这样的源码功能还有很多,我会为大家讲解,喜欢的可以留个关注来问我。
视频交友源码开发搭建平台用户资料功能:小功能有大用处!
|
10月前
游戏直播软件源码开发搭建,平台获利方法有哪些?
在互联网新时代,随着直播技术成熟,泛娱乐产业备受市场追捧,当中娱乐游戏直播平台在这一行业中处于核心关注热点。即使由于短视频的兴起,其增长速度显著下降,但是其吸金实力始终不可小嘘。
|
机器学习/深度学习 算法 搜索推荐
怎样设计一个广告系统
怎样设计一个广告系统
248 0
怎样设计一个广告系统
短视频app开发,如何加强搜索功能对用户的吸引力
短视频app开发,如何加强搜索功能对用户的吸引力
|
缓存 数据管理 应用服务中间件
电商详情页系统实战(2) -小型电商网站商品详情页的页面静态化架构及缺陷
电商详情页系统实战(2) -小型电商网站商品详情页的页面静态化架构及缺陷
414 0
|
人工智能 数据可视化 搜索推荐
现如今短视频SEO询盘获客系统怎么获取流量?
现如今不论出去旅游,查阅当地美食,脑海中里首个想法便是抖音搜索,有信息的地方就会有搜索,有搜索的地方就会有SEO 短视频2021年的发展趋势,一个是蓝V直播,另一个便是抖音搜索,这2件事现已变成抖音的热门,在抖音搜索中,大量准确数据以及可视化的结果显示,有文本有视频有讲解,而且绝大部分客户现已在抖音建立起了搜索视频的生活习惯,而这些客户便有非常大的价值所在。
现如今短视频SEO询盘获客系统怎么获取流量?