维度提供了扩展跟踪器以轻松记录任何自定义数据的可能性。在记录任何自定义数据之前,你必须决定你需要什么样的维度:

  • 访问维度允许您记录任何与访问者相关的数据。例如,一个典型的维度是浏览器的名称或访问者正在使用的设备的分辨率。
  • 操作维度允许您跟踪任何与操作相关的数据。例如浏览量,下载或事件。
  • 转换维度允许您在目标转换时持久化任何附加信息。

创建一个新维度

要创建一个新维度,请使用控制台:

。/控制台生成:维度

该命令将询问您的插件名称和您想创建的维度类型。你可以在访问行动而且转换.接下来,它会问你维度的名称(例如“Browsername”),MySQL数据库列的名称(例如“Browsername”)browser_name)和列类型(例如Varchar(255)不为空).

类中创建了一个维度类包含如何定义应该跟踪哪些数据的示例的插件目录。一旦您打开Matomo(以前是Piwik) UI,维度就会自动安装。

访问维度

让我们假设您想添加一个新的跟踪URL参数sport_activity_type它可以让你追踪体育活动的类型(例如跑步、骑自行车……)。您可以通过实现该方法来做到这一点onNewVisit

公共函数onNewVisit(Request $ Request, Visitor $ Visitor, $action){返回Common::getRequestVar('sport_activity_type', $default = false, 'string', $ Request ->getParams());}

每当你发送sport_activity_type参数与任何跟踪请求和跟踪器检测到一个新的访问者,该信息将被记录在数据库中,并可用于创建新的报告或扩展现有的报告和API方法。跟踪URL的示例如下所示matomo.php吗?idsite = 1 &sport_activity_type =运行

可选地,您可以覆盖通过实现该方法检测到新访问时写入的任何初始值onExistingVisit.例如,你可以在计数器中使用它来存储上一次操作的时间等:

公共函数onNewVisit(Request $ Request, Visitor $ Visitor, $action){返回1;}公共函数onExistingVisit(请求$ Request,访问者$ Visitor, $action){返回$ Visitor ->getVisitorColumn($this->column_name) + 1;}

当跟踪一个新访问者时,值1将被存储。在每个进一步的跟踪请求中,此维度的值将增加。

行动维度

动作维度的工作方式类似,只是方法名称不同。假设您想通过公开一个新的URL参数来跟踪一个跑步者的当前速度速度

公共函数onNewAction(Request $ Request, Visitor $ Visitor, Action $ Action) {$value = Common::getRequestVar('speed', false, 'string', $ Request ->getParams());$isRunner = 'running' === $visitor->getVisitorColumn('sport_activity_type');if ($isRunner && is_numeric($value)){//只存储值如果它是一个runner,如果速度是数值返回$value;}返回false;//不为该动作存储任何值

跟踪请求可以这样完成:matomo.php吗?idsite = 1 &sport_activity_type =跑步速度= 50

当然,你可以添加任何自定义行为,如限制最大速度等。

分割

自Matomo 3.2.0起,当你定义一个维度时,一个新的段会自动创建segmentName美元财产。还建议调整接受值的描述。

了解更多

维度功能非常强大。例如,可以通过创建具有相同列名的维度来更改现有维度的行为,也可以通过使用查找表有效地存储与操作相关的数据。维度还可以在现有访问者被识别的情况下强制创建新的访问。我们建议查看已创建维度中的文档和类的API-ReferenceVisitDimensionActionDimension而且ConversionDimension

Baidu