piwik goal 跟踪,piwikgoal


piwik的目标跟踪有两种方式,用户访问页面和手动触发一个请求,这两种方式可以使用在下面5个场景:


访问特定网址(页面或页面组):根据url匹配

访问一个特定的页面标题:根据页面名称匹配

Send an event:根据请求的参数匹配

下载文件:根据下载的文件名称、路径名称匹配

点击链接转向外部网站:根据外链地址匹配

1、用户访问页面


即当用户打开某个页面时根据请求的的参数去匹配goal,符合条件的就当做转化。条件可以根据以上提到的5个场景再配上匹配方式进行设置。例如添加一个订单转化目标,就可以在一个标题叫付款成功的页面设置goal,按照页面标题精确匹配即可;或是只要用户打开付款成功页面,用该页面的url的地址进行模糊匹配等。

2、手动触发一个请求


手动触发需要在客户端跟踪脚本里添加
 var _paq = _paq || [];
<strong>_paq.push(['trackGoal', 2, 0.05,111]);</strong>
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="http://localhost/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
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);
})();

这种请求的的参数如下: idgoal=2&revenue=0.05&data=111
查看piwik源码如下
/**
 * Trigger a goal
 *
 * @param int|string idGoal
 * @param int|float customRevenue
 * @param mixed customData
 */
trackGoal: function (idGoal, customRevenue, customData) {
    trackCallback(function () {
        logGoal(idGoal, customRevenue, customData);
    });
},
_paq.push(['trackGoal', 2, 0.05,1111]);
第一个参数是要触发的函数名称 第二个参数是goal ID,当goal设置完成后会在piwik的mysql表piwik_goal中添加一条记录,这里ID就是其idgoal字段。 第三个参数是本次转化的价值,如果不设置,就会采用添加goal设置的默认的目标收入字段 第四个参数是预留的自定义数据,通过参数data进行传输,可以是字符串也可以是数字
注意: 如果在一次请求同时添加了多个目标转化,piwik只识别第一加入的转化,即 _paq.push(['trackGoal', 1, 0.02,23]);
_paq.push(['trackGoal', 2, 0.05,1111]);
这种情况piwik的请求参数是idgoal=1&revenue=0.02&data=23 第二次push的goal将被抛弃


相关内容

    暂无相关文章