【问题标题】:How do I get Google Tag Manager to track events?如何让 Google 跟踪代码管理器跟踪事件?
【发布时间】:2019-01-31 02:09:42
【问题描述】:

我正在尝试使用 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 地址删除了所有过滤器。如果我遗漏了什么,请告诉我。

【问题讨论】:

  • 我希望我从未选择过 GTM :-(

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


【解决方案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
    });
}

您不需要其他任何东西。

【讨论】:

  • 我目前正在实施哪一个? GTM 还是 gtag.js?如果我想从 Javascript 触发事件,我应该使用哪一个?
  • 更新了我的答案,但我建议您查看 GA 中的事件跟踪,了解事件类别、事件操作和事件标签的用途以及围绕它的指标如何工作。现在,您将“eventName”作为类别跟踪,将“eventValue”作为标签,将 1 作为值。我觉得这可能不是一个很好的组织方式。
  • 非常感谢,我可以从我的代码中完全删除&lt;!-- Google Tag Manager --&gt; 部分吗? GTM 和 gtag.js 有什么区别,我不太明白。我应该什么时候使用哪一个?
  • 是的,您只需要我的回答中的内容即可让您的事件跟踪工作。我做空。 gtag.js 是谷歌分析跟踪库。它仅用于谷歌分析。 GTM 是一个标签管理系统,当您在 GTM 中创建谷歌分析标签时,您实际上是在代码中包含了 GA 库,而无需修改页面的源代码。 GTM 还允许您在页面上添加其他代码(facebook、crazyegg、hotjar、自定义 html 等)。
  • 啊,我明白了,所以我实现的是 gtag.js,而不是我设置的整个 GTM 标签系统(包括 Hotjar、Facebook 等)?
猜你喜欢
  • 2013-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
  • 2017-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多