If statement 如果我在我的google analytics脚本中添加条件if-else语句,可以吗?

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(

我通过控制台测试了我的跟踪代码,它已经开始工作了,但我还没有在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(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>