在一个网站上工作,我使用谷歌标签管理器并在Javascript中使用dataLayer推送一些信息。到目前为止一切顺利。然而,有些信息不应该在客户端看到。因此,我想知道是否有可能在后端做同样的事情?
基本上是对GTM API的请求,它相当于
dataLayer.push({
'event': 'transaction',
'something': {
'superSecret': 42
}
});
但是在后端。(我从未使用过GTM API,我不确定它是否允许执行这种请求。如果可能的话,我会很感激你的帮助:)。谢谢!
Web上的GTM基本上是一个Javascript注入器——接口是用来配置你的标签的,然后一切都被包装成一个Javascript函数,插入到你的页面中,由浏览器执行。没有可以推送数据的服务器端组件。
所以很可能答案是否定的(除非你想尝试非常奇怪的变通方法,比如在服务器上的无头浏览器中运行容器,或者试图滥用GTM的移动sdk,它的工作方式与web版本大不相同)。我想直接把你的服务器端调用发送到相应的跟踪服务会更容易。
服务器端GTM在几个月前已经从测试版中移出,所以现在您可以在虚拟机中运行容器,该虚拟机将跟踪请求代理到跟踪供应商。您可以从后端访问服务器端GTM的端点(基本上使用发送http请求的任何东西),因此到目前为止,服务器端GTM是实现您所请求的内容的方法。从技术上讲,它与客户端GTM是不同的,但谷歌在使界面看起来和感觉上做得非常好。
2020年,Google发布了用于服务器端跟踪的Google Tag Manager,您可以在云环境中运行容器,然后分发请求。https://developers.google.com/tag-manager/serverside
Facebook和谷歌分析现在支持这个。因此,您可以将跟踪移动到服务器端。