为什么我得到 gtag is not defined with GTM script

Why am I getting gtag is not defined with GTM script

我有一个问题,我认为这才刚刚开始发生,而且据我所知,我们没有对网站进行任何会影响此问题的更改。它曾经有效,我在标签管理器门户中仔细检查了我们使用的 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) 在 qc (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=材料数据: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) -->

我查看了 link BNazaruk sent,然后在 header 中的标签之前添加了这两行,现在可以使用了:

window.dataLayer = window.dataLayer || []; 函数 gtag(){dataLayer.push(参数);}