转载/NK同志首席数据科学家

& ampquot今天我们来谈谈更常见的现象。为什么刚谈的商品很快收到广告?

我的手机或者微信是被监控了吗?”

微信,咱们每个人都在使用,各种聊天内容充满了隐私。经常有朋友感觉自己在微信的聊天记录被“监听”了。直观的表现就是刚聊了某个话题,结果很快朋友圈就有了相关广告。这种情况,我也遇到过。

这其实涉及了两部分的内容,一部分是个人隐私保护(可参考《个保法实施对互联网的影响》、《联邦计算促进隐私安全》),一部分是广告营销知识(可参考《在线广告知识大全》等)。

今天,咱们好好聊聊被“监听”背后到底是怎么一回事。

1、现象描述:我的聊天记录泄露了

差不多是上上个月吧,我的朋友圈突然连续两天推送了某扫地机器人的广告:

按理说,平时每天的朋友圈广告挺多的,一般不咋关注。但这两条广告,成功吸引了我的注意。为啥呢?

首先,如果推送的是扫地机器人的广告,比如科沃斯、云鲸、石头等,我其实是可以理解的。因为我618刚刚购买了科沃斯的扫拖一体机,买之前重点关注对比了以上三个品牌的机器人,淘宝、京东肯定有相关的搜索浏览记录。因此基于相关的行为进行的定向投放,我是可理解的。

但是!这个扫地机器人是“添可”!这个品牌我从来没有关注过,也没有研究过。而唯一对这个品牌有的认知,是我收到广告的前一天,在工作上,和添可机器人有了交集。

对,仅仅是一天前。

一天前,有同事和我反馈【添可扫地机器人】账号存在一些权限相关问题,我进行了产品层面的一些排查。这是我和添可第一次也是唯一的一次交集。我翻阅了我的处理过程,在对话过程中,我打出了【添可官方旗舰店】7个字。这个对话过程,是在我们京东内部的聊天系统咚咚和流程处理平台XBP上完成的。

好了,大家一起动动小脑筋,我这种情况的发生,到底是谁在背后偷偷捣鬼了呢?

2、来破案:谁泄露了聊天内容

所以,到底是谁泄露了我的聊天?

(1)可能性1:单纯的巧合

是单纯的巧合吗?我刚知道这个品牌,第二天就刚好碰巧被广告砸中了?确实存在这种可能性,但是可能性有多大呢?

像添可这种小品牌,起码目前在消费者心智中占据位置有限的品牌,理论上来讲营销费用往往有限,不可能大撒网投放广告,进行品牌宣传。我被偶然触达的几率,实在太小了。

(2)可能性2:员工系统泄露

是京东内部系统泄露?当然不可能了。

主动泄露?自己公司内部的聊天记录,全是商业机密,绝无可能主动泄露。

被动泄露?京东一群做数据安全的大佬,肯定不会让这么低级的事情发生。各种数据隔离、各种反黑措施,不可能允许这种事情的存在。

这里顺道聊聊大家经常觉得是微信泄露了个人聊天记录,这里我个人觉得应该不是微信泄露的。为此,我特意查了一下微信服务器到底是否有保存我们个人的聊天记录:

在微信的《隐私保护指引》文档中,也清楚表达了不存储聊天记录的意思。当然这也意味着用户的聊天记录如果本地删除,是无法恢复的。具体微信是否真的没保存,咱们不得而知,但我倾向于相信。毕竟,在个保法案施行的背景下,说谎的成本过高了。

之前还有个流传较广的图,既然法院都无法从微信调取记录,极有可能真的就是没存储,更谈不上利用聊天记录进行人群画像等内容了。

(3)可能性3:输入法

剩下的唯一可能性就是:输入法泄露了隐私。

因为无论是聊天,还是回复系统消息,都是用输入法打出来的字。而我的输入法是搜狗输入法,移动端也使用过,这才使得全链路的广告流程形成了闭环。

3、数据流转全链路

下面,我们详细分析一下,为啥我在电脑上打的字,在手机的朋友圈中看到了广告。这其中的数据是如何流转的。

第一步:输入法数据收集

首先,我们所有打字的内容,都会被输入法记录下来,存储下来。包括你用第三方输入法输入的各类密码。

在我这个例子中,我用输入法,在电脑上打出了【添可官方旗舰店】几个字,一定是被记录在案了。记录的内容我猜一下,包括了用户ID、时间、文本内容等。

第二步:对人群数据处理

这其实就是进行一些打标签的处理。

不过针对输入法,主要的数据都是文本数据,基本也就是做一些NLP的处理,比如分词等。

我这个例子中,可能对【添可官方旗舰店】进行了分词:【添可】【官方】【旗舰店】。然后从中识别了核心品牌词【添可】。

也就是说,搜狗识别出了我和【添可】这个关键词是有关联的。

第三步:广告主进行人群选择

上面两个步骤,都是搜狗进行的数据处理与操作。下面,我们切换一下角色,是品牌方、也即广告主:添可品牌的营销投放人群进行的操作。

首先,品牌要进行人群定向的选择,即筛选本次投放的目标人群。

通常来讲,广告系统会提供一些定向人群的基础维度。上面的截图比较清楚的看出来,微信广告支持的定向人群类别:地域、受众属性、偏好、手机设备、再营销、媒体类别、自定义人群。

看上图很明显,在微信广告中,无法直接基于搜狗输入法的数据进行人群的圈选投放。那添可品牌想投放人群,就只能通过【自定义人群】了。所谓的自定义人群,就是指在微信广告系统中,上传人群包的方式进行人群的圈选(可以参考《人群包的创建方式》)。

在这个case中,添可品牌通过圈选最近使用了搜狗输入法打了【添可】关键词的人群,把这群人的ID生成list人群包。很不幸,我在其中。

这里有个问题,品牌是如何拿到搜狗输入法用户输入的数据呢?这个问题,我可能很难解答。有可能是搜狗直接对外开放了API进行商业化,也有可能其他渠道。总之,绝对是搜狗通过某种方式,把搜索数据进行了外漏。

第四步:将目标人群上传到微信广告系统

有了人群包,需要在微信广告系统进行投放。

对了插一句,腾讯广告和微信广告是两个系统。朋友圈、公众号等相关的广告,都是在微信广告中完成的,而不是腾讯广告。

然后把人群包以文件的形式上传到微信广告后台,生成了自定义人群。

这里有个重要的内容,是关于ID-mapping的。可以参考一下《用户ID打通》相关的文章。所谓的ID-mapping就是确定“你”是“你”的过程。不过搜狗输入法通常的登录ID都是手机号或者QQ、微信,和微信广告可以天然打通,问题不大。

第五步:广告投放,用户看到广告

最后一步,在微信广告后台对上传的人群包进行匹配、广告内容设置、完成广告投放,用户也就看到了广告。

4、一些启示

为啥详细和大家拆解一下这个案例呢?

一个目的是想和大家分享一下,为啥在一个APP中的行为,会被投放到另一个APP中,这种现象背后是如何实现的。比如,你在京东搜索了某个商品,在抖音上看到了推广。背后本质的原理差不多。

另一个目的就是提醒大家,不要忽视输入法数据泄露的严重性。因为他实在是太隐蔽了。大家可以好好想想,是不是经常APP输入账号密码、支付密码的时候,都是强制弹出APP自带的键盘呀?这就是为了避免大家使用第三方输入法导致密码的外泄。

我反正手机APP用的输入法都是iOS自带的输入法,虽然难用,但是好歹相比搜狗输入法,能安全一些。

今天先聊这些,感谢大家的关注!