如何跨域追踪用户?

8
昨天我们得到了这个想法。用户访问我们的网站并被标记。然后,当他们访问像CNN这样的其他网站时,他们会看到我们网站的广告。一旦他们接触到我们,就会在各处看到我们,创造出我们比实际更大的假象。
提出这个想法的人说,这是通过cookie实现的。我非常怀疑,因为我不相信有任何方法能够查看不同域设置的cookie。因此,我想尝试弄清楚它是如何实现的。推销员称这种技术为像素跟踪
我从未听说过像素跟踪,但是从我的研究中发现,它是放置一个引用另一个域上的脚本参数的1像素图像。我的第一个想法是,也许可以这样实现。但我仍然不知道如何做到?
有人能解释一下他们如何将你标记为已访问我们的网站,然后在另一个网站上看到这个标记吗?是来自您的IP地址吗?

不要相信销售人员。 - driis
1
@driis,我不会 :) 。这就是为什么我正在进行我的研究(除了学习一些有趣的东西之外)。 - JD Isaacks
2个回答

9
在这种情况下,CNN网站底部包含一个类似于以下的img标签:
<img src="http://www.webmarketingCompany.com/pixel.php?ID=623489593479">

当用户访问CNN网站并且浏览器正在呈现页面时,它也会发送http请求以获取所有的图片,包括向http://www.webmarketingCompany.com发送一个请求以获取像素点图片pixel.php。此请求中还包含了ID作为一个get参数。pixel.php不仅返回一个图片,通常是一个1x1透明gif(因此在呈现页面中不可见),同时可以使用ID值进行整个主机的附加处理;它还可以访问任何webmarketingCompany.com cookies,这些cookies也随着http请求一起被发送。
当然,CNN必须同意将img标签包含在他们的html中。通常它被用作一个追踪器,由代表CNN工作的第三方营销公司来识别谁在访问他们的网站,他们正在查看哪些页面等。
但由于它是一个PHP脚本,它可以做很多额外的工作,例如设置更多的cookies。如果webmarketingCompany.com也代表CNN处理广告投放,他们可以对选择要服务的广告进行创造性的选择。
这种跨客户端的“交流”在英国肯定是被不赞成的。

啊,我没意识到CNN的cookies会在那个请求中发送。 - JD Isaacks
我说的是CNN cookies吗?我想说的是webmarketingCompany.com cookies。 - Mark Baker
CNN.com的cookie没有被发送,但当用户访问CNN.com并加载广告时,广告公司设置的cookie会让他们知道要在数据库中查找最近访问过哪些用户。 - Andrew Aylett
1
我还有点困惑,但现在我明白了。他们访问我的网站并在webmarketingCompany.com上设置一个cookie,然后访问cnn.com并检查是否存在相同的webmarketingCompany.com cookie。 - JD Isaacks
这大概就是全部了。只要webmarketingCompany.com为CNN提供广告服务、跟踪或其他服务,那么每当您访问CNN时,他们就能够将其识别的cookie发送回他们的服务器。如果webmarketingCompany.com在许多繁忙的网站上工作,那么他们可以跟踪很多用户活动...不过需要有重要的大合同的公司才能做到这一点:他们不能(合法地)在没有合同的网站上跟踪您...但如果他们是跟踪/分析市场的大玩家(例如Google或Microsoft),那么他们确实拥有资源。 - Mark Baker
我想强调的是,虽然我在跟踪/分析市场工作,但我的公司不会以这种方式在客户之间进行交叉参考。即使用户访问我们几个客户公司的网站,我们也将客户/用户引用视为唯一,并且不记录或推广客户之间的活动或分析。 - Mark Baker

3
您所描述的对于所有广告网络来说都是非常标准的。唯一的区别在于他们也会在您的网站上放置这个cookie。
只要浏览器将“接受第三方cookie”的设置设为true,这将像销售员所说的那样工作。大多数浏览器默认将该设置设置为true,我能想到的唯一例外是Safari。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接