Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让Google Tag Manager跟踪事件?_Javascript_Google Analytics_Google Tag Manager_Gtag.js - Fatal编程技术网

Javascript 如何让Google Tag Manager跟踪事件?

Javascript 如何让Google Tag Manager跟踪事件?,javascript,google-analytics,google-tag-manager,gtag.js,Javascript,Google Analytics,Google Tag Manager,Gtag.js,我正在尝试使用Google Tag Manager跟踪事件,以下是我的代码: <!-- 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.getElementsByTagN

我正在尝试使用Google Tag Manager跟踪事件,以下是我的代码:

<!-- 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->Real Time->Events,当我点击按钮时,什么都没有显示。我还确保删除了所有具有我的IP地址的过滤器。如果我遗漏了什么,请告诉我。

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

以下是在GTM中进行GA事件跟踪时应使用的方法:

如果您只是想让GTM正常工作,请将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>

您不需要其他任何东西。

我目前正在实施哪一个?GTM还是gtag.js?如果我想从Javascript触发事件,我应该使用哪一个?更新了我的答案,尽管我建议您查看GA中的事件跟踪,了解事件类别、事件操作和事件标签的用途,以及它周围的度量是如何工作的。现在,您将跟踪eventName作为类别,eventValue作为标签,1作为值。我觉得这可能不是一个很好的组织方式。非常感谢,所以我可以从我的代码中完全删除这个部分吗?GTM和gtag.js之间有什么区别,我不太明白。什么时候我应该使用哪一个?是的,你只需要我在我的答案中的内容,你的事件跟踪工作。我做空了。js是谷歌分析追踪库。这只是为了谷歌分析。GTM是一个标签管理系统,当您在GTM中创建google analytics标签时,您基本上是在代码中包含GA库,而无需修改页面的源代码。GTM将允许您在页面上添加其他代码以及facebook、crazyegg、hotjar、自定义html等。啊,我明白了,所以我实现了gtag.js,而不是我设置的整个GTM标记系统,包括hotjar、facebook等?我希望我从未选择过GTM:-
function trackEvent(eventName, eventValue) {
    gtag('event', 'click', {
        'event_category': eventName,
        'event_label': eventValue,
        'value': 1
    });
}