在线广告是一个多学科交融的领域,本书力求系统地讲解在线广告的架构和算法,让读者对在线广告有一个整体的认识。全书共15章,~3章介绍在线广告的发展简史、样式与创意以及广告系统的架构流程等基础知识;第4~7章从品牌广告、搜索类广告、社交类广告和视频类广告4种典型的广告出发,详细讲解广告系统的更多设计细节; 第8~14章分类讲述在线广告中的重要研究领域,包括用户数据和定向算法、点击率预估与推荐算法、在线匹配、机制设计、低质量和敏感控制、实验架构和调参,以及数据监控和效果衡量; 5章简要介绍在线广告的发展趋势。
本书可作为对在线广告感兴趣的初学者的入门书籍,也可供在线广告相关领域的从业者阅读参考。
在线广告是一个多学科交融的领域,本书力求系统地讲解在线广告的架构和算法,让读者对在线广告有一个整体的认识。全书共15章,第1~3章介绍在线广告的发展简史、样式与创意以及广告系统的架构流程等基础知识;第4~7章从品牌广告、搜索类广告、社交类广告和视频类广告4种典型的广告出发,详细讲解广告系统的更多设计细节; 第8~14章分类讲述在线广告中的重要研究领域,包括用户数据和定向算法、点击率预估与推荐算法、在线匹配、机制设计、低质量和敏感控制、实验架构和调参,以及数据监控和效果衡量; 第15章简要介绍在线广告的发展趋势。
本书可作为对在线广告感兴趣的初学者的入门书籍,也可供在线广告相关领域的从业者阅读参考。
目录
第3章广告系统架构流程
3.1投放引擎架构流程
在了解完在线广告的发展历史和常见样式后,相信读者已经对这个领域有了比较直观的认识,本书接下来会更深入地讲解在线投放广告的工作原理。本节首先介绍媒体内部一个完整的广告投放引擎所包括的主要功能模块和它的架构流程。
图3.1广告投放引擎架构
3.1.1广告投放引擎架构
如图3.1所示,这里将广告投放引擎的功能模块分为5个部分,分别是客户系统、内部管理平台、基础架构和在此基础架构上工作的相关模块、广告投放引擎内部模块以及日常工作中会用到的一些工具和测试平台。这个架构图并不是设计广告投放引擎的标准,不同媒体的广告投放引擎会因处理业务的不同而有所差异,这里介绍的功能模块只是一些常用模块,较简单的广告引擎可能只包括其中一部分模块,而较复杂的系统还有更多图3.1中没有包括的功能模块。本节其他篇幅分别介绍这5个部分。
3.1.2客户系统
**部分是面向广告主的客户系统。广告主要投放广告,需要先注册账号,有一个自己的唯一标识。用这个账号在客户系统中登录后才可以创建自己的广告投放计划。且广告主需要向自己的账号中充值,有预算的情况下广告系统才会投放这个账号下的广告。在客户系统中,广告主还可以设置更细致的预算控制,如每天的*大消费上限,如果广告主一天的花费已经超过设置的消费上线,广告系统就会停止投放这个账号下的广告。
不同广告主的营销目标会有所不同,有些广告主的营销目标是让广告触达尽可能多的人群,而有些广告主的营销目标则可能是提升某个店铺的访问量。广告主需要提前选定自己的营销目标,这样广告投放系统便可以针对不同的营销目标采用不同的定向投放算法,使得广告投放效果*优。广告主在设置广告计划的时候也可以指定受众范围,例如指定广告投放到年龄在20~30岁的北京女性用户之中,合理的设置营销目标和受众范围可以让推广活动事半功倍。广告开始投放后,广告主可以在客户系统中的效果跟踪模块随时查看广告计划投放情况,例如当前广告的投放量和投放效果,也可以根据效果的反馈继续优化广告计划的设置。例如,有时候广告主不能提前确定自己产品的目标人群范围,就可以根据广告的投放效果不断调整广告计划的受众范围,直到广告投放效果达到*优。很多客户系统中还支持同时设置多个广告计划,并且可以对广告计划分组管理,便于广告主同时做多个对比试验。甚至有些客户系统还会根据历史投放情况,在投放前或者投放过程中给出广告计划的调整建议,进一步提高广告主的操作效率。
图3.2是在Facebook的客户系统中创建广告计划的一个截图,它将广告营销目标分为3大类: 品牌认知、购买意向和行动转化。不同的营销目标适合不同类型的广告主,如大型品牌广告主可能会比较适合选择品牌认知,将广告投放到尽可能多的人群中,而小型广告主则更在意广告带来的行动转化,适合选择行动转化的营销目标,当广告系统判断有较大概率发生行动转化的时候才投放该广告,节省广告主的开支。在此基础上,广告主可以继续设置广告的受众、版位和广告的投放时间等信息。另外,广告主还需要设置广告的展现格式并上传相关物料信息,有些广告投放系统会建议广告主同时设置多套物料,便于在投放过程中根据不同的情况动态调整广告的样式和内容,进一步提升广告投放效果。
图3.2Facebook广告计划创建截图
3.1.3内部管理平台
第二部分是供广告投放引擎内部的运营人员与研发人员使用的相关工具平台,主要包括用户管理、订单管理、权限控制、财务管理、效果监控、订单审核和黑白名单模块。用户管理模块是对系统中所有注册用户统一管理的地方; 订单管理模块可以控制广告主的订单状态,如人工干预订单的上线下线; 在权限控制模块可以对内部用户设置不同的操作权限,降低系统的风险; 广告主账户金额以及系统收益等财务相关内容可以在财务管理模块中进行操作; 效果监控模块可以查看每个广告计划投放的具体效果数据,供内部运营人员随时了解系统的运行状况; 内部运营人员在订单审核模块对广告主提交的物料进行人工审核,内容规范、质量符合规定的订单才可以进入系统投放,有些广告系统会引入人工智能技术来加快这个环节的效率; 黑白名单模块可以对系统中的可信账号设置白名单,提升优先级别,对多次违规账号设置黑名单,禁止投放。
3.1.4基础架构及相关模块
广告投放引擎是对性能要求很高的系统,它需要随时保持较高的系统稳定性和快速响应能力。当线上请求到达的时候,系统需要在非常短的时间内返回适合展现的广告结果,这个时间通常是几毫秒到几百毫秒不等。如果在这个限定时间内广告系统没有返回广告,那么这次请求将不展现任何广告,系统也不会有收益。
基础架构是完成大规模数据处理及提供高性能服务的基础,主要包括两部分。一部分是在线投放系统,即当一个请求到达的时候,能够快速处理完所有的逻辑,然后返回合适的广告结果。为了保障服务的稳定性,一般需要跨机房、跨网络布置线上广告系统,做到在部分机房和网络服务出现故障的时候,在线投放系统仍然可以提供正常的服务。另外一部分是需要计算和存储海量数据的大数据处理模块,日志存储、广告数据的实时或离线分析、计费等业务都需要它的支持。如果广告系统是通过关键词或者某些定向条件来触发的,还需要不断地对系统的合法广告建立索引。
广告计划投放结束后,广告主可以在客户系统中查看广告的具体投放数据,但是不排除有些媒体存在数据造假的情况,所以在一些交易金额巨大的业务中,广告主为了保障自己的利益,希望广告投放引擎能够支持第三方数据监测,通过在投放流程中添加第三方机构的代码,可以让第三方机构对广告投放的核心指标有所了解,从而更加客观地评估广告的投放情况。
不同广告投放引擎的广告投放效果差异较大,除了媒体流量质量有差异外,在用户画像、行为数据分析、创意分析、CTR(Click Through Rate)计算、机制设计、定向技术等业务模块的规模和计算能力上都会有显著的不同。小型的广告投放引擎可能只有CTR计算模块,而较成熟的大型广告投放引擎在每个业务模块上都会有专人深入研究,尝试从多种角度不断地优化改进系统,提升媒体的整体收益。这些模块除了服务于广告投放引擎外,有时候也可以在整个营销路径中给营销人员指导、建议。
如果广告投放引擎希望提供给广告主更多的操作,让那些对目标客户比较清楚的广告主可以更精准地定向目标客户,系统就需要做更多的数据分析和整理工作。例如广告主希望向对军事有兴趣的北京男性用户投放自己的汽车广告,那么系统就需要提前通过用户的历史行为数据判断哪些用户是对军事有兴趣的,且需要积累他们的人口统计信息,对用户的年龄、性别等信息有所了解。这些信息一般被称为用户画像,精准而全面的用户画像对广告投放引擎定向能力的提升有很大帮助。本书第8章将详细介绍用户画像和相关的定向技术。
无论什么类型的广告系统,如果广告投放引擎能将广告精准地投放到对这个广告感兴趣的人群,广告投放效果和媒体的盈利都会有大幅度地提升。所以开发高精度的CTR预估和推荐算法非常重要,这部分是在线广告算法中的一个经典问题,现在仍然被持续研究,本书第9章会详细介绍。
计算出来的多种因子如何融合到系统中才能使得系统收益*大化?如何融合才能保障广告主的利益或者公平性?如何融合才能保持整个广告业务生态的持续健康?这些都是机制设计需要考虑的问题,第11章将简单介绍这部分的一些重要概念。
3.1.5广告投放引擎内部模块
这里通过搜索广告投放系统的一个具体例子,讲述广告投放引擎内部各模块是如何工作的。如图3.3所示,当用户在搜索引擎中搜索“西红柿”后,系统首先调用频次控制模块,假如系统限制每个用户每天*多只能浏览10次广告,频次控制模块会判断当前用户是否浏览广告已经达到10次,如果该用户还可以浏览广告,系统才会继续后面的流程。
图3.3搜索广告架构流程
广告投放引擎通过广告位管理模块,判断当前页面可以展现什么类型的广告,然后到相应类型的广告索引系统中查找可以展现的广告。之后,系统通过一系列的参数来确定哪些广告符合展现条件,然后把所有符合条件的合法广告放到一起,产生一个合法广告队列。例如某个广告的预算如果已经消耗完了,就不能进入合法广告队列了。
排序模块会对合法广告队列中的每个广告计算排序因子,这里用到的公式为bid×ctr,其中,bid是广告主在客户系统中提前设置的广告被点击后愿意支付的费用,ctr是系统预估这个广告会被用户点击的概率。不同广告投放引擎会有不同的排序方法,例如有些系统会引入平滑因子,对广告主的消费做平滑控制,让某个账号一天中某个时间段内的消费是平滑的。
根据排序因子可以判断哪个广告*终胜出,并可以计算胜出广告如果被点击后应该收取的费用(一般小于广告主设置的bid),需要注意的是,这个时候该广告还没有被扣费。然后根据页面的上下文内容或者这个广告前期的投放情况,选择一个*优的样式将广告展现到用户的搜索结果中,有时候样式会作为一个影响因子融入到排序阶段。
如果该用户点击了广告,广告引擎通过反作弊模块判断这次点击的意图是否合法,例如是否是竞争对手的恶意搜索和点击,如果是一次正常的点击,就对该广告收取相应的费用。
图3.3中,排序因子使用的是rankq=bid×ctr,一般情况下系统选择rankq*大的广告作为*后展现的广告,但是每次展现排序得分*高的广告,对系统来说并不一定是收益*大化的。在资源有限,预算有限,不同广告的投放条件也不同的情况下,如果知道了一天的所有流量信息后,往往可以离线找到收益更大的投放方式。如何优化系统的在线匹配策略,提升系统收益,一般被描述成一个二部图的匹配问题,也就是在线匹配(Online Matching),本书将在第10章中详细讨论。
不同的广告投放引擎有自己不同的业务逻辑,例如有些系统支持广告在某个时间段内可以均匀投放; 有些系统为了广告效果和用户满意度,一般不会给同一个人反复投递同一个或同一类型的广告,严格控制对用户投放广告的频次。
在线投放的过程中,多种类型的广告可能会同时满足投放条件,例如某次流量同时满足了品牌广告和普通广告的定向条件,这时候系统会对品牌广告设置更高的优先级,品牌广告可以在排序中得到更好的位置或者独享这一次展现机会,因为品牌广告可以给系统带来更多的收益。优先级控制模块就是用来控制不同类型广告优先级别。
有利益的地方就容易有作弊,如何反作弊是很多商业系统里必须要面对的问题,广告投放系统也不例外,其基本思想是要找出作弊流量和正常流量的差异,再有针对性地解决,这部分内容一般都是高度机密,各大公司反作弊的具体细节都不被外界所知。作弊无法根除,反作弊是一个猫抓老鼠的过程,职责就是不断地与作弊者切磋,提升作弊者的作弊门槛。本书将在第12章介绍在线广告系统中的反作弊技术。
Windows操作系统原理(第2版) 本书特色 Windows操作系统是微软公司开发的个人电脑操作系统,一经推出便以其方便性、易用性征服了广大用户,迅速成为应用...
ThisisyourfastguidetogettingstartedandgettinginsidetheLighttpdwebserver.Writtenf...
网络的限制边连通度与孤连通度 本书特色 图论是研究互连网络拓扑性能的有效方法,本书对于有关网络可靠性参数的问题提供了一个理论框架。内容包括网络的极大k限制边连通...
《5000天后的世界》内容简介:在互联网商业化的5000天后,社交媒体(SNS)开始蓬勃兴起, 现在距SNS兴起又过了近5000天,接下来的5
《JavaScript+Vue.js web开发案例教程(在线实训版)》内容简介:随着互联网技术的不断发展,JavaScript语言及其相关技术越来越受人
《Java EE核心框架实战》内容简介:本书旨在提高读者的学习效率,增强其项目实战能力。为此,本书摒弃了软件公司中不常用或不实用的
《倾听生命的低语》内容简介:本书是散文作家鲁先圣积数年之力完成的一部随笔断章作品集,全书语句凝练,思想深邃,情感真挚,禅意
《作家榜名著:四十自述》内容简介:文化大师胡适亲笔自传,娓娓道来童年在家乡安徽、少年到上海求学、青年赴美留学以及海归回国后
《激活个体》内容简介:管理是否到了终结的时候了?曾经的时代巨人都显得非常力不从心,那些原来成功的管理模式,如今都成为了企业
《阿长与《山海经》》内容简介:本书从鲁迅作品中精选了适合青少年读者阅读的篇目,题材上偏向于作者年少的成长故事,对亲人、朋友
《德国设计图典》是艺术设计专业的入门参考书,旨在通过简单的百科式构架和丰富直观的图片资料来帮助初学者接触、理解和掌握德国
本书是一本引导读者深入了解Docker实现原理的技术普及读物,主要目标是通过对Docker架构和源代码的详细讲解和解剖,帮助读者对Do
《夏日走过山间》内容简介:他花了一整天的时间来观察群山之间光线的变化……万事万物都很平和, 这本不朽的文学名著写于一八六九年
《追梦的笨笨》内容简介:本书写给大学生的书,是一本实用的留学指南,也是一本励志书。全书精髓在于Sonia老师7年美国名校留学申请
信息管理技术-全国计算机等级考试三级教程-2011年版 本书特色 本书根据教育部考试中心制定的《全国计算机等级考试三级信息管理技术考试大纲(2007年版)》的要...
Photoshop平面设计基础 本书特色 《Photoshop平面设计基础》由王艳娟主编,本书作者根据多年的教学经验并结合学生的特点和需求,编写这本教材。本教材...
《看·听·读(精装)》内容简介:本书为《列维-斯特劳斯文集》之一。在岁月的长河中,作者看过许多画,听过许多音乐,读过许多书,
探索性数据分析:基于JMP软件 本书特色 统计学是一门涉及面广且在不断发展的学科,jmp作为一个分析软件也是如此。但是一本书所能包含的内容是有限的,且不可能面面...
《摄影大讲堂》内容简介:本书是一本通俗易懂的摄影入门书,系统、全面、深入浅出地讲述了摄影的各个方面。从器材与原理到光圈、快
本书通过一个完整的Web2.0应用——带有动态图库、搜索和地图功能的博客系统详细介绍了Web开发的全过程。首先讨论了Web应用的规划