Google Analytics无法找到跟踪代码

时间:2013-03-26 15:14:24

标签: google-analytics tomcat7 vaadin

我的谷歌分析存在问题:

我实现了跟踪代码:

 var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
      _gaq.push(['_setDomainName', 'ransoft.at']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

就应该实施的方式(根据goole)。

跟踪代码是侧面的,但谷歌分析无法找到它(谷歌分析:跟踪信息:未安装跟踪!)

亲自看看:http://www.ransoft.at

Google Analytics说,我的网站上没有安装跟踪代码。

Google Analytics:属性设置:

该网站由Vaadin7提供支持,并在tomcat7上运行。

请求帮助我,我在这里迷失了。

1 个答案:

答案 0 :(得分:0)

所以,我终于设法让谷歌分析运行。

Google Analytics无法在网站上找到我的跟踪代码。使用GoogleAnalyticsTracker Add-on数据已发送到GA,但跟踪信息确实表示未安装跟踪代码。

问题是Bootstrap页面中缺少tracking code。 解决方案是创建一个新的VaadinServlet,我在其中创建了一个新的BootstrapListener。像这样:

public class MyVaadinServlet extends VaadinServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Override
    protected void servletInitialized() throws ServletException {
        super.servletInitialized();
        getService().addSessionInitListener(new SessionInitListener() {

            /**
             * 
             */
            private static final long serialVersionUID = 1L;

            @Override
            public void sessionInit(SessionInitEvent event) throws ServiceException {
                event.getSession().addBootstrapListener(new BootstrapListener() {

                    /**
                     * 
                     */
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void modifyBootstrapPage(BootstrapPageResponse response) {
                        // Adding Google Analytics to BootstrapPage header
                        head.append("<script type=\"text/javascript\">" +
                                      "var _gaq = _gaq || [];"+
                                      "_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);" +
                                      "_gaq.push(['_setDomainName', 'mydomain.com']);" +
                                      "_gaq.push(['_trackPageview', '/']);" +
                                      "(function() { " +
                                        "var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;" +
                                        "ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';" +
                                        "var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);" +
                                      "})();"+
                                    "</script>");

                    }

                    @Override
                    public void modifyBootstrapFragment(BootstrapFragmentResponse response) {

                    }
                });
            }
        });
    }
}

有关详细信息,请参阅:Customizing Startup page in a Vaadin Application 使用此解决方案,数据将发送到Google Analytics,Google Analytics也会识别跟踪代码。

在Vaadin 7应用程序中可能有一些更简单的方法可以做到这一点,但这对我有用。以为我告诉你了。

问候