piwik subdomains and outlink,piwiksubdomains
piwik subdomains and outlink,piwiksubdomains
piwik支持在同一个主网址里按子目录分别跟踪,也可以把多个子域名的和主域名的跟踪算一起。
子域名跟踪
_paq.push(['setSiteId', 1]);
_paq.push(['setTrackerUrl', u+'piwik.php']);
// Same cookie as: example.com, www.example.com, subdomain.example.com, ...
_paq.push(['setCookieDomain', '*.example.com']);
_paq.push(['setDomains', '*.example.com']); // Download & Click tracking alias domains
_paq.push(['trackPageView']);
按目录分别跟踪
在指定的页面安装如下代码
_paq.push(['setSiteId', Y]);
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setCookiePath', '/user/MyUsername']);
_paq.push(['trackPageView']);
这siteid需要和主域名的siteid分开,因为piwik会把这个页面单独统计计算,同时设置cookiepath是非常重要的,不然会和默认的主域名cookie路径冲突
如何让从主域到子域的点击不被当做外链
通常情况下piwik会认为只要和当前域名不一致的连接都会当做外链,所以子域名的点击也会算到外链报告里,但是可以通过设置域名来过滤这种情况,在客户端添加如下代码
// Don't track Outlinks on all clicks pointing to *.hostname1.com or *.hostname2.com
// Note: the currently tracked website is added to this array automatically
_paq(['setDomains', ["*.hostname1.com", "hostname2.com"]]);
_paq.push(['trackPageView']);
这里要注意的是 setDomains方法,他是一个push操作,所以没设置一次就是往一个数组里添加一个当前域名识别的域名,识别后就不当外链处理了。
查看其源码如下
/**
* Set array of domains to be treated as local
*
* @param string|array hostsAlias
*/
setDomains: function (hostsAlias) {
configHostsAlias = isString(hostsAlias) ? [hostsAlias] : hostsAlias;
configHostsAlias.push(domainAlias);
},
域名可以设置通配符进行匹配多个子域名
禁用下载和外链跟踪
注释掉下面的语句即可
_paq.push(['enableLinkTracking']);
对指定的css禁用下载和外链跟踪
添加下面的代码
_paq.push(['setIgnoreClasses', "no-tracking"]);
同时设置css如下
<a href='http://example.com' class='no-tracking'>Test</a>
对指定的链接禁用下载和跟踪
添加css属性为piwik_ignore即可
<a href='http://builds.piwik.org/latest.zip' class='piwik_ignore'>File I don't want to track as a download</a>
强制把一个链接当做下载跟踪
添加css属性为piwik_download即可
<a href='last.php' class='piwik_download'>Link I want to track as a download</a>
如果想自定义css名字的话添加如下代码
_paq.push(['setDownloadClasses', "download"]);
_paq.push(['trackPageView'])
强制一个链接被当做外链
<a href='http://mysite.com/partner/' class='piwik_link'>Link I want to track as an outlink</a>
如果想自定义css名字的话添加如下代码
// now all clicks on links with the css class "external" will be counted as outlinks
// you can also pass an array of strings
_paq.push(['setLinkClasses', "link"]);
_paq.push(['trackPageView']);
手动触发一个点击链接的事件
<a href="mailto:namexyz@mydomain.co.uk" target="_blank" onClick="javascript:_paq.push(['trackLink', 'http://mydomain.co.uk/mailto/Agent namexyz', 'link']);">namexyz@mydomain.co.uk </a>
评论暂时关闭