Facebook-RTB广告投放及策略工程师工作

我希望这是一篇有意思的博客,虽然内容里没有代码,没有技术名词。我想说说Facebook广告投放是怎么回事,然后说说作为策略工程师的一些感受。 首先说明,策略的内容不能谈,工作里确实见过不少,每个广告主都有不同的想法,我们也有自己的想法,但一是直接把这些放在这里不合适,毕竟不都是我的想法,二是看起来没有必胜的策略,所以如果想看这个就请忽略本文吧。

Facebook广告

因为我是做这个的,先谈谈对自动管理系统的认识:

我觉得一直存在一个误区,好像用了自动投放系统,效果就能特别好,量级又大成本又低。其实不是的,广告的效果本身是取决于产品(魔兽就是比一个不知名的MMORPG好投),其次取决于创意(美女图片ctr就是比一般产品高),自动投放系统只是控制广告的预算出价和开关,它没有能力把一个坏创意或者坏产品变成好的,它能做的,其实也只是在广告量价关系上的改善:把好创意尽量多投(高出价高预算),把坏创意尽量少投(及早关停)。

下面说正经的:

原理篇

Facebook有四种竞价方式:CPM, CPC, oCPM和CPA。前两种分别是对M(展现)和C(点击)出价,后两种都是为A(激活)出价,但结算方式不同。 从覆盖人群能力讲,CPM>CPC>oCPM>CPA,因为CPC相比CPM要做ctr的预估,这就会过滤到一批不合理的人群,oCPM与CPC同理。 通常而言,App广告主都会选择oCPM或CPA,但CPA要求广告账户有足够的安装积累为前提,因此并非一开始就可以用,所以oCPM相比而言用的最多。但题外一句,CPA对成本控制会更好。 但无论是哪种竞价方式,Facebook在内部都是会进行广告排序,然后决定对这个流量展现哪个广告,而广告排序,就必然要统一到CPM级别,CPC广告会根据预估的ctr和当前的C单价去计算一个CPM,oCPM和CPA则是要预估ctr和cvr,然后反算一个CPM。 Facebook的广告排序不仅考虑CPM(即谁的出价高),同时也要考虑广告的品质,即质量得分(relevance score),当用户Like转发品论广告时,relevance score会提高,反之当他们关闭广告时,relevance score会降低。 最终,每个广告会获得一个分数,这个分数取决于CPM和relevance score

score = CPM + a * relevance_score

当然,尽管Facebook对外暴露出的relevance score只有1-10,但它内部肯定有更详细的指标,只是我们可以把relevance score作为一个定性指标了。 从这个角度出发,提高广告曝光有两个途径:提高广告质量, 提高广告出价(无论是A,C,还是M)。 Facebook还有一个因素是daily budget,因为pacing算法的存在,daily budget其实也是对广告花费量级有影响的。

指标篇

当广告投起来后,我们就会看到展现,点击,安装,常用的几个指标:ctr, cvr, cpm, cpa, spend, roi

ctr:click/impression,点击率太低的广告,要想想素材第一眼的吸引力
cvr:install/click,转化率太低的广告,可能主要是素材和产品不匹配,用户点进去了发现不是那么回事
cpm:1000*spend/impression,其实表示你覆盖的人群类别,
cpa:成本,广告主关心问题之一
spend:花费,广告主关心问题值二
roi:(income-spend)/spend,其实就是由cpa和spend决定的

这些指标,重要的不仅是绝对值,还有相对值:

和昨天同时段的比较

通常而言,CPA在投放地域的凌晨都会很高,而量级都会很少,以东南亚为例,我们通常都是在白天看数据,那么直接比较今天和昨天的CPA并不信服,而是应该看看今天和昨天同时段的情况。同理,周末的成本也会和平时不一样,这点也需要在比较时参考。

和理论值的比较

CPA在不同投放地域的表现不同,欧美的成本就是远高于东南亚,cvr对新游戏老游戏不同,在投放地域存在基准值,可以用于判断ctr和cvr是否合理,以及素材本身是否需要改进。

看趋势

有些时候成本或量级不符合要求,我们做了某些调整,但如果只看总体的效果,一段时间后仍然不符合预期,这时候需要仔细去分析小时数据的变化,即调整后怎么样了,才能合理评估调整的效果。这里面的一个黑科技是,通常调整后的一个小时,成本都有可能飙高,所以一是不要调整太频繁,二是看3-4个小时的效果较好。

再说说绝对值的事情:

要看花费后再看CPA/ctr/cvr

花费只是几十美金的情况下,看CPA/ctr/cvr的绝对值高低参考意义不大。一定量级后再分析成本,包括离线模型也会滤除花费太少的ad。

CPM与ctr*cvr是正相关的

