我正在设置新的Google Analytics跟踪代码。
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'MYUACODE', 'MYDOMAIN');
ga('send', 'pageview', {
'page': '/setup',
'title': 'Setup Page'
});
</script>
我在HEAD标签中有这个,就像谷歌告诉你的那样 显然MYUACODE和MYDOMAIN是我页面中的真正变量:)
但是当我使用谷歌浏览器运行此操作并打开Google Analytics Debug扩展程序时,我收到以下消息:
Registered new plugin: "linker" analytics_debug.js:5
Creating new tracker: t0 analytics_debug.js:5
New visitor. Generating new clientId analytics_debug.js:5
Storage not available. Aborting hit. analytics_debug.js:5
它似乎正确启动并开始设置项目,但随后它显示存储不可用,似乎没有任何东西可以访问Google。
现在,如果我删除所有这些代码并返回到最初的Google跟踪代码,它运行正常,我似乎无法正确启动这种新风格。
有什么想法?救命? 提前致谢
答案 0 :(得分:36)
我有同样的错误消息。这似乎与无法正确设置cookie有关。在我的情况下,它发生在我测试localhost时,我没有将我的cookieDomain设置为none。
您可能想要尝试以下内容,看看它是否有效。我不确定您传递域名的方法是否有效。
ga('create', 'MYUACODE', {
'cookieDomain': 'none'
});
答案 1 :(得分:13)
Google Analytics用于生成跟踪代码,其主机名采用create
方法硬编码,这可能会在测试其他主机名时导致此错误。现在当GA生成跟踪代码时,它使用
ga('create', 'UA-XXXXXXXX-X', 'auto');
自动确定cookieDomain值。在此方法调用中将硬编码主机名更改为'auto'
已在几个生成旧跟踪代码的网站上修复了此问题。
答案 2 :(得分:5)
实际上,提出的大多数选项都有效。但是,它们都应该应用于不同的场景中。有关完整列表,请参阅GoogleA's Domains & Cookies - Web Tracking (analytics.js)。
我处理语言变体时处理客户端的情况略有不同,其中一种是在一个单独的域上。您将在下面看到域跟随跟踪器创建调用:
我没有使用的原因
ga(&#39;创建&#39;,&#39; UA-XXXXXXXX-X&#39;,&#39;自动&#39;)
或&#39; none&#39;对于domain参数,因为该配置不太可能跟踪子域。我的客户可能希望按国家/地区/语言进行视图转换。因此,该帐户将具有分组视图(在上面配置),以及由子域(国家/语言)过滤的各个视图。在Google文档中,它明确指出了自动Cookie域配置:
Analytics.js将无法在co.uk上写一个cookie,但会成功 example.co.uk。因为cookie已成功写在更高的上面 级域名,www.example.co.uk将被跳过。
并在localhost上设置cookie(其中cookieDomain设置为&#39; none&#39;):
注意:这将设置仅限主机的cookie域。 cookie不会 支持任何子域名。但是,Internet Explorer不遵循 这种模式。
希望这有帮助。
答案 3 :(得分:1)
玩'MYDOMAIN'解决了我的问题
ga('create', 'MYUACODE', 'MYDOMAIN');
我完全删除了“MYDOMAIN”并将其留下了
ga('create', 'MYUACODE');
重新启动页面,然后再次添加, 'MYDOMAIN'
n,这有效
第二次遇到问题时,它解决了将“MYDOMAIN”更改为我正在加载页面的域(从生产域到托管域)的问题
答案 4 :(得分:1)
另一种选择是将域添加到主机文件中,然后使用该域而不是localhost。我看起来像:
127.0.0.1 localhost mytest.com
使用mytest.com而不是localhost,您将能够检查您的信息,并且您不必为ga create方法调用添加任何选项。
答案 5 :(得分:0)
我认为问题在于Chrome的另一个扩展。使用空配置文件(--user-data-dir = / tmp / foo)解决了我的问题。