《程序化广告实战》一 2.1 IAB关于程序化的定义及接口规范-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《程序化广告实战》一 2.1 IAB关于程序化的定义及接口规范

简介: 本节书摘来自华章出版社《程序化广告实战》一 书中的第2章,第2.1节,作者:吴俊,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1 IAB关于程序化的定义及接口规范

程序化广告最重要的标志是“通过技术手段管理广告展示的每次曝光机会”,在这个基础上由于买卖的“交易方数量”“交易量是否预留”“交易价格是否固定”等一些不同变量的变化,组成了程序化广告的四种典型模式。第1章已对这些模式做了基本阐述,本书将重点从行业规范角度来进行介绍。
在介绍详细内容之前,需要介绍一下互联网广告,尤其是程序化广告行业内,十分重要的标准制定的组织——IAB(The Interactive Advertising Bureau,美国互动广告局),其共有500多个成员公司,包括AOL、迪斯尼、google等知名公司。美国互动广告局的成员遍布众多国家,很多成员都是全球性企业。IAB致力于推动全球网络广告市场的持续增长,帮助指导Publishers(广告发布方,即媒体方)、Advertisers(广告主)及广泛的商业组织构成更好互动广告。很多网络广告及程序化广告的标准都出自该组织,行业内整个上下游都十分认同和遵守这些标准。IAB就是广告行业的藏经阁,所以很多关键的标准和资料均可直接去IAB上查询,这样不至于造成概念上的混淆,以及被某些不清晰的认知误导。
注:程序化广告概念的出现最早是为了解决“realtime实时”管理广告库存这个业务领域的问题,感兴趣的同学可参考阅读IAB官网上的内容。
其实“程序化广告”从广义上看还包括解决整个广告行业的信息化、自动化等问题的解决方案。IAB于2016年9月最新发布的OpenDirect 1.5规范,就是对买卖双方就黄金资源如何通过系统化、自动化产生订单做了一定的指导性的约定。感兴趣的同学可参考IAB官网上
的相关内容。

2.1.1 程序化广告4种典型模式

关于程序化广告,IAB给出了重要的指导性文档,我们截取部分要点,并结合实践中易出现的问题及混淆的点进行展开说明。下图是IAB关于程序化广告四种典型模式的定义原文档截图。

下图是对照翻译。
上述定义中值得注意的几点:
1)PD(Preferred Deal)、PA(Private Auction)、OA(Open Auction)均属于实时竞价RTB范畴,仍是程序化广告购买。结算方式为广告主同DSP方以第三方监测的数据为依据进行结算,而ADX同DSP是按竞价成交额结算的。DSP参与到了交易环节,要承担中间这个结算GAP。

    Type of 
Inventory
(Reserved1,
Unreserved)    Pricing
(Fixed2,
Auction)    Participation
(One Seller-One 
Buyer,
One Seller-Few 
Buyers,
One Seller-All 
Buyers)    Other Terms
Used in Market    Other
Considerations
Automated
Guaranteed    Reserved    Fixed    One-One    Programmatic 
guaranteed
Programmatic 
premium
Programmatic 
direct
Programmatic 
reserved    Prioritization in the ad serve
Deal ID
Data usage
Transparency to buyer
Price floors
Unreserved
Fixed Rate    Unreserved    Fixed    One-One    Preferred deals
Private access 
First right of 
refusal    
Invitation-Only
Auction    Unreserved    Auction    One-One    Private Marketplace
Private auction
Closed auction
Private access    
Open Auction    Unreserved    Auction    One-One    Real-time bidding 
(RTB)
Open exchange
Open marketplace    

source: Interactive Advertising Bureau 2013

screenshot

关于程序化广告四种典型模式的IAB定义原文截图
注:市场中还有一个大家经常说的词PMP(Private MarketPlace)从表上看PMP狭义的定义仅指的是PA,但市场中也有一种更广义的解读,即只要非OA的模式都是PMP(包含PD、PA、PDB,主要突出Private这个词);当然也有很多人将PMP解读为仅包含PD、PA(因为第一种模式PDB不涉及交易环节)。
screenshot

