【发布时间】:2017-02-02 13:56:54
【问题描述】:
我最近安装了 Piwik 3.0.1 来跟踪大型(ish)组织的 Intranet 页面。我需要跟踪不同网站中不同团队页面的指标(都在同一个 Piwik 实例上),因此我可以为每个团队分配用户以查看他们团队的数据。我还需要能够查看“全球”网站中的所有数据,以便跟踪整体使用情况。
我尝试了多种方法,但无法正常工作。这是我尝试过的。
单个页面上的多个跟踪器
理想情况下(使用我们使用的 CMS)我想使用 2 个不同的跟踪器:一个用于团队的“特定”跟踪器(位于所有页面的顶部),一个“全局”跟踪器(位于在所有页面的底部)。我正在使用由 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) 中根本没有跟踪任何数据。所以在某种程度上,这比多个跟踪器更糟糕。
同步与异步跟踪器
一些研究(常见问题解答、用户指南、论坛)似乎表明这是因为跟踪器异步运行,因此应该使用同步跟踪器。我不知道该怎么做,我只需要设置:
g.async = false;
可能还有:
g.defer = false;
够了吗?
此外,我不再完全确定 3.x 是否仍支持同步跟踪器,以及使用同步跟踪器而不是异步跟踪器的区别(缺点)是什么。如果有人也能澄清这一点,那将对我自己的精神健康有好处。
我的问题
所以,我的“大”问题是:如何正确设置跟踪器,以便可以跟踪多个网站的指标?感谢您提供任何帮助,因为我已经在这 3 天的大部分时间里一直在努力解决这个问题,我只是想不通。
【问题讨论】:
标签: matomo