程序化广告- CookieMapping 略谈

(看这篇文章的时候最好带上纸笔,可能不那么通俗易懂)

简介

要想无障碍阅读这篇文章,你先需要了解几个名词。

  • DSP: DSP(Demand-Side Platform),就是需求方平台。通俗的理解它就是投放广告的第三方技术平台。 百度百科:DSP   维基百科:DSP
  • DMP:DMP(Data Management Platform)数据管理平台。DMP 会根据设备的 ID 对用户进行特性的标注。例如:年龄,性别,兴趣爱好。这些标注的信息最后可以供 DSP 投放使用。 百度百科:DMP    维基百科:DMP
  • SSP:SSP(Sell-Side Platfrom)供应方平台,是站长服务平台。百度百科:SSP   维基百科:SSP
  • Adx Exchange:Ad Exchange即互联网广告交易平台,它联系着DSP(买方平台)和SSP(卖方平台),通过接入SSP汇集大量媒体流量,从而收集处理属于广告目标客户的数据,Ad Exchange是实现精准营销的交易场所。百度百科:ADX

ADX、SSP、DSP 和 DMP 之间的关系

ADX、DSP 和 DMP

箭头1,ADX 请求 DSP,问 DSP 是否决策需要此次广告机会。(注意:通常情况下 1 和 a 都是服务端发送请求)
箭头2,DSP 收到请求,解析完请求获取用户 ID 携带用户 ID 去请求 DMP,问 DMP 此用户的属性。(注:不排除 DSP 拥有自身的 DMP,也不排除有些广告不使用 DMP)
箭头3,DMP 响应用户 ID 对应的属性信息。
箭头4,DSP 根据属性信息和自身的选择逻辑决策是否要此次广告机会,进而响应给 ADX
最后 ADX 根据 DSP 的响应结果,和播放策略决定是否展示广告。

ADX、SSP、DSP 和 DMP

和上面的区别是加入了 SSP。可以简单地理解多了一层流量转发和控制。请求的时候,ADX 首先把流量给到 SSP,SSP 再把流量给到 DSP;响应的时候,DSP 先把结果响应给到 SSP,SSP 再把响应结果给到 ADX。至于为什么要这么做,这么做对各方的利弊是什么,以后文章再详细解释。

正文

什么是 Cookie

Cookie:指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。维基百科:Cookie 百度百科:Cookie
鉴于 Cookie 的这种特性,所以很多网站会通过给客户端种 Cookie 来记录信息,例如:给客户端用户种上用户 ID。而这个 ID 正是 CookieMapping 的 ID。种 Cookie 的时候会指定 Cookie 的名称和 Cookie 的值,同时也会指定 Cookie 的失效时间等信息。如下图是腾讯视频下的 Cookie 展示。
注意:cookie 的存放和域名相绑定。google.com 下存放谷歌的 cookie,baidu.com 下存放百度的 cookie。不同子域名下也存放不同子域名的 Cookie。网站(域名)拥有者可以在用户 客户端 访问自己网站(域名)的时候,获取客户端已存在的 Cookie,同时也可以种植新的 Cookie。

为什么要进行 CookieMapping?

ADX 和 DSP、SSP 的 mapping

因为众多 ADX 都是服务端向 DSP 和 SSP 发送请求,DSP 和 SSP 都不能识别出自己的用户 Cookie(仅客户端请求才能获取 Cookie)。所以 DSP 和 SSP 需要 ADX 提前发起 mapping。通常的做法是: ADX 在自己的网站页面上嵌入 DSP 和 SSP 的域名,用户打开页面的时候 ADX 主动去触发(异步)嵌入的域名地址并且携带 ADX 自身的用户 ID。举例如下:

DSP 的 mapping 地址:https://mapping.dsp.com/pixel.gif?ext=adx1&uid={EXT}

其中 ext 用来区分 mapping 的来源,{EXT} 供mapping 发送方替换成发送方的用户 ID(前面提到:网站通过域名地址只能获取自己的 cookie,所以想获取其它方的 Cookie 只能通过传参的方式)。

SSP 的 mapping 地址:https://mapping.ssp.com/pixel.gif?ext=ssp1&uid={EXT}

同上。

通过这样的 mapping,ADX 和 SSP 方就可以分别存下 ADX_USERID —- DSP_USERID  和 ADX_USERID —- SSP_USERID 的映射关系了。下次投放的时候在 ADX 服务端请求发送过来 ADX_USERID 的时候 DSP 和 SSP 就能从仓库里面匹配出来各自 USERID 了。

SSP 和 DSP 的 mapping

mapping 存放方在 DSP 方。

1. 如果 SSP 转发的 ADX 已经和对应投放过的 DSP 做过 mapping,SSP 可以直接在请求的时候直接携带 ADX 传输给 SSP 的 ADX 的 USERID。这样 DSP 也是可以识别的。

2. 如果 SSP 转发的 ADX 没有和对应投放过的 DSP 做过 mapping,那么需要 SSP 先和 DSP 做 mapping。具体如下:

  • ADX 发 mapping 给 SSP:SSP 存取 ADX_USERID —- SSP_USERID(存放方在 SSP 方)
  • SSP 携带 SSP USER_ID 转发给 DSP:DSP 存取 SSP_USERID—-DSP_USERID(存放方在 DSP 方)

最终实现客户端用户的识别。

DSP 和 DMP 的 mapping

DMP 如何识别 DSP 的用户 ID?要么 DMP 存放和 DSP 用户 ID 的 mapping,DMP 收到 DSP 用户 ID 的请求后进行转换,要么 DSP 直接携带 DMP 的用户 ID 去请求 DMP。所以,DSP 和 DMP 的 mapping 在行业种目前存在两种情况,一种是 mapping 关系由 DSP 存放,另外一种 mapping 关系由 DMP 存放。

实际上和上面 SSP 异步转发 ADX 的 mapping 请求原理一样:

  • 如果是 DSP 存放 mapping 的情况,DMP 方收到 ADX 客户端监测请求(行业中 PC 端 DMP 方一般都是监测方)后会异步请求合作的 DSP。DSP 收到请求后记录 DMP_USERID —- DSP__USERID 的关系。
  • 如果是 DMP 存放 mapping 的情况,DSP 方收到 ADX 客户端曝光请求(广告展示)后会异步请求合作的 DMP。DMP 收到请求后记录 DSP__USERID—-DMP_USERID。

 mapping 存放规则和存放方

经过上面的介绍,梳理 mapping 的存放方和存放规则(key–value)关系如下:

当然,一篇文章是没办法详尽的说清楚所有的概念。留下一些思考题:

  • 用户 Cookie 的值最好能够包含什么信息?为什么?
  • ADX 如何控制对 DSP 的 mapping?
  • DSP 没有匹配出 ADX 的 cookie 该怎么操作?
  • 广告请求的 mapping 关系和广告曝光的 mapping 关系不一致时,怎么办?

你也可以评论或者邮件 i@searchp.cc 提出你的疑问,同时也可以帮忙指正文章错误。

发表评论

电子邮件地址不会被公开。 必填项已用*标注