上集介绍了网站端(web端)和app端的ID。这集进入互联网平台巨头们的ID世界。
三个互联网巨头的ID体系,对今天的数字营销有最大的影响,分别是微信体系 、阿里巴巴体系,以及字节跳动体系。另外,也会介绍一下百度的ID体系。不过,体系这个词对于微信而言,是恰切的,对于另外三个平台,可能不算很合适,因为它们只有有限的ID,还谈不上是一个体系。
所以,我们从最复杂的微信平台开始看起。微信搞明白了,其他几个平台很简单。
本文(下集)的目录如下:
- 微信(个人微信)的ID体系
- 微信公众号的ID:OpenID和UnionID的前世今生
- 公众号的OpenID和UnionID如何获取
- 微信小程序所用的ID
- 企业微信所用的ID
- 企业微信用户的ID和个人微信的ID的打通
- APP、网站获取微信的ID
- 微信体系的ID存在个人隐私侵犯的风险吗
- 阿里巴巴的ID体系
- 电商站内的ID
- 支付宝小程序的ID
- 支付宝小程序中嵌入的H5如何获取支付宝小程序ID
- 字节跳动的ID体系
- 今日头条和抖音的ID
- 抖音“蓝V”(抖音企业认证)所用的ID
- 字节跳动小程序ID
- 百度小程序的ID体系
- 小结
微信(个人微信)的ID体系
微信的ID体系可以算是所有巨头中最为复杂的。
皆因微信本身体系的庞大:订阅号、服务号、小程序、企业号,以及在这些体系上跑的H5。不仅如此,微信与其他各个巨头的平台相比,也具有最好的开放性,因此,它又可能糅杂了很多外部生态的ID。
不过,虽然看起来挺复杂,但只要你梳理清楚了逻辑,微信的ID体系其实还是很简单的。并且,由于微信的开放性,你会发现微信的ID实际上也是“最好用”的。
先从它的公众号开始。
微信公众号的ID:OpenID和UnionID的前世今生
微信公众号,无论是订阅号还是服务号,ID体系是完全一致的。
分为两种,OpenID和UnionID。
简单讲,同一个人,他follow公众号时,将会被自动分配一个OpenID。而他follow另一个公众号,则将被分配另一个OpenID。两个OpenID都是很随机的代码,并且毫无关联。一个人follow了多少个公众号,就会有多少个互相毫不相干的OpenID。
同样,一个公众号有多少个follower,也就会有多少个OpenID被生成。
OpenID是随着微信发布朋友圈和公众平台(公众号的后台)而诞生的,时间是2012年。
2014年,微信应公众号用户和开发者的要求,开始提供UnionID。这个要求是什么呢?
原来,同一个用户,在不同公众号,有不同的OpenID,这给很多公众号运营者带来了麻烦。
比如,我手上有三个公众号,同一个用户在三个公众号中必然有三个不同的OpenID。这导致我并不知道他是同一个人,对他的针对性运营(例如不同公众号之间的信息通信、用户状态同步、针对性推送以及后来出现的营销自动化等等)就无法实现。
对订阅号而言,这个问题不大,但对服务号,这种具有非常好的互动性和运营潜力的平台而言,仅仅只有OpenID就显然跟不上情势的发展了。
于是UnionID被设计出来并被采用。
看起来像是权宜之计,但也不啻为一个可行的办法。
UnionID最初的规则是这样:同一个用户,如果follow了同一个主体下的多个公众号,那么他在这些公众号内都只有一个UnionID。所谓同一个主体,一般而言,指一个营业执照或者组织机构代码证所指的一个组织。
但是在2018年年底,微信宣布,一个企业主体,从过去能够注册很多个公众号,变为只能注册两个公众号。那么,对于那些有多个营业执照或组织机构代码证的集团而言,它们的公众号又将变得无法打通了。
于是UnionID的规则也做了修改,不再强调必须是一个主体的公众号才能拥有共通的UnionID,而可以通过微信开放平台后台的绑定,实现不同主体公众号拥有共同的UnionID。
而要绑定不同的公众号,有一个前提条件,那就是这些公众号必须都在一个微信开放平台的账号之下。
公众号的OpenID和UnionID如何获取
简单讲,公众号的开发者,基于腾讯提供的“微信开放平台”就可以获得follow公众号的用户的OpenID。具体技术细节我就不讲了,对于开发者而言,这非常简单。
UnionID的获取,比OpenID多一个要求,即,多个公众号要在微信开放平台中做绑定,之后的获取方法与OpenID的获取其实没有区别。
讲到这里,要啰嗦一下微信提供的数据传输接口,即OpenAPI,通过这个接口,可以返回很多微信中各种应用(例如公众号、小程序等都是微信中的应用)的用户的基础信息。OpenID和UnionID就是通过这个接口获取的。
此外,借助OpenAPI,也能帮助微信中被打开的H5,或是利用微信共享登录的网站和app等,获取到企业自己的微信用户的相关信息(包括OpenID和UnionID)。这一点对于利用微信生态进行用户的数据打通,至关重要。
微信小程序所用的ID
微信小程序所用的ID,其实仍然是OpenID和UnionID。本质上,如同前面所说的,微信对所有在其上跑的应用,无论是公众号,还是小程序,或者其他的H5,以及利用微信号登录的网站和app等,都提供OpenID和UnionID。
微信小程序OpenID和UnionID的获取方式,与在公众号上相似,开发者通过官方文档就能搞定,不再赘述。
企业微信所用的ID
与微信相关的ID麻烦的地方在于,腾讯还有一个企业微信,而企业微信,既独立,又跟微信有千丝万缕的关系,因此它的ID体系,跟个人微信有关联,但又不一样。
要搞清楚企业微信所用的ID,首先要搞清楚一个逻辑,即企业微信中的几种用户或好友的类别。
企业微信的用户,分为两种,一种是企业微信成员,就是这个企业的员工,另外一种是企业客户,也就是企业微信的好友。这些好友又分为两种,一种用的是他们的企业微信成为你的企业微信的好友,另外一种更常见的,则是用的他们自己的个人微信,成为了你的企业微信的好友。
有点儿拗口,用下面这个图表示:
而上面的这些用户的不同类别,在企业微信中,他们被赋予的ID也是不同的。
简单讲,企业微信成员的ID,是UserID。
而企业客户的ID,无论他使用的是自己的企业微信加的好友,还是用的个人微信,他在这个企业的企业微信中都会被赋予一个新的ID,即External_UserID。
而企业要获取这些ID,企业微信同样也提供了类似微信开放平台的API,企业微信相关应用的开发者可以获取。
企业微信用户的ID和个人微信的ID的打通
这是一个比较复杂的问题,可能关注的朋友们还不多,但如果企业微信用户越来越多,这样的问题就可能会常常遇到。
企业微信用户的ID和个人微信的ID打通,要分为不同的场景。
一种场景,是同一个人在你的企业微信中,以及在他的个人微信群聊中,分别点开了你的小程序。
我们能知道分别两次点开你的小程序的这个用户,是同一个人吗?
答案是,他在首次进入这个小程序的时候,小程序会赋予他一个OpenID和UnionID(如果做了微信开放平台绑定的话,能获得UnionID),之后无论他以何种方式再进入这个小程序,他的ID都不会再发生变化。因此,显然我们都能知道这个用户是同一个人,而无论他是从自己的微信群中进入你的小程序,还是从你的企业微信中进入。
这种场景,如果不是小程序,而换成你的做好了绑定的app或者网页(H5)也没有区别。
但另外一种场景,情况就不同,我们必须打通数据才能知道是同一个人。
例如如下的这个场景。
同一个用户,在我的企业微信内有互动,比如参与了群直播,此外,他在我的公众号内也有互动,比如在服务号中完成了一次裂变。
我希望将该用户的这些行为数据能够打通,如果不能打通,那么这个客户的数据就会被分别记录为两个不同的人,这对运营工作十分不利。
能做到吗?
答案是,能做到。方法有多种,最官方的方式,是企业微信也获取该用户的UnionID。然后,公众号和企业微信中该用户的UnionID是同一个,这样数据就能够打通了。
这种方法不困难,因为企业微信支持在管理后台客户联系处绑定与企业微信主体一致的公众号或小程序。而一旦绑定完成,就可以通过接口获取微信联系人所对应的微信UnionID。
这实际上也说明了,企业微信,对于个人微信而言,也被认为是一种微信应用,与公众号、小程序等本质上是同类。
APP、网站获取微信的ID
其实前面已经介绍了,除了公众号和小程序,在微信开放平台中做了绑定的app和网站等,也可以获得微信用户的UnionID。当然,前提是这些用户得用他们的微信号登录app和网站(联合登录)。
这样,这些用户在app和网站上的行为数据,也就能够跟公众号和小程序上的行为数据打通。
App和网站与微信上的用户数据打通的另外一种方式,是透过user ID,这里的user ID,不是企业号的User_ID,是用户自己注册的user ID。这一方式对于服务号(企业自建H5页面)和小程序是可用的。即,同一个用户在app、网站,以及微信的服务号和小程序都用同样的user ID登录,然后数据也能得以打通。
这种方式看似麻烦(用户比较麻烦),但是最为可靠。
微信体系的ID存在个人隐私侵犯的风险吗
有段子传说在个人信息隐私保护法律的内部会议上,有过尖锐的争论,一部分大佬们认为微信体系的ID要纳入隐私监管的范围。
我认为这只是一个段子。
但微信体系的ID,确实更类似于一个假名ID。换一个公众号,OpenID就变了,UnionID也可能就变了,但如果你取关一个公众号,然后重新加入进去,OpenID和UnionID是不变的。因此,你其实并没有能够手动更新这些ID的能力。这一点与上篇我介绍的IDFA或者OAID有显著的不同。
从这个角度看,这个ID已经有些类似于user ID之类的东西,确实存在一定的隐私风险。
但目前没有法律规定这一领域,在实际的营销工作中,都将微信体系的这些ID,视同为不侵犯用户隐私的ID。
阿里巴巴的ID体系
阿里巴巴的ID体系相比微信ID体系,实在简单太多。
电商站内的ID
阿里巴巴的消费者触点,主要是站内和小程序。站内,淘宝和天猫,本身是非常封闭的系统,ID当然就是用户的淘宝的用户ID,基本上不可能被企业所直接应用。
支付宝小程序的ID
与微信的体系不同,阿里巴巴的小程序都没有OpenID或者UnionID的概念。在支付宝小程序中,用户的ID只有一个,那就是他的支付宝user_ID。
这里的支付宝user_ID,不是我们使用支付宝时候的那个实名的email的ID。而是支付宝为小程序用户生成的一个假名化的ID。它长这样:“2088102150477652”。
同一个用户,使用不同的支付宝小程序,它的user_ID是不变的。从这个角度看,这个user_ID,很类似于微信的UnionID。
支付宝小程序的开发者可以获取这个ID,具体方式跟前面讲的微信里面获取OpenID的方式大同小异,技术的同事肯定一看就懂。官方文档在这里:
https://opendocs.alipay.com/apis/api_9/alipay.system.oauth.token。
支付宝小程序中嵌入的H5如何获取支付宝小程序ID
与微信服务号中嵌入H5的情形相似,在支付宝小程序中嵌入的H5也能获取支付宝小程序的ID。具体方法技术同事也能搞定,官方说明如下:
可以先在小程序里调用my.getAuthCode得到auth_code,传入alipay.system.oauth.token接口获取到user_id,再通过postMessage发消息给H5,H5使用my.onMessage就能接收到user_id参数。
具体官方文档在这里:
https://opensupport.alipay.com/support/knowledge/46919/201602414966?ant_source=zsearch。
字节跳动的ID体系
字节跳动的ID体系与阿里巴巴很类似,同样很简单,同样也是因为具有开放性的消费者触点非常有限。
今日头条和抖音的ID
今日头条的用户ID是用户手机号;抖音则是抖音号(跟微信号类似),并且可以跟手机绑定。两个ID都是封闭的。
抖音“蓝V”(抖音企业认证)所用的ID
没有专门的ID,本质上仍然是一个封闭的系统。企业只可以按照要求在抖音后台固定的框架内装修一下的自己的“门面”,设置几个外链,而完全不具备开放性。“蓝V”的用户ID就是抖音ID,企业无法使用。
字节跳动小程序ID
字节跳动小程序的ID与微信小程序的ID有一定的相似之处,即,都采用了OpenID的方法。但字节跳动没有类似于微信的UnionID。
由于不同字节跳动的小程序的OpenID不同,并且没有UnionID,因此字节跳动小程序之间的数据无法打通。
百度小程序的ID体系
最后,简单说一下百度小程序的ID体系。
同样也是使用的OpenID。但同样没有UnionID。不过百度小程序提供了一种叫做Swanid的设备标识符,可用于打通不同小程序间的同一个用户的数据。
小结
从ID的情况看,微信平台的最为复杂,或许也从侧面反映出它在构建开放性社交平台方面确实是最为成熟的。
阿里、字节跳动和百度,感觉都比较封闭,从提供的ID上就可以看出。比较起来,百度略微开放一些。
所以,基本上搞懂了微信体系的ID,工作中的问题其实也就基本上能解决了。
最后,关于这部分内容,由于各个平台仍然在不断更新,因此不排除其中的内容随着时间的推移而发生改变(这几乎是一定的),或因为我所了解的有限而有不正确或不准确的。希望朋友们留言指正。谢谢。
-加入宋星的读者群-
欢迎加入我的读者群