【译】网页像素追踪原理

avatar
@腾讯科技(深圳)有限公司

原文地址:How tracking pixels work 作者: Julia

前阵子,我花了一点时间和记者聊了聊广告商是如何在网上追踪用户行为的。我们非常愉快的在一起查看火狐浏览器的开发者工具,并在实践中学会了一些有关通过像素来追踪用户的实际工作原理。

问题:FaceBook是如何知道用户访问过Old Navy的?

我经常会听到这类耸人听闻的网络体验消息:用户正在网上浏览一些产品。一天后,就会看到一则有关头天浏览过产品的广告。这被称为重定向,但实际上这是怎么办到的呢?

在本文中我们将做些实验,来看看FaceBook是如何知道用户在网上浏览过哪些产品。我会通过FaceBook作示例,因为能够较容易的找到带有FaceBook追踪像素的网站。当然了,几乎每个互联网广告公司都会进行这种追踪。

设置:允许第三方追踪,并关闭广告拦截器

默认情况下,火狐浏览器会阻止很多这类追踪。因此,我们需要修改浏览器的隐私设置,以使这种追踪能够正常运行。我将隐私设置从以下的默认设置

test

更改为允许第三方追踪的自定义设置。

test

另外,还禁用了一些日常运行的隐私扩展。

追踪像素:不仅仅是Gif,还是URL+查询参数

网站用来追踪用户的像素是一个1x1大小的透明Gif图。就其本身而言,1x1大小的Gif图并不能做太多事情。那追踪像素是如何工作的呢?

有以下两种方式:

1.网站通过使用追踪像素中的URL和查询参数来添加额外信息。FaceBook的追踪像素地址是www.facebook.com/tr/ ,通常来说会访问 https://www.facebook.com/tr/?当前正在访问的站点 。这也是电子邮件营销人员使用的类似技巧,通过为追踪像素添加唯一的URL地址,来确认接收者是否打开了电子邮件。

2.网站通过追踪像素来发送Cookie,以便可以获悉访问oldnavy.com的人与在同一台计算机上访问FaceBook的人相同。

FaceBook在Old Navy’s站点上的追踪像素

为了测试,我浏览了Old Navy站点上的一个产品——男士软刷格子上衣,该产品URL如下:

oldnavy.gap.com/browse/prod…

这个时候,通过检查开发者工具可以发现,该页面向facebook.com发送了如下请求,我检查了大部分cookie值,其中一些就是跟我当前登录用户相关的cookie。

test

让我们来分析下正在发生的事情:

1.浏览器发送请求

https://www.facebook.com/tr/?id=937725046402747&ev=PageView& dl=https%3A%2F%2Foldnavy.gap.com%2 Fbrowse%2Fproduct.do%3Fpid%3D504753002%26cid% 3D1125694%26pcid%3Dxxxxxx0%26vid%3D1%26grid%3 Dpds_0_109_1%23pdp-page-content& rl=https%3A%2F%2Foldnavy.gap.com%2Fbrowse%2 Fcategory.do%3Fcid%3D1135640%26mlink%3D5155%2 Cm_mts_a& if=false&ts=1576684838096& sw=1920&sh=1080&v=2.9.15&r=stable&a=tmtealium&ec=0&o=30& fbp=fb.1.1576684798512.1946041422&it=15xxxxxxxxxx4&coo=false&rqm=GET

2.随着请求一起,同时带有键为fr的cookie,其值如下:

10oGXEcKfGekg67iy.AWVdJq5MG3VLYaNjz4MTNRaU1zg.Bd-kxt.KU.F36.0.0.Bd-kx6.

(猜测这就是我的FaceBook广告追踪ID)

因此,在追踪像素的查询字符串中最值得注意的三个点是:

现在让我们访问FaceBook

接下来,让我们访问已经登录过的FaceBook,来看看会发送哪些cookie。

毫不奇怪,我们能找到一个和上述一样的cookie,其键为fr,值为:

10oGXEcKfGekg67iy.AWVdJq5MG3VLYaNjz4MTNRaU1zg.Bd-kxt.KU.F36.0.0.Bd-kx6.

因此,FaceBook现在肯定知道当前这个用户在几分钟前访问过Old Navy站点,并浏览了男士软刷格子上衣,因为他们可以通过该标识进行数据匹配。

第三方cookie

fr 这类被用来追踪用户访问行为的cookie,被称为第三方cookie。因为,Old Navy站点通过使用这类cookie给第三方站点标记用户,这不同于用于保持用户登录的当前cookie。

Safari和火狐浏览器在默认情况下都会阻止第三方cookie,这就是为什么我必须要修改火狐浏览器的隐私设置才能进行这项实验的原因。

网站有很多追踪像素

如我所料,网站有很多用来追踪用户行为的追踪像素。例如,wrangler.com通过浏览器会从多个不同域下加载19个不同的追踪像素,这些域分别来自:ct.pinterest.comaf.monetate.netcsm.va.us.criteo.netgoogle-analytics.comdpm.demdex.netgoogle.caa.tribalfusion.comdata.photorank.mestats.g.doubleclick.netvfcorp.dl.sc.omtrdc.netib.adnxs.comidsync.rlcdn.comp.brsrvr.comadservice.google.com

对于大多数这类追踪器,火狐会很有帮助性的指出,如果使用火狐标准的隐私策略,就能够有效得阻止这些追踪。

test

浏览器的重要性

浏览器之所以如此重要,是因为浏览器最终决定了将哪些信息展现出来。在Old Navy站点上,浏览器会通过脚本将我们的追踪信息发送给FaceBook。但是,浏览器可以识别这种追踪用户的行为,并进行阻止。

通过更改浏览器设置或安装扩展插件,就可以进行自定义配置,这就是为什么会有这么多隐私扩展插件的原因。

很高兴了解了像素追踪的原理

很高兴在实际中了解了网站是如何通过cookie和像素来追踪用户的浏览行为,即使这看起来有些耸人听闻。在这之前,我只是稍微了解一点其中的原理,但从来没有真正检查过像素追踪所发送的cookie,以及其查询参数中发送的信息。

当我们了解了追踪的原理时,就能更容易的减小被追踪的可能性。

我们能做什么?

通过以下一些操作就可以减小在浏览器中被追踪的可能性:

  • 安装广告拦截器,例如ublock,这将阻止很多追踪器
  • 使用火狐或Safari浏览器来替代谷歌浏览器,因为相比较之下具有更强的默认隐私设置
  • 使用Facebook Container扩展程序,该程序通过额外的步骤来专门阻止FaceBook对用户进行追踪

网上还有很多其它方法可以进行追踪,特别是使用移动应用程序时,因为我们无法获得与浏览器相同的控制权。但是,我很高兴了解了这一类的追踪原理,并且能够有效得减小被追踪的可能性。