摘要:

RTB竞价中的cookie mapping技术解决DSP的cookie跟ad change的cookie匹配问题。

Cookie mapping分为两步:(1)google ad
exchange等在网站主网站上种cookie,记录用户信息,生成google_customer_nid  (2)用户在网站主网站上浏览时,有广告请求; google把请求302重定向到dsp,并携带加密过后的google_userid
。这样dsp就在用户电脑种cookie,并且建立映射表:google_userid---->dsp_user_cookie

RTB竞价中的cookie mapping技术

首先通过一些关键词解释普及或者回顾一下背景,

ADX:Ad exchange的简称。一般特指Ad exchange平台模块
DMP:Data Management Platform的简称。DMP存储了流量、受众的各种特征信息。
DSP:Demand Side Platform的简称。可以看做流量的购买方,为广告主服务。广告主可以通过DSP购买流量,达到营销的目的。DSP可以接入ad exchange中,参与cpm竞价,购买所需要的受众流量。
SSP:Supply Side Platform的简称。可以看做流量的供应方,为网站主服务。网站主可以通过SSP实现其流量变现,达到流量变现的目的。
Cookie mapping:DSP提供的一个平台cookie到DSP cookie的映射服务。
 
 

RTB中cookie mapping究竟是什么?

 
首先要明确一下cookie的重要性,RTB允许DSP在的Ad Exchange平台上做交易,在接入Ad Exchange的流量曝光上,针对每一个PV,每一个用户的属性进行分析以及竞价,从而购买到ROI最高的流量,所以RTB的核心在于“人”,在于人群的分析技术。
 
互联网上关于网民作为一个实体必须存在唯一标识,这个标识就必须依赖cookie,标识的产生通俗来讲就是“种cookie”技术。例如,访问neoremind.net,则可以在neoremind.net下种一个USERID=ABC123的cookie,该网民的身份证就是ABC123,而网站子域名,例如test.neoremind.net也可以共享使用此cookie。下文中USERID与用户标识混用,表示同一个概念。
 
像百度、google、淘宝等大站,本身其Ad Network覆盖庞大,加之其自身的人群分析技术,会积累了大量的关于网民用户的特征数据,这也就是说其自身已经是一个DMP,其分析出的访客特征数据对于DSP决定是否购买流量非常重要,当然DSP也可以利用自己的技术或者第三方DMP平台的数据自行灵活分析该用户。而其定义网民实体也是靠cookie,例如百度域下面的cookie BAIDUID就是百度所利用的标识。这个标识本身属于各个公司的重要数据,因此绝对不会暴露给第三方。
 
在RTB的一个重要环节——竞价中,bid request中一般会含有一个Ad Exchange平台提供的访客标识,这个标识可以理解为类似于USERID的cookie,但是绝对不会是Ad Exchange系统内部的ID,一般会利用非可逆加密算法做一次hash再给DSP,经过加密后的USERID我们叫做USERID’。而DSP一般需要针对bid request中的各种维度数据,包括PV信息,用户特征信息,广告位信息等决定是否购买此次曝光,还有现今流行的“再营销(retargeting)”技术必须依赖用户标识,所以这个USERID’是DSP需要的,DSP需要自行维护一个USERID’的matching
table,就是该USERID’与自己定义的用户标识的一个映射。
 

cookie mapping发生在竞价成功之后????两种情况。参考下面的例子。第一种生成映射表,第二种使用映射表竞价。
 

一般cookie mapping如何实现?

(1)用户请求  以下网址

<img src="http://cm.g.doubleclick.net/pixel?google_nid=1234&google_cm" />

(2)google返回google user id和 重定向网址

http://ad.network.com/pixel?google_gid=dGhpcyBpcyBhbiBleGFtGxl&google_cver=1

(3)用户浏览器请求以上网址。 ad.network.com是dsp 的网址。

  (4)  dsp得到cookie,建立与google user id 的映射

