我无法使用 Google 跟踪代码管理器,dataLayer 推送不会在 Analytics 事件面板上反映任何内容

I cannot use Google Tag Manager, dataLayer push doesn't reflect anything on Analytics event panel

GTM 片段放在 GAnalytics 之后:

<!-- Google Tag Manager -->
  <script>(function (w, d, s, l, i) {
      w[l] = w[l] || []; w[l].push({
        'gtm.start':
          new Date().getTime(), event: 'gtm.js'
      }); var f = d.getElementsByTagName(s)[0],
        j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
          'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-XXXXXX');</script>
  <!-- End Google Tag Manager -->

所以我正在尝试 运行 在控制台上(从本地主机,我也在现场试过) dataLayer.push({'event':'test'});

然后,当我(实时)查看 Analytics 事件面板时,图表上什么也没有出现。为什么会这样?有什么建议或想法吗?

默认情况下,Google 跟踪代码管理器不会向任何地方发送任何数据。当您执行 dataLayer.push 调用时,数据会简单地添加到位于客户端浏览器中的 dataLayer

要让 GTM 发送数据,您需要配置触发器和标签。如果您想将 GTM 设置为直通,以便将您推送给它的任何数据发送到 Google Analytics,下面是一个示例: https://www.simoahava.com/analytics/create-a-generic-event-tag/

关于 GTM 的一些一般信息:

  • Variables:它们允许您从 dataLayer
  • 获取数据
  • Triggers:它们是定义何时触发某些标签的规则
  • Tags:它们是可以为所欲为的代码片段(向您的网站添加横幅,向 Google 分析等发送数据)。

dataLayer.push({'event':'test'});

它将数据发送到dataLayer,而不是GA。 然后,您可以使用事件名称创建触发器类型为 "Custom event" 的 GA 标签。

我直接从 gtag(Google 分析)中整理出触发事件:

gtag('event', <action>, {
  event_category: <category>,
  event_label: <label>,
  value: <value>
});