Cookie mapping技术
摘要:
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技术
首先通过一些关键词解释普及或者回顾一下背景,
RTB中cookie mapping究竟是什么?
table,就是该USERID’与自己定义的用户标识的一个映射。
一般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 的首页。
对整个过程的说明如下:
- ExampleNews.com 将会显示并调用 Google (DFP) 的广告。
- 广告单元符合动态分配资格,因此 Ad Exchange 会调用 FinestDSP(以及其他 DSP)。
- FinestDSP 在其出价引擎中处理此调用。
- FinestDSP 赢得竞价,并将广告和匹配标记(像素)传送至 Ad Exchange。
- Ad Exchange 向小丽投放 FinestDSP 的广告和匹配标记,并设置她的 DoubleClick Cookie。
- 匹配标记调用 Google 的 Cookie 匹配服务。
- Cookie 匹配服务读取小丽的 DoubleClick Cookie,并将设好 google_user_id 的重定向传送至 FinestDSP。
- 浏览器加载 FinestDSP 的网址。
- FinestDSP 生成 Cookie,并将此 Cookie 存储在其匹配表中与小丽的 google_user_id 相对应的位置。
- FinestDSP 将其 Cookie 放到小丽的浏览器中,并在响应中提供一个空白的 1x1 像素。

第 2 种情况:买方和 DoubleClick Cookie
一个星期后,小丽再次访问了 ExampleNews.com。现在,小丽的电脑上同时存有买方和 DoubleClick Cookie,我们来看看匹配功能的运作方式。
- 小丽会看到网页,同时,html 代码会包含向 Google 请求广告的调用。
- 在广告竞价期间,DoubleClick Ad Exchange 会向实时出价合作伙伴 FinestDSP 发出调用请求,让其选择是否要对展示进行出价。
- 买方收到包含展示信息和 google_user_id 的广告调用。
- FinestDSP 在其匹配表中查找 google_user_id,以找出一周前创建的 Cookie(第 1 种情况)。
- FinestDSP 利用与其 Cookie 相关的信息,对展示进行出价并赢得这次展示机会。
- FinestDSP 根据所掌握的信息向小丽投放与其兴趣相符的广告。
第一个例子:
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技术的更多相关文章
- RTB竞价中的cookie mapping技术
首先通过一些关键词解释普及或者回顾一下背景, ADX: Ad exchange的简称.一般特指Ad exchange平台模块 DMP: Data Management Platform的简称.DMP存 ...
- cookie mapping 原理理解
深入浅出理解 COOKIE MAPPING Cookie mapping技术 利用javascript跨域访问cookie之广告推广
- 深入浅出理解 COOKIE MAPPING
转载自:http://www.myttnn.com/digital-marketing/cookie-mapping-introduction/ 在RTB(实时竞价广告,Real-Time-Biddi ...
- 保存登录信息的Cookie加密技术
所有需要账户登录的website 基本都会想到这样一个问题, 如何保持用户在一定时间内登录有效. 最近本人就在项目中遇到这样的需求,某些页面只能Admin账户登录后访问, 当登录Admin账户后如何才 ...
- cookie会话技术
会话技术 B/S请求是无状态无记忆的,脚本与脚本之间是没有联系的,导致不能进行连续的业务逻辑 Cookie技术:将会话数据保存在浏览器端 原理:服务器向浏览器发送指令,用来管理存储在浏览器端的cook ...
- 会话管理(Cookie/Session技术)
什么是会话:用户打开浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称为一个会话: 会话过程需要解决的问题:每个用户在使用浏览器与服务器进行会话的过程中,都可能会产生一些 ...
- 验证码的设计与记住我存储用户名密码cookie的技术及单选按钮选择登录人身份的实现
login.jsp页面 <head> <script type="text/javascript" src="js/captcha.js"&g ...
- dsp与dmp的cookie mapping
dsp ad.com 在 meijiu.com上部署广告. 假设dmp叫cm.api.taobao.com 建立gid映射表 (1) ad.com在meiju.com的页面上部署,指向dmp ...
- Cookie&Session(会话技术)
一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...
随机推荐
- 初次stack-overflow 提交答案
初次在stack-overflow上面提交答案,首先编辑器非常好用,语法检查都有, 还有付费版的,更高级,更好用,nice. 付费版:https://www.grammarly.com/upgrade ...
- NSTimer内存方面的探究
今天研究一个框架,看到它对NSTimer的处理,感觉很有意思.于是自己在各种情况下都研究了一下,现总结如下. 我们用到NSTimer时,似乎习惯于会在dealloc方法中把它invalidate掉,但 ...
- HTTP的学习
一个完整的HTTP请求: 1 简历TCP连接 2 web浏览器像web服务器发送请求命令 3 web浏览器发送请求头信息 4 web服务器应答 5 web服务器发送应答头信息 6 web服务器像浏览器 ...
- Ubuntu VPN PPTP 连接要选上这个啊
选上MPPE点到点加密..
- SORT函数的使用方法(转载)
sort函数的用法(转载出处:http://blog.sina.com.cn/s/blog_6439f26f01012xw3.html) 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写 ...
- awk 数组排序-- asort 与 asorti
两者排序区别: asort 是对数组的值进行排序,并且会丢掉原先键值: asorti是对数组的下标进行排序. 数据文件: 12 34 78 90 23 45 1. awk是关联数组.for-in循环输 ...
- JS中三目运算符和if else的区别分析与示例
本文是通过示例详细分析了JS中三目运算符和if else的区别,是篇非常不错的文章,这里推荐给大家. 今天写了一个图片轮播的小demo,用到了判断 先试了一下if else,代码如下: 复制代码代 ...
- Android media媒体库分析之:MediaProvider
在做Android媒体应用程序时(Audio.Image.Video)需要对Android的媒体提供者(MediaProvider)做详细的分析,下面记录一下我的收获: 一.获取MediaProvid ...
- Android导入工程,R 资源文件无法生成
在Android中使用开源代码或者自己开发项目的时候,经常会遇到R.java文件丢失的情况,如何重新生成呢?网上一般给出这样的两种方法: 方法 1:右击你的工程(项目)——>Android To ...
- C#统计网站访问总人数和当前在线人数
一.打开vitualstudio2010,新建一个网站,然后添加新项,新建一个login.aspx和index.aspx页面.再添加新项,选择全局应用程序类,该页面为Global.asax. 第一步: ...