如何让Google跟踪代码管理器跟踪事件?

时间:2019-01-31 02:09:43

标签: javascript google-analytics google-tag-manager gtag.js

我正在尝试使用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>

我在做什么错?我尝试过转到Google Analytics(分析)->实时->事件,但单击该按钮后没有任何显示。我还确保已删除所有带有IP地址的过滤器。如果我想念什么,请告诉我。

1 个答案:

答案 0 :(得分:1)

您已经混淆了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
    });
}

您将不需要其他任何东西。

相关问题