一页有多个 Google Analytics 4 脚本跟踪器

2023-12-12

Briefly:主要想法是我有一个集成了 Google Analytics 4 (GA4) 的网站和一个集成到该网站中的独立小部件,该网站也具有 GA4。结果,事件被发送到两个跟踪器。我如何才能将其彼此隔离?

详细的:有 2 个 React Web 应用程序。其一是parent-website 和另一个集成在它的小部件中(作为 React 应用程序,使用 Webpack 构建成 2 个文件 - js 和 css)。该小部件可以通过脚本标签和 CSS 链接集成到任何网站。这个小部件需要有谷歌分析。但一个parent-网站还可以集成谷歌分析。 如果这parent-网站有Universal Analytics,没关系,发送的事件是隔离的,但如果两者都有新的GA4麻烦就发生了。

我尝试在react-ga4库的帮助下将GA集成到两个[测试]应用程序中。结果,两个跟踪器帐户都会获取从小部件和父网站发送的所有事件。 并且还尝试在父网站中手动添加脚本标签和小部件应用程序react-ga4库中使用。而且所有事件都无处不在。Inspect

然后我尝试手动添加 GA4 脚本,并为两个跟踪器设置两个配置。同样的情况也会发生 - 所有事件都会发送到两个跟踪器。

主要问题如何隔离事件发送?

        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script
          async
          src="https://www.googletagmanager.com/gtag/js?id=TRACKING_ID_1"
        ></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag() {
            dataLayer.push(arguments);
          }
          gtag("js", new Date());
    
          gtag("config", "TRACKING_ID_1");
        </script>
    
        <!-- Global site tag 2 (gtag.js) - Google Analytics -->
        <script
          async
          src="https://www.googletagmanager.com/gtag/js?id=TRACKING_ID_2"
        ></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag() {
            dataLayer.push(arguments);
          }
          gtag("js", new Date());
    
          gtag("config", "TRACKING_ID_2");
        </script>

我认为您需要稍微修改一下 gtag 事件代码。

请拍一下这个文件.

gtag('event', 'sign_in', { 'send_to': 'G-XXXXXX-2' });

主要思想是添加一个参数调用send_to并要求事件仅发送到跟踪 ID。

如果您需要配置多个跟踪ID。

您只需配置第二个跟踪器

无需添加<script> again

<script async src="https://www.googletagmanager.com/gtag/js?id=TRACKING_ID_1"></script>

<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
  dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "TRACKING_ID_1");
gtag("config", "TRACKING_ID_2");
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一页有多个 Google Analytics 4 脚本跟踪器 的相关文章

随机推荐

  • 向 SpringBootTest 添加配置类会破坏组件扫描

    我正在尝试禁用真正的 Mongo 连接并在测试中将其替换为 Fongo 模拟 这是我的测试课 SpringBootTest RunWith SpringRunner class public class ControllerTest Aut
  • 在提交表单之前将复选框值合并到字符串中

    我正在将表单发送到我访问权限有限的外部服务器 我有一个表单 其中包含用户感兴趣的不同产品的许多复选框 我需要以单个字符串形式发送这些复选框 其中列出了他们检查的所有产品 我知道我需要使用 JavaScript 来捕获选择并将它们组合成一个变
  • Realitykit 功能在 ios 13.4.1 上崩溃,但在 15.2 上运行

    我有一个部署目标为 10 的项目 其 Realitykit 功能仅出现在 ios 13 设备上 问题是它在 ios 15 2 的真实设备中成功运行 但在 ios 13 4 1 中崩溃并出现错误 实例化缺少弱链接祖先的类的类元数据 avail
  • jOOQ“EXTRACT(EPOCH FROM [field])”解决方法?

    有一种语法允许将时间戳转换为各种日期部分 包括 unix 纪元 其工作原理如下 至少在最新的 PostgreSQL 中 SELECT EXTRACT EPOCH FROM ts FROM 然而 jOOQ 似乎不支持这种语法 如下所示这次讨论
  • hunchentoot 使用 ssl 定义-easy-handler?

    我一直使用define easy handler 我现在有一个新创建的 ssl 证书和关联的 pem 文件 但无法弄清楚 d e h 的 ssl 等效项是什么 例如 我有 hunchentoot define easy handler lo
  • C 中的免费二维数组

    当我遇到以下示例时 我正在解决一些简单的指针练习 void deallocate2D int array int nrows deallocate each row int i for i 0 i lt nrows i free array
  • 与可为空值的 SQL 相等/不相等比较

    首先采取 拼凑解决方案 哨兵方法 您的程序必须不允许输入哨兵值 select coalesce a 2147483648 coalesce b 2147483648 as is equal a little postgresism 假设您忘
  • 随机生成弯曲/波浪路径

    我有一张比视口大得多并且位于视口中心的巨大地图图像 用户可以通过拖动屏幕来浏览该图像 为了创造视差效果 我在前景中使用了巨大的云图像 当用户通过拖动探索地图时 背景和前景都会以视差方式移动 到目前为止 一切都很好 然而 我真正想做的是给云的
  • PHP递归删除函数

    我编写了用于文件夹删除的递归 PHP 函数 我想知道如何修改此函数以删除虚拟主机中的所有文件和文件夹 不包括给定的文件和文件夹名称数组 例如 cgi bin htaccess BTW 使用此函数完全删除像这样的目录调用 recursive
  • 如何在没有 Outlook 的情况下通过 VBA 发送电子邮件

    我尝试在 VBA 中通过 SMTP 发送电子邮件 但返回错误 Dim CDOmsg As CDO Message Set CDOmsg New CDO Message With CDOmsg Configuration Fields Ite
  • 我可以在“with”之外运行剧作家吗?

    我怎样才能跑 browser sync playwright chromium launch 根据文档 playwrite 必须与 with 一起运行 with sync playwrith as p 是什么导致我的浏览器在 with 结束
  • 如何同步 PL/SQL 调用的 java 方法

    我只是有一个与并发相关的问题 其逻辑流程是当客户端 称为Oracle Forms 提交请求 称为并发程序 并调用plsql过程时 该过程最终将调用java静态方法 我发现 当我同时或在很短的时间间隔 例如1秒 内提交两个请求时 会注意到一些
  • 我如何从android中的广播接收器访问数据库?

    我正在开发一个警报应用程序BroadcastReceiver 这里我需要从数据库检查警报是否打开或关闭 所以我需要在广播事件到来时检查警报的状态 我必须将数据库访问代码放入BroadcastReceiver class onReceive
  • 以编程方式自动布局不起作用

    我想以编程方式将 UIImageView 添加到视图中 并添加约束以使其垂直和水平居中 使用故事板 它可以工作 但不能以编程方式工作 class ViewController UIViewController override func v
  • Mysqli 和在插入期间绑定多个值集[重复]

    这个问题在这里已经有答案了 希望有人可以在这里给我一些见解 当必须一次将多行插入表中时 我使用了如下所示的 sql INSERT INTO some names firstName lastName VALUES Joe Smith Fre
  • mysql按类ajax更新表

    我正在尝试使用 ajax 按类而不是 id 更新行数量 我在谷歌上搜索了几个小时试图解决这个问题 但我能找到的所有东西似乎都不起作用 到目前为止我的代码是 include config php id GET id sql2 SELECT F
  • geom_bar 中的条形宽度不相等

    对于以下数据框 我想使用以下方法绘制几个条形图ggplot df lt data frame Disease c Disease1 Disease2 Disease3 Disease3 Disease3 Disease4 Disease5
  • 使用 Freebase API 时如何从 mqlread() 获取光标?

    我正在使用 Python Freebase 模块MQLREAD 使用以下查询 query cursor True id None type games game mid None 返回 100 个条目 但结果不包括 光标 如果您手动运行查询
  • 在函数参数中用更具体的类型替换“unknown”时出错

    在我正在处理的代码库中 拥有一个包含具有类型参数的函数的通用类型是有意义的unknown 然后 无论何时使用该类型 都将函数的参数类型缩小为更具体的类型 但是 这会引发如下错误 Type unknown is not assignable
  • 一页有多个 Google Analytics 4 脚本跟踪器

    Briefly 主要想法是我有一个集成了 Google Analytics 4 GA4 的网站和一个集成到该网站中的独立小部件 该网站也具有 GA4 结果 事件被发送到两个跟踪器 我如何才能将其彼此隔离 详细的 有 2 个 React We