Volto add-on that integrates Matomo with Volto sites. At this moment there is a very basic integration that just pings Matomo on each router location change.
To configure it, either set the following variables:
-
settings.matomoSiteId
(if not available it uses:1
) -
settings.matomoUrlBase
(if not available it uses:https://matomo.eea.europa.eu/
)
or RAZZLE_MATOMO_SITE_ID
and RAZZLE_MATOMO_URL
environment variables.
With version 4.0.0+, you have the possibility to use a second matomo in parallel:
-
settings.matomoSecondSiteId
(if not available it uses:1
) -
settings.matomoSecondUrlBase
(if not available it uses:https://matomo.eea.europa.eu/
)
or RAZZLE_MATOMO_SECOND_SITE_ID
and RAZZLE_MATOMO_SECOND_URL
environment variables.
There are four exports in utils.js
(which can be imported from volto-matomo/utils
, including from other Volto addons):
-
trackPageView({ href, ...options }) : void
- takes an object withhref
and other options and sends to Matomo a page view track; -
trackEvent(options) : void
- takes anoptions
object parameter and sends to Matomo an event track. -
trackSiteSearch(options) : void
- takes anoptions
object parameter and sends to Matomo an site search track. -
pushInstruction(name, ...args): void
- takes a name and an arbitrary number of parameters, and pushes them to Matomo.
Note that the Matomo instance is behind the scenes lazy-loaded and cached.
The default behavior of volto-matomo is a call to trackPageView
in utils.js
, with the href
and documentTitle
options, on every URL change as recorded by the AppExtras
component in Volto. The href
is taken from props.content['@id']
received by the MatomoAppExtra.jsx
component. The utils.js
file exposes just a part of the Matomo React API. If you wish to extend it or to understand it better, this link might be helpful.
git clone https://github.com/eea/volto-matomo.git
cd volto-matomo
make
make start
Go to http://localhost:3000
-
Make sure you have a Plone backend up-and-running at http://localhost:8080/Plone
docker compose up backend
-
Start Volto frontend
-
If you already have a volto project, just update
package.json
:"addons": [ "@eeacms/volto-matomo" ], "dependencies": { "@eeacms/volto-matomo": "*" }
-
If not, create one:
npm install -g yo @plone/generator-volto yo @plone/volto my-volto-project --canary --addon @eeacms/volto-matomo cd my-volto-project
-
Install new add-ons and restart Volto:
yarn yarn start
-
Go to http://localhost:3000
-
Happy editing!
See RELEASE.md.
See DEVELOP.md.
The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.
See LICENSE.md for details.