我有一个问题,我相信这个问题刚刚开始发生,据我所知,我们没有对网站进行任何会影响此问题的更改。它曾经有效,我在标签管理器门户中仔细检查了我们使用的 ID 在 https://tagmanager.google.com/... 上仍然有效且准确。 .
VM16:1 未捕获引用错误:gtag 未定义 于:1:1 位于 www.googletagmanager.com/gtm.js?id=&l=MaterionData:309:414 位于 www.googletagmanager.com/gtm.js?id=&l=MaterionData:310:118 在 c (www.googletagmanager.com/gtm.js?id=&l=MaterionData:311:160) 在质量控制 (www.googletagmanager.com/gtm.js?id=&l=MaterionData:47:19) 在 e (www.googletagmanager.com/gtm.js?id=&l=MaterionData:151:278) 位于 www.googletagmanager.com/gtm.js?id=&l=MaterionData:31:130 在数组。 (www.googletagmanager.com/gtm.js?id=&l=MaterionData:152:370) 在 Object.execute (www.googletagmanager.com/gtm.js?id=&l=MaterionData:152:110) 在 ak (www.googletagmanager.com/gtm.js?id=*****&l=MaterionData:152:845)
这是我们的服务器端渲染代码
if (Model.CustomDimensionDictionary != null && Model.CustomDimensionDictionary.Count > 0)
{
<script>
@foreach (var customDimension in Model.CustomDimensionDictionary)
{
@:MaterionData = [{'dimension3': '@customDimension.Value'}];
}
</script>
}
<script>
(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', 'MaterionData', '@Model.MainSiteNode.GoogleAnalyticsPropertyId');
</script>
<!-- End Google Tag Manager -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=*******"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
最佳答案
我查看了 BNazaruk 发送的链接,然后在 header 中的标记之前添加了这两行,现在它可以工作了:
window.dataLayer = window.dataLayer || []; 函数 gtag(){dataLayer.push(arguments);}
关于google-analytics - 为什么我收到 gtag is not Defined with GTM script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70920672/