如何在Piwik 3.0.1中正确跟踪多个网站中的指标?

时间:2017-02-02 13:56:54

标签: matomo

我最近安装了Piwik 3.0.1来跟踪大型(ish)组织的内部网页。我需要跟踪不同团队的指标。不同网站中的页面(都在同一个Piwik实例上),因此我可以为每个团队分配用户以查看他们团队的数据。我还需要能够查看" global"中的所有数据。网站,所以我可以跟踪整体使用情况。

我尝试了多种方法,但无法使其发挥作用。这是我尝试过的。

单页上的多个跟踪器

理想情况下(使用我们使用的CMS)我想使用2个不同的跟踪器:一个"特定的"团队的跟踪器(位于所有页面的顶部),以及全球的#34;跟踪器(位于所有页面的底部)。我正在使用Piwik生成的Javascript跟踪器。

虽然两个跟踪器似乎都跟踪了访问次数,访问者,网页浏览量,设备,软件等,但只能通过底部(即最后一个)跟踪器跟踪下载和外链。所以这不是一个有效的解决方案。

我认为另一种可行的解决方案是增加链接跟踪的延迟(这会影响下载和外链)。我尝试添加延迟如下:

    var _paq = _paq || [];
    _paq.push(['trackPageView']);
    _paq.push(['setLinkTrackingTimer', 750]); // increase to 750 milliseconds
    _paq.push(['enableLinkTracking']);
    (function() { ... })();

虽然没有奏效。

单个跟踪器将数据推送到2个站点

然后我尝试配置单个跟踪器将数据推送到两个站点(如here所述)。这是我使用的代码:

    <script type="text/javascript">
        var _paq = _paq || [];
        _paq.push(['trackPageView']);
        _paq.push(['enableLinkTracking']);
        (function() {
            var u = "//my.server.com/piwik/";
            _paq.push(['setTrackerUrl', u + 'piwik.php']);
            _paq.push(['setSiteId', '24']);
            var websiteIdDuplicate = 25;
            _paq.push(['addTracker', piwikUrl = null, websiteIdDuplicate]);
            var d = document,
                g = d.createElement('script'),
                s = d.getElementsByTagName('script')[0];
            g.type = 'text/javascript';
            g.async = true;
            g.defer = true;
            g.src = u + 'piwik.js';
            s.parentNode.insertBefore(g, s);
        })();
    </script>

当我将此代码添加到页面时,所有指标都会被跟踪到第一个网站(SiteId 24),但在第二个网站(SiteID 25)中根本没有跟踪数据。所以在某种程度上这比多个跟踪器更糟糕。

同步跟踪器与异步跟踪器

一些研究(FAQ,用户指南,论坛)似乎表明这是因为跟踪器异步运行,应该使用同步跟踪器。我不知道该怎么做,我只需要设置:

g.async = false;

也可能还有:

g.defer = false;

那就够了吗?

另外,如果同步跟踪器仍然支持3.x,我不完全确定,使用同步跟踪器而不是异步跟踪器有什么不同(缺点)。如果有人能够澄清这对我自己的心理健康有益。

我的问题

所以,我的&#34;大&#34;问题是:如何正确设置跟踪器,以便我可以跟踪多个网站中的指标?任何帮助都是值得赞赏的,因为我现在已经在3天的大部分时间里一直在努力解决这个问题,而且我无法弄明白。

1 个答案:

答案 0 :(得分:1)

我也在Piwik论坛上提出了这个问题,另一位用户发现了一个使用单个Javascript跟踪器将数据推送到多个Piwik站点的解决方案。你可以找到他的答案here