PHPackages                             esplin/module-chessio-matomo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. esplin/module-chessio-matomo

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

esplin/module-chessio-matomo
============================

Matomo Analytics module for Magento 2

013↓66.7%PHP

Since Feb 17Pushed 3mo agoCompare

[ Source](https://github.com/resplin/magento2-matomo)[ Packagist](https://packagist.org/packages/esplin/module-chessio-matomo)[ RSS](/packages/esplin-module-chessio-matomo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Matomo Integration for Magento 2
================================

[](#matomo-integration-for-magento-2)

*Chessio\_Matomo* is a [Matomo](https://matomo.org/) web analytics module for the [Magento 2](https://magento.com/) eCommerce platform. Matomo is an extensible free/libre analytics tool that can be self-hosted, giving you complete data ownership. Chessio\_Matomo lets you integrate Matomo with your Magento 2 store front.

This module is the successor of [*Henhed\_Piwik*](https://packagist.org/packages/henhed/module-piwik) and thus continues with its semantic versioning, beginning with version `v2.1.0` . If you're using a Magento version prior to 2.2, you'll need to stick to the 1.x releases of the original Henhed\_Piwik. For manual installation, check out the [Releases archive](https://github.com/fnogatz/magento2-matomo/releases). For installation using [Composer](https://getcomposer.org/), you can use the *tilde* or *caret* version constraint operators (e.g. `~1.3` or `^1.3.1`).

Installation
------------

[](#installation)

To install Chessio\_Matomo, download and extract the [main zip archive](https://github.com/fnogatz/magento2-matomo/archive/main.zip) and move the extracted folder to *app/code/Chessio/Matomo* in your Magento 2 installation directory.

```
unzip magento2-matomo-main.zip
mkdir app/code/Chessio
mv magento2-matomo-main app/code/Chessio/Matomo
```

Alternatively, you can clone the Chessio\_Matomo Git repository into *app/code/Chessio\_Matomo*.

```
git clone https://github.com/fnogatz/magento2-matomo.git app/code/Chessio/Matomo
```

Or, if you prefer, install it using [Composer](https://getcomposer.org/).

```
composer require chessio/module-matomo
```

Finally, enable the module with the Magento CLI tool.

```
php bin/magento module:enable Chessio_Matomo --clear-static-content
```

Configuration
-------------

[](#configuration)

Once installed, configuration options can be found in the Magento 2 administration panel under *Stores/Configuration/Sales/Matomo API*. To start tracking, set *Enable Tracking* to *Yes*, enter the *Hostname* of your Matomo installation and click *Save Config*. If you have multiple websites in the same Matomo installation, make sure the *Site ID* configured in Magento is correct.

Customization
-------------

[](#customization)

If you need to send some custom information to your Matomo server, Chessio\_Matomo lets you do so using event observers.

To set custom data on each page, use the `matomo_track_page_view_before` event. A tracker instance will be passed along with the event object to your observer's `execute` method.

```
public function execute(\Magento\Framework\Event\Observer $observer)
{
    $tracker = $observer->getEvent()->getTracker();
    /** @var \Chessio\Matomo\Model\Tracker $tracker */
    $tracker->setDocumentTitle('My Custom Title');
}
```

If you only want to add data under some specific circumstance, find a suitable event and request the tracker singleton in your observer's constructor. Store the tracker in a class member variable for later use in the `execute` method.

```
public function __construct(\Chessio\Matomo\Model\Tracker $matomoTracker)
{
    $this->_matomoTracker = $matomoTracker;
}
```

Beware of tracking user specific information on the server side as it will most likely cause caching problems. Instead, use Javascript to retrieve the user data from a cookie, localStorage or some Ajax request and then push the data to Matomo using either the Chessio\_Matomo JS component...

```
require(['Chessio_Matomo/js/tracker'], function (trackerComponent) {
    trackerComponent.getTracker().done(function (tracker) {
        // Do something with tracker
    });
});
```

... or the vanilla Matomo approach:

```
var _paq = _paq || [];
_paq.push(['setDocumentTitle', 'My Custom Title']);
```

See the [Matomo Developer Docs](https://developer.matomo.org/api-reference/tracking-javascript) or the [\\Chessio\\Matomo\\Model\\Tracker](https://github.com/fnogatz/magento2-matomo/blob/main/Model/Tracker.php) source code for a list of all methods available in the Tracking API.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance55

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 77.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c8a9e65d081036eb852f74584f9d0cd68be832923952b15cd3d4efd5de5a446?d=identicon)[resplin](/maintainers/resplin)

---

Top Contributors

[![henkelund](https://avatars.githubusercontent.com/u/834660?v=4)](https://github.com/henkelund "henkelund (105 commits)")[![fnogatz](https://avatars.githubusercontent.com/u/881988?v=4)](https://github.com/fnogatz "fnogatz (20 commits)")[![resplin](https://avatars.githubusercontent.com/u/766750?v=4)](https://github.com/resplin "resplin (4 commits)")[![ihor-sviziev](https://avatars.githubusercontent.com/u/1873745?v=4)](https://github.com/ihor-sviziev "ihor-sviziev (1 commits)")[![iw0der](https://avatars.githubusercontent.com/u/16407046?v=4)](https://github.com/iw0der "iw0der (1 commits)")[![antonio-lolic-typeqast](https://avatars.githubusercontent.com/u/32478006?v=4)](https://github.com/antonio-lolic-typeqast "antonio-lolic-typeqast (1 commits)")[![zamu87](https://avatars.githubusercontent.com/u/22892878?v=4)](https://github.com/zamu87 "zamu87 (1 commits)")[![iGerchak](https://avatars.githubusercontent.com/u/34220204?v=4)](https://github.com/iGerchak "iGerchak (1 commits)")[![igortregub](https://avatars.githubusercontent.com/u/6198012?v=4)](https://github.com/igortregub "igortregub (1 commits)")

### Embed Badge

![Health badge](/badges/esplin-module-chessio-matomo/health.svg)

```
[![Health](https://phpackages.com/badges/esplin-module-chessio-matomo/health.svg)](https://phpackages.com/packages/esplin-module-chessio-matomo)
```

###  Alternatives

[zerodahero/laravel-workflow

Integerate Symfony Workflow component into Laravel.

204815.2k4](/packages/zerodahero-laravel-workflow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
