0

我正在关注这个

但在我的真实代码中,我使用谷歌标签管理器来管理谷歌分析。所以我的网站头部只有一个属于 gtm 的脚本:

(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','dataLayer','GTM-P8F58CT');

ga('create', 'UA-124402662-1', 'auto'); // Uncaught ReferenceError: ga is not defined

如您所见,我ga('create', 'UA-124402662-1', 'auto')在该谷歌标签管理器之后添加了(与我在问题的第一行中链接的教程相同)。我有一个ga('send', 'pageview', newURL);代码,当页面使用 ajax 更改时将执行该代码。

问题是它抛出:(正如我在上面的代码中评论的那样)

未捕获的 ReferenceError:未定义 ga

我该如何解决?有人告诉我根本不需要添加ga('create', 'UA-124402662-1', 'auto');,gtm 会处理这一切。在我的测试中:

  • 当我打开我的网站(主页)并ga('send', 'pageview', "/adv");在控制台中运行时,谷歌分析没有任何变化,它仍然指向主页。

  • 当我打开我的网站(主页)并运行ga('create', 'UA-124402662-1', 'auto');然后运行ga('send', 'pageview', "/adv");时,谷歌分析将更改为/adv(不再是主页)。所以我相信ga('create', 'UA-124402662-1', 'auto');是需要的。但为什么它是未定义的?

4

1 回答 1

-1

您的页面上有 Google 跟踪代码管理器代码段。不是谷歌分析的analytics.js。你混淆了两者。

你不应该在页面上有这个或任何与 ga() 相关的东西。

ga('create', 'UA-124402662-1', 'auto'); // Uncaught ReferenceError: ga is not defined
于 2018-10-22T04:34:11.340 回答