OdooWiki OCA HUB

Matomo analytics

website_analytics_matomo folder_open OCA/website open_in_new
Website License: AGPL-3

This module allows to simply configure your odoo website for using Matomo.

If your website is a webshop, also consider to install the OCA module website_sale_analytics_matomo to enable full Ecommerce reporting with Matomo Analytics.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Connect your Odoo website to a Matomo analytics server so visits are tracked there. You enable it per website and fill in the Matomo website ID and host.

This module adds Matomo web analytics tracking to your Odoo website. Once enabled, every page of the website loads the Matomo tracking script, so visits, page views and link clicks are recorded in your own Matomo installation instead of (or in addition to) Google Analytics.

Where it appears: - In Website settings, right after the Google Analytics option, a new "Matomo Analytics" setting lets you switch tracking on and enter the Matomo website ID and the Matomo host address. - Two extra options can be enabled: "Enable User ID" and "Enable heartbeat".

Business rules and automatic behaviour: - The Matomo host you type is automatically normalised into a proper URL (https is added if you omit the scheme, and any trailing slash is removed). - If User ID is enabled, the ID of the logged-in user is sent to Matomo; visitors who are not logged in are not identified. - If heartbeat is enabled, a ping is only sent after a tab has stayed active for the number of seconds you configure (15 by default). - A fallback image is included for visitors whose browser has JavaScript disabled.

The settings are stored per website, so each website can point to a different Matomo server or website ID. The module touches the website and res.config.settings models and the website layout template.

Depends on

website
Models and fields (2)
  • website · extends an existing modelmatomo_get_userid, matomo_analytics_id (Matomo website ID), has_matomo_analytics (Matomo Analytics), matomo_enable_userid, matomo_analytics_host (Matomo host), matomo_heartbeat_timer, matomo_enable_heartbeat, matomo_analytics_host_url (Matomo host URL)
  • res.config.settings · extends an existing modelmatomo_analytics_id, has_matomo_analytics (Matomo Analytics), matomo_enable_userid, matomo_analytics_host, matomo_heartbeat_timer, matomo_enable_heartbeat

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To configure this module, you need to:

  • go to Settings/General Settings/Website
  • enable Matomo Analytics
  • fill in Matomo website ID and Matomo host

At this point your website is already setup for being tracked in Matomo.

Some more advanced features offered by Matomo can be configured as follows:

User ID feature

Matomo includes a User ID feature for enhanced tracking on those websites that offer the ability for visitors to log in. By tracking the User ID (unique identifier), it is possible to connect visitors between visits across multiple dates and devices.

To enable this feature, set Enable User ID: Matomo will track the user's ID (model res.users). If you want to use a different field, eg: user's name or login, you need to override method compute_matomo_userid().

Enable a Heartbeat timer

In order to better measure the time spent in the visit, the active page can send additional ping requests to Matomo. These requests will not track additional actions or page views. They just allow Matomo to know whether the user is actively viewing the page (the tab should be active and in focus).

To enable this feature, set Enable heartbeat and define the Active Time.

By default, the Active Time is set to 15 seconds, meaning only if the page was viewed for at least 15 seconds (and the user leaves the page or focuses away from the tab) then a ping request will be sent.

Matomo Event Tracking

As explained in this page

on the official documentation of Matomo, there are two main ways to set up event tracking within Matomo:

  • with the "Matomo Tag Manager" feature: this is the easiest and recommended way;
  • by adding snippets of JavaScript code to your website itself.

The first method is not supported by this module, however in OCA there's a dedicated module for that purpose: website_matomo_tag_manager.

The second method can be used along with this module and requires a little more technical confidence. You will need to integrate a JavaScript snippet directly into your website’s code.

Technical documentation can be found in:

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.