Google analytics 谷歌分析找不到跟踪代码
我对谷歌分析有一个问题: 我实现了如下跟踪代码:Google analytics 谷歌分析找不到跟踪代码,google-analytics,tomcat7,vaadin,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('
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);
})();
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) {
}
});
}
});
}
}
这正是它应该实现的方式(根据古尔)
跟踪代码在旁边,但google analytics找不到它(google analytics:tracking Info:tracking not installed!)
你自己看看吧:
谷歌分析说,我的网站上没有安装跟踪代码
谷歌分析:属性设置:
- 默认URL:
请帮帮我,我在这里迷路了。所以,我终于设法让google analytics运行起来 Google Analytics无法在网站中找到我的跟踪代码。随着数据被发送到GA,但跟踪信息确实表明跟踪代码并没有安装 问题是引导页面中缺少了。 解决方案是创建一个新的VaadinServlet,在这里我创建了一个新的BootstrapListener。大概是这样的:
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);
})();
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) {
}
});
}
});
}
}
公共类MyVaadinServlet扩展了VaadinServlet{
/**
*
*/
私有静态最终长serialVersionUID=1L;
@凌驾
受保护的void servletInitialized()引发ServletException{
super.servletilized();
getService().addSessionInitListener(新的SessionInitListener()){
/**
*
*/
私有静态最终长serialVersionUID=1L;
@凌驾
public void sessionInit(SessionInitEvent事件)引发ServiceException{
event.getSession().addBootstrapListener(新的BootstrapListener()){
/**
*
*/
私有静态最终长serialVersionUID=1L;
@凌驾
public void modifyBootstrapPage(BootstrapPageResponse响应){
//将Google Analytics添加到BootstrapPage标头
头。附加(“”)+
“var _gaq=_gaq | |[];”+
_gaq.push([''u setAccount','UA-XXXXXXXX-X'])+
_gaq.push([''u setDomainName','mydomain.com'])+
_gaq.push([''u trackPageview','/'])+
“(函数(){”+
“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);“+
"})();"+
"");
}
@凌驾
public void modifyBootstrapFragment(BootstrapFragmentResponse响应){
}
});
}
});
}
}
有关更多信息,请参阅:
使用此解决方案,数据将被发送到Google Analytics,跟踪代码也将被Google Analytics识别
在Vaadin 7应用程序中,可能有一些更简单的方法可以做到这一点,但这对我来说是可行的。我想我会让你知道的
实际上,我在ransoft.at上没有看到任何ga.js代码。自己看一下实时源代码。你看到了吗?代码已经上传并且服务器已经刷新了吗?我在标题中看到了ga.js。它是这样嵌入的:好吧,我看到它在某个点被添加了。但是,我没有看到其余的代码被执行——您保存为myLibrary.addGoogleAnalytics()的部分。你只是定义了这个函数,还是真的在某个地方执行了它?此外,此特定网站可能非常适合设置,因为链接指向的区域与新页面类似,但实际上不会导致页面刷新。myLibrary.addGoogleAnalytics()正在启动时执行。如下所示:Page.getCurrent().getJavaScript().execute(“myLibrary.addGoogleAnalytics();”;这是一款Vaadin 7的功能,效果很好。这段代码也正在被执行,因为否则ga.js将不在那里。我不知道虚拟页面浏览量…但我怀疑这是ga集成的问题。你在ga帐户中看到数据了吗?如果是这样的话,实现可能很好,GA只是因为非传统的设置而没有检测到安装。