穿山甲培训链接:https://pokepangle.feishu.cn/minutes/obcnwpv5zys3k69f82oiyn87
文档链接:https://bytedance.feishu.cn/docx/doxcnDdP3E9t0Y2Pz3xFAsw0jqh
原理以及比价逻辑,帮助大家快速地了解 bidding 第二部分是接入流程的简介,以及如何选择更适合的瀑布流配置和接入方案。最后一部分会解答一些常见的数据问题,并且介绍 bidding 收益验证的正确方式。首先就是今天分享的第一个部分 bidding 原理的介绍。 bidding 其实是一种实时的竞价方式,它会对每一个收到的请求都进行出价,比价之后价高者得。和传统的 waterfall 也就是瀑布流相比,这其实是一种更加透明并且高效的比价方式。在传统的 waterfall 场景下,开发者需要逐个价格层级依次发出请求,询问对应的 ADN 当下这个请求我按照某一个固定的价格,你能否给到我填充,而 bidding 它则是同时询问各个 ADN 当下这个请求你们各家的出价是多少?选择价格最高的那一个,获得这次展示机会,相比之下必定的优势就很明显了。
首先我们从收益上来看,各个参竞方都可以公平地参与竞价,并且价高者得就保证了收益的最大化。然后从效率上来看,由于不像普通的 waterfall 那样,我们需要设置多个价格层级以及频繁地调整,这就极大地提高了我们的配置效率。最后因为 bidding 在填充更高的同时又耗时更短,在体验上也是更好的。
那么引入了 bidding 之后, grow more 是如何进行比价和展示的呢?就如这个图例所示,我们首先 grow more 会向 bidding 和 waterfall 代码位同时发起请求,然后用 bidding 返回的价格和 waterfall 有返回键代码位的底价进行比价。价高者得整个比价逻辑呢是很清晰公平的,并且因为价高者得,我们就保证了收益的最大化。不过在使用的过程中有两点细节需要注意,之前就有不少开发者因为配置错误影响了比价和收益。
第一点就是对于 waterfall 代码位, gormo 底价和实际底价务必保持一致。那么这两个底价是什么?有什么区别呢?首先 Gorm 底价它指的是在 gromore 平台配置的价格,也就是我截图里所标出来的这个价格。它只用于瀑布流的排序和预估时,收益并不是真实返回的价格。而实际的底价它指的是大家在各个 ADN 平台配置的那个价格,是真实返回的价格。
以穿山甲为例,也就是期望 CPM 为什么要强调这两个价格务必要保持一致,是因为我们 grow more 在比价的过程中使用的是 grow more 底价,而不是实际的底价。如果这两个设价不一致,那么是可能会影响到收益的,这样说可能会比较抽象。
我们来看一个具体的例子,以穿山甲为例,一个 waterfall 的代码位,如果 Gorm 的设置底价是 10 元,而实际的在穿山甲设置的底价是 5 元,这个时候 bidding 出价 9 元。如果 waterfall 有填充,那么 growmall 就会用 grow more 底价 10 元和 bidding 出价 9 元进行比较,这两个价格相比,那自然是 10 元会胜出,也就是 waterfall 胜出了。但是实际情况我们去看,waterfall它的实际价格是 5 元,它是比 bidding 的出价 9 元是要低的,这个中间就产生了 4 元的折损。其实真正这个时候应该竞胜的应该是 bidding 才对。
所以说各个开发者在 gromore 完成了设价之后,请千万注意一定要在 atn 平台进行设价,即使是穿山甲的代码位也是这样的,因为你只在 gromore 中设价,它并不会在各个 ADN 平台实际生效,所以请务必注意避免造成收益的损失。第二点就是关于 waterfall 的兜底层和 bidding 代码位。上面我也有讲到 grow more ,它会使用 grow more 底价和 bidding 出价进行比价,兜底层在 grow more 的底价是0,所以说这两者进行比价,那么一定是必定会胜出的。
这个时候有朋友会问了兜底底层和 bidding 它都不设置底价,这两者有什么样的区别呢?其实我们通过对比请求比价逻辑就可以看出来,兜底层它只有在上层的代码位和 bidding 都没有返回的时候,它才能得到请求和展示的机会。因此它只是单纯地起到了一个兜底的作用,防止部分流量被浪费。当然如果你的流量质量太差,它哪怕到了兜底层也是可能会被 drop 掉的。
那么这样看来,兜底层它的 ECPM 其实是不具有可比性的,因为我们不确定每一次他兜住的到底是什么样的流量,它的价格可能高也可能低。所以我们就不建议说将兜底层和 bidding 代码位的 ECPM 进行对比。而且我们在 bidding 满填充的情况下,那么其实就不太需要兜底了,自然也就不需要设置我们的兜底层。
对 bidding 和比价逻辑有了一定的了解之后就该进行接入配置了。那也就是我们今天分享的第二部分。在 grow more 中接入 bidding 也很简单,总共就需要三步,第一步,获取 bidding 权限,第二步,接入 SDK 第三步,配置 bidding 代码位。首先是第一步获取各家 bidding 的权限。我们目前接入 grow more 之后就会自动获取穿山甲 bidding 的权限,不需要额外的申请,并且我们可以拿到展示后的 ECPM 但是需要注意的是,穿山甲的 bidding 只能用于 grow more 其他 ADN 的 bidding 权限就需要去对应的平台申请了。获取到权限之后,在 grow 末开通白名单就可以使用。这个白名单的开通流程也很简单,我们联系对应的运营同学或者递交工单就可以了。
目前优量汇、百度、快手都只支持客户端 bidding 其中优量汇 bidding 是需要通过自定义 ADN 接入的。获取到权限之后,那我们就可以根据我们所需要的 adapter 接入对应版本的 grow more SDK 如果你不知道选择哪个版本其实也很简单,那就是可以选择接入我们的最新版。我们目前推荐的是 3404 及以上的版本,在功能和比价逻辑上都更加的完善,大家可以接入使用。
收获总结:
1.waterfall中的代码为必须和真实代码位价格保持一致,有利于获取真实底价提高收益
2.瀑布流中至少保留一个有底价的穿山甲代码位,其他adn代码位没有获取设置底价权限的情况下,开通自动排序功能,可适当设置,不必太多。
3.bindding代码位不止可以设置一个穿山甲的bidding,其他聚合bidding有权限的话,可以联系穿山甲运营申通开通即可,增加竞价能力。
聚合数据可以查看净胜率和净胜次数,观察净胜率是否和展示率差异较大,较大可以使用诊断分析,分析问题进行调优。