关于程序化广告四种典型模式IAB定义的中文对照翻译截图
2)由于PDB“保价保量”,对于结算方式广告主同媒体卖方已提前约定好,且广告主同媒体卖方按第三方监测的曝光数据直接结算,PDB技术供应方仅完成不同流量展示不同广告的工作即可,不参与交易环节。
注:对于PDB这个词的严格定义,市面上各方的理解有些分歧,但因国内刚推出这种模式的时候就用PDB作为名字,故这么多年下来在国内大家都叫惯了,也就很难再改了。其实从IAB给出的准确定义是Automated Guaranteed(AG)程序化合约。当然还有一种定义,即程序化下单(即上面提到的IAB的OpenDirect规范定义的范畴),而不是管理每个曝光机会。这也是PDB这个词会产生分歧的原因。所以我们只需搞明白模式的内涵和外延即可,至于用什么名字来表示不用太纠结,重点是沟通中搞明白沟通双方的内容,避免不同的误读造成沟通上的歧义。
3)从买方获取流量的交易成本优势角度看,OA>PA>PD>PDB,其中PD、PDB更像计划经济,OA、PA更像市场经济(一般相同资源卖方PA的底价会高于OA的底价)。若市场流量竞争激烈,相对价格就会被抬高。
4)一般从获取的流量质量及对流量获取的优先权角度看,OAOA中都是大家挑剩的流量,若买方需要做访客找回;若对流量优先级有一定需求的话,建议可考虑PA及PD的模式。财才充足的买方可考虑PDB模式(但PDB模式由于退量会受到一定限制,肯定无法做到只对需要的流量投放广告)。
如下图所示,通过从“竞价方式”及库存“是否保证”两个维度进行对比,可以看出这四种模式的典型特点及区别。下图即将上述注意点以图形化分象限的方式进行了呈现。

screenshot

2.1.2 接口规范

OpenRTB是程序化广告领域关键的技术接口规范,是IAB制定的RTB竞价广告协议的标准。内容主要涉及业务流程及主要的对象模型、数据模型、示例等。是负责流量技术对接的产品技术人员必须掌握的宝典。在实际工作中,这个规范是行业中各方广告流量技术对接时会遵循的标准规范。强烈建议媒体流量方都遵循该规范,这样才能做到事半功倍,所以我们有必要对该规范中的内容做一些介绍,最起码让大家对该规范感性上有一个基本的认识。当然因为是技术规范,内容可能有些偏技术,大家不用太过深究。本节截图及部分内容以文档原文为主,若大家没有兴趣且将来不会涉及相关技术对接的工作,只要记住“OpenRTB是程序化广告关键的技术接口规范”即可,可跳过下面的内容,直接继续后续阅读。限于篇幅,详细的规范内容我们将不做展开,如果某些技术人员出于工作需要及好奇想进一步学习,可依据如下提供的文档地址下载原始文档进行研究。

下面我们以《OpenRTB-API-Specification-Version-2-5-FINAL.pdf》为例进行介绍,下图所示为该规范文档的封面,放这个截图是为了让大家对该规范的正本有个感性认识,不至于受到一些“李鬼”的干扰。
对于该协议规范,我们首先介绍一些常用词。这些常用词是我们在实际广告流量对接中经常会用到的,具体如下表所列。
screenshot
screenshot

接下来我们介绍协议中的基础RTB处理时序过程,RTB广告大体的时序处理流程如下图所示。
screenshot

