第三方cookie马上就不让用了,互联网广告还怎么玩?

大前端 @ 阿里巴巴

文/寒雁

Chrome Developer Summit 2020的一些话题挺有意思的,其中A more private way to measure ad conversions是关于互联网广告的,值得关注,这是互联网广告的未来方向。在第三方Cookie限制越来越多且很快就会被禁用的情况下,广告作为互联网最核心的商业模式之一,还怎么玩下去?

背景

雅虎早就不存在,这个靠手动建立互联网索引的“落后”公司,现在大家应该都瞧不上了。不过,《浪潮之巅》的作者吴军老师对雅虎的评价还是很高的:

一百年后,如果人们只记得两个对互联网贡献最大的人,那么这两个人很可能是杨志远(Jerry Yang)和戴维•费罗(Davide Filo),而不是今天名气更大的互联网企业家佩奇、布林或者扎克伯格。

为什么?因为雅虎制定了互联网行业的游戏规则:开放、免费和盈利。虽然这个规则现在有点被玩坏了,大体还没有变化。绝大部分互联网产品本身都是对用户免费的,获取足够流量之后,再通过广告变现,本质上,Google、Facebook、阿里巴巴、百度、美团、字节跳动、拼多多这些互联网巨头都是广告公司,只是卖的广告类型不一样而已。

不过,随着各国对于用户数据隐私的保护越来越严格,互联网广告这个商业模式当前遇到了非常大的挑战。

