javascript - 使用前如何检查是否加载了谷歌标签分析?
问题描述
我是谷歌分析标签的新手,我正在点击发送事件,现在我添加了数据同意,您可以在标题中的脚本标签下方看到。
标签
<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
解决方案
这是您当前的代码段:
<!-- 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/plain
type 属性肯定是错误的,因为代码不能识别为 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>
推荐阅读
- go - 连接 3 个或更多切片的最简洁方法
- javascript - 检测所选文本无法正常工作
- c++ - ROS 和 OpenCV4 的 DNN 模块的命名空间错误
- awesome-wm - 在当前标签中启动应用程序的快捷方式,或者如果已经启动,则在真棒 wm 中引入当前标签
- css - 按钮上的背景图像不起作用
- opencv - 如何从源代码构建 opencv java 库?
- java - Android Studio 网购
- javascript - 带有参数的 jQuery GET 在服务器端始终为空
- python - 如何在没有 anaconda 的情况下在 python 中创建环境?
- swift - 重写 NSScrollView.scrollWheel(with:) 方法禁用垂直滚动