互联网广告引擎之常用定向功能,互联网引擎


一:地域定向:

        1:功能简述和实现:

        功能描述:地域定向是广告投放中常用的功能,如用户在投放界面设置了定向到北京,上海和深圳,那么该投放只能在北京,上海和深圳投放。

        实现(显示广告):用户请求过来,通过socket拿到用户ip,然后从ip库中找到该ip属于哪个地域,如果符合定向(或非定向)条件,则可以投放。

        实现(dsp):ssp会传递用户的ip,或者geoid(如google adexchange),如果传递的bidrequest中的是ip,你们从ip库中查询地域,如果传递的是geoid,则从ssp提供的geo table中查询该用户属于哪个地域,然后和投放设置条件进行匹配,匹配成功的可以投放,不成功的投放进行过滤。

        2:常见问题

        用户有时候发现看到的报表和实际设置的定向地域并不一致,常见原因是ip库版本不一致,如投放机使用的ip库版本是今年6月份的,而倒库程序/云程序使用的ip版本是今年3月份的。

        3:ip库

        说到地域定向,不得不提ip库,很多互联网公司都有自己的ip库文件,比如做投放广告的公司有自己的ip库文件,并且做第三方监测的公司也有自己的ip库文件,如果他们ip库不一致,就可能出现报表地域不一致的情况。

        再国内,大家比较认可的ip库有标准联盟ip库,包括腾讯,百度,盛大,sina,优酷和土豆等都是联盟ip库的成员,使用联盟ip库的好处就是大家能保持ip库一致,不会出现地域数据不一致的情况。

二:浏览器语言定向

描述:根据用户使用的浏览器语言来选择是否投放广告,以前的投放系统基本都有改功能,但实际应用中很少有客户使用该功能。

实现:根据http client传递的Accept-Language字段的值来获取浏览器语言信息,和客户对投放进行的定向设置来进行比较,如果匹配成功,则定向成功。

三:操作系统/浏览器定向

描述:根据用户使用的操作系统/浏览器来选择是否投放广告(注:操作系统和浏览器是两个不同的定向)
实现:http client进行get/post请求的时候,会附带一个User-Agent的信息,其中包括操作系统,浏览器、版本、语言等信息,根据用户设置到User-Agent的值中查找是否能够找到,如果能找到,则定向成功。

User-Agent样列:

"Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0"

常见问题分析:

曾经有一个投放设置的是非safari浏览器定向,表示如果不是safari浏览器则可以投放,但是从日志总看到有少量client发上来的User-Agent中带有safari,并且也带有chrome,所以该投放不能投,而用户说chrome的希望能投放。所以这些client的访问就达不到用户的要求,面对这种情况,有可能是某些客户端的http请求被修改的不正确了。

 四:ip黑白名单/referer黑白名单

背景:

1:比如客户投放的广告希望某些特定ip不能投放,则设置ip黑名单。

2:ip白名单和地域定向设计的是一种或的关系,即当同时设置ip白名单和地域定向的时候,只要其中一种定向成立即可投放。这种场景应用为,比如上海的客户设置的投放地域定向为北京,所以该客户自己是看不到自己投放的广告的,此时如果将客户自己的ip设置为白名单,则能看到自己投放的广告。

3:比如客户京东,做的广告希望出现在自己的网页上,则可以将www.jd.com设置为referer白名单,比如京东不希望自己的广告出现在易迅的页面上,则设置易迅为黑名单,所以referer白名单通常设置为自己想要投放的页面,而黑名单则通常是设置为竞争对手的页面。

描述:

ip黑白名单,设置为投放是否能够在某些客户端投放或者不能投放。ip白名单和地域定向为或的关系。

referfer黑白名单:设置投放为某些页面可以或者不能投放。具体可以设置为url或者域名匹配。

实现:

ip黑白名单设置可能会比较多,为了提高效率,通常在投放系统加载设置之后便进行排序,以便在查找的时候使用二分查找。

同样referer黑白名单设置也可能会比较多,一般投放系统会将referer黑白名单加载到一个set对象中,以便查找的时候能够高效率。

五:关键字定向

描述:

该功能是一种很常用的功能,主要用于媒体和广告公司之间合作传递一些用户信息,然后用于定向。

比如某个广告需要投放到25到35岁的男性,则会在广告请求代码中带上用户信息,在投放做定向的时候,如果满足设置的条件,则可以投放。

该功能还常用于视频网站,比如某些用户看了某些电视或者电影则可以投放某些广告。

实现:

关键字信息一般描述为keyvalue=key1|value;......keyn|valuen

定向要求一般为((key1=value1)||key2=value2)&&(key3>value3&&key4<value4)

定向表达式可以是非常复杂的,对于这种情况处理起来比较麻烦,仔细观察发现表达式都是一种部分与整体的关系,每个括号里面的表达式都是一个整体,每个key,value都是一个部分,部分整体的关系正好对应设计模式中的组合模式,所以就可以很容易的解决问题了。

 遇到的问题:

某视频网站所有的投放都设置了关键字定向,并且每个定向中的关键字都有几十个到上百个,导致tps迅速下降,以至于投放机不能支撑该网站的投放,后来只能暂时加机器来解决该问题,在程序方面也对代码进行了优化及减少拷贝处理等重新升级上线。

六:频次/间隔定向

描述:

某个投放/订单对于某个用户,在一天只能投放6次称为频次定向

某个投放/订单对于某个用户,在每次显示之后,60秒之内不能在显示。称为时间间隔定向

实现方式:

频次定向有两种实现方式:

一种是在浏览器端总cookie的方式,另外一种则是通过将一个用户的显示信息存放到另外一个server,每次请求的时候,如果有频次定向则到server获取投放信息。对于dsp只能选择第二种方式来说实现。

常见问题:

对于频次定向有两种常见问题:

一是缺量问题,特别是设置订单频次/间隔比较容易缺量,比如一个广告位一天有100个cmp的量,广告位下面的投放设置的投放数量为100个cpm并且设置了频次定向,则很有可能投放不完成,所有因为频次定向不出的投放都出打底广告。

二是超频问题:当投放/订单出现在同一个页面上的时候。因为第一个广告位请求的时候带的请求次数是0,返回的时候带的请求次数是1,如果在第一个广告位返回之前进来第二个请求,则第二个广告位的返回显示次数也是1,则第三次请求的时候带上的请求次数是1,则会超频。


 

以上是做的一些简单的举例,其实还有很多的定向,包括在广告投放引擎,dsp后台投放服务,以及adexchange的后台投放服务都有定向。

原文写于2013年,最初写于网易博客

相关内容

    暂无相关文章