以下来自: https://developers.google.com/ad-exchange/rtb/cookie-guide

Cookie 匹配的工作原理

要在匹配表中建立关联,合作伙伴必须投放一个由 Google 提供,名为“匹配标记”的标记。匹配标记可以随合作伙伴的广告一起投放,也可以放置在广告以外的网络媒体资源上。其结构如下:

<img src="http://cm.g.doubleclick.net/pixel?google_nid=1234&google_cm" />

其中的 1234 需要替换为合作伙伴标识符(由 Google 提供)。

合作伙伴只有在还没有为此用户创建匹配条目(或该条目已过期)时才应投放此标记。

Google 会在收到用户浏览器的标记请求后,将 302 重定向传送给合作伙伴。此 302 重定向会在网址中加入 Google 用户 ID 和版本编号,并会在请求标头中加入合作伙伴 Cookie。合作伙伴负责提供网址,Google 则会添加额外的网址参数。举例来说,如果合作伙伴提供以下基准网址:

http://ad.network.com/pixel

Google 就会重定向至以下网址:

http://ad.network.com/pixel?google_gid=dGhpcyBpcyBhbiBleGFtGxl&google_cver=1

通过 google_gid 参数传送的 Google 用户 ID 是一个非叠加网址安全 base64 编码字符串。如果您在匹配表中存储了二进制(以 base64 解码)值,则需要在解码之前叠加该值(请参阅 RFC
3548
 的第三部分)。建议您将 Cookie 匹配服务返回的确切字符串存储在匹配表中。

请注意BidRequest 协议缓存中的 google_user_id 字段与
Cookie 匹配服务返回的 Google 用户 ID 相对应。

google_cver 参数可指明 Google 用户 ID 的数字版本编号。Google 可能会不时更改 Cookie 的模糊配置,并在每次更改时调高 google_cver 的值。

合作伙伴必须在收到此重定向(其请求标头包含合作伙伴 Cookie)之后,更新匹配表以添加此合作伙伴 Cookie 与 Google 用户 ID 之间的关联。合作伙伴随后需要在用户的浏览器上投放一个隐藏的 1x1 图片像素。

条目添加到匹配表中的速度与匹配标记向唯一身份用户投放的速度相同。

下图说明了这一过程。请求会按照 (1) 到 (4) 的顺序进行。在该图中,每个请求后面的括号中都会包含与请求一起发送的信息。

您可以视情况在请求中设置额外的网址参数。这些参数将会在重定向时传送到您的服务器:

<img src="http://cm.g.doubleclick.net/pixel?google_nid=1234&google_cm&extra1=xx&extra2=yy" />

所有不以 google_ 作为前缀的参数都会被复制到重定向网址中。参数传送到 Cookie 匹配服务中的顺序并不重要。同样,我们也无法保证额外参数在重定向网址中传送的顺序。

http://ad.network.com/pixel?google_gid=dGhpcyBpcyBhbiBleGFtGxl&google_cver=1&extra1=xx&extra2=yy

您可以使用这些参数来传送与展示有关的额外信息。额外参数的长度不应超过 1KB。

此外,您也可以向 Cookie 匹配服务发送 https(而非 http)请求。在这种情况下,重定向将会链接到相同的网址,但该网址的协议将会是 https(而非 http)。

示例情况

对于常规的网络用户,Cookie 匹配功能会如何在后台运作?我们来看看以下两种情况。

第 1 种情况:清除 Cookie

小丽清除了缓存中的所有 Cookie。随后,她访问了 ExampleNews.com 的首页。

