Rad*_*dek 8 javascript ajax google-analytics
我创建了谷歌分析帐户.并复制并粘贴我的index.php文件中提供的代码.在我看来,它可以工作,因为我可以从firebug看到对www.google-analytics.com的调用.
现在我想跟踪通过索引文件中的ajax调用'functions.php'的次数.
我尝试使用_gaq.push(['_trackPageview', 'functions.php']);
但它给了我Uncaught ReferenceError: _gaq is not defined
.所以我添加var _gaq = _gaq || [];
到我的代码中.错误消失但在ajax完成后我无法看到对www.google-analytics.com的任何调用.
有人可以帮我设置它,以便分析能跟踪ajax调用吗?
我的代码看起来像
<script type='text/javascript'>
(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', 'UA-1234556-1', 'domain.com');
ga('send', 'pageview');
var _gaq = _gaq || [];
function submit_data(){
var text_area=$('#textarea').val();
var url ="functions.php";
jQuery.ajax({
type: "get",
dataType: "text",
url: url,
data: {
what : "generate",
text_area: text_area,
t: Math.random()
},
success: function(data, textStatus){
$('#textarea').val(data);
// _gaq.push(['_setAccount', 'UA-12345-1']);
_gaq.push(['_trackPageview', 'functions.php']);
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
Ant*_*sov 13
我认为,在Google Analytics托管中,您选择"通用分析",它会使用新的代码计数器.在浏览器DOM中查找,没有对象"_gaq" - 因此是一个错误.您尝试使用空数组(_gaq)修复它.
旧代码:
var _gaq = _gaq | | [];
_gaq.push(['_ setAccount','UA-XXXXXX-1']);
不要使用旧代码!(你不能使用多个代码计数器'UA-XXXXXX-1' - 这是错误的)
新代码:
ga('create','UA-XXXXXXX-1','mysite.com');
ga('发送','网页浏览');
新的计数器谷歌有一个新的语法.
有关活动使用的文档: https
://developers.google.com/analytics/devguides/collection/analyticsjs/events
使用示例:
我在页面上有一个计算器,我想通过按下按钮来跟踪事件在上面.
类别 - "使用计算器";
事件 - "计算成本".
旧代码:
_gaq.push(['_ trackEvent','使用计算器','计算成本');
新代码:
ga('发送','事件','使用计算器','计算成本');
类别和事件 - 是必需的!
PS:对不起.我的英语很差,我使用谷歌翻译:)
UPD:
<script type='text/javascript'>
(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');
//Use once per page
ga('create', 'UA-1234556-1', 'domain.com');
ga('send', 'pageview');
//
function submit_data(){
var text_area=$('#textarea').val();
var url ="functions.php";
jQuery.ajax({
type: "get",
dataType: "text",
url: url,
data: {
what : "generate",
text_area: text_area,
t: Math.random()
},
success: function(data, textStatus){
$('#textarea').val(data);
ga('send', 'event', 'MyCategory', 'functions.php');
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Universal Analytics(analytics.js
),请切换:
_gaq.push(['_trackPageview', 'functions.php']);
Run Code Online (Sandbox Code Playgroud)
对此:
ga('send', 'pageview', 'functions.php');
Run Code Online (Sandbox Code Playgroud)
看起来您正在将通用分析(analytics.js
和ga()
调用)与异步分析(ga.js
和_gaq.push()
)混合在一起,但我没有看到任何用于初始化的代码ga.js
。
尝试改变
var _gaq = _gaq || [];
Run Code Online (Sandbox Code Playgroud)
到
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12345-1']);
_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);
})();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11053 次 |
最近记录: |