由上图可知:
1)如图中的“0.”所示的环节。用户打开媒体页面(媒体页面中有广告位,需展示广告),媒体端向RTB交易服务(ADX)发起广告请求。
2)ADX向竞价服务方(DSP,广告主可在DSP中添加广告投放订单)发起竞价(邀约)请求(传送竞价邀约请求,携带广告位、媒体网站、用户设备、用户相关行为数据等),如图中“1.” 所示的环节;竞价服务方返回竞价信息(出价、广告素材或广告片段),如图中“1.下的←”所示的环节。
3)ADX结果反馈,即win-notice返回成交结果,如图中“2a.”所示的环节;若竞价返回包中未含广告片段需要再次提供,如图中“2a.下的←”所示的环节。
4)有些ADX会发失败原因(这个不是必须发的),如图中“2b.”所示的环节;有些ADX会发成交账单信息(这个也不是必须发的),如图中“3a.”所示的环节。
5)广告通过ADX返回给媒体并通过媒体展示给用户。
上图中的虚线流程是媒体方及DSP方流量过滤及投放设置的环节:
1)媒体方可在ADX中设定媒体的相关属性(分类、底价、禁投行业等)。
2)DSP方可在ADX中设置接受竞价邀约流量的响应能力参数及所需流量过滤、创意审核等。
下面我们来看一下协议中约定的广告请求对象及其内部的数据对象。如下图所示,从图中我们会发现BidRequest对象同Impression对象是一对多的包含关系,通俗地说就是一个BidRequest可包含一个或多个Impression。这个不难理解,有的时候为了节省网络开销,一个竞价请求可能包含多个广告位的竞价邀约信息,出现的场景很可能是用户一次打开内容页面,同时产生多个广告位的曝光机会。
对于广告请求BidRequest对象中的各数据段(对象)的简单描述可参见下表,通过这些内容我们亦可十分清晰地看出,在OpenRTB的规范中,对广告请求中该携带的数据内容已做了十分完善及丰富的定义。这对我们在实践中去推动媒体及流量卖方开放相关数据具有十分重要的价值。
很多同学,尤其是一些从事非技术工作的同学,对广告竞价请求如何携带用户及广告位信息特别好奇,下面我们给出了一段BidRequest包数据片段的简单示例。一般BidRequest常见格式为Json格式(具体技术上的格式类型为Content-Type: application/json),从下面的代码清单示例中也能看到,上表中的各种数据段的影子。这也就是我们常说的在广告竞价请求中携带的用户以及广告位的相关信息数据。
screenshot
screenshot

BidRequest包数据片段简单示例

{
    "id": "80ce30c53c16e6ede735f123ef6e32361bfc7b22",
    "at": 1, "cur": [ "USD" ],
    "imp": [//广告位信息
        {
            "id": "1", "bidfloor": 0.03,
            "banner": {
                "h": 250, "w": 300, "pos": 0
            }
} ],
    "site": {//媒体网站信息
        "id": "102855",
        "cat": [ "IAB3-1" ],
        "domain": "www.foobar.com",
        "page": "http://www.foobar.com/1234.html ",
        "publisher": {
        "id": "8953", "name": "foobar.com",
        "cat": [ "IAB3-1" ],
        "domain": "foobar.com"
} },
"device": {//用户设备信息
        "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/
537.13(KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
        "ip": "123.145.167.10"
    },
    "user": {//用户ID
        "id": "55816b39711f9b5acf3b90e313ed29e51665623f"
  } 
}

最后我们看一下协议中约定的广告竞价响应对象及其内部的数据对象。如下图所示,从图中我们会发现一个BidResponse对象可能会包含多个Bid对象。这个也好理解,当一个BidRequest包含多个Impression时,BidResponse就可能包含多个Bid对象,从而实现竞价出价。
对于广告竞价响应BidResponse对象中的各数据段(对象)的简单描述可参见下表。
screenshot

同样很多同学,尤其是一些从事非技术工作的同学,对广告竞价响应对象返回的出价等长啥样子特别好奇,下面我们给出了一段BidResponse包数据片段的简单示例。从下面的代码中也能看到,上表中的各种数据段的影子。这也就是我们常常说的在广告竞价响应中携带的出价等相关信息数据。
BidResponse包数据片段

{
    "id": "1234567890", "bidid": "abc1123", "cur": "USD",
    "seatbid": [
        {
            "seat": "512",//席位ID
            "bid": [
            {
                "id": "1", "impid": "102", "price": 9.43,
                "nurl": "http://adserver.com/winnotice?impid=102",
//DSP方竞价成功信息接收地址
                "iurl": "http://adserver.com/pathtosampleimage",
                "adomain": [ "advertiserdomain.com" ],
                "cid": "campaign111",//广告投放campaign ID
                "crid": "creative112",//广告投放创意素材 ID
                "attr": [ 1, 2, 3, 4, 5, 6, 7, 12 ]
 }
 ] }
 ] 
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: