这一节来讲讲Adobe Anaytics的布署方式,大体和分为两种,客户端和服务端布署。
- 客户端:客户端布署就是数据从客户端(APP或浏览器)直接发送给Adobe Analytics服务器
- 服务端:服务端布署就是数据先从发送到边缘服务器,然后再发送给Adobe Analytics服务器
这两种方式最大的区别在于是否有边缘服务器,服务端布署需要另外购买边缘服务器去做数据中转和控制。
我们先看看客户端布署:
客户端布署
客户端布署可以分为直接发送和CNAME转发发送,Adobe将直接发送叫做第三方布署,因为将数据发送到第三方服务器,将CNAME叫第一方布署,数据是先发送到自己的二级域名,再转发给Adobe。
第三方布署:直接发送
直接发送就是将数据直接发给Adobe Analytics服务器。
如果你看到Adobe Analytics的请求是发送到2o7.net、omtrdc.net 或data.adobedc.net(这个是2022年新启用) ,这就是它默认收集服务器,那么就只直接发送的。
注意:这两个服务器都是境外的,也就是中国区用户如果使用Adobe Analytics默认是传递到境外的,Adobe有针对中国的数据中心,域名为sc.adobedc.cn,可以向Adobe申请,这个需要付费。
第一方布署:CNAME解析
CNAME 即指别名记录,也被称为规范名字。一般用来把域名解析到别的域名上,或是将一个域名映射到另一个域名。将可供第三方分析提供商使用的子域名通过 CNAME DNS 记录以别名的形式发给外部服务器。比如是解析到A,但实际是解析到B,也就是数据是发送到B。
比如网站www.apple.com是实施了CNAME解析了,你看到Adobe Analytics的请求是发送到你的二级域名的,比如securemetrics.apple.com:
但实际上它是解析到appleglobal.102.112.2o7.net,我们可以ping一下它:
它发送到2o7.net,CNAME解析就是将域名解析到别的域名上去。
使用CNAME有如下一下优点:
- 现在的浏览器逐步全面禁用第三方Cookie:苹果和Mozilla 等公司在过去数年内为解决隐私问题,都在各自的浏览器 Safari 和火狐浏览器中引入追踪防护机制,并开始默认拦截由第三方追踪器设置的第三方cookie,Safari更是将通过 document.Cookie API 设置的第一方持久性 Cookie(通常称为“客户端”Cookie)的有效期限最长为 7 天;Chrome从 Chrome 80 开始,通过不同方式处理 SameSite 属性,以管理第三方 Cookie 或跨站点请求,最终,Chrome 开发人员正在寻找方法彻底弃用第三方 Cookie ;Firefox 和 Edge的产品公告指出,其浏览器的后续版本将遵循与 Chrome 80 中相同的更改。由于ITP的规则的变化,基于CNAME 和JavaScript设置的cookie的有效期是一样,所以这种方法的作用在减弱。
- Adobe Analytics默认收集数据的服务器是2o7.net和omtrdc.net ,由于某些安全原因,这两个域名可能会被列为跟踪的类型并被屏蔽。
如果你只有一个网站的,可以直接使用默认的数据收集主机名( omtrdc.net 或 2o7.net );也可以使用CNAME部署,后者看起来会更好。
有种说法:由于很多CNAME都是使用analytics和metrics,如adblocker开始屏蔽这两个关键字的请求,所以在定义CNAME的时候,尽量使用其他名字。
服务端布署
服务端布署方法是将数据是先发到边缘服务器,然后边缘服务器再发给Adobe Analytics或其他第三方平台。
数据是先发到边缘服务器的过程,看到的用户的二级域名,看上去很CNAME的有点类型,但其实有很大不同,如它的url是很短:
可以通过请求上的configId(这个ID对应的就是Launch里的DataStream ID)判断是不是服务端布署。
实际上它是用beacon发送的,它发信息都在Payload里:
可以看到XDM里有很很多的信息,XDM的全称是 Experience Data Model,叫体验数据模型,它是可重用的一致方式描述数据结构,上面的数据是可以重复映射发向不同的位置。
这种布署方式在国外是一种趋势,有不少优点:如不用服务端布署,你布署5个第三方工具收集数据,至少会有需要向5个服务器发送数据,如果用服务端布署,只发送一条,先发送到边缘服务器,然后服务器在将XDM数据映射转到第三方平台;它发送的边缘服务器是你的二级域名,能减少屏蔽;另外,在数据映射的时候,你可以控制和决定发送的信息,能更好的保护用户隐私。
服务端布署方法请看:Adobe Experience Platform Data Collection Event Forwarding