If statement 如果我在我的google analytics脚本中添加条件if-else语句,可以吗?
我通过控制台测试了我的跟踪代码,它已经开始工作了,但我还没有在live server上测试它。我只是想问一下这是否有效 以下是我的GA跟踪代码示例:If statement 如果我在我的google analytics脚本中添加条件if-else语句,可以吗?,if-statement,google-analytics,If Statement,Google Analytics,我通过控制台测试了我的跟踪代码,它已经开始工作了,但我还没有在live server上测试它。我只是想问一下这是否有效 以下是我的GA跟踪代码示例: <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(
<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','https://www.google-analytics.com/analytics.js','ga');
$(document).ready(function () {
var $url = $(location).attr('href');
if ($url.indexOf('https://test.com/') > -1) {
alert('TEST first');
ga('create', 'UA-XXXXXXXX-6', 'auto');
ga('send', 'pageview');
} else if ($url.indexOf('https://test2.com/') > -1) {
alert('TEST second');
ga('create', 'UA-XXXXXXXX-7', 'auto');
ga('send', 'pageview');
} else if ($url.indexOf('https://test3.com/') > -1) {
alert('TEST third');
ga('create', 'UA-XXXXXXXX-8', 'auto');
ga('send', 'pageview');
} else {
alert('TEST fourth');
ga('create', 'UA-XXXXXXXX-3', 'auto');
ga('send', 'pageview');
}
});
</script>
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口、文档、“脚本”和https://www.google-analytics.com/analytics.js","ga",;
$(文档).ready(函数(){
var$url=$(位置).attr('href');
if($url.indexOf('https://test.com/') > -1) {
警报(“先测试”);
ga(“创建”、“UA-XXXXXXXX-6”、“自动”);
ga(‘发送’、‘页面浏览’);
}else if($url.indexOf('https://test2.com/') > -1) {
警报(“测试秒”);
ga(“创建”、“UA-XXXXXXXX-7”、“自动”);
ga(‘发送’、‘页面浏览’);
}else if($url.indexOf('https://test3.com/') > -1) {
警报(“第三次测试”);
ga(“创建”、“UA-XXXXXXXX-8”、“自动”);
ga(‘发送’、‘页面浏览’);
}否则{
警报(“第四次测试”);
ga(“创建”、“UA-XXXXXXXX-3”、“自动”);
ga(‘发送’、‘页面浏览’);
}
});
一旦它工作,就会更新。我已经部署了这些代码,它工作得非常好。问题是,Google Tag Assistant检测所有其他分析ID,尽管它只记录在if-else语句中识别的内容 我将代码更新为javascript,而不是使用jQuery。以下是我的更新代码:
<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','https://www.google-analytics.com/analytics.js','ga');
var url = window.location.href;
if (url.indexOf('https://test.com/') > -1) {
ga('create', 'UA-XXXXXXXX-6', 'auto');
ga('send', 'pageview');
} else if (url.indexOf('https://test2.com/') > -1) {
ga('create', 'UA-XXXXXXXX-7', 'auto');
ga('send', 'pageview');
} else if (url.indexOf('https://test3.com/') > -1) {
ga('create', 'UA-XXXXXXXX-8', 'auto');
ga('send', 'pageview');
} else {
ga('create', 'UA-XXXXXXXX-3', 'auto');
ga('send', 'pageview');
}
</script>
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口、文档、“脚本”和https://www.google-analytics.com/analytics.js","ga",;
var url=window.location.href;
if(url.indexOf('https://test.com/') > -1) {
ga(“创建”、“UA-XXXXXXXX-6”、“自动”);
ga(‘发送’、‘页面浏览’);
}else if(url.indexOf('https://test2.com/') > -1) {
ga(“创建”、“UA-XXXXXXXX-7”、“自动”);
ga(‘发送’、‘页面浏览’);
}else if(url.indexOf('https://test3.com/') > -1) {
ga(“创建”、“UA-XXXXXXXX-8”、“自动”);
ga(‘发送’、‘页面浏览’);
}否则{
ga(“创建”、“UA-XXXXXXXX-3”、“自动”);
ga(‘发送’、‘页面浏览’);
}
最好使用Google Tag Manager来实现这一目的,因为它更具可扩展性,而且您根本不需要编写任何代码就能获得相同的结果。这一切都是通过触发器配置完成的。根据您的示例,您只需要有条件地更改属性ID,不必对整个事件进行条件设置,包括那些常量,例如ga('send','pageview')
:
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口、文档、“脚本”和https://www.google-analytics.com/analytics.js","ga",;
var url=window.location.href;
var propertyID='UA-XXXXXXXX-3';//违约
if(url.indexOf('https://test.com/') > -1) {
属性ID='UA-XXXXXXXX-6';
}else if(url.indexOf('https://test2.com/') > -1) {
propertyID='UA-XXXXXXXX-7';
}else if(url.indexOf('https://test3.com/') > -1) {
propertyID='UA-XXXXXXXX-8';
};
ga('create','propertyID','auto');
ga(‘发送’、‘页面浏览’);
当然可以,为什么不呢。但是,您将延迟跟踪,直到加载DOM之后。这可能会让一些访问者有时间在跟踪电话发出之前放弃他们的访问,因此您不会计算这些访问。可能没什么大不了的,但是你也可以放弃DOM就绪调用,直接将其包含在你的页面标题中。谢谢你,艾克!当然,我会记住的。嗨,德米特里!非常感谢。我想使用GTM,但网站已经建立,所以我很难配置所有东西,但我建议每个人都这样做。这听起来不像是对OP问题的回答。评论应放在评论部分。
<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','https://www.google-analytics.com/analytics.js','ga');
var url = window.location.href;
var propertyID = 'UA-XXXXXXXX-3'; // Default
if (url.indexOf('https://test.com/') > -1) {
propertyID = 'UA-XXXXXXXX-6';
} else if (url.indexOf('https://test2.com/') > -1) {
propertyID = 'UA-XXXXXXXX-7';
} else if (url.indexOf('https://test3.com/') > -1) {
propertyID = 'UA-XXXXXXXX-8';
};
ga('create', propertyID, 'auto');
ga('send', 'pageview');
</script>