对整个过程的说明如下:

  1. ExampleNews.com 将会显示并调用 Google (DFP) 的广告。
  2. 广告单元符合动态分配资格,因此 Ad Exchange 会调用 FinestDSP(以及其他 DSP)。
  3. FinestDSP 在其出价引擎中处理此调用。
  4. FinestDSP 赢得竞价,并将广告和匹配标记(像素)传送至 Ad Exchange。
  5. Ad Exchange 向小丽投放 FinestDSP 的广告和匹配标记,并设置她的 DoubleClick Cookie。
  6. 匹配标记调用 Google 的 Cookie 匹配服务。
  7. Cookie 匹配服务读取小丽的 DoubleClick Cookie,并将设好 google_user_id 的重定向传送至 FinestDSP。
  8. 浏览器加载 FinestDSP 的网址。
  9. FinestDSP 生成 Cookie,并将此 Cookie 存储在其匹配表中与小丽的 google_user_id 相对应的位置。
  10. FinestDSP 将其 Cookie 放到小丽的浏览器中,并在响应中提供一个空白的 1x1 像素。
这个空白的像素是种cookie时的副产品。不发挥作用。

第 2 种情况:买方和 DoubleClick Cookie

一个星期后,小丽再次访问了 ExampleNews.com。现在,小丽的电脑上同时存有买方和 DoubleClick Cookie,我们来看看匹配功能的运作方式。

  1. 小丽会看到网页,同时,html 代码会包含向 Google 请求广告的调用。
  2. 在广告竞价期间,DoubleClick Ad Exchange 会向实时出价合作伙伴 FinestDSP 发出调用请求,让其选择是否要对展示进行出价。
  3. 买方收到包含展示信息和 google_user_id 的广告调用。
  4. FinestDSP 在其匹配表中查找 google_user_id,以找出一周前创建的 Cookie(第 1 种情况)。
  5. FinestDSP 利用与其 Cookie 相关的信息,对展示进行出价并赢得这次展示机会。
  6. FinestDSP 根据所掌握的信息向小丽投放与其兴趣相符的广告。
在第五步,FinestDSP 竞价的决定因素是掌握的信息。这些信息除了ad exchange网址带过来的一些关于ssp的参数,还有FinestDSP以前展示的广告被小丽点击的情况,还有的信息包括FinestDSP从ssp那里收集到的关于小丽的信息。


但是它的信息会非常不完整,尤其是像广告被点击的情况,这个很稀疏。所以说关于用户小丽的信息很少。




这就是dmp可以发挥作用的地方。


应用示例:

第一个例子:

1. 广告主网页向dsp发送加载请求

2. dsp发送含有<img src**>之类的beacon, 但是需要注意的是,这里的src指向的是adx的域名

3. 用户浏览器解析到<img>标签,就向adx发送请求,包含的请求消息是(adx id, dsp id, dsp cookie)

4. adx收到请求, 返回消息(adx id , adx cookie), 并将对beacon的请求,从定向到dsp

5. dsp 收到用户adx cookei,将adx cookie和dsp cookie放入映射表,并向广告主网页返回一个透明的一个像素的beacon

6. 广告主网页收到beacon,就继续解析html代码

第二个例子:

网站想了解访问自己网站用户的更多消息,或者用户的分类,标签等等,所以需要向dmp询问

网站自己存自己的用户cookie和dmp cookie的映射

如果网站想了解用户,就先查表,获得dmp cookie,然后向dmp发送这个用户的dmp cookie,dmp就返回这个用户标签等等


