手册/官网
piwik中文网:http://piwik.cn/
matomo官网:https://matomo.org/
matomo开发:https://developer.matomo.org/
matomo中文网站:http://www.matomo.net.cn/
安装要求
PHP 版本 >= 7.2.5
php的扩展
因为有安装检测,所以根据代码的安装提示,进行调整即可.
请求与返回参数的解释
名词含义解释
词汇表 https://glossary.matomo.org/
访问次数: 访客第一次访问你的网站或者距离上次访问时间超过30分钟,会被统计为新的访问。
独立访客: 网站独立访客数量。即使一天之内多次访问网站也只会被统计一次
页面访问次数: 页面被查看的次数。
唯一页面浏览量: 浏览了该页面的访问次数。如果一次访问中多次浏览同一页面,只统计一次。
跳出率: 只查看单个页面的百分比,即访客直接从入口页面离开网站。
js传值 url参数统计解释
1、idsite:网站ID
2、rec:1(写死)
3、r:随机码
4、h:当前小时
5、m:当前分钟
6、s:当前秒数
7、url:当前纯净地址,只留域名和协议
8、_id:UUID
9、_idts:访问的时间戳
10、_idvc:访问数
11、_idn:新访客(目前尚未使用)
12、_refts:访问来源的时间戳
13、_viewts:上一次访问的时间戳
14、cs:当前页面的字符编码
15、send_image:是否用图像请求方式传输数据
16、gt_ms:内容加载消耗的时间(响应结束时间减去请求开始时间)
17、pv_id:唯一性标识
再列出第二部分,用于统计浏览器的功能,通过Navigator对象的属性(mimeTypes、javaEnabled等)和Screen对象的属性(width与height)获得。
1、pdf:是否支持pdf文件类型
2、qt:是否支持QuickTime Player播放器
3、realp:是否支持RealPlayer播放器
4、wma:是否支持MPlayer播放器
5、dir:是否支持Macromedia Director
6、fla:是否支持Adobe FlashPlayer
7、java:是否激活了Java
8、gears:是否安装了Google Gears
9、ag:是否安装了Microsoft Silverlight
10、cookie:是否启用了Cookie
11、res:屏幕的宽和高(未正确计算高清显示器)
API 请求参考
标准必填API参数
idSite: 站点ID
period: 您请求统计信息的时间段
date: 请求的日期
segment: 定义您希望将报告过滤到的自定义细分(相当于多的条件)
format: 定义输出的格式
filter_limit: 定义要返回的行数
可选的API参数
language: 如果指定,则返回可以国际化并将转换的数据字符串。
idSubtable: 用于请求给定行的子表。
expanded: 一些API函数的参数为“扩展”。
flat: 一些API函数的参数为“扩展”,
label: 此参数只能用于搜索与给定标签匹配的行。
pivotBy:
pivotByColumn:
filter_offset:
filter_truncate:
filter_pattern:
filter_column:
filter_sort_order: 定义结果的顺序,升序或降序
filter_sort_column:
filter_excludelowpop:
filter_excludelowpop_value:
hideColumns:
showColumns:
convertToUnicode:
filter_column_recursive:
filter_pattern_recursive:
disable_generic_filters:
disable_queued_filters:
API 返回结果参考
以下是API返回的指标及其定义的列表。
一般指标
nb_uniq_visitors -不重复访客人数
nb_visits -访问次数(闲置30分钟被视为新访问)
nb_users-唯一的活动用户数(具有已知User ID的访问者)。如果您不使用用户ID,则该指标将设置为零。
nb_actions -操作次数(页面浏览量,链接和下载量)
sum_visit_length -花费的总时间(以秒为单位)
bounce_count -跳出的访问次数(仅查看一页)
max_actions -访问中的最大操作数
nb_visits_converted -转化为目标的访问次数
nb_conversions -目标转化次数
revenue -目标转化的总收入
特定于页面URL和页面标题报告的指标
nb_hits -此页面上的观看次数
entry_nb_visits -从此页面开始的访问次数
entry_nb_uniq_visitors -在此页面上开始访问的唯一身份访问者数量
entry_nb_actions -从此页面开始的访问的页面浏览量
entry_sum_visit_length -从此页面开始的访问所花费的时间(以秒为单位)
entry_bounce_count -从此页面开始并被跳出的访问次数(仅查看一页)
exit_nb_visits -在此页面上完成的访问次数
exit_nb_uniq_visitors -在此页面上结束访问的唯一身份访问者数量
sum_time_spent -在此页面上花费的总时间(以秒为单位)
sum_daily_nb_uniq_visitors-在此期间的几天中,每日唯一身份访问者的总和。Matomo不会在整个期间内处理唯一身份访问者。
sum_daily_entry_nb_uniq_visitors -在此页面上开始访问的每日唯一身份访问者总数
sum_daily_exit_nb_uniq_visitors -(已弃用)与 sum_daily_entry_nb_uniq_visitors
exit_bounce_count -(已弃用)与 entry_bounce_count
处理的指标,显示在Metadata API响应中
avg_time_on_page -在此页面上花费的平均时间(以秒为单位)
bounce_rate -登陆此页面后离开网站的访问比例
exit_rate -在此页面之后未查看任何其他页面的访问比例
电子商务指标,仅出现在Ecommerce Goals.getItems * API调用中
revenue-产品销售产生的总收入。不包括税,运费和折扣。
quantity -数量是每个产品SKU /名称/类别所售产品的总数。
orders -这是至少包含此产品SKU /名称/类别的电子商务订单的总数。
abandoned_carts-仅在请求包含“&abandonedCarts = 1”时设置此值。在这种情况下,“订单”指标将不会返回。它是至少包含一次此商品SKU /名称/类别的废弃小车总数。
avg_price -此产品/类别的平均收入。
avg_quantity -此产品/类别的平均数量。
nb_visits-仅当您设置了“电子商务产品/类别页面跟踪”时,此值才会显示。“产品/类别”页面上的访问次数。
conversion_rate-仅当您设置了“电子商务产品/类别页面跟踪”时,此值才会显示。转化率是包含该产品/类别的订单数量(如果请求中包含“&abandonedCarts = 1”,则为多少),除以产品/类别页面上的访问次数。
事件跟踪指标,显示在Events API调用中
nb_events -活动数量
nb_events_with_value -设置了值的事件数
sum_event_value -事件值之和
min_event_value -最小事件值
max_event_value -最大事件价值
avg_event_value -事件值的平均值
系统核心工作流程:
1,访问者通过浏览器向用户服务器发送请求。
2,门户服务器响应请求,返回预先设置了Piwik的跟踪代码页面,
3,客户端浏览器执行TAG标记,向Piwik请求数据获取的js代码。
4,Piwik服务器响应请求,返回用于收集网页,浏览器和Cookie信息的js代码。
5,客户端浏览器执行js代码,发送相关网页被访问的行为数据给Piwik服务器。
6,Piwik服务器产生点击流日志,保存于后台数据库中,用来日后做分析。
Piwik收集的信息有:被系统屏蔽后的IP地址信息,访问来源链接,第一次访问网站时间,累计页面浏览数,和第几次来访问数据等。
Matomo用的是什么框架
Matomo应用中不同的设计层使用的是不同的框架,有的是自己开发,有的是用的第三方类库。
Matomo的WEB场景下的MVC框架是由Matomo团队自己开发的,具体的流程和插件逻辑后续再补充,视图层用到了 twig
。
Matomo的console开发是基于 Synfony
的 Console
组件。
Matomo的数据库部分用到了 Doctrine ORM
。
Matomo还使用了对象的依赖注入工具php-di用于可配置化、方便替代的获取特定类对象。
数据库
Matomo数据库结构中文版_Piwik数据字典中文版
https://developer.matomo.org/guides/database-schema
日志数据:从追踪器获取到的原始数据
有四种类型的日志数据,包括访问(Visit)、行为类型(Action Types)、转化(Conversion)、电子商务商品(ecommerce items)。
归档数据:归档器处理原始数据产生的聚合数据,它被缓存到数据库并用于构建报告。
归档数据包括数值指标和报表。数值指标是纯数字的。报表存储在DataTable实例中,并以压缩的二进制字串进行存储。
归档数据与站点ID,时间段,分段条件一起构成一条记录。通过这些条件,归档数据会被多次获取。目前分段条件被转化成了hash值,然后追加到指标名称的后面。归档数据也会将最新一次归档的日期和时间持久化到数据库中。
重要表
1.matomo_log_visit [日志_访问数据]
访问(visit)数据存储在log_visit表中。
请注意区分访问和访客,一个访客可以发生多次访问,每次访问之间系统默认间隔30分钟以上,这个配置项(global.ini.php:visit_standard_length = 1800)可以修改。
访客记录:在接口文档中有提示:闲置30分钟被视为 访问次数(已cookie为主,他的用户id存在cookie中)
2.log_link_visit_action [日志_访问行为]
一次访问会包含多次行为。它们存储在log_link_visit_action 表中。
3.matomo_log_action [日志_行为类型表]
行为类型,如特定网址或者网页标题,也会被分析。这类分析方便你理解哪些网页与访客更相关。
当遇到新的行为类型时,Matomo会将其持久化到数据库中。
4.matomo_log_conversion [日志_转化表]
当访问的行为与特定goal的参数匹配时,对应的转化信息会被创建并持久化到数据库。转化的意思是指客户在网站上的行为与我们的预期吻合。Matomo会分析这些吻合,并结合访客的访问路径,帮助分析人员决策:如何引导访客以获得更多我们期望的行为。
5.matomo_log_conversion_item [日志_电子商务商品(也叫转化商品)]
电子商务商品是用户下单或加入购物车的商品。
6.matomo_archive_blob_2020_12 [归档数据]
归档数据包括数值指标和报表。数值指标是纯数字的。报表存储在DataTable实例中,并以压缩的二进制字串进行存储。
归档数据与站点ID,时间段,分段条件一起构成一条记录。通过这些条件,归档数据会被多次获取。目前分段条件被转化成了hash值,然后追加到指标名称的后面。归档数据也会将最新一次归档的日期和时间持久化到数据库中。
归档数据是按月存储的,不存在的月表会被自动创建。比如说2018年1月的归档数据和2018年2月的归档数据存放的表是不同的。
Matomo会创建两种类型的归档表,一个是 archive_numeric类型的表,它用于存储数值指标数据;一个是archive_blob 类型的表,用于存储报表数据。它们的表名都会有年月做后缀,形如archive_numeric_2018_01
7.matomo_site [网站_站点管理]
关联着的
matomo_site_url
表
站点表中存储的都是与被追踪网站相关的信息。它不会像访问和归档数据一样有那么多的数据,不过它们会经常被查询。
每一次报表请求(要么通过报表API,要么通过Matomo界面)都至少查询一个站点。客户端追踪器在缓存过期的情况下只会更新站点数据。对于大部分的追踪请求来说,站点数据不会从服务器请求(这样可以带来性能上的提升)。
站点实体可能存在多个域名可以到达它。它们没有被存在site表中,而是存在 site_url
表中。
8.matomo_goal [目标管理]
每个网站都会设置一些目标。目标就是期望访问者在网站上所做的行为。
备注:电子商务和被放弃的购物车目标是两个特殊的目标,它们的ID比较特殊。电子商务网站会自动添加这两个目标。
9.matomo_user [用户管理]
用户信息存储在user表中。其中包含matomo操作员的信息。
界面和报表接口的每次请求都会读取用户信息。
10.matomo_access [用户权限表]
用户可以被允许和禁止访问matomo。针对不同站点,用户的访问级别存储在access表中。
备注:超级用户权限是存储在用户user表,通过superuser_access来标识。
Matomo性能优化及扩展系列之一:概述
http://www.matomo.net.cn/2018/09/matomo-optimization-scale/
1.我需要用什么样的架构运行Matomo
- 如果你的网站每天只有少于1000个PV或者事件(也就是每月少于30000),Matomo(Piwik)可以运行在大部分主机上,即时是最便宜的一款。
- 如果你的网站每天少于10000个PV或者事件(也就是每月少于30万),Matomo(Piwik)可以工作在快速的共享主机和虚拟主机上。
- 如果你的网站每天多于10万个PV或者事件(也就是每月多于300万),你需要一个虚拟主机或者专享主机或者Matomo云服务。
- Matomo配置好的话,每月可以支持10亿PV。我们了解到已经有一些流量在5亿PV的网站,正在使用Matomo。在未来,我们希望看到更多的高级用户。
- 如果你正在运行一个高流量的Matomo分析实例,我们强烈建议你联系Matomo专家获取更多信息。
Matomo性能优化及扩展系列之二:如何进行性能优化
http://www.matomo.net.cn/2018/11/how-to-configure-matomo-for-speed/
问题总汇
- 1.matomo后期会不会有什么限制
- 2.新系统和老系统差别在哪里
- 3.新系统是否要收费/限制之类的(用到后面会不会出现到了1000个用户,突然就不能用了之类的问题)
- 4.数据库字段/表标注一下,了解这个都是干嘛用的
- 5.之前我们
fenxi
老系统的二开的内容都有哪些(想了解一下对我的帮助) - 6.我需要大量的测试数据,应该如何获得
- 7.后期二开的操作是在
matomo
中调用数据库的数据,然后在对外提供接口 - 9.归档是干嘛用的?
- 10.导入 GOOGLE ANALYTICS 的数据到 matomo
1.matomo后期会不会有什么限制
使用Matomo,您没有任何限制:
没有数据限制
网站跟踪数量
目标
区隔
自定义报告
每天的电子商务交易
电子邮件报告
用户数
浏览量,事件和其他操作
资料汇出
数据存储
2.新系统和老系统差别在哪里
matomo 3.2.1(2017-12-06) ~ matomo 4.0.4(2020-11-26)
3.3.0
- 从3.3.0开始 piwik 更名为 matomo
- 为设备模型添加细分
- 更新默认数据库表前缀
- 在更多位置的用户界面中显示Matomo而不是Piwik
3.4.0
- 页面叠加:用字体图标替换图像
- 注释列表设计的改进
- 允许通过电子邮件以及用户名登录
- 登录和重置密码:改进的字段
- 添加了新设备和品牌的检测
3.5.0
- 访客日志应显示国家/城市信息,而不必将鼠标悬停在国家标志上
3.6.0
- 重新设计了用户管理
- 报表和仪表板的改进
- 管理和安全性改进
3.7.0
- 修复了一些XSS问题
3.9.0
- 可用性改进。“访问日志”报告已得到改进和重新设计,增加了新图标和更好的时间表视图
- 安全性改进:现在,每当更改用户密码或电子邮件地址时,就会向每个用户发送安全电子邮件通知(带有原始IP地址)。XSS问题也已修复。我们通常建议您在Matomo设置中启用“双重身份验证”。
- 设备检测器:现在可以更好地检测数百种新设备(智能手机,平板电脑,计算机)。
3.10.0
- 实现了一些性能改进,可以将某些Matomo请求的速度提高大约10%。
4.0.0(重大更新)
- 有许多更改,包括安全性和隐私改进以及其他重大更改,
- Matomo 4.0.0需要PHP 7.2.5(更好的安全性和性能)
- 现在需要生成用于验证API调用的身份验证令牌,并且可以将其撤消。Matomo 3.x中所有现有的token_auth都将被迁移,因此您已经使用的所有token_auth仍然可以使用
- 安全性:令牌的存储更加安全:“ token_auth”和会话ID不再以纯文本格式存储在数据库中。
- 不再跟踪IE6或IE7等较旧的浏览器。
- 注意:此版本包含主要的数据库升级,如果数据库中有大量数据,则升级数据库将花费很长时间。
3.新系统是否要收费/限制之类的(用到后面会不会出现到了1000个用户,突然就不能用了之类的问题)
数据所有权
1.拥有100%的数据所有权,您将有能力保护用户的隐私。您无需外部影响即可知道数据的存储位置以及发生的情况。
## 100%数据所有权
分析数据归您所有
您的Matomo Analytics数据是您100%拥有的数据,无需外部参与。
与使用您的数据为其广告平台提供服务的Google Analytics(分析)不同,Matomo用户可以安全地使用分析,而不必担心数据会被用于营销或其他目的。
数据所有权使您能够保护隐私
您可以自行决定数据发生什么情况并保护用户的隐私。
Matomo内部部署–可让您完全控制。下载后,由于Matomo托管在您自己的服务器上,因此您拥有100%的数据所有权。您可以选择发生什么情况以及将数据存储在何处。我们绝对无法获取您的数据。
## 开源的
安全,透明的平台经过数百位贡献者的全面测试,将风险降至最低。
## 100%准确的数据
没有数据采样意味着您可以基于100%准确的报告做出有影响力的决策。
## 导入Google Analytics(分析)数据
无需牺牲您的历史Google Analytics(分析)数据,因为您可以将GA数据直接导入Matomo中。
## 无数据限制
获取无限数量的网站,用户和细分。您存储多少数据也没有限制。
## 追踪个人资料
根据隐私法安全地跟踪个人数据。GA不提供此选项。
用户量这个问题只会和数据库存储量有关系,所以无须担心.
收费标准的定义?免费和收费有什么区别
4.数据库字段/表标注一下,了解这个都是干嘛用的
http://www.matomo.net.cn/matomo-piwik-database-schema-pdf/
5.之前我们 fenxi
老系统的二开的内容都有哪些(想了解一下对我的帮助)
页面:
会员后台->数据管家->流量分析
代码:
增加了一个bossgoo插件
plugins/Bossgoo
获取会员用户对应的siteID
获取访客信息
获取访客记录
6.我需要大量的测试数据,应该如何获得
线上搭建了一个平台,再在其他用户网站上放置了js代码,利用这几天时间数据进行获取一下.
9.归档是干嘛用的?
10.导入 GOOGLE ANALYTICS 的数据到 matomo
https://matomo.org/docs/google-analytics-importer/