Classes
This is a complete list of available classes:
API\Request— Dispatches API requests to the appropriate API method.Access— Singleton that manages user access to Matomo (formerly Piwik) resources.Archive— The Archive class is used to query cached analytics statistics (termed "archive data").ArchiveProcessor— Used by Archiver instances to insert and aggregate archive data.ArchiveProcessor\Parameters— Contains the analytics parameters for the reports that are currently being archived.Archive\ArchiveInvalidator— Service that can be used to invalidate archives or add archive references to a list so they will be invalidated later.AuthResult— Authentication result.Auth\Password— Main class to handle actions related to password hashing and verification.Category\Subcategory— Base type for subcategories.Columns\ComputedMetricFactory— A factory to create computed metrics.Columns\DimensionColumns\DimensionMetricFactory— A factory to create metrics from a dimension.Columns\DimensionSegmentFactory— A factory to create segments from a dimension.Columns\DiscriminatorColumns\JoinColumns\Join\ActionNameJoinColumns\Join\GoalNameJoinColumns\Join\SiteNameJoinColumns\MetricsList— Manages the global list of metrics that can be used in reports.Columns\Updater— Class that handles dimension updatesCommon— Contains helper methods used by both Matomo Core and the Matomo Tracking engine.Config— Singleton that provides read & write access to Matomo's INI configuration.ConsoleDataAccess\LogAggregator— Contains methods that calculate metrics by aggregating log data (visits, actions, conversions, ecommerce items).DataTable— The primary data structure used to store analytics data in Matomo.DataTable\BaseFilter— A filter is set of logic that manipulates a DataTable.DataTable\Filter\AddColumnsProcessedMetrics— Adds processed metrics columns to a DataTable using metrics that already exist.DataTable\Filter\AddColumnsProcessedMetricsGoal— Adds goal related metrics to a DataTable using metrics that already exist.DataTable\Filter\AddSegmentByLabel— Executes a filter for each row of a DataTable and generates a segment filter for each row.DataTable\Filter\AddSegmentByLabelMapping— Executes a filter for each row of a DataTable and generates a segment filter for each row.DataTable\Filter\AddSegmentByRangeLabel— Executes a filter for each row of a DataTable and generates a segment filter for each row.DataTable\Filter\AddSegmentBySegmentValue— Converts for each row of a DataTable a segmentValue to a segment (expression).DataTable\Filter\AddSegmentValue— Executes a filter for each row of a DataTable and generates a segment filter for each row.DataTable\Filter\AddSummaryRow— Adds a summary row to DataTables that contains the sum of all other table rows.DataTable\Filter\BeautifyRangeLabels— A DataTable filter that replaces range label columns with prettier, human-friendlier versions.DataTable\Filter\BeautifyTimeRangeLabels— A DataTable filter that replaces range labels whose values are in seconds with prettier, human-friendlier versions.DataTable\Filter\CalculateEvolutionFilter— A DataTable filter that calculates the evolution of a metric and adds it to each row as a percentage.DataTable\Filter\ColumnCallbackAddColumn— Adds a new column to every row of a DataTable based on the result of callback.DataTable\Filter\ColumnCallbackAddColumnPercentage— Calculates a percentage value for each row of a DataTable and adds the result to each row.DataTable\Filter\ColumnCallbackAddColumnQuotient— Calculates the quotient of two columns and adds the result as a new column for each row of a DataTable.DataTable\Filter\ColumnCallbackAddMetadata— Executes a callback for each row of a DataTable and adds the result as a new row metadata value.DataTable\Filter\ColumnCallbackDeleteMetadata— Executes a callback for each row of a DataTable and removes the defined metadata column from each row.DataTable\Filter\ColumnCallbackDeleteRow— Deletes all rows for which a callback returns true.DataTable\Filter\ColumnCallbackReplace— Replaces one or more column values in each row of a DataTable with the results of a callback.DataTable\Filter\ColumnDelete— Filter that will remove columns from a DataTable using either a blacklist, allowlist or both.DataTable\Filter\ExcludeLowPopulation— Deletes all rows for which a specific column has a value that is lower than specified minimum threshold value.DataTable\Filter\GroupBy— DataTable filter that will group DataTable rows together based on the results of a reduce function.DataTable\Filter\Limit— Delete all rows from the table that are not in the given [offset, offset+limit) range.DataTable\Filter\MetadataCallbackAddMetadata— Executes a callback for each row of a DataTable and adds the result to the row as a metadata value.DataTable\Filter\MetadataCallbackReplace— Execute a callback for each row of a DataTable passing certain column values and metadata as metadata, and replaces row metadata with the callback result.DataTable\Filter\Pattern— Deletes every row for which a specific column does not match a supplied regex pattern.DataTable\Filter\PatternRecursive— Deletes rows that do not contain a column that matches a regex pattern and do not contain a subtable that contains a column that matches a regex pattern.DataTable\Filter\PrependSegment— Executes a callback for each row of a DataTable and prepends each existing segment with the given segment.DataTable\Filter\PrependValueToMetadata— Executes a callback for each row of a DataTable and prepends the given value to each metadata entry but only if the given metadata entry exists.DataTable\Filter\RemoveSubtables— Delete all existing subtables from rows.DataTable\Filter\ReplaceColumnNames— Replaces column names in each row of a table using an array that maps old column names new ones.DataTable\Filter\ReplaceSummaryRowLabel— Replaces the label of the summary row with a supplied label.DataTable\Filter\Sort— Sorts a DataTable based on the value of a specific column.DataTable\Filter\Truncate— Truncates a DataTable by merging all rows after a certain index into a new summary row.DataTable\Map— Stores an array of DataTables indexed by one type of DataTable metadata (such as site ID or period).DataTable\Row— This is what a DataTable is composed of.DataTable\Simple— A DataTable where every row has two columns: label and value.Date— Utility class that wraps date/time related PHP functions.Db— Contains SQL related helper functions for Matomo's MySQL database.DbHelper— Contains database related helper functions.Filesystem— Contains helper functions that deal with the filesystem.FrontController— This singleton dispatches requests to the appropriate plugin Controller.Http— Contains HTTP client related helper methods that can retrieve content from remote servers and optionally save to a local file.IP— Contains IP address helper functions (for both IPv4 and IPv6).Intl\Data\Provider\CurrencyDataProvider— Provides currency data.Intl\Data\Provider\LanguageDataProvider— Provides language data.Intl\Data\Provider\RegionDataProvider— Provides region related data (continents, countries, etc.).Log— Logging utility class.Mail— Class for sending mailsMenu\MenuAbstract— Base class for classes that manage one of Matomo's menus.Menu\MenuAdmin— Contains menu entries for the Admin menu.Menu\MenuTop— Contains menu entries for the Top menu (the menu at the very top of the page).Metrics— This class contains metadata regarding core metrics and contains several related helper functions.Metrics\Formatter— Contains methods to format metric values.Metrics\Formatter\Html— Metrics formatter that formats for HTML output.NoAccessException— Exception thrown when a user doesn't have sufficient access to a resource.Nonce— Nonce class.Notification— Describes a UI notification.Notification\Manager— Posts and removes UI notifications (see Notification to learn more).Option— Convenient key-value storage for user specified options and temporary data that needs to be persisted beyond one request.Period— Date range representation.Period\Range— Arbitrary date range representation.Piwik— Main piwik helper class.Plugin— Base class of all Plugin Descriptor classes.Plugin\API— The base class of all API singletons.Plugin\AggregatedMetric— Base type for metric metadata classes that describe aggregated metrics.Plugin\Archiver— The base class that should be extended by plugins that compute their own analytics data.Plugin\Controller— Base class of all plugin Controllers.Plugin\ControllerAdmin— Base class of plugin controllers that provide administrative functionality.Plugin\Dimension\ActionDimension— Defines a new action dimension that records any information during tracking for each action.Plugin\Dimension\ConversionDimension— Defines a new conversion dimension that records any visit related information during tracking.Plugin\Dimension\VisitDimension— Defines a new visit dimension that records any visit related information during tracking.Plugin\Manager— The singleton that manages plugin loading/unloading and installation/uninstallation.Plugin\Menu— Base class of all plugin menu providers.Plugin\Metric— Base type of metric metadata classes.Plugin\ProcessedMetric— Base type for processed metrics.Plugin\Report— Defines a new report.Plugin\ReportsProvider— Get reports that are defined by plugins.Plugin\Segment— Creates a new segment that can be used for instance within the \Piwik\Columns\Dimension::configureSegment() method.Plugin\SettingsProvider— Base class of all plugin settings providers.Plugin\Tasks— Base class for all Tasks declarations.Plugin\ViewDataTable— The base class of all report visualizations.Plugin\Visualization— The base class for report visualizations that output HTML and use JavaScript.Plugins\Actions\Columns\Metrics\AveragePageGenerationTime— The average amount of time it takes to generate a page.Plugins\Actions\Columns\Metrics\AverageTimeOnPage— The average amount of time spent on a page.Plugins\Actions\Columns\Metrics\BounceRate— The bounce rate for individual pages.Plugins\Actions\Columns\Metrics\ExitRate— Percent of visits that finished on this page.Plugins\Bandwidth\Columns\Metrics\AvgBandwidth— The average amount bandwidth per page.Plugins\Bandwidth\Columns\Metrics\BasePlugins\Bandwidth\Columns\Metrics\DownloadBandwidth— The total amount bandwidth used for downloads.Plugins\Bandwidth\Columns\Metrics\HitsWithBandwidth— The amount of a pages that were tracked having a bandwidth.Plugins\Bandwidth\Columns\Metrics\MaxBandwidth— The max amount bandwidth of a pages.Plugins\Bandwidth\Columns\Metrics\MinBandwidth— The min amount bandwidth of a pages.Plugins\Bandwidth\Columns\Metrics\OverallBandwidth— The total amount bandwidth used.Plugins\Bandwidth\Columns\Metrics\PageviewBandwidth— The total amount bandwidth used for page views.Plugins\Bandwidth\Columns\Metrics\SumBandwidth— The sum amount bandwidth of a pages.Plugins\Contents\Columns\Metrics\InteractionRate— The content interaction rate.Plugins\CoreHome\Columns\Metrics\ActionsPerVisit— The average number of actions per visit.Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite— The average number of seconds spent on the site per visit.Plugins\CoreHome\Columns\Metrics\BounceRate— The percentage of visits that leave the site without visiting another page.Plugins\CoreHome\Columns\Metrics\CallableProcessedMetricPlugins\CoreHome\Columns\Metrics\ConversionRate— The percent of visits that result in a conversion.Plugins\CoreHome\Columns\Metrics\EvolutionMetric— Calculates evolution values for any other metric.Plugins\CoreHome\Columns\Metrics\VisitsPercent— Percent of visits in the whole table.Plugins\CoreHome\SystemSummary\Item— This class can be used to add a new entry / item to the system summary widget.Plugins\CoreVisualizations\Metrics\Formatter\Numeric— A metrics formatter that prettifies metric values without returning string values.Plugins\CoreVisualizations\Visualizations\Cloud\Config— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\CoreVisualizations\Visualizations\Graph\Config— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\CoreVisualizations\Visualizations\HtmlTable\Config— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\CoreVisualizations\Visualizations\JqplotGraph\Config— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution\Config— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\CoreVisualizations\Visualizations\Sparklines\Config— DataTable Visualization that derives from Sparklines.Plugins\CustomDimensions\Columns\Metrics\AverageTimeOnDimension— The average amount of time spent on a dimension.Plugins\CustomDimensions\Dimension\NamePlugins\CustomJsTracker\TrackerUpdater— Updates the Matomo JavaScript Tracker "piwik.js" in case plugins extend the tracker.Plugins\DevicePlugins\DevicePluginsPlugins\Diagnostics\DiagnosticService— Runs the Matomo diagnostics.Plugins\Diagnostics\Diagnostic\DiagnosticResult— The result of a diagnostic.Plugins\Diagnostics\Diagnostic\DiagnosticResultItemPlugins\Events\Columns\Metrics\AverageEventValue— The average value for a triggered event.Plugins\Goals\Columns\Metrics\AverageOrderRevenue— The average value for each order.Plugins\Goals\Columns\Metrics\AveragePrice— The average price for each ecommerce order or abandoned cart.Plugins\Goals\Columns\Metrics\AverageQuantity— The average amount of products in each order or abandoned cart.Plugins\Goals\Columns\Metrics\GoalConversionRate— The conversion rate for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric— Base class for processed metrics that are calculated using metrics that are specific to certain goals.Plugins\Goals\Columns\Metrics\GoalSpecific\AverageOrderRevenue— The average order revenue for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\ConversionEntryRate— The entry page conversion rate for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\ConversionPageRate— The page conversion rate for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\ConversionRate— The conversion rate for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\Conversions— The conversions for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\ConversionsAttrib— The conversions for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\ConversionsEntry— The conversions for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\ItemsCount— The number of ecommerce order items for conversions of a goal.Plugins\Goals\Columns\Metrics\GoalSpecific\Revenue— Revenue for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\RevenueAttrib— Attributed Revenue for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\RevenueEntry— Attributed Revenue for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\RevenuePerEntry— Revenue per entry for a specific goal.Plugins\Goals\Columns\Metrics\GoalSpecific\RevenuePerVisit— Revenue per visit for a specific goal.Plugins\Goals\Columns\Metrics\ProductConversionRate— The conversion rate for ecommerce orders.Plugins\Goals\Columns\Metrics\RevenuePerVisit— The amount of revenue per visit (or per conversion if there are no visits).Plugins\Live\ProfileSummaryProviderPlugins\Live\ProfileSummary\ProfileSummaryAbstract— Class ProfileSummaryAbstractPlugins\Live\VisitorPlugins\Live\VisitorDetailsAbstract— Class VisitorDetailsAbstractPlugins\Live\Visualizations\VisitorLog\Config— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\MobileMessaging\SMSProvider— The SMSProvider abstract class is used as a base class for SMS provider implementations.Plugins\MultiSites\Columns\Metrics\EcommerceOnlyEvolutionMetric— Ecommerce evolution metric adapter.Plugins\PagePerformance\Columns\Metrics\AveragePageLoadTime— The average amount of time it took loading a page completely.Plugins\PagePerformance\Columns\Metrics\AveragePerformanceMetric— The average amount for a certain performance metric.Plugins\PagePerformance\Columns\Metrics\AverageTimeDomCompletion— The average amount of time the browser needs to load media any Javascript listening for the DOMContentLoaded event.Plugins\PagePerformance\Columns\Metrics\AverageTimeDomProcessing— The average amount of time the browser spends until user can start interacting with the page.Plugins\PagePerformance\Columns\Metrics\AverageTimeNetwork— The average amount of time needed to connect to the server.Plugins\PagePerformance\Columns\Metrics\AverageTimeOnLoad— The average amount of time browser needs to execute javascript waiting for window.load event.Plugins\PagePerformance\Columns\Metrics\AverageTimeServer— The average amount of time the server needs to start serving a page.Plugins\PagePerformance\Columns\Metrics\AverageTimeTransfer— The average amount of time it takes to transfer a page.Plugins\Referrers\Columns\Metrics\VisitorsFromReferrerPercentPlugins\TagManager\MenuTagManager— Contains menu entries for the Tag Manager menu.Plugins\TagManager\Template\BaseTemplatePlugins\TagManager\Template\Tag\BaseTagPlugins\TagManager\Template\Trigger\BaseTriggerPlugins\TagManager\Template\Variable\BaseVariablePlugins\Tour\Engagement\Challenge— Defines a new challenge which a super user needs to complete in order to become a "Matomo expert".Plugins\TreemapVisualization\TreemapConfig— DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.Plugins\UsersManager\UserPreferencesPlugins\VisitFrequency\Columns\Metrics\ReturningMetric— Processed metric for VisitFrequency.get API method which just copies VisitsSummary.get metrics as differently named metrics.RankingQuery— The ranking query class wraps an arbitrary SQL query with more SQL that limits the number of results while aggregating the rest in an a new "Others" row.Report\ReportWidgetConfig— Defines a widget config that is used to render a report.Report\ReportWidgetFactory— Report widget factory.Scheduler\Schedule\Daily— Daily class is used to schedule tasks every day.Scheduler\Schedule\Hourly— Hourly class is used to schedule tasks every hour.Scheduler\Schedule\Monthly— Monthly class is used to schedule tasks every month.Scheduler\Schedule\Schedule— Describes the interval on which a scheduled task is executed.Scheduler\Schedule\SpecificTimeScheduler\Schedule\Weekly— Weekly class is used to schedule tasks every week.Scheduler\Scheduler— Schedules task execution.Scheduler\Task— Describes a task that should be executed on a given time.Segment— Limits the set of visits Matomo uses when aggregating analytics data.Segment\SegmentsList— Manages the global list of segments that can be used.SettingsPiwik— Contains helper methods that can be used to get common Matomo settings.SettingsServer— Contains helper methods that can be used to get information regarding the server, its settings and currently used PHP settings.Settings\FieldConfig— Lets you configure a form field.Settings\FieldConfig\ArrayField— Lets you configure a field for a field array.Settings\FieldConfig\MultiPair— Lets you configure a multi pair field.Settings\Plugin\SystemConfigSetting— Describes a system wide setting.Settings\Plugin\SystemSetting— Describes a system wide setting.Settings\Setting— Base setting type class.Settings\Settings— Base class of all settings providers.Singleton— The singleton base class restricts the instantiation of derived classes to one object only.Site— Provides access to individual site entity data (including name, URL, etc.).Translation\Translator— Translates messages.Updater— Load and execute all relevant, incremental update scripts for Matomo core and plugins, and bump the component version numbers for completed updates.Updater\Migration— Base class for migrations.Updater\Migration\Config\Factory— Provides config migrations.Updater\Migration\Custom— Create a custom migration that can execute any callback.Updater\Migration\Db— Base class for a single database migration.Updater\Migration\Db\Factory— Provides database migrations.Updater\Migration\Factory— Migration factory to create various migrations that implement the Migration interface.Updater\Migration\Plugin\Factory— Provides plugin migrations.Updates— Base class for update scripts.Url— Provides URL related helper methods.UrlHelper— Contains less commonly needed URL helper methods.Version— Matomo version information.View— Encapsulates and manages a Twig template.ViewDataTable\Config— Contains base display properties for ViewDataTables.ViewDataTable\Factory— Provides a means of creating ViewDataTable instances by ID.ViewDataTable\RequestConfig— Contains base request properties for ViewDataTable instances.View\SecurityPolicy— Content Security Policy HTTP Header management classView\UIControl— Base type of UI controls.Widget\Widget— Defines a new widget.Widget\WidgetConfig— Configures a widget.Widget\WidgetContainerConfig— Defines a new widget container.Widget\WidgetsList— Manages the global list of reports that can be displayed as dashboard widgets.