随着法规《隐私和电子通讯指令》(e-Privacy Regulation,简称ePrivacy)、《通用数据保护条例》( General Data Protection Regulation,简称GDPR)和《加州消费者隐私法案》(California Consumer Privacy Act,简称CCPA)的实施,浏览器通过使用智能跟踪防护 (Apple Safari的ITP)和增强跟踪防护 (Firefox的ETP)严格限制第三方Cookie的功能,Google Chrome更是直接计划在2022年前弃用第三方Cookie,越来越多的浏览器对Cookie 的限制越来越严格, 所以标签管理工具往服务端布署的方向发展,通过服务端的方式不仅能提高数据透明度和控制力,有效对数据做保护,还能绕开Cookie的限制
如Google Tag Manager新增了一个服务端跟踪的功能,在这之前,服务端跟踪作为Tealium,Ensighten的亮点已经存在多年了。
什么是服务端跟踪
Server Side Tagging,也叫服务端标签、服务端跟踪、云交付
服务端跟踪,也称为云交付,将TMS布署到一个自己的服务器,用户访问的时候第三方代码都从这个服务器上加载,数据收集也是通过这个服务器,然后在转发给第三方数据收集服务器。这种布署方法由来已久,但随着谷歌和Adobe上推出这种布署方法而受到业界重视。
跟服务端概念相对的是客户端,我们来看看两者的区别:
客户端跟踪
现在客户端的一般是采用页面标签技术,将不同的分析工具直接布署或通过GTM布署到页面上去,用户打开页面的时候加载GTM上的配置,然后触发不同分析工具代码将数据直接发向不同的第三方收集服务器,如下图:
服务端跟踪
服务端跟踪是将第三方工具的跟踪布署到指定的服务器上,现阶段GTM仅限于GCP服务器,用户打开网页的时候加载该服务器的上配置触发将数据返回该服务器,然后该服务器再将数据转化成不同工具的数据通过API发向不同的第三方收集服务器。
服务端多一个中间的服务器用于管理第三方代码,收集用户发送的数据,转发给其他营销自动化平台,分析提供商,个性化工具。
目前业内主流的布署方法是客户端布署,英文全称是Client-Side Tagging,简称CST,也可以叫设备端布署。客户端布署的容器配置是在浏览器上运行,数据直接从浏览器通过JavaScript请求发送到第三方平台,这是业内主流、经典的布署方法。
它们两者的对比如下:
在Client-Side Tagging中,Tag Manager是在浏览器中运行,数据直接从浏览器通过JavaScript请求发送到第三方平台,如发送给Google Analytics、Facebook、Adwords等。
在Server-Side Tagging中,多出了个Client概念,这个是适配器,一个是在浏览器中,它是收集数据,将数据转化成特定的形式然后发给TMS服务器;一个是在TMS服务器中,它是对接收到的数据做处理,解析出来。最后数据在TMS服务器上的Tag Manager运行,将数据从服务端通过API请求发给第三方平台,如发送给Google Analytics、Facebook、Adwords等。
服务端布署还可以细分成两种
- 一种是自动化布署,就是使用谷歌云服务。
- 一种是手动布署,就是自己可以随手一选择服务器。
自动化布署
手动布署
你可以自备服务器,但服务器是要布署有docker的,在docker对服务器做配置:
然后需要分别配置服务器端代码植入服务器( 就是图中的Tagging servers)和预览服务器(图中的Preview server ),所以至少需要两台服务器。
为了获得更出色的可用性、可扩缩性和性能,官方推荐的是服务器端代码植入服务器配置成集群的形式,所以至少需要三台服务器。
- Tagging servers是所有请求去到代码植入服务器的入口点,并将负责处理请求。
- Preview server是用于预览服务器容器,用于测试。
服务端跟踪的优点
- 改进的性能:网站页面加载和发送的请求/数据变少了,用户浏览会更流畅
- 更高的安全性:通过在GCP中收集和分发数据,可以更好地保护访问者数据。数据被发送到Google Cloud实例,然后由其他代码进行处理。
服务端跟踪与之前的GTM有什么不同?
- 数据传输方式:原有的GTM是第三方工具分别向不同的服务器发送数据,服务端的统一收集后再处理转发
- 服务器:服务端跟踪自然需要使用服务器的,需要有自己的服务器,目前要求是谷歌云服务,这个服务器的作用是放容器代码,收集和转发数据,
- 加载代码的域:原有GTM是从谷歌服务器加载,服务端的可以用解析到自己的二级域名的,也就是所有的代码和收集收集的服务器指向的域名都可以是自己的,能解决被屏蔽的可能。
- 费用:原有的GTM是免费,服务端的由于使用到服务器,会需要付费的
其他,想到再增加。
使用要求
现在的服务器只支持GCP谷歌云服务器,而且GCP需要绑定外币信用卡,谷歌GCP新注册是有免费300美元额度可以领取,但国内信用卡在选地区时如果没有中国可以选,而且现在审核趋于严格,这个请自己解决。
配置的服务器的至少要三个,每个服务器每月需要40美元,每个服务器每秒请求是100个,也就是每个月服务器花费至少120美元,随着流量越高,花费会更高的。
2021年4月,现在已经支持其他服务器,但还是服务器数量还是推荐的3台。
使用注意点
服务端跟踪必然会用到服务器,这个服务器需要处理和转发数据,提供有免费的配额,超过是需要付费的,所以才需要绑定信用卡。
谷歌云服务在大陆没有数据中心,对数据法规方面有较高要求的可能会有顾虑。
Server Side Tagging的界面
界面跟原有的基本一致,但多了一个Clients,中文名客户端,是适配器的作用,这个是一个新的概念,官方的定义如下:
“Clients” are adapters between the software running on a user’s device and your server-side Tag Manager container. They receive measurement data from a device, transform that data into one or more events, process the data in the container, and package the results to be sent back to the device.
怎么处理转化后的数据是sent back to the device,按我理解是发送到第三方收集数据的服务器才对,Client的作用是解决服务端的数据收集和转发的。
Adobe Launch中也有一个Hosts适配器的概念的,它的功能是控制容器代码从哪里加载的。
两者的作用显然是不同的。
现在服务端支持的tag很少,只有官方的三个,统一版,全局版和测量协议,这个工具的强大与否取决于Tags丰富与否。
服务端社区模板库
Google Tag Manager社区模板库最近增加了服务端的模板库,就是用于GTM服务端布署使用的模板,自从去年发布GTM服务端布署测试版以来,谷歌整个正逐步的往服务端发展,在未来,服务端布署将是主流布署方式。
服务端模板库目前还没有集成到GTM的代码里面,它有个单独的地址:https://tagmanager.google.com/gallery/#/?page=1
其中,网站是表示客户端跟踪,就是我们目前布署的方式,服务器就表示服务端,叫Server Side Tagging
行业情况
Adobe Launch在2020年底也推出了服务端跟踪Adobe Experience Platform Web SDK,它叫event forwarding 事件转发。