投出的CPM某种程度上代表了你买到的人群,抛去特定产品的因素,人群本身对游戏的转化率也是不同的,比如有些人群会更喜欢玩游戏,当然,对他们的竞争也更激烈,表现为CPM也更高。 所以这里的一个黑科技是,覆盖不同的人群,因为本质上说,CPM增加和ctr*cvr增加速率高低,决定了CPA的大小,所以如果能够在指定人群上取得增量收益,即虽然花的钱多,但ctr*cvr增加更多,你还是能够降低成本的。

设置篇

素材

做好素材,这不用多说了,原则上你素材够好,下面我写的都可以不用看了

多尝试不同的素材类型,比如轮播,视频,尤其是新广告形式刚刚上线的时候
文案意义不大,从目前的情况看,把语言搞对就行了

定向

不要在一个定向上设置多于4个创意,否则也会竞争
不要在一个地域定向里包含太多国家,除非有必要这样做(比如每个国家人群太小)
对太大的游戏设置wifi-only
设置排除app和page like
一版friend of connection没什么用
游戏性别基本就是男性,应用可以混着
受众比较有用
兴趣其实用一般都名词就好,太细了除非你有研究
。。。
保证你的受众人群不要太小,越小竞争肯定越激烈

设置

bid方法很多,我很推荐用我们的系统,简单来说,就按广告主的设置也可以,或者了解投放地域特点大致设置
daily budget 如果是应用,不要太高,如果是游戏,就看要不要量级
pause/start 创意级别开关可以的,但最好不要只看凌晨的数据
autobid: 有些时候结合daily budget可以,有些时候测试图不错,有些时候也会飞

策略工程师随想

其实最开始到RTB项目组,我们日常最花费精力的事情就是投放广告case的维护,现在想想,这应该是策略工程师的日常。

运营会反馈:“我的广告投不出去了”,“我的广告成本不行”,“我的广告花费速度比昨天慢了”,“我的广告被拒了”。。。

策略工程师的任务 第一步来说,是通过后台投放的逻辑和数据分析,去发现问题究竟出在哪里。

比如广告花费少,是因为内部排序的win\_rate低,那么是不是这个case单价过低,比如广告内部win\_rate不低,但在Ad Exchange上的win\_rate低,那么对比几天,看看是不是有土豪对手在竞价。。。再比如成本相差大,看看是不是ctr预估不准,是离线的问题,能不能加在线的因素控制,是在线的问题,看看会不会是时间窗口问题。。。

第二步,是根据发现的情况,给运营建议。因为在RTB投放里,运营看到的是一个黑盒系统,策略工程师实现系统,他可以了解问题出在哪里。

比如是创意不行,还是出价过低,定向人群过少,或者其它的一些设置不合理(初始探测预算较小),也有可能问题是系统本身的问题,简单说是bug,复杂说可能是系统现在的局限。比如新创意没有保护,是否考虑保护一段时间,至少让它有一定的展现,万一是ctr, cvr很高的case呢

第三步,是总结常见的问题,进行系统改进。策略工程师相比运营更加理性,同时可以了解更多运营的通用需求,这种情况下,去总结问题,将它变成策略。 策略要注意的是实验,条件允许的情况下,总要通过A/B测试去确定策略是否合理。 策略同样要注意case by case的特点,广告主的诉求彼此不同,通常在投放的不同阶段也不会相同,所以策略总是有使用条件的,甚至有些时候,为特定广告主特定调整参数,也是完全可能的。

第四步,和前三步不同,那就是问题未必来自运营的直接反馈,而是自己的主动发现。 广告的核心问题,就是量级和成本的关系。我们总是希望用少的成本,同时获取高的量级。

当然它们本身是矛盾的,但总有一个平衡点,比如广告的动态出价,依赖当前广告的实际成本,去反馈不一样的出价,当前成本高了,实际出价低些,反之高些

这些大概都是两年以前在RTB项目组做项目的体会,现在居然还有不少印象。我在RTB项目组只呆了半年的时间,后来新成立Facebook项目组,我是从零开始的参与,事情类别多了很多,比如要先开始搭广告管理和统计的服务,研究Facebook API,后来又做数据支持和应用,但很大一部分工作,仍然是在策略上。 Facebook的模式和RTB不太一样,RTB是对每个流量竞价,你有个内部广告库,要过滤后排序,然后给出一个流量的绝对出价;Facebook你看不到每个流量,也不需要你对广告自己做排序,但要你为每个定向决定出价。从模式上说,Facebook很像做SEO,从技术上说,Facebook模式里,我们扮演的是RTB运营的角色,内部广告系统对我们是黑盒,我们要决定该怎么参与其中。 关于Facebook投放中的一些指标,在上面已经提了,总体而言,因为Facebook的黑盒特点,策略工程师的事情更不容易做,但我也在想办法更好的去理解它。