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>







相关内容

    暂无相关文章