Matomo我就不多介绍了,不知道的请自行百度。那么有人会问了为什么不用GA呢?GA其实现在也因为GDPR规则搞得经常统计不准,用户只要不允许追踪你就傻了。当然这个不是主要原因,主要原因是可能你的老板觉得自己有一套统计系统很屌!
以下皆是在宝塔下安装完成请对号入座:测试机配置很烂,正式使用请不要用这个配置跑起来很吃力。
系统环境:
Nginx 1.18.0
MySQL 5.7.29
PHP-7.3 建议不要使用7.3以下的版本会有各种奇葩问题
免费防火墙
域名一枚指向你的服务器 最好装上SSL
首先新建站点
下载好解压后把文件里面的文件全部剪切到你的根目录下,直接访问域名开始安装
web环境检查,一般遇到的问题是shell_exec这个,按它要求的来就行了
在php管设置→禁用函数→删除shell_exec函数禁用
一路下一步即可。
完成后以管理员登录,新建你要统计的站点。具体的使用方法跟GA类似。
以下整理一些电子商务类的埋点:
//添加购物车
if(typeof _paq != 'undefined'){
// An addEcommerceItem push should be generated for each cart item, even the products not updated by the current "Add to cart" click.
_paq.push(['addEcommerceItem',
"getProductSku(); ?>", // (Required) productSKU
"getProductName(); ?>", // (Optional) productName
["getProductCategory(); ?>"], // (Optional) productCategory
pn, // (Recommended) price
data.qty // (Optional, defaults to 1) quantity
]);
// Pass the Cart's Total Value as a numeric parameter
_paq.push(['trackEcommerceCartUpdate', pm]);
//_paq.push(['trackPageView']);
}
//列表页浏览
if(typeof _paq != 'undefined'){
// Push Category View Data to Matomo - Fill category dynamically
_paq.push(['setEcommerceView',
false, // Product name is not applicable for a category view.
false, // Product SKU is not applicable for a category view.
"getBreadcrumb(); ?>", // (Optional) Product category, or array of up to 5 categories
]);
// You must also call trackPageView when tracking a category view
_paq.push(['trackPageView']);
}
//产品详情
if(typeof _paq != 'undefined'){
// Push Product View Data to Matomo - Populate parameters dynamically
_paq.push(['setEcommerceView',
"getProductSku(); ?>", // (Required) productSKU
"getProductName(); ?>", // (Optional) productName
"getProductCategory(); ?>", // (Optional) categoryName
getProductPrice(); ?> // (Optional) price
]);
// You must also call trackPageView when tracking a product view
_paq.push(['trackPageView']);
}
//结算成功统计
if(typeof _paq != 'undefined'){
_paq.push(['trackEcommerceOrder',
"getIncrementId()?>", // (required) Unique Order ID
getOrderTotal(), 2, '.', ''); ?>, // (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)
getSubtotal(), 2, '.', '');?>, // (optional) Order sub total (excludes shipping)
, // (optional) Tax amount
, // (optional) Shipping amount
getDiscountAmount()!=0 ? number_format($order->getDiscountAmount(),2) : 'false';?>// (optional) Discount offered (set to false for unspecified parameter)
]);
}
//
Tips:可能有的用户安装后点开TagManager是空白页在chrome下,官方给的说法是清空浏览器缓存。要实在不行就换个浏览器比如火狐是没问题的。
这货就跟谷歌的GTM是一样的,大概使用步骤:
1、创建容器
完了点install code就会生成安装代码:
把代码安装到网站
最后设置自动归档:打开crontab加入如下代码:
注意:/www/server/php/73/bin 为你实际的php执行路径
/www/wwwroot/analytics/console是你的统计程序根目录
/www/wwwlogs/matomo-archive.log是你的网站日志文件夹
5 * * * * /www/server/php/73/bin /www/wwwroot/analytics/console core:archive –url=https://analytics.xxxxx.com > /www/wwwlogs/matomo-archive.log