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.ArchiveProcessor\Record
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\Dimension
Columns\DimensionMetricFactory
— A factory to create metrics from a dimension.Columns\DimensionSegmentFactory
— A factory to create segments from a dimension.Columns\Discriminator
Columns\Join
Columns\Join\ActionNameJoin
Columns\Join\GoalNameJoin
Columns\Join\SiteNameJoin
Columns\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.DI
— Proxy class for using DI related methodsDataAccess\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\Base
Plugins\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\CallableProcessedMetric
Plugins\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\Name
Plugins\CustomJsTracker\TrackerUpdater
— Updates the Matomo JavaScript Tracker "piwik.js" in case plugins extend the tracker.Plugins\DevicePlugins\DevicePlugins
Plugins\Diagnostics\DiagnosticService
— Runs the Matomo diagnostics.Plugins\Diagnostics\Diagnostic\DiagnosticResult
— The result of a diagnostic.Plugins\Diagnostics\Diagnostic\DiagnosticResultItem
Plugins\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\ProfileSummaryProvider
Plugins\Live\ProfileSummary\ProfileSummaryAbstract
— Class ProfileSummaryAbstractPlugins\Live\Visitor
Plugins\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\VisitorsFromReferrerPercent
Plugins\TagManager\MenuTagManager
— Contains menu entries for the Tag Manager menu.Plugins\TagManager\Template\BaseTemplate
Plugins\TagManager\Template\Tag\BaseTag
Plugins\TagManager\Template\Trigger\BaseTrigger
Plugins\TagManager\Template\Variable\BaseVariable
Plugins\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\UserPreferences
Plugins\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.Request
— Provides (type safe) access methods for request parameters.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\SpecificTime
Scheduler\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.).SiteContentDetector
— This class provides detection functions for specific content on a site.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.