服务器端标记 Manager/App Engine/Ad 拦截器:有什么方法可以自定义端点 URL?

Server-side Tag Manager/App Engine/Ad blocker: Any way to customize endpoint URL?

我正在尝试统计我博客的访问者数量(我使用的是发布在 Github 页面上的静态网站),为此我正在使用 Google Analytics 4 .

但我意识到广告拦截器(例如 uBlock Origin)会阻止对标签管理器或分析域的请求,甚至 URL 路径段(例如 /gtm.js/gtag/js?),请参阅 EasyPrivacy.因此,由于许多人正在使用浏览器广告拦截扩展程序,因此使该指标不太现实。

我一直在阅读最近有关服务器端标记的文章,以及如何使用它为跟踪代码管理器部署 App Engine 实例,以及绕过广告拦截(在其他目标之间)。但据我所知,这样做可以绕过域阻止(例如 www.googletagmanager.com),因为标签管理器成为您托管域下的第一方。但不要规避基于 URL 路径的阻塞规则。所以,

  1. 有什么方法可以配置服务器端标签管理器以在不同的自定义路径中为 JS 脚本提供服务,从而变得无法阻止?如果可以,如何配置?

  2. 如果可能的话,我应该直接使用分析脚本吗?

  <script async src="https://stats.MY-DOMAIN.com/gtag/js?id=G-xxxx"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-xxxx');
  </script>
  1. 或者我应该改用标签管理器 script/noscript snippets

我也在尝试了解在 HTML 中放置一个代码段(Google Analytics 4)或另一个(标签管理器)有什么区别。谢谢!

P.S。我主要想知道 visitors/country 来源的数量(对任何其他指标不太感兴趣)。

您似乎误解了服务器端 GTM 的概念。

这里的想法是,您的服务器端 GTM(G 引擎实例)的端点从不 暴露在前端。

所以您的后端将事件发送到您的 App Engine 实例,而不是前端。您通常不需要在前端部署任何代码。所有逻辑都应该仅在后端设置。由您的后端开发人员。您的后端通常可以收听看似在前端发生的所有重要事件。比如页面导航、表单提交、购买等

您仍然可以将看似前端的事件发送到您的服务器端 GTM。但你必须对此保持聪明。您不想完全暴露您的真实 GTM 端点以避免机器人、“黑客”和广告拦截器。

所以你要做的是:

  1. 在您的后端构建一个自定义“镜像”端点,其主要思想是将它获得的所有内容中继到您的 App Engine GTM 端点。实际上,在何处构建镜像端点并不重要。您的后端团队可能会对为“他们的”存储库做出贡献的分析想法不以为然,因此拥有您的端点可能是个好主意。
  2. 为您的镜像端点添加保护、数据丰富、验证和日志记录。它是可选的,但它很好。
  3. 现在,当您需要将前端跟踪添加到现有后端跟踪时,在极少数情况下使用您的新端点。 Addblockers 仍会阻止您的前端 GTM,因此您可能想为您的前端代码使用其他东西(不是 TMS)。
  4. 可选地,添加一些后端逻辑以在后端事件和您的镜像端点事件之间同步客户端 ID。如果您的镜像与您的主要后端代码库一起使用,那就容易多了,记住这一点。

是的,服务器端为现代跟踪带来了许多优雅的解决方案。然而,它要求实施专家是全栈网络开发人员。这对行业来说并不典型。事实上,实现者很少有中级 JS 开发技能,更不用说全栈或 REST API 经验了。