首页 > 解决方案 > 如何让 Google 跟踪代码管理器跟踪事件?

问题描述

我正在尝试使用 Google 跟踪代码管理器跟踪事件,这是我的代码:

<!-- Google Tag Manager -->
(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-MYTAG');

window.dataLayer = window.dataLayer || [];

function gtag() {
    dataLayer.push(arguments);
}

gtag('js', new Date());

gtag('config', 'GTM-MYTAG');

function trackEvent(eventName, eventValue) {
    gtag('event', 'click', {
        'event_category': eventName,
        'event_label': eventValue,
        'value': 1
    });
}

这是点击某物时触发事件的 HTML:

<button onclick="trackEvent('Add Button Clicked', 'Header')"
        class="chrome-button chrome-link btn btn-sm btn-sample">
    <div>Add to Chrome - Free</div>
</button>

我究竟做错了什么?我试过去谷歌分析->实时->事件,当我点击按钮时什么都没有显示。我还确保使用我的 IP 地址删除了所有过滤器。如果我遗漏了什么,请告诉我。

标签: javascriptgoogle-analyticsgoogle-tag-managergtag.js

解决方案


您混淆了 GTM 和 gtag.js。它们是用于跟踪的两个独立库。

以下是在 GTM 中进行 GA 事件跟踪时应使用的方法:https: //support.google.com/tagmanager/answer/6106716?hl=en

如果你只是想让它工作,那么将 GTM 替换为:

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

  gtag('config', 'UA-XXXX-1');
</script>

然后像你一样触发这个函数:

function trackEvent(eventName, eventValue) {
    gtag('event', 'click', {
        'event_category': eventName,
        'event_label': eventValue,
        'value': 1
    });
}

你不需要其他任何东西。


推荐阅读