我最近安装了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天的大部分时间里一直在努力解决这个问题,而且我无法弄明白。
答案 0 :(得分:1)
我也在Piwik论坛上提出了这个问题,另一位用户发现了一个使用单个Javascript跟踪器将数据推送到多个Piwik站点的解决方案。你可以找到他的答案here。