在线广告是一个多学科交融的领域,本书力求系统地讲解在线广告的架构和算法,让读者对在线广告有一个整体的认识。全书共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章介绍在线广告系统中的反作弊技术。
《八万里路云和月》内容简介:全书共分为三篇。上篇“通榆‘触网’之路”,作者以半自传的形式回顾了通榆电商品牌成长历程。从零开
不可知的未来正向我们涌来,在IT技术变革比人们换手机还勤的时代里,一切更新都显得那么平常而频繁。这一切的策源地――硅谷,也
《梳理:从混乱到有序,人生提效50%》内容简介:毕业在即,考研还是工作?自己想要的到底是什么?很迷茫; 逛知乎、看豆瓣、浏览微
《OAuth 2实战》内容简介:本书深入探讨OAuth的运行机制,详细介绍如何在不安全的网络环境下正确使用、部署OAuth,确保安全认证,是
LearnhowtobemoreproductivewithScala,anewmulti-paradigmlanguagefortheJavaVirtualM...
《硅谷工程师爸爸的超强数学思维课:建立孩子的几何思维》内容简介:如何开发孩子的数学思维?如何让孩子把数学与生活结合起来,学
《Google改变生活》系统地介绍了Google公司推出的一系列与我们生活息息相关的软件和服务的使用方法,并精选目前网络上最实用、最
《DSP原理及其C编程开发技术》可作为电子、通信、自动化及计算机工程专业高年级本科生或研究生学习DSP的教材,也可作为专业工程技
《世界顶级时尚品牌&平面设计》的核心是分析23个印刷、颜色选择、展出请柬、网站、香水、化妆品案例,同时探讨时尚设计者和平面设
{BookDescription}http://www.peachpit.com/title/0321534107Therearebasicallytwotyp...
PHP开发手册-含DVD光盘一张 内容简介 本书全面、系统地介绍了php实战开发方方面面的技术。内容由浅入深,从易到难,实例丰富,从php的基本知识到高级技术与...
ASP.NET程序设计 内容简介 本书系统地讲述了使用ASP.NET进行网络程序设计。第1章讲述了.NET框架结构及如何搭建运行环境,并开发了第1个简单的ASP...
Withmorethan200practicalrecipes,thisbookhelpsyouperformdataanalysiswithRquicklya...
本书重点讲解Intel系列微处理器(8086/8088、80186/80188、80286、80386、80486、Pentium、PentiumProProc...
《红色范思哲灰色阿玛尼:跟大师学色彩搭配》从“色”的角度对绚丽的时装世界进行了探索。它不是一大堆色彩理论的堆砌,而以巴黎、
TheWebisincreasinglyhappeninginrealtime.WithsitessuchasFacebookandFriendFeedlead...
《字型之不思議》、《歐文字體》作者小林章 最新力作德國、法國、英國、美國、巴西、泰國、日本、台灣、中國、香港……17個國家
《60问读懂《道德经》》内容简介:老子的《道德经》被誉为“万经”,是道家、道教的优选经典。从古到今,注解它的书层出不穷,不同的
UI设计入门一本就够 本书特色 本书紧扣用户界面设计趋势,主要讲解了什么是UI设计,UI设计的原则与理念,UI的文字、图片和图标设计,网页UI设计,移动端UI设...
《国家干预经济与中日近代化(修订本)》内容简介:本书以19世纪中后期中日两国两个典型企业的发展历程为例,从纵向和横向两个角度