因为Apple调整了隐私政策,Facebook在纽约时报、华盛顿邮报、华尔街日报上刊发整版广告反对,不难感受到,小扎同学已经出离的愤怒了:(

AD-Standing-up-to-Apple-for-small-business.png

互联网广告现在越来越精准了,我们在A站点看的东西,怎么就跑到B站点的广告里面去了?其中关键之一就是第三方cookie,广告巨头比如Google可以通过第三方cookie把我们在很多不同网站的行为给串联起来,你说它的广告能不准吗?想要理解这一点,不妨看一下基于cookie的广告是怎么做的。

基于cookie的广告是怎么做

with-cookies.jpg

  • news.example是新闻站点,流量很高,靠互联网广告赚钱
  • shoes.example是卖鞋的购物网站,需要通过投放广告获取用户
  • adtech.example是广告服务商,shoes.example可以通过adtech.example在news.example投放广告
  • 用户在news.example站点看新闻,会加载adtech.example的广告JS脚本(用于展现广告、记录广告浏览和点击数据),点击广告就可以跳转到了shoes.example站点
  • 用户访问shoes.example的时候,也会加载adtech.example的JS脚本(用于记录下单数据)
  • adtech.example的JS脚本可以为每一个用户生成唯一的用户ID,保存到cookie中,并发送到adtech.example的服务器,通过唯一ID将用户在news.example的广告浏览、点击数据与用户在shoes.example下单数据合并分析,计算广告的转化率

广告服务商adtech.example之所以可以计算广告转化率,原因在于它为每一个用户生成了唯一ID,并保存在cookie中。adtech.example的cookie对于news.example和shoes.example来说,都是第三方cookie(third party cookie,图中缩写为3P cookie,这个缩写有点奇怪)。

在Chrome中,第三方cookie现在还是可以用的,只要cookie的SameSite属性设为None,同时设置Secure属性即可。

但是,Chrome计划在2022年停止支持第三方Cookie,这就意味着广告服务商adtech.example无法再通过Cookie来追踪用户了。其他主流的浏览器,比如Safari 13.1已经禁止使用第三方cookie了,Firefox和Edge也在做类似的事情。所以,禁用第三方Cookie是迟早的事情,会比我们想象中快很多。

那时候,就算你把SameSite设为None,也不管用了,所以说,这是一个价值数千亿美金的None,价值数十亿美元的空指针还要贵很多。

Google既然敢说2年内不再支持第三方Cookie,肯定有其他办法继续卖广告,毕竟它是互联网最大的广告商之一啊。

没有cookie的广告是怎么做

diagram-overview.jpg

故事的主角没变:

  • news.example是新闻站点,流量很高,靠互联网广告赚钱
  • shoes.example是卖鞋的购物网站,需要通过投放广告获取用户
  • adtech.example是广告服务商,shoes.example可以通过adtech.example在news.example投放广告

区别在于,广告商不再使用cookie保存用户的唯一ID,没法通过cookie来把用户在news.example点击广告的行为与用户在adtech.example的下单行为关联起来了,那这广告转化率还怎么算?

这时候Chrome就出来说了,你们别想什么数据都拿走了,我来决定给你什么数据,提出了Event Conversion Measurement API。

  • 用户在news.example站点看新闻,会加载adtech.example的广告JS脚本,因此可以看到shoes.example的广告,点击广告就可以跳转到了shoes.example站点,用户的点击行为会记录到浏览器,存在本地
  • 用户访问shoes.example的时候,用户的下单行为也会记录到浏览器
  • 根据adtech.example接入广告时配置的信息,浏览器可以把在news.example点击广告的行为与用户在adtech.example的下单行为关联起来,上报给广告服务商,这样广告服务商就可以计算转化率了
  • 浏览器在上报数据给广告服务商是,会进行一定的数据混淆,并且会有延时,这样可以进一步保护用户隐私。因为如果实时上报数据的话,广告服务商知道用户下单的准确时间,就能和广告主"串通"起来分析用户到底是谁。

由于跨站点的用户行为的关联是浏览器做的,因此广告服务商所能获取的用户数据将局限于浏览器所做的限制,Chrome可以决定给哪些数据、是否给完全精准的数据、什么时候给数据。Chrome的代码是开源的,Event Conversion Measurement API也是一个开放的标准,我们也不用担心Chrome会故意给自己留什么后门。

看起来一切都很完美,用户隐私得到了保护,news.example、shoes.example、adtech.example也都赚到了钱。

但是,这事对adtech.example来说,还是有点难受,因为它没法获取全面的用户数据,也没法实时分析广告转化率了,也没法把用户在各个站点的用户行为串联起来了。用户隐私的保护确实增强了,但是互联网广告商的日子不太好过了,这也是合理并且也是趋势吧,现在的广告商们确实玩得有点过火了,搜集了太多用户数据。

还有一个问题,Event Conversion Measurement API其实有点复杂的,只是我没有讲得特别细(大家估计也没兴趣),如果每一个浏览器都自己搞一套类似于Chrome的Event Conversion Measurement API,复杂度差不多,然后还不太一样,那也是一件很头疼的事情:(

思考

Chrome解决互联网广告问题的技术方案确实还有点意思,也值得关注。不过,我最大的感慨倒不是这个问题本身。说白了这只是Chrome改变互联网行业的一件比较小的事情,与其他事相比也没什么。

正如我在1年前的博客JavaScript深入浅出第5课:Chrome是如何成功的?中所写的,Chrome在诞生之初,就致力于推动Web技术向前发展:

We hope to collaborate with the entire community to help drive the web forward.

这样的话在2008年大概没人相信,但是这不重要,重要的是Google真的做到了,Chrome确实推动了Web技术的发展。没有Chrome的话,就没有V8引擎,就没有Node.js,就没有NPM,就没有Babel,就没有ESLint,就没有VS Code,就没有Vue/React,就没有现在异常繁荣的前端生态系统,也没有ECMAScript、HTTPS、HTTP/2、HTTP/3、WebAssemblys等Web相关技术标准的快速进步。

功利一点,如果没有Chrome,Google这个互联网最大的广告商,它要怎么解决第三方Cookie被限制的问题,恐怕会非常被动。Facebook没有浏览器和操作系统的控制权,面对Apple,也是束手无策,沦落到在报纸上发广告自救,而这又有什么用呢?

所以,如果巨头们如果还没有危机感,还不去深入研究计算机的底层技术,搭建自己的技术生态系统,以后遇到同样的挑战的时候,大概也只能去发发报纸广告了。

参考

分类:
前端
标签: