Google Analytics 4(gtag js)“set”命令未向事件添加数据

8

我正在尝试使用JavaScript通过“set”命令向GA4中发送的每个事件添加数据:

https://developers.google.com/tag-platform/gtagjs/reference#set

从这些文档中看来,它似乎类似于Serilog Enrichment,但它似乎无法工作,我也没有看到这些数据。
我正在使用localhost + Google Analytics Debugger Chrome扩展程序。然后在Analytics > Configure > DebugView中,我可以看到自定义事件“hello-world”和属性“test”,但我没有看到通过“set”命令添加的数据。 GA DebugView 我使用set命令进行了2个调用 - 第一个是“user_id”属性,它确实有效。那一定是一个特殊情况,因为GA对此有不同的处理方式。第二个是用于自定义对象的,但它并不起作用。
控制台显示了两个set命令调用的一些输出,但没有任何提示告诉我是否成功或失败。

<!DOCTYPE html>
<html>

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

    // Set enrichment properties for every event "on this page"
    // https://developers.google.com/tag-platform/gtagjs/reference#set

    gtag('set', {
      'foo': 'bar',
    });

    // Set the measurement id
    // https://developers.google.com/analytics/devguides/collection/gtagjs/setting-values
    gtag('config', 'G-SOMECODE');

    //Set the GA4 user_id and keep it set for all events
    gtag('set', {
      'user_id': 'a24b935c-03cd-47f0-af68-c60a68b31303'
    });

    gtag('event', 'hello-world', {
      'test': true
    });

  </script>
  <title>Html Delivery</title>
  <script type="text/javascript">
    function myFunction() {
      // Event with nested data test. It doesnt seem to display nicely
      gtag('event', 'button-click-nested', {
        'data': {
          'type': 'nextButton'
        }
      });
      gtag('event', 'button-click', {
        'type': 'nextButton'
      });
    }

    function LinkFunction() {
      console.log("link click");
      gtag('event', 'link click', {
        'type': 'link'
      });
    }
  </script>
</head>

<body>
  <button onclick="myFunction()">Next</button>
  <a id="myLink" href="#" title="Click to do something" onclick="LinkFunction()">link text</a>
</body>

</html>

我已经尝试将调用移动到配置命令的上方/下方,但也没有任何区别。
有一个类似的问题,但我的声誉不允许我评论它以查看它是否仍然存在。 接受的答案对我没有帮助,因为我想能够以这种方式添加任意数据。
我已经尝试在GA中设置自定义指标(我没有使用GTM),但仍然没有数据传递。
这只是不起作用吗?

嘿,你找到这个问题的解决方案了吗?我也遇到了与你相同的问题。 - Nenad Vracar
@NenadVracar,抱歉我没有这样做。最终我通过常规的“事件”命令为每个事件添加了共享属性。确保我们将这些属性存储在全局可用的地方。 - user1097669
我做了完全相同的事情,看起来set方法出现了问题。 - Nenad Vracar
你想要“发送数据到自定义事件”还是只想使用“设置”?你考虑过它们之间的区别吗?为什么你创建了一个自定义指标而不是一个自定义维度?无论如何,在任何情况下,你都需要在Google Tag Manager中创建变量。你已经创建了吗? - Shila Mosammami
在这里尝试同样的事情(希望我的自定义维度适用于自动事件,如滚动/点击/...) 你是否测试过“真实”的数据而不仅仅是调试视图? 同时想知道如何取消设置属性中的一个。 - JB Hurteaux
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接