Cookie mapping技术的更多相关文章

  1. RTB竞价中的cookie mapping技术

    首先通过一些关键词解释普及或者回顾一下背景, ADX: Ad exchange的简称.一般特指Ad exchange平台模块 DMP: Data Management Platform的简称.DMP存 ...

  2. cookie mapping 原理理解

    深入浅出理解 COOKIE MAPPING Cookie mapping技术 利用javascript跨域访问cookie之广告推广

  3. 深入浅出理解 COOKIE MAPPING

    转载自:http://www.myttnn.com/digital-marketing/cookie-mapping-introduction/ 在RTB(实时竞价广告,Real-Time-Biddi ...

  4. 保存登录信息的Cookie加密技术

    所有需要账户登录的website 基本都会想到这样一个问题, 如何保持用户在一定时间内登录有效. 最近本人就在项目中遇到这样的需求,某些页面只能Admin账户登录后访问, 当登录Admin账户后如何才 ...

  5. cookie会话技术

    会话技术 B/S请求是无状态无记忆的,脚本与脚本之间是没有联系的,导致不能进行连续的业务逻辑 Cookie技术:将会话数据保存在浏览器端 原理:服务器向浏览器发送指令,用来管理存储在浏览器端的cook ...

  6. 会话管理(Cookie/Session技术)

    什么是会话:用户打开浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称为一个会话: 会话过程需要解决的问题:每个用户在使用浏览器与服务器进行会话的过程中,都可能会产生一些 ...

  7. 验证码的设计与记住我存储用户名密码cookie的技术及单选按钮选择登录人身份的实现

    login.jsp页面 <head> <script type="text/javascript" src="js/captcha.js"&g ...

  8. dsp与dmp的cookie mapping

    dsp   ad.com   在  meijiu.com上部署广告. 假设dmp叫cm.api.taobao.com 建立gid映射表 (1) ad.com在meiju.com的页面上部署,指向dmp ...

  9. Cookie&Session(会话技术)

    一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...

随机推荐

  1. 关于RuntimException

    对于实现接口的类如果要抛出异常的话,那么接口也要抛出异常 所以RuntimeException只要对于实现接口的类就可以了 对于继承的类也可以这样运用 毕竟在实际开发中接口不一定是自己写的,而且团队可 ...

  2. 旋转图css3

    <!doctype html><html> <head>  <meta charset="UTF-8">  <title> ...

  3. 【经典dp】 poj 3671

    开一个dp[30010][3]的数组 其中dp[i][j]表示把第i个数改成j最少要花多少次 那么状态转移方程就列出来了: 令a=1 j!=a[i] 0 j==a[i] 那么dp[i][1]=dp[i ...

  4. php redis 消息队列

    redis是什么东西就不多说了,网上文章一搜一大堆. 首先来说一下我要实现的功能: 类似一个消息中转站吧,如果有人要发送消息,先将消息发到我这里来,然后我这边进行转发,为的就是有一个统一的管理和修改时 ...

  5. Linux标准目录

    本文参考鸟哥的linux私房菜 /bin 获得最小的系统可操作性所需要的命令 /boot 内核和加载内核所需要的文件 /dev 终端.磁盘.调制解调器等的设备项 /etc 关键的启动文件和配置文件 / ...

  6. POJ 3468<线段树,区间add>

    题目连接 //位运算 k<<1 相当于 k*2 k<<1|1 相当于 k*2+1 /* 修改区间内的值,并且维护区间和. 详见代码 */ #include<cstdio& ...

  7. Loadrunner之文件的下载(八)

    老猪提供: https://mp.weixin.qq.com/s?__biz=MzIwOTMzNDEwNw==&mid=100000013&idx=1&sn=624f5bc74 ...

  8. AutoTile 自动拼接(二) 学习与实践

    开始代码前,我们要做点准备工作. 下面 跟着我做. 首先我 扣了一个 图. 这个是 做 水的资源,所以是动态的,我把其余两张也扣了出来. 看起来一样,不是,这样看肯定 看不出所以然,你们先放到u3d中 ...

  9. Linux学习 -- Shell基础 -- Bash变量

    变量 默认是字符串型,数值型需要显示指定 等号两侧都不能有空格 单引号:原始字符串  双引号:保留转义 命令结果作为值:反引号 或 $() 环境变量一般用大写 自定义变量 变量定义    name=& ...

  10. JavaEE程序编码规范

    JavaEE程序编码规范 目   录 JAVA程序编码规范1 1变量的命名规则1 1.1常量(包含静态的)1 1.2类变量(静态变量)及实例变量1 1.3局部变量1 1.4参数2 1.5其它2 2方法 ...