本文主要记录计算广告领域中媒体方增加收入的过程中遇到的问题和解决思路。
广告预加载
问题描述
广告请求本身是一个比较耗时的过程,主要在于网络通信、DSP检索排序广告并出价、ADX竞价等时间。对ADX和DSP而言,希望能放宽时延,以充分发挥召回和排序模型的性能。对媒体而言,希望能减少时延,尽快返回,以提升用户体验。
解决方法
在广告展示之前,提前缓存好广告素材,在放宽时延的同时也能流畅播放广告,从而提升用户体验。例如APP开屏广告、视频广告等。
广告异步加载
问题描述
媒体APP通常采用内容和广告共用同一个请求的同步方案,而且是每次打开APP的瞬间,就发送请求。这样的技术方案简单,且可以在媒体服务器侧做各种操作,比如渲染、内容和广告混排与重拍等,但是也会遇到一些问题:
- 在广告预加载中提高的ADX和媒体之间的时延矛盾。如果预留给ADX的时间较短,则影响DSP填充率和排序效果,继而影响各方收益。
- 同步加载好多个广告之后,但是用户没有滑动到广告位置,所以广告没有机会曝光,则会导致广告位展示率非常低,即无形增加ADX和DSP的运行成本,继而影响DSP填充率。
解决方法
把媒体APP的内容和广告拆分为不同请求的异步方案。一般可以通过提前N个内容位出发广告请求,N可以根据实际效果进行配置,比如不同机型处理时间和广告位置差异等。
- 异步方案可以给ADX和DSP预留更多时间处理,从而可以直接影响DSP填充率,间接提高DSP挑选出的广告质量。
- 异步方案可以彻底解决掉无效请求,即请求返回的广告没有机会曝光展示的请求。直接提高媒体展示率,挤压库存水分。同时也减轻了各方服务器压力和成本。
- 但是异步方案对媒体控制短时间内广告重复曝光的用户体验提出了更高的要求。
广告素材缓存
问题描述
即使采用了异步方案解决了大量无效请求,但仍然会存在一定比例的请求未曝光的广告素材;
即使采用了异步方案放宽了时延,但仍然会存在一定比例的请求得不到DSP的填充。
有没有方法可以解决上述问题带来的损失?
解决方法
媒体或ADX的服务器或端侧可以为每一个用户创建一个上限为M的缓存池,每次请求返回的广告素材都可以保存进去。如果端侧发生了曝光或者超过Y小时,则将其从缓存中删除,具体M和Y取值可以根据用户活跃程度、DSP失效时间等设定。缓存池的入队和出队策略可以参考如下:
- FIFO:按照首次请求返回的时间排序,最先进来的最先出去;
- LRU:按照最后一次使用的时间排序,最久没被使用的最先出去;
- 低价值优先:按照ECPM大小排序,最低价值的最先出去;
当发生请求时,可以采用的策略参考如下:
- 优先缓存策略:优先从缓存中取,若缓存为空,则发送广告请求;
- 优先请求策略:优先发送广告请求,若无填充,则从缓存中取;
- 混合请求策略:基于每次请求时的上下文和用户特征进行判断是走优先缓存策略还是优先请求策略。比如实时预估每一次请求的展示率,若展示率高于一定阈值,则采用优先请求策略,反之相反。
广告密度控制
问题描述
要说到用户体验,没有广告是最好的,但是没有广告的锤子手机已经倒闭了,所以还是需要广告营收来维持媒体的生存。因此用户使用时长和广告曝光密度又是一对矛盾体。
解决方法
- 用户忍耐度建模:综合考虑用户的使用时长、曝光/点击/转化次数、负反馈次数等各种数据,对用户的广告忍耐度进行建模,实时对每一次请求打分,此推理数据可以作为CTR/CVR模型的特征,也可以直接根据这个值判定是否填充广告。
- 动态广告位方案一:媒体端侧增加动态调整广告位的能力,即端侧根据用户状态、环境等信息实时调整广告位置。
- 动态广告位方案二:阿里妈妈提出了一种方法《智能商业化模式:信息流广告的动态展现策略》,将广告动态位置展示问题建模为一个动态背包问题,以适配多样的优化目标和约束;然后提出分层约束下的动态广告展现方法HCA2E;最后在端侧搭建了一个混合系统,用于混排内容和广告位置。
欢迎各位留言交流
本文永久更新地址: https://notlate.cn/p/056c86049135cef2/
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?