首页 > 解决方案 > 使用前如何检查是否加载了谷歌标签分析?

问题描述

我是谷歌分析标签的新手,我正在点击发送事件,现在我添加了数据同意,您可以在标题中的脚本标签下方看到。

标签

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>my app</title>


 <!-- Global site tag (gtag.js) - Google Analytics -->
<script async  type="text/plain" data-consent-category="3" src="gtagjs link"></script>
<script type="text/plain" data-consent-category="3">
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'my code');
</script>

向 GTA 发送事​​件

if(gtag){
    console.log('GTA IS LOADED');
    gtag('event', "take_test", {
        'event_category': "engagement",
        'event_label': labela,
    });
}else{
    console.log('NO GTA IS NOT LOADED');

}

当我运行我的应用程序时,我得到以下信息

gtag is not defined

标签: javascripthtmlgoogle-analyticsgoogle-tag-manager

解决方案


这是您当前的代码段:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async  type="text/plain" data-consent-category="3" src="gtagjs link"></script>
<script type="text/plain" data-consent-category="3">
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'my code');
</script>

我确定您替换了 gtagjs 链接以隐藏 ID,但是text/plaintype 属性肯定是错误的,因为代码不能识别为 JavaScript,而是识别为文本。结果,它不会加载库并给您错误gtag is not defined

因此,或者您将代码段替换为以下内容(使用您的 ID 而不是您替换):

<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_MEASUREMENT_ID');
</script>

或者您也必须使用text/plain该事件(如果您想在未经同意的情况下阻止 Analytics):

<script type="text/plain">
    gtag('event', 'take_test', {
        'event_category': 'engagement',
        'event_label': labela,
    });
</script>

推荐阅读