我正在关注this:
但是在我的真实代码中,我使用了Google标记管理器来管理Google Analytics(分析)。因此,我的网站顶部只有一个脚本,该脚本属于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
如您所见,我在该Google标记管理器之后添加了ga('create', 'UA-124402662-1', 'auto')
(与我在问题第一行中链接的教程相同)。我有一个ga('send', 'pageview', newURL);
代码,当使用ajax更改页面时将执行该代码。
问题是它抛出了:(正如我在上面的代码中评论的那样)
未捕获的ReferenceError:ga未定义
我该如何解决?有人告诉我根本不需要添加ga('create', 'UA-124402662-1', 'auto');
,而gtm会处理所有这些。 但是在我的测试中:
当我打开网站(主页)并在控制台中运行ga('send', 'pageview', "/adv");
时,Google Analytics(分析)中没有任何变化,并且仍然指向该主页。
当我打开网站(主页)并运行ga('create', 'UA-124402662-1', 'auto');
然后运行ga('send', 'pageview', "/adv");
时,那么Google Analytics(分析)将更改为/adv
(不再是主页) 。因此,我认为需要ga('create', 'UA-124402662-1', 'auto');
。但是为什么它没有定义?
答案 0 :(得分:-1)
您的页面上有Google跟踪代码管理器代码段。不是Google Analytics(分析)的analytics.js。您将两者混淆了。
您不应在页面上拥有此或与ga()相关的任何东西。
ga('create', 'UA-124402662-1', 'auto'); // Uncaught ReferenceError: ga is not defined