Tim*_*eld 6 google-analytics google-tag-manager
我正在尝试为网站设置 Google Analytics App+Web 的电子商务事件配置。请参阅此处的文档。
因为电子商务配置有很多自定义代码,所以我不能使用通用的 GA App+Web webevent 模板,所以在这种情况下我使用自定义 HTML 标签。
作为第一个测试,我尝试触发以下简单事件:
<script>
gtag('event', 'blabla', {
'test_param1': 'test_value_1'
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是,事件没有正确发送到 GA;相反,控制台中返回以下错误:
未捕获的 ReferenceError:gtag 未定义
要重现,请参阅以下页面:https : //www.hema.nl/mooi-gezond/make-up/make-up-accessoires/toilettassen-1/toilettas-11830901.html
附加信息:
有谁知道出了什么问题,为什么会出现控制台错误以及为什么事件没有发送到 GA?
除了 GTM GA App+Web 标记之外,您还需要添加以下代码以定义 gtag():
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
</script>
Run Code Online (Sandbox Code Playgroud)
根据官方文档(https://developers.google.com/analytics/devguides/collection/ga4),这是您应该在您的网站中包含的代码:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'MEASUREMENT_ID');
</script>
Run Code Online (Sandbox Code Playgroud)
在检查带有此标签的网站后,我发现 GTM 注入了第一行,这足以使分析工作。但它没有添加其他行,其中一些行有效地将gtag全局函数定义为将事物推送到分析数据层的“语法糖”。
就个人而言,我觉得这真的很奇怪,因为使用 GTM 是将 Google Analytics 添加到网站的最规范的做法,而且它是由同一家公司提供的。
小智 5
这可能有点重复已接受的答案,但我想确认(某些)Google 文档确实建议将以下代码片段手动添加到您网站的 <head> 部分,就在您的网站上方现有跟踪代码管理器容器代码段:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
</script>
Run Code Online (Sandbox Code Playgroud)
如果出现以下情况,这是必要的:
问题的原因已经找到了。问题似乎是,如果应用程序+Web 基本设置是使用 GTM 应用程序+Web 基本模板标记完成的,则 gtag() 不起作用。相反,应首先将事件推送到 GTM 数据层,然后应使用 GTM App+Web 事件模板将事件发送到 Google Analytics。
非常感谢 Gino(在 Merkle 工作)解决了这个问题!
| 归档时间: |
|
| 查看次数: |
10515 次 |
| 最近记录: |